code-playpad 0.19.0 → 0.20.0

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 CHANGED
@@ -9,7 +9,7 @@ experimental C and C++, multi-file React, and Next.js App Router projects — en
9
9
  **[Live demo →](https://code-playpad.swengr.com)**
10
10
 
11
11
  ```html
12
- <script type="module" src="https://cdn.jsdelivr.net/npm/code-playpad@0.19.0/dist/standalone.js"></script>
12
+ <script type="module" src="https://cdn.jsdelivr.net/npm/code-playpad@0.20.0/dist/standalone.js"></script>
13
13
 
14
14
  <code-playpad height="auto">
15
15
  print("hello from a static page")
@@ -518,7 +518,7 @@ actually sent.
518
518
  ### From a CDN — nothing to install
519
519
 
520
520
  ```html
521
- <script type="module" src="https://cdn.jsdelivr.net/npm/code-playpad@0.19.0/dist/standalone.js"></script>
521
+ <script type="module" src="https://cdn.jsdelivr.net/npm/code-playpad@0.20.0/dist/standalone.js"></script>
522
522
  ```
523
523
 
524
524
  This is the `standalone` build: CodeMirror is bundled in, so a static blog post
@@ -588,6 +588,7 @@ Next.js, Astro and SvelteKit need no dynamic import or `client:only` guard.
588
588
  | `persist` | key under which edits are saved (see [Saving work](#saving-work)) |
589
589
  | `file-view-switch` | shows a toolbar button that switches between tabs and the tree (see [Several files](#several-files)) |
590
590
  | `file-actions` | lets the reader add, rename and remove files (see [Letting readers change the files](#letting-readers-change-the-files)). `readonly` turns it off |
591
+ | `change-marks` | `off` hides the marks that show code hasn't run yet (see [Changes that haven't run](#changes-that-havent-run)) |
591
592
  | `entry` | which file Run executes, for multi-file widgets. It must name one of the widget's files: a wrong name is an error, and no other file runs in its place. An inline snippet takes this name |
592
593
  | `practice` | Java only: test cases for one method, as JSON (see [Practice mode](#practice-mode-java)) |
593
594
 
@@ -615,6 +616,30 @@ Note it is `language`, not `lang`: `lang` is a standard HTML attribute for the
615
616
  *human* language of an element's text, and putting `python` there confuses
616
617
  screen readers.
617
618
 
619
+ ### Changes that haven't run
620
+
621
+ Edits are kept as the reader types, but the output only changes when they run
622
+ the code. So the widget marks what hasn't run yet:
623
+
624
+ - **Run** gets a dot, and its tooltip says to run to see the changes.
625
+ - **Each file** that changed since the last run gets a filled `●`. A file that
626
+ differs from what the page shipped but has run gets a hollow `○`.
627
+ - **The output** gets a "Code changed since this run" note in its corner, over the
628
+ console or the preview. The note sits on top, so the widget doesn't change size.
629
+
630
+ Before the first run, Run and the files are compared with what the page shipped,
631
+ so a reader's restored `persist` work is marked until they run it. The standard
632
+ input box counts as well. Running, or Reset, clears the marks.
633
+
634
+ `change-marks="off"` (`changeMarks={false}` in React) hides all of them, for
635
+ example where readers should predict the output before running:
636
+
637
+ ```html
638
+ <code-playpad height="auto" change-marks="off">
639
+ print(sorted([3, 1, 2]))
640
+ </code-playpad>
641
+ ```
642
+
618
643
  ## Sizing
619
644
 
620
645
  `height` takes a number (pixels), any CSS length, or **`auto`** to fit the
@@ -1156,8 +1181,8 @@ code-playpad::part(output) { background: #fff7fb; }
1156
1181
  code-playpad::part(tabs) { border-bottom-width: 2px; }
1157
1182
  ```
1158
1183
 
1159
- The other parts are `file-view-button`, `theme-button`, `editor-theme-picker`, `window-button` and
1160
- `preview`.
1184
+ The other parts are `file-view-button`, `theme-button`, `editor-theme-picker`, `window-button`,
1185
+ `stale-note` and `preview`.
1161
1186
 
1162
1187
  Both work from an ordinary stylesheet, no `::shadow` hacks. For dark mode, see
1163
1188
  [Light and dark](#light-and-dark).
@@ -1205,7 +1230,7 @@ export function Exercise() {
1205
1230
  ```
1206
1231
 
1207
1232
  Props: `code`, `files`, `entry`, `openFile`, `language`, `height`, `minHeight`,
1208
- `maxHeight`, `previewHeight`, `treeWidth`, `fileView`, `stdin`, `theme`, `themeControls`,
1233
+ `maxHeight`, `previewHeight`, `treeWidth`, `fileView`, `stdin`, `theme`, `themeControls`, `changeMarks`,
1209
1234
  `readOnly`, `autoRun`, `persist`, `practice`, `className`, `style`, and the
1210
1235
  callbacks `onReady`, `onRun`, `onOutput`, `onError`.
1211
1236
 
@@ -1292,6 +1317,14 @@ and `configureCSharp({ indexURL })`.
1292
1317
 
1293
1318
  ## Version history
1294
1319
 
1320
+ ### 0.20.0
1321
+
1322
+ - **Code that hasn't run is marked, in every language.** Run gets a dot, files changed since the last run get
1323
+ `●`, and a "Code changed since this run" note sits over the output. A file that differs from the page but has
1324
+ run now shows a hollow `○` instead of `●`. React and Next.js widgets no longer show "Edited since the last run"
1325
+ in the toolbar; the note over the output replaces it. `change-marks="off"` (`changeMarks={false}` in React) hides
1326
+ them all.
1327
+
1295
1328
  ### 0.19.0
1296
1329
 
1297
1330
  - **Readers can add, rename and remove files with `file-actions`** (`fileActions` in React). The tree gets New
@@ -1,4 +1,4 @@
1
- import{u as e}from"./element-Bzd1Vk4K.js";var t=5e3,n=4e3,r=65536,i=class{preview;payload;onRoute;#e=null;#t=null;#n=null;#r=null;#i=null;#a=!1;#o=null;#s=null;#c=``;#l=``;#u;#d=performance.now();#f=!1;#p=null;#m=null;constructor(e,t,n,r,i){this.preview=e,this.payload=t,this.onRoute=i,this.#i=n,this.#s=r}get live(){return this.#e!==null}send(e){this.#e?.contentWindow?.postMessage(e,`*`)}open(e,n=[]){let r=document.createElement(`iframe`);r.setAttribute(`sandbox`,`allow-scripts allow-forms`),r.setAttribute(`allow`,``),r.setAttribute(`referrerpolicy`,`no-referrer`),r.title=`Preview`,r.className=`cp-preview-frame`,r.srcdoc=e,this.#e=r,this.#t=this.preview.host.ownerDocument.defaultView??window,this.#t.addEventListener(`message`,this.#x),this.preview.host.replaceChildren(...n,r),this.#n=setTimeout(()=>{this.fail(`The preview did not start. A Content-Security-Policy on this page probably blocks it: see "Host pages with a CSP" in the README.`)},t)}fail(e,t={},n){this.#n&&clearTimeout(this.#n),this.#n=null,this.#v(e,t),this.#h(!0,n)}#h(e,t,n=e=>e()){let r=this.#i;this.#i=null,this.#s=null;let i={stdout:this.#c,...this.#l?{stderr:this.#l}:{},...t?{hint:t}:{},...e&&this.#u?{problem:this.#u}:{},durationMs:Math.round(performance.now()-this.#d),failed:e};n(()=>r?.(i))}#g=e=>{setTimeout(e,250),this.#o=()=>requestAnimationFrame(()=>requestAnimationFrame(e)),this.#a&&this.#o()};#_(e,t){this.#i&&(e===`warn`||e===`error`?this.#l+=`${t}\n`:this.#c+=`${t}\n`),this.preview.onConsole(e,t)}#v(e,t){let n=(t.file?`${t.file}${t.line?`:${t.line}`:``}${t.column?`:${t.column}`:``}: `:``)+e;this.#_(`error`,n),this.#y(n);let r={message:n,...t};this.#i?this.#u??=r:this.preview.onError(r)}#y(e){this.#p||(this.#p=document.createElement(`pre`),this.#p.className=`cp-preview-banner`,this.#p.setAttribute(`role`,`alert`),this.preview.host.append(this.#p)),this.#p.textContent=e}#b(e){this.#m||(this.#m=document.createElement(`div`),this.#m.className=`cp-preview-notice`,this.#m.setAttribute(`role`,`status`),this.preview.host.append(this.#m)),this.#m.textContent=e,this.#m.hidden=!1,this.#r&&clearTimeout(this.#r),this.#r=setTimeout(()=>{this.#m&&(this.#m.hidden=!0)},n)}showCompileBanner(e){e&&this.#p&&(this.#p.textContent+=`\n${e}`)}#x=e=>{if(!this.#e||e.source!==this.#e.contentWindow)return;let t=e.data;if(typeof t!=`object`||!t||t.__playpad!==1)return;let n=e=>String(e??``).slice(0,r);switch(t.type){case`booted`:if(this.#f)return;this.#f=!0,this.#n&&clearTimeout(this.#n),this.#n=null,this.preview.onStart?.(),e.ports[0]?.postMessage(this.payload);break;case`console`:{let e=t.level===`info`||t.level===`warn`||t.level===`error`?t.level:`log`;this.#_(e,n(t.text));break}case`error`:this.#v(n(t.message),{...typeof t.file==`string`?{file:t.file.slice(0,512)}:{},...typeof t.line==`number`?{line:t.line}:{}});break;case`fatal`:this.fail(n(t.message));break;case`entry-done`:this.#i&&this.#h(t.failed===!0,void 0,this.#g);break;case`drawn`:this.#a=!0,this.#o?.();break;case`render`:this.preview.onRender(n(t.rootText));break;case`route`:this.onRoute?.({url:n(t.url),canBack:t.canBack===!0,canForward:t.canForward===!0});break;case`alert`:this.#_(`info`,`alert: ${n(t.text)}`),this.#b(n(t.text))}};dispose(t){this.#n&&clearTimeout(this.#n),this.#r&&clearTimeout(this.#r),this.#t?.removeEventListener(`message`,this.#x),this.#e=null,this.preview.host.replaceChildren(),this.#s&&t&&this.#s(new e),this.#i=null,this.#s=null}},a=`(function(){var a=function(n,e){n.__playpad=1,parent.postMessage(n,"*",e||[])};function l(n,e){if(typeof n=="string")return n;if(typeof n=="function")return"[Function "+(n.name||"anonymous")+"]";if(typeof n!="object"||n===null)return String(n);if(n instanceof Error)return n.name+": "+n.message;if(n instanceof Node)return"<"+n.nodeName.toLowerCase()+">";try{return JSON.stringify(n)}catch{return String(n)}}function L(n){if(typeof n[0]!="string")return n.map(function(r){return l(r)}).join(" ");var e=1,i=n[0].replace(/%([sdifoOc%])/g,function(r,u){if(u==="%")return"%";if(e>=n.length)return r;var c=n[e++];return u==="c"?"":u==="d"||u==="i"?String(parseInt(c,10)):u==="f"?String(parseFloat(c)):l(c)});return[i].concat(n.slice(e).map(function(r){return l(r)})).join(" ")}["log","info","warn","error","debug"].forEach(function(n){var e=console[n];console[n]=function(){var i=Array.prototype.slice.call(arguments);a({type:"console",level:n==="debug"?"log":n,text:L(i)}),e.apply(console,i)}});function k(n){var e=/playpad-project\\/([^\\s:)]+):(\\d+)/.exec(n&&n.stack||"");return e?{file:e[1],line:Number(e[2])}:{}}function f(n,e){var i=n&&typeof n=="object"&&"message"in n,r=i&&n.name?n.name+": ":"",u=k(n);a({type:"error",message:e+r+(i?n.message:l(n)),file:u.file,line:u.line})}addEventListener("error",function(n){n.error?f(n.error,"Uncaught "):n.message==="Script error."?a({type:"error",message:"An error happened in the preview, but this browser hides its details. Open the browser's developer console to see it."}):f(n.message,"Uncaught ")}),window.reportError=function(n){f(n,"Uncaught ")};function M(n){return function(){try{return n.apply(this,arguments)}catch(e){f(e,"Uncaught ")}}}["setTimeout","setInterval","requestAnimationFrame","queueMicrotask"].forEach(function(n){var e=window[n];window[n]=function(i){var r=Array.prototype.slice.call(arguments);return typeof i=="function"&&(r[0]=M(i)),e.apply(window,r)}}),addEventListener("unhandledrejection",function(n){f(n.reason,"Unhandled promise rejection: ")}),window.alert=function(n){a({type:"alert",text:n===void 0?"":String(n)})},window.confirm=function(){return console.warn("confirm() cannot wait for an answer in this preview, so it returned true."),!0},window.prompt=function(){return console.warn("prompt() cannot wait for an answer in this preview, so it returned null."),null};var N=1e3,y=!1,_=0,v=0,b=new MessageChannel;b.port1.onmessage=function(){y=!1},window.__playpadLoopGuard=function(){if(!y){y=!0,_=performance.now(),v=0,b.port2.postMessage(0);return}if((++v&63)===0&&performance.now()-_>N)throw new Error("This loop ran for more than 1 second. Is it infinite?")};function O(n){var e=n.nonce;function i(o){e&&(o.nonce=e),document.head.appendChild(o)}function r(o){var d=document.createElement("script");d.textContent=o,i(d)}if(n.nextClient){if(window.__webpack_require__=function(o){return window.__playpadLoad(o)},window.__webpack_require__.u=function(){return""},window.__webpack_chunk_load__=function(){return Promise.resolve()},n.tailwind&&r(n.tailwind),r(n.nextClient),!window.__playpadNext){a({type:"fatal",message:"The preview could not run the Next.js runtime. A Content-Security-Policy on this page probably blocks it."});return}n.modules.forEach(function(o){o.kind==="js"&&r("__playpadDefine("+JSON.stringify(o.path)+",function(require,module,exports){"+o.text+\`
1
+ import{u as e}from"./element-Ce06T38j.js";var t=5e3,n=4e3,r=65536,i=class{preview;payload;onRoute;#e=null;#t=null;#n=null;#r=null;#i=null;#a=!1;#o=null;#s=null;#c=``;#l=``;#u;#d=performance.now();#f=!1;#p=null;#m=null;constructor(e,t,n,r,i){this.preview=e,this.payload=t,this.onRoute=i,this.#i=n,this.#s=r}get live(){return this.#e!==null}send(e){this.#e?.contentWindow?.postMessage(e,`*`)}open(e,n=[]){let r=document.createElement(`iframe`);r.setAttribute(`sandbox`,`allow-scripts allow-forms`),r.setAttribute(`allow`,``),r.setAttribute(`referrerpolicy`,`no-referrer`),r.title=`Preview`,r.className=`cp-preview-frame`,r.srcdoc=e,this.#e=r,this.#t=this.preview.host.ownerDocument.defaultView??window,this.#t.addEventListener(`message`,this.#x),this.preview.host.replaceChildren(...n,r),this.#n=setTimeout(()=>{this.fail(`The preview did not start. A Content-Security-Policy on this page probably blocks it: see "Host pages with a CSP" in the README.`)},t)}fail(e,t={},n){this.#n&&clearTimeout(this.#n),this.#n=null,this.#v(e,t),this.#h(!0,n)}#h(e,t,n=e=>e()){let r=this.#i;this.#i=null,this.#s=null;let i={stdout:this.#c,...this.#l?{stderr:this.#l}:{},...t?{hint:t}:{},...e&&this.#u?{problem:this.#u}:{},durationMs:Math.round(performance.now()-this.#d),failed:e};n(()=>r?.(i))}#g=e=>{setTimeout(e,250),this.#o=()=>requestAnimationFrame(()=>requestAnimationFrame(e)),this.#a&&this.#o()};#_(e,t){this.#i&&(e===`warn`||e===`error`?this.#l+=`${t}\n`:this.#c+=`${t}\n`),this.preview.onConsole(e,t)}#v(e,t){let n=(t.file?`${t.file}${t.line?`:${t.line}`:``}${t.column?`:${t.column}`:``}: `:``)+e;this.#_(`error`,n),this.#y(n);let r={message:n,...t};this.#i?this.#u??=r:this.preview.onError(r)}#y(e){this.#p||(this.#p=document.createElement(`pre`),this.#p.className=`cp-preview-banner`,this.#p.setAttribute(`role`,`alert`),this.preview.host.append(this.#p)),this.#p.textContent=e}#b(e){this.#m||(this.#m=document.createElement(`div`),this.#m.className=`cp-preview-notice`,this.#m.setAttribute(`role`,`status`),this.preview.host.append(this.#m)),this.#m.textContent=e,this.#m.hidden=!1,this.#r&&clearTimeout(this.#r),this.#r=setTimeout(()=>{this.#m&&(this.#m.hidden=!0)},n)}showCompileBanner(e){e&&this.#p&&(this.#p.textContent+=`\n${e}`)}#x=e=>{if(!this.#e||e.source!==this.#e.contentWindow)return;let t=e.data;if(typeof t!=`object`||!t||t.__playpad!==1)return;let n=e=>String(e??``).slice(0,r);switch(t.type){case`booted`:if(this.#f)return;this.#f=!0,this.#n&&clearTimeout(this.#n),this.#n=null,this.preview.onStart?.(),e.ports[0]?.postMessage(this.payload);break;case`console`:{let e=t.level===`info`||t.level===`warn`||t.level===`error`?t.level:`log`;this.#_(e,n(t.text));break}case`error`:this.#v(n(t.message),{...typeof t.file==`string`?{file:t.file.slice(0,512)}:{},...typeof t.line==`number`?{line:t.line}:{}});break;case`fatal`:this.fail(n(t.message));break;case`entry-done`:this.#i&&this.#h(t.failed===!0,void 0,this.#g);break;case`drawn`:this.#a=!0,this.#o?.();break;case`render`:this.preview.onRender(n(t.rootText));break;case`route`:this.onRoute?.({url:n(t.url),canBack:t.canBack===!0,canForward:t.canForward===!0});break;case`alert`:this.#_(`info`,`alert: ${n(t.text)}`),this.#b(n(t.text))}};dispose(t){this.#n&&clearTimeout(this.#n),this.#r&&clearTimeout(this.#r),this.#t?.removeEventListener(`message`,this.#x),this.#e=null,this.preview.host.replaceChildren(),this.#s&&t&&this.#s(new e),this.#i=null,this.#s=null}},a=`(function(){var a=function(n,e){n.__playpad=1,parent.postMessage(n,"*",e||[])};function l(n,e){if(typeof n=="string")return n;if(typeof n=="function")return"[Function "+(n.name||"anonymous")+"]";if(typeof n!="object"||n===null)return String(n);if(n instanceof Error)return n.name+": "+n.message;if(n instanceof Node)return"<"+n.nodeName.toLowerCase()+">";try{return JSON.stringify(n)}catch{return String(n)}}function L(n){if(typeof n[0]!="string")return n.map(function(r){return l(r)}).join(" ");var e=1,i=n[0].replace(/%([sdifoOc%])/g,function(r,u){if(u==="%")return"%";if(e>=n.length)return r;var c=n[e++];return u==="c"?"":u==="d"||u==="i"?String(parseInt(c,10)):u==="f"?String(parseFloat(c)):l(c)});return[i].concat(n.slice(e).map(function(r){return l(r)})).join(" ")}["log","info","warn","error","debug"].forEach(function(n){var e=console[n];console[n]=function(){var i=Array.prototype.slice.call(arguments);a({type:"console",level:n==="debug"?"log":n,text:L(i)}),e.apply(console,i)}});function k(n){var e=/playpad-project\\/([^\\s:)]+):(\\d+)/.exec(n&&n.stack||"");return e?{file:e[1],line:Number(e[2])}:{}}function f(n,e){var i=n&&typeof n=="object"&&"message"in n,r=i&&n.name?n.name+": ":"",u=k(n);a({type:"error",message:e+r+(i?n.message:l(n)),file:u.file,line:u.line})}addEventListener("error",function(n){n.error?f(n.error,"Uncaught "):n.message==="Script error."?a({type:"error",message:"An error happened in the preview, but this browser hides its details. Open the browser's developer console to see it."}):f(n.message,"Uncaught ")}),window.reportError=function(n){f(n,"Uncaught ")};function M(n){return function(){try{return n.apply(this,arguments)}catch(e){f(e,"Uncaught ")}}}["setTimeout","setInterval","requestAnimationFrame","queueMicrotask"].forEach(function(n){var e=window[n];window[n]=function(i){var r=Array.prototype.slice.call(arguments);return typeof i=="function"&&(r[0]=M(i)),e.apply(window,r)}}),addEventListener("unhandledrejection",function(n){f(n.reason,"Unhandled promise rejection: ")}),window.alert=function(n){a({type:"alert",text:n===void 0?"":String(n)})},window.confirm=function(){return console.warn("confirm() cannot wait for an answer in this preview, so it returned true."),!0},window.prompt=function(){return console.warn("prompt() cannot wait for an answer in this preview, so it returned null."),null};var N=1e3,y=!1,_=0,v=0,b=new MessageChannel;b.port1.onmessage=function(){y=!1},window.__playpadLoopGuard=function(){if(!y){y=!0,_=performance.now(),v=0,b.port2.postMessage(0);return}if((++v&63)===0&&performance.now()-_>N)throw new Error("This loop ran for more than 1 second. Is it infinite?")};function O(n){var e=n.nonce;function i(o){e&&(o.nonce=e),document.head.appendChild(o)}function r(o){var d=document.createElement("script");d.textContent=o,i(d)}if(n.nextClient){if(window.__webpack_require__=function(o){return window.__playpadLoad(o)},window.__webpack_require__.u=function(){return""},window.__webpack_chunk_load__=function(){return Promise.resolve()},n.tailwind&&r(n.tailwind),r(n.nextClient),!window.__playpadNext){a({type:"fatal",message:"The preview could not run the Next.js runtime. A Content-Security-Policy on this page probably blocks it."});return}n.modules.forEach(function(o){o.kind==="js"&&r("__playpadDefine("+JSON.stringify(o.path)+",function(require,module,exports){"+o.text+\`
2
2
  });
3
3
  //# sourceURL=playpad-project/\`+o.path)}),window.__playpadNext.start(n,e);return}function u(){if(!window.__vendor){a({type:"fatal",message:"The preview could not run the React runtime. A Content-Security-Policy on this page probably blocks it."});return}var o={};window.__playpadDefine=function(t,s){o[t]=s};var d={};n.modules.forEach(function(t){d[t.path]=t,t.kind==="js"&&r("__playpadDefine("+JSON.stringify(t.path)+",function(require,module,exports){"+t.text+\`
4
4
  });
package/dist/cdn.js CHANGED
@@ -1,2 +1,2 @@
1
- /*! code-playpad 0.19.0: CDN entry, loads dist/standalone.js of this exact version */
2
- export * from "https://cdn.jsdelivr.net/npm/code-playpad@0.19.0/dist/standalone.js";
1
+ /*! code-playpad 0.20.0: CDN entry, loads dist/standalone.js of this exact version */
2
+ export * from "https://cdn.jsdelivr.net/npm/code-playpad@0.20.0/dist/standalone.js";
@@ -1 +1 @@
1
- import{c as e}from"./config-3Z6xX6Jr.js";import{n as t,t as n}from"./compiler-cache-XwslsU5H.js";import{t as r}from"./worker-runtime-VpuXbObm.js";var i='"use strict";(()=>{var it="code-playpad-cpp-20.1.2-emscripten-4.0.6-r1";async function ot(a,e,i,c,E){let t=new URL(a,i).href,r;try{r=await caches.open(c)}catch{}let n;try{n=await r?.match(t)}catch{}let s=async _=>{if(!_.ok)throw new Error(`Toolchain download failed: ${a} (HTTP ${_.status}). Check the asset URL and retry.`);let l=_.body?.getReader();if(!l)return _.arrayBuffer();let u=[],p=0,d=0;for(;;){let S=await l.read();if(S.done)break;if(p+=S.value.length,p>e.bytes)throw await l.cancel(),new Error(`Unexpected toolchain size: ${a}.`);u.push(S.value),performance.now()-d>100&&(E(`${n?"Reading cached":"Downloading"} ${a}: ${(p/1e6).toFixed(1)} / ${(e.bytes/1e6).toFixed(1)} MB (decoded)`),d=performance.now())}let R=new Uint8Array(p),h=0;for(let S of u)R.set(S,h),h+=S.length;return R.buffer},o=async _=>_.byteLength===e.bytes&&[...new Uint8Array(await crypto.subtle.digest("SHA-256",_))].map(l=>l.toString(16).padStart(2,"0")).join("")===e.sha256;if(n){try{let _=await s(n);if(await o(_))return _}catch{}try{await r?.delete(t)}catch{}n=void 0}let f=await s(await fetch(t));if(!await o(f))throw new Error(`Toolchain integrity check failed: ${a}. Use the pinned toolchain assets.`);try{await r?.put(t,new Response(f))}catch{}return f}var C=class a{static read_bytes(e,i){let c=new a;return c.buf=e.getUint32(i,!0),c.buf_len=e.getUint32(i+4,!0),c}static read_bytes_array(e,i,c){let E=[];for(let t=0;t<c;t++)E.push(a.read_bytes(e,i+8*t));return E}},L=class a{static read_bytes(e,i){let c=new a;return c.buf=e.getUint32(i,!0),c.buf_len=e.getUint32(i+4,!0),c}static read_bytes_array(e,i,c){let E=[];for(let t=0;t<c;t++)E.push(a.read_bytes(e,i+8*t));return E}},Q=0,Z=1,V=2;var J=2;var W=4;var q=1;var x=class{write_bytes(e,i){e.setUint8(i,this.fs_filetype),e.setUint16(i+2,this.fs_flags,!0),e.setBigUint64(i+8,this.fs_rights_base,!0),e.setBigUint64(i+16,this.fs_rights_inherited,!0)}constructor(e,i){this.fs_rights_base=0n,this.fs_rights_inherited=0n,this.fs_filetype=e,this.fs_flags=i}};var j=8,A=class{write_bytes(e,i){e.setBigUint64(i,this.dev,!0),e.setBigUint64(i+8,this.ino,!0),e.setUint8(i+16,this.filetype),e.setBigUint64(i+24,this.nlink,!0),e.setBigUint64(i+32,this.size,!0),e.setBigUint64(i+38,this.atim,!0),e.setBigUint64(i+46,this.mtim,!0),e.setBigUint64(i+52,this.ctim,!0)}constructor(e,i,c){this.dev=0n,this.nlink=0n,this.atim=0n,this.mtim=0n,this.ctim=0n,this.ino=e,this.filetype=i,this.size=c}},at=0;var ft=1,k=class a{static read_bytes(e,i){return new a(e.getBigUint64(i,!0),e.getUint8(i+8),e.getUint32(i+16,!0),e.getBigUint64(i+24,!0),e.getUint16(i+36,!0))}constructor(e,i,c,E,t){this.userdata=e,this.eventtype=i,this.clockid=c,this.timeout=E,this.flags=t}},Y=class{write_bytes(e,i){e.setBigUint64(i,this.userdata,!0),e.setUint16(i+8,this.error,!0),e.setUint8(i+10,this.eventtype)}constructor(e,i,c){this.userdata=e,this.error=i,this.eventtype=c}};var wt=class{enable(e){this.log=ht(e===void 0?!0:e,this.prefix)}get enabled(){return this.isEnabled}constructor(e){this.isEnabled=e,this.prefix="wasi:",this.enable(e)}};function ht(a,e){return a?console.log.bind(console,"%c%s","color: #265BA0",e):()=>{}}var y=new wt(!1);var U=class extends Error{constructor(e){super("exit with exit code "+e),this.code=e}},rt=class{start(e){this.inst=e;try{return e.exports._start(),0}catch(i){if(i instanceof U)return i.code;throw i}}initialize(e){this.inst=e,e.exports._initialize&&e.exports._initialize()}constructor(e,i,c,E={}){this.args=[],this.env=[],this.fds=[],y.enable(E.debug),this.args=e,this.env=i,this.fds=c;let t=this;this.wasiImport={args_sizes_get(r,n){let s=new DataView(t.inst.exports.memory.buffer);s.setUint32(r,t.args.length,!0);let o=0;for(let f of t.args)o+=f.length+1;return s.setUint32(n,o,!0),y.log(s.getUint32(r,!0),s.getUint32(n,!0)),0},args_get(r,n){let s=new DataView(t.inst.exports.memory.buffer),o=new Uint8Array(t.inst.exports.memory.buffer),f=n;for(let _=0;_<t.args.length;_++){s.setUint32(r,n,!0),r+=4;let l=new TextEncoder().encode(t.args[_]);o.set(l,n),s.setUint8(n+l.length,0),n+=l.length+1}return y.enabled&&y.log(new TextDecoder("utf-8").decode(o.slice(f,n))),0},environ_sizes_get(r,n){let s=new DataView(t.inst.exports.memory.buffer);s.setUint32(r,t.env.length,!0);let o=0;for(let f of t.env)o+=new TextEncoder().encode(f).length+1;return s.setUint32(n,o,!0),y.log(s.getUint32(r,!0),s.getUint32(n,!0)),0},environ_get(r,n){let s=new DataView(t.inst.exports.memory.buffer),o=new Uint8Array(t.inst.exports.memory.buffer),f=n;for(let _=0;_<t.env.length;_++){s.setUint32(r,n,!0),r+=4;let l=new TextEncoder().encode(t.env[_]);o.set(l,n),s.setUint8(n+l.length,0),n+=l.length+1}return y.enabled&&y.log(new TextDecoder("utf-8").decode(o.slice(f,n))),0},clock_res_get(r,n){let s;switch(r){case 1:{s=5000n;break}case 0:{s=1000000n;break}default:return 52}return new DataView(t.inst.exports.memory.buffer).setBigUint64(n,s,!0),0},clock_time_get(r,n,s){let o=new DataView(t.inst.exports.memory.buffer);if(r===0)o.setBigUint64(s,BigInt(new Date().getTime())*1000000n,!0);else if(r==1){let f;try{f=BigInt(Math.round(performance.now()*1e6))}catch{f=0n}o.setBigUint64(s,f,!0)}else o.setBigUint64(s,0n,!0);return 0},fd_advise(r,n,s,o){return t.fds[r]!=null?0:8},fd_allocate(r,n,s){return t.fds[r]!=null?t.fds[r].fd_allocate(n,s):8},fd_close(r){if(t.fds[r]!=null){let n=t.fds[r].fd_close();return t.fds[r]=void 0,n}else return 8},fd_datasync(r){return t.fds[r]!=null?t.fds[r].fd_sync():8},fd_fdstat_get(r,n){if(t.fds[r]!=null){let{ret:s,fdstat:o}=t.fds[r].fd_fdstat_get();return o?.write_bytes(new DataView(t.inst.exports.memory.buffer),n),s}else return 8},fd_fdstat_set_flags(r,n){return t.fds[r]!=null?t.fds[r].fd_fdstat_set_flags(n):8},fd_fdstat_set_rights(r,n,s){return t.fds[r]!=null?t.fds[r].fd_fdstat_set_rights(n,s):8},fd_filestat_get(r,n){if(t.fds[r]!=null){let{ret:s,filestat:o}=t.fds[r].fd_filestat_get();return o?.write_bytes(new DataView(t.inst.exports.memory.buffer),n),s}else return 8},fd_filestat_set_size(r,n){return t.fds[r]!=null?t.fds[r].fd_filestat_set_size(n):8},fd_filestat_set_times(r,n,s,o){return t.fds[r]!=null?t.fds[r].fd_filestat_set_times(n,s,o):8},fd_pread(r,n,s,o,f){let _=new DataView(t.inst.exports.memory.buffer),l=new Uint8Array(t.inst.exports.memory.buffer);if(t.fds[r]!=null){let u=C.read_bytes_array(_,n,s),p=0;for(let d of u){let{ret:R,data:h}=t.fds[r].fd_pread(d.buf_len,o);if(R!=0)return _.setUint32(f,p,!0),R;if(l.set(h,d.buf),p+=h.length,o+=BigInt(h.length),h.length!=d.buf_len)break}return _.setUint32(f,p,!0),0}else return 8},fd_prestat_get(r,n){let s=new DataView(t.inst.exports.memory.buffer);if(t.fds[r]!=null){let{ret:o,prestat:f}=t.fds[r].fd_prestat_get();return f?.write_bytes(s,n),o}else return 8},fd_prestat_dir_name(r,n,s){if(t.fds[r]!=null){let{ret:o,prestat:f}=t.fds[r].fd_prestat_get();if(f==null)return o;let _=f.inner.pr_name;return new Uint8Array(t.inst.exports.memory.buffer).set(_.slice(0,s),n),_.byteLength>s?37:0}else return 8},fd_pwrite(r,n,s,o,f){let _=new DataView(t.inst.exports.memory.buffer),l=new Uint8Array(t.inst.exports.memory.buffer);if(t.fds[r]!=null){let u=L.read_bytes_array(_,n,s),p=0;for(let d of u){let R=l.slice(d.buf,d.buf+d.buf_len),{ret:h,nwritten:S}=t.fds[r].fd_pwrite(R,o);if(h!=0)return _.setUint32(f,p,!0),h;if(p+=S,o+=BigInt(S),S!=R.byteLength)break}return _.setUint32(f,p,!0),0}else return 8},fd_read(r,n,s,o){let f=new DataView(t.inst.exports.memory.buffer),_=new Uint8Array(t.inst.exports.memory.buffer);if(t.fds[r]!=null){let l=C.read_bytes_array(f,n,s),u=0;for(let p of l){let{ret:d,data:R}=t.fds[r].fd_read(p.buf_len);if(d!=0)return f.setUint32(o,u,!0),d;if(_.set(R,p.buf),u+=R.length,R.length!=p.buf_len)break}return f.setUint32(o,u,!0),0}else return 8},fd_readdir(r,n,s,o,f){let _=new DataView(t.inst.exports.memory.buffer),l=new Uint8Array(t.inst.exports.memory.buffer);if(t.fds[r]!=null){let u=0;for(;;){let{ret:p,dirent:d}=t.fds[r].fd_readdir_single(o);if(p!=0)return _.setUint32(f,u,!0),p;if(d==null)break;if(s-u<d.head_length()){u=s;break}let R=new ArrayBuffer(d.head_length());if(d.write_head_bytes(new DataView(R),0),l.set(new Uint8Array(R).slice(0,Math.min(R.byteLength,s-u)),n),n+=d.head_length(),u+=d.head_length(),s-u<d.name_length()){u=s;break}d.write_name_bytes(l,n,s-u),n+=d.name_length(),u+=d.name_length(),o=d.d_next}return _.setUint32(f,u,!0),0}else return 8},fd_renumber(r,n){if(t.fds[r]!=null&&t.fds[n]!=null){let s=t.fds[n].fd_close();return s!=0?s:(t.fds[n]=t.fds[r],t.fds[r]=void 0,0)}else return 8},fd_seek(r,n,s,o){let f=new DataView(t.inst.exports.memory.buffer);if(t.fds[r]!=null){let{ret:_,offset:l}=t.fds[r].fd_seek(n,s);return f.setBigInt64(o,l,!0),_}else return 8},fd_sync(r){return t.fds[r]!=null?t.fds[r].fd_sync():8},fd_tell(r,n){let s=new DataView(t.inst.exports.memory.buffer);if(t.fds[r]!=null){let{ret:o,offset:f}=t.fds[r].fd_tell();return s.setBigUint64(n,f,!0),o}else return 8},fd_write(r,n,s,o){let f=new DataView(t.inst.exports.memory.buffer),_=new Uint8Array(t.inst.exports.memory.buffer);if(t.fds[r]!=null){let l=L.read_bytes_array(f,n,s),u=0;for(let p of l){let d=_.slice(p.buf,p.buf+p.buf_len),{ret:R,nwritten:h}=t.fds[r].fd_write(d);if(R!=0)return f.setUint32(o,u,!0),R;if(u+=h,h!=d.byteLength)break}return f.setUint32(o,u,!0),0}else return 8},path_create_directory(r,n,s){let o=new Uint8Array(t.inst.exports.memory.buffer);if(t.fds[r]!=null){let f=new TextDecoder("utf-8").decode(o.slice(n,n+s));return t.fds[r].path_create_directory(f)}else return 8},path_filestat_get(r,n,s,o,f){let _=new DataView(t.inst.exports.memory.buffer),l=new Uint8Array(t.inst.exports.memory.buffer);if(t.fds[r]!=null){let u=new TextDecoder("utf-8").decode(l.slice(s,s+o)),{ret:p,filestat:d}=t.fds[r].path_filestat_get(n,u);return d?.write_bytes(_,f),p}else return 8},path_filestat_set_times(r,n,s,o,f,_,l){let u=new Uint8Array(t.inst.exports.memory.buffer);if(t.fds[r]!=null){let p=new TextDecoder("utf-8").decode(u.slice(s,s+o));return t.fds[r].path_filestat_set_times(n,p,f,_,l)}else return 8},path_link(r,n,s,o,f,_,l){let u=new Uint8Array(t.inst.exports.memory.buffer);if(t.fds[r]!=null&&t.fds[f]!=null){let p=new TextDecoder("utf-8").decode(u.slice(s,s+o)),d=new TextDecoder("utf-8").decode(u.slice(_,_+l)),{ret:R,inode_obj:h}=t.fds[r].path_lookup(p,n);return h==null?R:t.fds[f].path_link(d,h,!1)}else return 8},path_open(r,n,s,o,f,_,l,u,p){let d=new DataView(t.inst.exports.memory.buffer),R=new Uint8Array(t.inst.exports.memory.buffer);if(t.fds[r]!=null){let h=new TextDecoder("utf-8").decode(R.slice(s,s+o));y.log(h);let{ret:S,fd_obj:X}=t.fds[r].path_open(n,h,f,_,l,u);if(S!=0)return S;t.fds.push(X);let H=t.fds.length-1;return d.setUint32(p,H,!0),0}else return 8},path_readlink(r,n,s,o,f,_){let l=new DataView(t.inst.exports.memory.buffer),u=new Uint8Array(t.inst.exports.memory.buffer);if(t.fds[r]!=null){let p=new TextDecoder("utf-8").decode(u.slice(n,n+s));y.log(p);let{ret:d,data:R}=t.fds[r].path_readlink(p);if(R!=null){let h=new TextEncoder().encode(R);if(h.length>f)return l.setUint32(_,0,!0),8;u.set(h,o),l.setUint32(_,h.length,!0)}return d}else return 8},path_remove_directory(r,n,s){let o=new Uint8Array(t.inst.exports.memory.buffer);if(t.fds[r]!=null){let f=new TextDecoder("utf-8").decode(o.slice(n,n+s));return t.fds[r].path_remove_directory(f)}else return 8},path_rename(r,n,s,o,f,_){let l=new Uint8Array(t.inst.exports.memory.buffer);if(t.fds[r]!=null&&t.fds[o]!=null){let u=new TextDecoder("utf-8").decode(l.slice(n,n+s)),p=new TextDecoder("utf-8").decode(l.slice(f,f+_)),{ret:d,inode_obj:R}=t.fds[r].path_unlink(u);if(R==null)return d;if(d=t.fds[o].path_link(p,R,!0),d!=0&&t.fds[r].path_link(u,R,!0)!=0)throw"path_link should always return success when relinking an inode back to the original place";return d}else return 8},path_symlink(r,n,s,o,f){let _=new Uint8Array(t.inst.exports.memory.buffer);if(t.fds[s]!=null){let l=new TextDecoder("utf-8").decode(_.slice(r,r+n)),u=new TextDecoder("utf-8").decode(_.slice(o,o+f));return 58}else return 8},path_unlink_file(r,n,s){let o=new Uint8Array(t.inst.exports.memory.buffer);if(t.fds[r]!=null){let f=new TextDecoder("utf-8").decode(o.slice(n,n+s));return t.fds[r].path_unlink_file(f)}else return 8},poll_oneoff(r,n,s){if(s===0)return 28;if(s>1)return y.log("poll_oneoff: only a single subscription is supported"),58;let o=new DataView(t.inst.exports.memory.buffer),f=k.read_bytes(o,r),_=f.eventtype,l=f.clockid,u=f.timeout;if(_!==at)return y.log("poll_oneoff: only clock subscriptions are supported"),58;let p;if(l===1)p=()=>BigInt(Math.round(performance.now()*1e6));else if(l===0)p=()=>BigInt(new Date().getTime())*1000000n;else return 28;let d=(f.flags&ft)!==0?u:p()+u;for(;d>p(););return new Y(f.userdata,0,_).write_bytes(o,n),0},proc_exit(r){throw new U(r)},proc_raise(r){throw"raised signal "+r},sched_yield(){},random_get(r,n){let s=new Uint8Array(t.inst.exports.memory.buffer).subarray(r,r+n);if("crypto"in globalThis&&(typeof SharedArrayBuffer>"u"||!(t.inst.exports.memory.buffer instanceof SharedArrayBuffer)))for(let o=0;o<n;o+=65536)crypto.getRandomValues(s.subarray(o,o+65536));else for(let o=0;o<n;o++)s[o]=Math.random()*256|0},sock_recv(r,n,s){throw"sockets not supported"},sock_send(r,n,s){throw"sockets not supported"},sock_shutdown(r,n){throw"sockets not supported"},sock_accept(r,n){throw"sockets not supported"}}}};var g=class{fd_allocate(e,i){return 58}fd_close(){return 0}fd_fdstat_get(){return{ret:58,fdstat:null}}fd_fdstat_set_flags(e){return 58}fd_fdstat_set_rights(e,i){return 58}fd_filestat_get(){return{ret:58,filestat:null}}fd_filestat_set_size(e){return 58}fd_filestat_set_times(e,i,c){return 58}fd_pread(e,i){return{ret:58,data:new Uint8Array}}fd_prestat_get(){return{ret:58,prestat:null}}fd_pwrite(e,i){return{ret:58,nwritten:0}}fd_read(e){return{ret:58,data:new Uint8Array}}fd_readdir_single(e){return{ret:58,dirent:null}}fd_seek(e,i){return{ret:58,offset:0n}}fd_sync(){return 0}fd_tell(){return{ret:58,offset:0n}}fd_write(e){return{ret:58,nwritten:0}}path_create_directory(e){return 58}path_filestat_get(e,i){return{ret:58,filestat:null}}path_filestat_set_times(e,i,c,E,t){return 58}path_link(e,i,c){return 58}path_unlink(e){return{ret:58,inode_obj:null}}path_lookup(e,i){return{ret:58,inode_obj:null}}path_open(e,i,c,E,t,r){return{ret:54,fd_obj:null}}path_readlink(e){return{ret:58,data:null}}path_remove_directory(e){return 58}path_rename(e,i,c){return 58}path_unlink_file(e){return 58}},m=class a{static issue_ino(){return a.next_ino++}static root_ino(){return 0n}constructor(){this.ino=a.issue_ino()}};m.next_ino=1n;var b=class extends g{fd_allocate(e,i){if(!(this.file.size>e+i)){let c=new Uint8Array(Number(e+i));c.set(this.file.data,0),this.file.data=c}return 0}fd_fdstat_get(){return{ret:0,fdstat:new x(W,0)}}fd_filestat_set_size(e){if(this.file.size>e)this.file.data=new Uint8Array(this.file.data.buffer.slice(0,Number(e)));else{let i=new Uint8Array(Number(e));i.set(this.file.data,0),this.file.data=i}return 0}fd_read(e){let i=this.file.data.slice(Number(this.file_pos),Number(this.file_pos+BigInt(e)));return this.file_pos+=BigInt(i.length),{ret:0,data:i}}fd_pread(e,i){return{ret:0,data:this.file.data.slice(Number(i),Number(i+BigInt(e)))}}fd_seek(e,i){let c;switch(i){case Q:c=e;break;case Z:c=this.file_pos+e;break;case V:c=BigInt(this.file.data.byteLength)+e;break;default:return{ret:28,offset:0n}}return c<0?{ret:28,offset:0n}:(this.file_pos=c,{ret:0,offset:this.file_pos})}fd_tell(){return{ret:0,offset:this.file_pos}}fd_write(e){if(this.file.readonly)return{ret:8,nwritten:0};if(this.file_pos+BigInt(e.byteLength)>this.file.size){let i=this.file.data;this.file.data=new Uint8Array(Number(this.file_pos+BigInt(e.byteLength))),this.file.data.set(i)}return this.file.data.set(e,Number(this.file_pos)),this.file_pos+=BigInt(e.byteLength),{ret:0,nwritten:e.byteLength}}fd_pwrite(e,i){if(this.file.readonly)return{ret:8,nwritten:0};if(i+BigInt(e.byteLength)>this.file.size){let c=this.file.data;this.file.data=new Uint8Array(Number(i+BigInt(e.byteLength))),this.file.data.set(c)}return this.file.data.set(e,Number(i)),{ret:0,nwritten:e.byteLength}}fd_filestat_get(){return{ret:0,filestat:this.file.stat()}}constructor(e){super(),this.file_pos=0n,this.file=e}};var F=class extends m{path_open(e,i,c){if(this.readonly&&(i&BigInt(64))==BigInt(64))return{ret:63,fd_obj:null};if((e&j)==j){if(this.readonly)return{ret:63,fd_obj:null};this.data=new Uint8Array([])}let E=new b(this);return c&q&&E.fd_seek(0n,V),{ret:0,fd_obj:E}}get size(){return BigInt(this.data.byteLength)}stat(){return new A(this.ino,W,this.size)}constructor(e,i){super(),this.data=new Uint8Array(e),this.readonly=!!i?.readonly}};var P=class a extends g{fd_filestat_get(){return{ret:0,filestat:new A(this.ino,J,BigInt(0))}}fd_fdstat_get(){let e=new x(J,0);return e.fs_rights_base=BigInt(64),{ret:0,fdstat:e}}fd_write(e){return this.write(e),{ret:0,nwritten:e.byteLength}}static lineBuffered(e){let i=new TextDecoder("utf-8",{fatal:!1}),c="";return new a(E=>{c+=i.decode(E,{stream:!0});let t=c.split(`\n`);for(let[r,n]of t.entries())r<t.length-1?e(n):c=n})}constructor(e){super(),this.ino=m.issue_ino(),this.write=e}};var ct="code-playpad Clang 20.1.2 / Emscripten 4.0.6 r1",lt={"clang.js":{bytes:74300,sha256:"b437a648812aabd1cc87cba4a7268e2f53ab94a9071a854ba983dd62328dc30c"},"clang.wasm":{bytes:42578038,sha256:"534571fd4f9136c85d3e25a395cc31983ec3cbd41012e3928b45879a518718fa"},"lld.js":{bytes:71711,sha256:"2da4b0a04b6953bdc4869137631abd11ea7eb5a667fbd19c4ff6d68d56f302bb"},"lld.wasm":{bytes:23228304,sha256:"55ffbe1366525c1b55b65140630e0ca00ff47eae7acfdee6a15b46e738800ec7"},"sysroot.tar":{bytes:29009920,sha256:"a0d92a9fc1dccc2c181ae6812b6c169de3dad851ee4d4e796d15940776648ac5"}};function K(a){if(!a||a.startsWith("/")||/[\\\\\\x00-\\x1f:]/.test(a)||a.split("/").some(e=>!e||e==="."||e===".."))throw new Error(`Invalid project path: ${JSON.stringify(a)}. Use relative paths without . or ...`);return a}function ut(a,e,i,c){let E=K(i??(c==="c"?"main.c":"main.cpp")),t=e?{...e}:{[E]:a};if(!Object.hasOwn(t,E))throw new Error(`Entry file ${E} does not exist.`);let r=Object.keys(t).map(K).sort(),n=f=>/\\.c$/.test(f),s=f=>/\\.(cpp|cc|cxx)$/.test(f);if(r.some(c==="c"?s:n))throw new Error("Mixed C/C++ source projects are not supported yet.");let o=r.filter(c==="c"?n:s);if(!o.includes(E))throw new Error(`Entry ${E} must have a ${c==="c"?".c":".cpp, .cc, or .cxx"} extension.`);if(o.length>32||r.length>256)throw new Error("Project limit: 32 source files and 256 files total.");if(Object.values(t).reduce((f,_)=>f+new TextEncoder().encode(_).length,0)>2e6)throw new Error("Project exceeds the 2 MB source limit.");return{files:t,sources:o,entry:E}}var st,v,dt=Promise.resolve(),G=a=>globalThis.postMessage(a),M=(a,e,i)=>G({type:"progress",id:a,phase:e,message:i}),B=(a,e)=>ot(a,lt[a],st,it,i=>M(e,"downloading",i));function St(a){let e=new Uint8Array(a),i=new TextDecoder,c=[],E=(t,r)=>i.decode(e.subarray(t,t+r)).replace(/\\0.*$/,"");for(let t=0;t+512<=e.length;){let r=E(t,100);if(!r)break;let n=E(t+345,155);n&&(r=n+"/"+r);let s=parseInt(E(t+124,12).trim()||"0",8),o=e[t+156];if(!Number.isSafeInteger(s)||s<0||t+512+s>e.length)throw new Error("Invalid sysroot archive.");if(o===48||o===0)c.push({name:"/"+K(r),data:e.subarray(t+512,t+512+s)});else if(o!==53)throw new Error("Unsupported sysroot archive entry.");t+=512+Math.ceil(s/512)*512}return c}async function Rt(a){let e=URL.createObjectURL(new Blob([a],{type:"text/javascript"}));try{return(await import(e)).default}finally{URL.revokeObjectURL(e)}}function yt(a){return st?(v||(v=(async()=>{let e=await Rt(await B("clang.js",a)),i=await Rt(await B("lld.js",a)),c=await WebAssembly.compile(await B("clang.wasm",a)),E=await WebAssembly.compile(await B("lld.wasm",a));M(a,"booting","Preparing C/C++ standard libraries\\u2026");let t=St(await B("sysroot.tar",a));return{clang:e,lld:i,clangModule:c,lldModule:E,sysroot:t}})().catch(e=>{throw v=void 0,e})),v):Promise.reject(new Error("Configure the rebuilt C/C++ assets with configureCpp({ indexURL }) before creating widgets. See docs/CPP-REBUILD.md."))}async function Et(a,e,i,c){let E,t=await a({thisProgram:i,noInitialRun:!0,print:c,printErr:c,instantiateWasm(r,n){let s=new WebAssembly.Instance(e,r);return E=Object.values(s.exports).find(o=>o instanceof WebAssembly.Memory),n(s,e),s.exports}});return t.memory=E,t}function $(a,e,i){a.mkdirTree(e.slice(0,e.lastIndexOf("/"))||"/"),a.writeFile(e,i)}async function mt(a){let e=performance.now(),i=0,c=(E,t)=>{if(i+=t.length,i>1e6)throw new Error("Output limit exceeded (1 MB).");t&&G({type:E,id:a.id,text:t})};try{let E=ut(a.code,a.files,a.entry,a.compilerLanguage),t=await yt(a.id),r=[],n=0;for(let R of E.sources){M(a.id,"compiling",`Compiling ${R}\\u2026`);let h=await Et(t.clang,t.clangModule,"clang",T=>c("stderr",T+`\n`));for(let T of t.sysroot)$(h.FS,T.name,T.data);for(let[T,pt]of Object.entries(E.files))$(h.FS,"/project/"+T,pt);let S=a.compilerLanguage==="cpp",X=["-cc1","-triple","wasm32-unknown-wasi","-emit-obj","-O0","-std="+(S?"c++20":"c17"),"-resource-dir","/lib/clang/20",...S?["-internal-isystem","/include/wasm32-wasi/c++/v1","-internal-isystem","/include/c++/v1"]:[],"-internal-isystem","/lib/clang/20/include","-internal-isystem","/include/wasm32-wasi","-internal-isystem","/include","-I","/project","-ferror-limit","20","-o","/tmp/output.o","-x",S?"c++":"c","/project/"+R],H=h.callMain(X);if(n=Math.max(n,h.memory?.buffer.byteLength??0),H!==0)throw new Error(`Compilation failed (${R}, exit ${H}).`);r.push(h.FS.readFile("/tmp/output.o").slice())}M(a.id,"linking","Linking\\u2026");let s=await Et(t.lld,t.lldModule,"wasm-ld",R=>c("stderr",R+`\n`));for(let R of t.sysroot)R.name.startsWith("/include/")||$(s.FS,R.name,R.data);r.forEach((R,h)=>$(s.FS,"/tmp/"+h+".o",R));let o=s.callMain(["-m","wasm32","-z","stack-size=1048576","--max-memory=268435456","-L/lib/wasm32-wasi","/lib/wasm32-wasi/crt1-command.o",...r.map((R,h)=>"/tmp/"+h+".o"),...a.compilerLanguage==="cpp"?["-lc++","-lc++abi"]:[],"-lc","/lib/clang/20/lib/wasm32-unknown-wasi/libclang_rt.builtins.a","-o","/tmp/program.wasm"]);if(n=Math.max(n,s.memory?.buffer.byteLength??0),o!==0)throw new Error(`Linking failed (exit ${o}).`);let f=await WebAssembly.compile(s.FS.readFile("/tmp/program.wasm").slice().buffer);M(a.id,"running","Running\\u2026");let _={stdout:new TextDecoder,stderr:new TextDecoder},l=R=>new P(h=>c(R,_[R].decode(h,{stream:!0}))),u=new rt([E.entry],[],[new b(new F(new TextEncoder().encode(a.stdin??""))),l("stdout"),l("stderr")]),p=await WebAssembly.instantiate(f,{wasi_snapshot_preview1:u.wasiImport}),d=u.start(p);if(c("stdout",_.stdout.decode()),c("stderr",_.stderr.decode()),d!==0)throw new Error(`Program exited with status ${d}.`);G({type:"result",id:a.id,durationMs:performance.now()-e,memory:{compilerBytes:n,programBytes:p.exports.memory.buffer.byteLength}})}catch(E){G({type:"error",id:a.id,message:E instanceof Error?E.message:String(E),durationMs:performance.now()-e})}}globalThis.onmessage=({data:a})=>{a.type==="init"?(st=a.toolchainURL,G({type:"ready",version:ct,interactiveStdin:!1})):a.type==="run"&&(dt=dt.then(()=>mt(a)))};})();\n',a=new class extends r{id=`cpp`;get label(){return`C/C++ (Clang 20, experimental)`}get source(){return i}async load(e){return await t(n),super.load(e)}initPayload(){return{toolchainURL:e().indexURL}}};function o(t){return{id:t,label:t===`c`?`C17 (experimental)`:`C++20 (experimental)`,statusDecidesFailure:!0,get ready(){return a.ready},interactiveStdin:!1,async editorLanguage(){return(await import(`@codemirror/lang-cpp`)).cpp()},load:e=>a.load(e),run:(n,r={})=>a.run(n,{...r,compilerLanguage:t,timeoutMs:r.timeoutMs??e().timeoutMs}),stop:e=>a.stop(e)}}var s=o(`c`),c=o(`cpp`);export{s as cRuntime,c as cppRuntime};
1
+ import{c as e}from"./config-3Z6xX6Jr.js";import{n as t,t as n}from"./compiler-cache-XwslsU5H.js";import{t as r}from"./worker-runtime-Ey7jwPA3.js";var i='"use strict";(()=>{var it="code-playpad-cpp-20.1.2-emscripten-4.0.6-r1";async function ot(a,e,i,c,E){let t=new URL(a,i).href,r;try{r=await caches.open(c)}catch{}let n;try{n=await r?.match(t)}catch{}let s=async _=>{if(!_.ok)throw new Error(`Toolchain download failed: ${a} (HTTP ${_.status}). Check the asset URL and retry.`);let l=_.body?.getReader();if(!l)return _.arrayBuffer();let u=[],p=0,d=0;for(;;){let S=await l.read();if(S.done)break;if(p+=S.value.length,p>e.bytes)throw await l.cancel(),new Error(`Unexpected toolchain size: ${a}.`);u.push(S.value),performance.now()-d>100&&(E(`${n?"Reading cached":"Downloading"} ${a}: ${(p/1e6).toFixed(1)} / ${(e.bytes/1e6).toFixed(1)} MB (decoded)`),d=performance.now())}let R=new Uint8Array(p),h=0;for(let S of u)R.set(S,h),h+=S.length;return R.buffer},o=async _=>_.byteLength===e.bytes&&[...new Uint8Array(await crypto.subtle.digest("SHA-256",_))].map(l=>l.toString(16).padStart(2,"0")).join("")===e.sha256;if(n){try{let _=await s(n);if(await o(_))return _}catch{}try{await r?.delete(t)}catch{}n=void 0}let f=await s(await fetch(t));if(!await o(f))throw new Error(`Toolchain integrity check failed: ${a}. Use the pinned toolchain assets.`);try{await r?.put(t,new Response(f))}catch{}return f}var C=class a{static read_bytes(e,i){let c=new a;return c.buf=e.getUint32(i,!0),c.buf_len=e.getUint32(i+4,!0),c}static read_bytes_array(e,i,c){let E=[];for(let t=0;t<c;t++)E.push(a.read_bytes(e,i+8*t));return E}},L=class a{static read_bytes(e,i){let c=new a;return c.buf=e.getUint32(i,!0),c.buf_len=e.getUint32(i+4,!0),c}static read_bytes_array(e,i,c){let E=[];for(let t=0;t<c;t++)E.push(a.read_bytes(e,i+8*t));return E}},Q=0,Z=1,V=2;var J=2;var W=4;var q=1;var x=class{write_bytes(e,i){e.setUint8(i,this.fs_filetype),e.setUint16(i+2,this.fs_flags,!0),e.setBigUint64(i+8,this.fs_rights_base,!0),e.setBigUint64(i+16,this.fs_rights_inherited,!0)}constructor(e,i){this.fs_rights_base=0n,this.fs_rights_inherited=0n,this.fs_filetype=e,this.fs_flags=i}};var j=8,A=class{write_bytes(e,i){e.setBigUint64(i,this.dev,!0),e.setBigUint64(i+8,this.ino,!0),e.setUint8(i+16,this.filetype),e.setBigUint64(i+24,this.nlink,!0),e.setBigUint64(i+32,this.size,!0),e.setBigUint64(i+38,this.atim,!0),e.setBigUint64(i+46,this.mtim,!0),e.setBigUint64(i+52,this.ctim,!0)}constructor(e,i,c){this.dev=0n,this.nlink=0n,this.atim=0n,this.mtim=0n,this.ctim=0n,this.ino=e,this.filetype=i,this.size=c}},at=0;var ft=1,k=class a{static read_bytes(e,i){return new a(e.getBigUint64(i,!0),e.getUint8(i+8),e.getUint32(i+16,!0),e.getBigUint64(i+24,!0),e.getUint16(i+36,!0))}constructor(e,i,c,E,t){this.userdata=e,this.eventtype=i,this.clockid=c,this.timeout=E,this.flags=t}},Y=class{write_bytes(e,i){e.setBigUint64(i,this.userdata,!0),e.setUint16(i+8,this.error,!0),e.setUint8(i+10,this.eventtype)}constructor(e,i,c){this.userdata=e,this.error=i,this.eventtype=c}};var wt=class{enable(e){this.log=ht(e===void 0?!0:e,this.prefix)}get enabled(){return this.isEnabled}constructor(e){this.isEnabled=e,this.prefix="wasi:",this.enable(e)}};function ht(a,e){return a?console.log.bind(console,"%c%s","color: #265BA0",e):()=>{}}var y=new wt(!1);var U=class extends Error{constructor(e){super("exit with exit code "+e),this.code=e}},rt=class{start(e){this.inst=e;try{return e.exports._start(),0}catch(i){if(i instanceof U)return i.code;throw i}}initialize(e){this.inst=e,e.exports._initialize&&e.exports._initialize()}constructor(e,i,c,E={}){this.args=[],this.env=[],this.fds=[],y.enable(E.debug),this.args=e,this.env=i,this.fds=c;let t=this;this.wasiImport={args_sizes_get(r,n){let s=new DataView(t.inst.exports.memory.buffer);s.setUint32(r,t.args.length,!0);let o=0;for(let f of t.args)o+=f.length+1;return s.setUint32(n,o,!0),y.log(s.getUint32(r,!0),s.getUint32(n,!0)),0},args_get(r,n){let s=new DataView(t.inst.exports.memory.buffer),o=new Uint8Array(t.inst.exports.memory.buffer),f=n;for(let _=0;_<t.args.length;_++){s.setUint32(r,n,!0),r+=4;let l=new TextEncoder().encode(t.args[_]);o.set(l,n),s.setUint8(n+l.length,0),n+=l.length+1}return y.enabled&&y.log(new TextDecoder("utf-8").decode(o.slice(f,n))),0},environ_sizes_get(r,n){let s=new DataView(t.inst.exports.memory.buffer);s.setUint32(r,t.env.length,!0);let o=0;for(let f of t.env)o+=new TextEncoder().encode(f).length+1;return s.setUint32(n,o,!0),y.log(s.getUint32(r,!0),s.getUint32(n,!0)),0},environ_get(r,n){let s=new DataView(t.inst.exports.memory.buffer),o=new Uint8Array(t.inst.exports.memory.buffer),f=n;for(let _=0;_<t.env.length;_++){s.setUint32(r,n,!0),r+=4;let l=new TextEncoder().encode(t.env[_]);o.set(l,n),s.setUint8(n+l.length,0),n+=l.length+1}return y.enabled&&y.log(new TextDecoder("utf-8").decode(o.slice(f,n))),0},clock_res_get(r,n){let s;switch(r){case 1:{s=5000n;break}case 0:{s=1000000n;break}default:return 52}return new DataView(t.inst.exports.memory.buffer).setBigUint64(n,s,!0),0},clock_time_get(r,n,s){let o=new DataView(t.inst.exports.memory.buffer);if(r===0)o.setBigUint64(s,BigInt(new Date().getTime())*1000000n,!0);else if(r==1){let f;try{f=BigInt(Math.round(performance.now()*1e6))}catch{f=0n}o.setBigUint64(s,f,!0)}else o.setBigUint64(s,0n,!0);return 0},fd_advise(r,n,s,o){return t.fds[r]!=null?0:8},fd_allocate(r,n,s){return t.fds[r]!=null?t.fds[r].fd_allocate(n,s):8},fd_close(r){if(t.fds[r]!=null){let n=t.fds[r].fd_close();return t.fds[r]=void 0,n}else return 8},fd_datasync(r){return t.fds[r]!=null?t.fds[r].fd_sync():8},fd_fdstat_get(r,n){if(t.fds[r]!=null){let{ret:s,fdstat:o}=t.fds[r].fd_fdstat_get();return o?.write_bytes(new DataView(t.inst.exports.memory.buffer),n),s}else return 8},fd_fdstat_set_flags(r,n){return t.fds[r]!=null?t.fds[r].fd_fdstat_set_flags(n):8},fd_fdstat_set_rights(r,n,s){return t.fds[r]!=null?t.fds[r].fd_fdstat_set_rights(n,s):8},fd_filestat_get(r,n){if(t.fds[r]!=null){let{ret:s,filestat:o}=t.fds[r].fd_filestat_get();return o?.write_bytes(new DataView(t.inst.exports.memory.buffer),n),s}else return 8},fd_filestat_set_size(r,n){return t.fds[r]!=null?t.fds[r].fd_filestat_set_size(n):8},fd_filestat_set_times(r,n,s,o){return t.fds[r]!=null?t.fds[r].fd_filestat_set_times(n,s,o):8},fd_pread(r,n,s,o,f){let _=new DataView(t.inst.exports.memory.buffer),l=new Uint8Array(t.inst.exports.memory.buffer);if(t.fds[r]!=null){let u=C.read_bytes_array(_,n,s),p=0;for(let d of u){let{ret:R,data:h}=t.fds[r].fd_pread(d.buf_len,o);if(R!=0)return _.setUint32(f,p,!0),R;if(l.set(h,d.buf),p+=h.length,o+=BigInt(h.length),h.length!=d.buf_len)break}return _.setUint32(f,p,!0),0}else return 8},fd_prestat_get(r,n){let s=new DataView(t.inst.exports.memory.buffer);if(t.fds[r]!=null){let{ret:o,prestat:f}=t.fds[r].fd_prestat_get();return f?.write_bytes(s,n),o}else return 8},fd_prestat_dir_name(r,n,s){if(t.fds[r]!=null){let{ret:o,prestat:f}=t.fds[r].fd_prestat_get();if(f==null)return o;let _=f.inner.pr_name;return new Uint8Array(t.inst.exports.memory.buffer).set(_.slice(0,s),n),_.byteLength>s?37:0}else return 8},fd_pwrite(r,n,s,o,f){let _=new DataView(t.inst.exports.memory.buffer),l=new Uint8Array(t.inst.exports.memory.buffer);if(t.fds[r]!=null){let u=L.read_bytes_array(_,n,s),p=0;for(let d of u){let R=l.slice(d.buf,d.buf+d.buf_len),{ret:h,nwritten:S}=t.fds[r].fd_pwrite(R,o);if(h!=0)return _.setUint32(f,p,!0),h;if(p+=S,o+=BigInt(S),S!=R.byteLength)break}return _.setUint32(f,p,!0),0}else return 8},fd_read(r,n,s,o){let f=new DataView(t.inst.exports.memory.buffer),_=new Uint8Array(t.inst.exports.memory.buffer);if(t.fds[r]!=null){let l=C.read_bytes_array(f,n,s),u=0;for(let p of l){let{ret:d,data:R}=t.fds[r].fd_read(p.buf_len);if(d!=0)return f.setUint32(o,u,!0),d;if(_.set(R,p.buf),u+=R.length,R.length!=p.buf_len)break}return f.setUint32(o,u,!0),0}else return 8},fd_readdir(r,n,s,o,f){let _=new DataView(t.inst.exports.memory.buffer),l=new Uint8Array(t.inst.exports.memory.buffer);if(t.fds[r]!=null){let u=0;for(;;){let{ret:p,dirent:d}=t.fds[r].fd_readdir_single(o);if(p!=0)return _.setUint32(f,u,!0),p;if(d==null)break;if(s-u<d.head_length()){u=s;break}let R=new ArrayBuffer(d.head_length());if(d.write_head_bytes(new DataView(R),0),l.set(new Uint8Array(R).slice(0,Math.min(R.byteLength,s-u)),n),n+=d.head_length(),u+=d.head_length(),s-u<d.name_length()){u=s;break}d.write_name_bytes(l,n,s-u),n+=d.name_length(),u+=d.name_length(),o=d.d_next}return _.setUint32(f,u,!0),0}else return 8},fd_renumber(r,n){if(t.fds[r]!=null&&t.fds[n]!=null){let s=t.fds[n].fd_close();return s!=0?s:(t.fds[n]=t.fds[r],t.fds[r]=void 0,0)}else return 8},fd_seek(r,n,s,o){let f=new DataView(t.inst.exports.memory.buffer);if(t.fds[r]!=null){let{ret:_,offset:l}=t.fds[r].fd_seek(n,s);return f.setBigInt64(o,l,!0),_}else return 8},fd_sync(r){return t.fds[r]!=null?t.fds[r].fd_sync():8},fd_tell(r,n){let s=new DataView(t.inst.exports.memory.buffer);if(t.fds[r]!=null){let{ret:o,offset:f}=t.fds[r].fd_tell();return s.setBigUint64(n,f,!0),o}else return 8},fd_write(r,n,s,o){let f=new DataView(t.inst.exports.memory.buffer),_=new Uint8Array(t.inst.exports.memory.buffer);if(t.fds[r]!=null){let l=L.read_bytes_array(f,n,s),u=0;for(let p of l){let d=_.slice(p.buf,p.buf+p.buf_len),{ret:R,nwritten:h}=t.fds[r].fd_write(d);if(R!=0)return f.setUint32(o,u,!0),R;if(u+=h,h!=d.byteLength)break}return f.setUint32(o,u,!0),0}else return 8},path_create_directory(r,n,s){let o=new Uint8Array(t.inst.exports.memory.buffer);if(t.fds[r]!=null){let f=new TextDecoder("utf-8").decode(o.slice(n,n+s));return t.fds[r].path_create_directory(f)}else return 8},path_filestat_get(r,n,s,o,f){let _=new DataView(t.inst.exports.memory.buffer),l=new Uint8Array(t.inst.exports.memory.buffer);if(t.fds[r]!=null){let u=new TextDecoder("utf-8").decode(l.slice(s,s+o)),{ret:p,filestat:d}=t.fds[r].path_filestat_get(n,u);return d?.write_bytes(_,f),p}else return 8},path_filestat_set_times(r,n,s,o,f,_,l){let u=new Uint8Array(t.inst.exports.memory.buffer);if(t.fds[r]!=null){let p=new TextDecoder("utf-8").decode(u.slice(s,s+o));return t.fds[r].path_filestat_set_times(n,p,f,_,l)}else return 8},path_link(r,n,s,o,f,_,l){let u=new Uint8Array(t.inst.exports.memory.buffer);if(t.fds[r]!=null&&t.fds[f]!=null){let p=new TextDecoder("utf-8").decode(u.slice(s,s+o)),d=new TextDecoder("utf-8").decode(u.slice(_,_+l)),{ret:R,inode_obj:h}=t.fds[r].path_lookup(p,n);return h==null?R:t.fds[f].path_link(d,h,!1)}else return 8},path_open(r,n,s,o,f,_,l,u,p){let d=new DataView(t.inst.exports.memory.buffer),R=new Uint8Array(t.inst.exports.memory.buffer);if(t.fds[r]!=null){let h=new TextDecoder("utf-8").decode(R.slice(s,s+o));y.log(h);let{ret:S,fd_obj:X}=t.fds[r].path_open(n,h,f,_,l,u);if(S!=0)return S;t.fds.push(X);let H=t.fds.length-1;return d.setUint32(p,H,!0),0}else return 8},path_readlink(r,n,s,o,f,_){let l=new DataView(t.inst.exports.memory.buffer),u=new Uint8Array(t.inst.exports.memory.buffer);if(t.fds[r]!=null){let p=new TextDecoder("utf-8").decode(u.slice(n,n+s));y.log(p);let{ret:d,data:R}=t.fds[r].path_readlink(p);if(R!=null){let h=new TextEncoder().encode(R);if(h.length>f)return l.setUint32(_,0,!0),8;u.set(h,o),l.setUint32(_,h.length,!0)}return d}else return 8},path_remove_directory(r,n,s){let o=new Uint8Array(t.inst.exports.memory.buffer);if(t.fds[r]!=null){let f=new TextDecoder("utf-8").decode(o.slice(n,n+s));return t.fds[r].path_remove_directory(f)}else return 8},path_rename(r,n,s,o,f,_){let l=new Uint8Array(t.inst.exports.memory.buffer);if(t.fds[r]!=null&&t.fds[o]!=null){let u=new TextDecoder("utf-8").decode(l.slice(n,n+s)),p=new TextDecoder("utf-8").decode(l.slice(f,f+_)),{ret:d,inode_obj:R}=t.fds[r].path_unlink(u);if(R==null)return d;if(d=t.fds[o].path_link(p,R,!0),d!=0&&t.fds[r].path_link(u,R,!0)!=0)throw"path_link should always return success when relinking an inode back to the original place";return d}else return 8},path_symlink(r,n,s,o,f){let _=new Uint8Array(t.inst.exports.memory.buffer);if(t.fds[s]!=null){let l=new TextDecoder("utf-8").decode(_.slice(r,r+n)),u=new TextDecoder("utf-8").decode(_.slice(o,o+f));return 58}else return 8},path_unlink_file(r,n,s){let o=new Uint8Array(t.inst.exports.memory.buffer);if(t.fds[r]!=null){let f=new TextDecoder("utf-8").decode(o.slice(n,n+s));return t.fds[r].path_unlink_file(f)}else return 8},poll_oneoff(r,n,s){if(s===0)return 28;if(s>1)return y.log("poll_oneoff: only a single subscription is supported"),58;let o=new DataView(t.inst.exports.memory.buffer),f=k.read_bytes(o,r),_=f.eventtype,l=f.clockid,u=f.timeout;if(_!==at)return y.log("poll_oneoff: only clock subscriptions are supported"),58;let p;if(l===1)p=()=>BigInt(Math.round(performance.now()*1e6));else if(l===0)p=()=>BigInt(new Date().getTime())*1000000n;else return 28;let d=(f.flags&ft)!==0?u:p()+u;for(;d>p(););return new Y(f.userdata,0,_).write_bytes(o,n),0},proc_exit(r){throw new U(r)},proc_raise(r){throw"raised signal "+r},sched_yield(){},random_get(r,n){let s=new Uint8Array(t.inst.exports.memory.buffer).subarray(r,r+n);if("crypto"in globalThis&&(typeof SharedArrayBuffer>"u"||!(t.inst.exports.memory.buffer instanceof SharedArrayBuffer)))for(let o=0;o<n;o+=65536)crypto.getRandomValues(s.subarray(o,o+65536));else for(let o=0;o<n;o++)s[o]=Math.random()*256|0},sock_recv(r,n,s){throw"sockets not supported"},sock_send(r,n,s){throw"sockets not supported"},sock_shutdown(r,n){throw"sockets not supported"},sock_accept(r,n){throw"sockets not supported"}}}};var g=class{fd_allocate(e,i){return 58}fd_close(){return 0}fd_fdstat_get(){return{ret:58,fdstat:null}}fd_fdstat_set_flags(e){return 58}fd_fdstat_set_rights(e,i){return 58}fd_filestat_get(){return{ret:58,filestat:null}}fd_filestat_set_size(e){return 58}fd_filestat_set_times(e,i,c){return 58}fd_pread(e,i){return{ret:58,data:new Uint8Array}}fd_prestat_get(){return{ret:58,prestat:null}}fd_pwrite(e,i){return{ret:58,nwritten:0}}fd_read(e){return{ret:58,data:new Uint8Array}}fd_readdir_single(e){return{ret:58,dirent:null}}fd_seek(e,i){return{ret:58,offset:0n}}fd_sync(){return 0}fd_tell(){return{ret:58,offset:0n}}fd_write(e){return{ret:58,nwritten:0}}path_create_directory(e){return 58}path_filestat_get(e,i){return{ret:58,filestat:null}}path_filestat_set_times(e,i,c,E,t){return 58}path_link(e,i,c){return 58}path_unlink(e){return{ret:58,inode_obj:null}}path_lookup(e,i){return{ret:58,inode_obj:null}}path_open(e,i,c,E,t,r){return{ret:54,fd_obj:null}}path_readlink(e){return{ret:58,data:null}}path_remove_directory(e){return 58}path_rename(e,i,c){return 58}path_unlink_file(e){return 58}},m=class a{static issue_ino(){return a.next_ino++}static root_ino(){return 0n}constructor(){this.ino=a.issue_ino()}};m.next_ino=1n;var b=class extends g{fd_allocate(e,i){if(!(this.file.size>e+i)){let c=new Uint8Array(Number(e+i));c.set(this.file.data,0),this.file.data=c}return 0}fd_fdstat_get(){return{ret:0,fdstat:new x(W,0)}}fd_filestat_set_size(e){if(this.file.size>e)this.file.data=new Uint8Array(this.file.data.buffer.slice(0,Number(e)));else{let i=new Uint8Array(Number(e));i.set(this.file.data,0),this.file.data=i}return 0}fd_read(e){let i=this.file.data.slice(Number(this.file_pos),Number(this.file_pos+BigInt(e)));return this.file_pos+=BigInt(i.length),{ret:0,data:i}}fd_pread(e,i){return{ret:0,data:this.file.data.slice(Number(i),Number(i+BigInt(e)))}}fd_seek(e,i){let c;switch(i){case Q:c=e;break;case Z:c=this.file_pos+e;break;case V:c=BigInt(this.file.data.byteLength)+e;break;default:return{ret:28,offset:0n}}return c<0?{ret:28,offset:0n}:(this.file_pos=c,{ret:0,offset:this.file_pos})}fd_tell(){return{ret:0,offset:this.file_pos}}fd_write(e){if(this.file.readonly)return{ret:8,nwritten:0};if(this.file_pos+BigInt(e.byteLength)>this.file.size){let i=this.file.data;this.file.data=new Uint8Array(Number(this.file_pos+BigInt(e.byteLength))),this.file.data.set(i)}return this.file.data.set(e,Number(this.file_pos)),this.file_pos+=BigInt(e.byteLength),{ret:0,nwritten:e.byteLength}}fd_pwrite(e,i){if(this.file.readonly)return{ret:8,nwritten:0};if(i+BigInt(e.byteLength)>this.file.size){let c=this.file.data;this.file.data=new Uint8Array(Number(i+BigInt(e.byteLength))),this.file.data.set(c)}return this.file.data.set(e,Number(i)),{ret:0,nwritten:e.byteLength}}fd_filestat_get(){return{ret:0,filestat:this.file.stat()}}constructor(e){super(),this.file_pos=0n,this.file=e}};var F=class extends m{path_open(e,i,c){if(this.readonly&&(i&BigInt(64))==BigInt(64))return{ret:63,fd_obj:null};if((e&j)==j){if(this.readonly)return{ret:63,fd_obj:null};this.data=new Uint8Array([])}let E=new b(this);return c&q&&E.fd_seek(0n,V),{ret:0,fd_obj:E}}get size(){return BigInt(this.data.byteLength)}stat(){return new A(this.ino,W,this.size)}constructor(e,i){super(),this.data=new Uint8Array(e),this.readonly=!!i?.readonly}};var P=class a extends g{fd_filestat_get(){return{ret:0,filestat:new A(this.ino,J,BigInt(0))}}fd_fdstat_get(){let e=new x(J,0);return e.fs_rights_base=BigInt(64),{ret:0,fdstat:e}}fd_write(e){return this.write(e),{ret:0,nwritten:e.byteLength}}static lineBuffered(e){let i=new TextDecoder("utf-8",{fatal:!1}),c="";return new a(E=>{c+=i.decode(E,{stream:!0});let t=c.split(`\n`);for(let[r,n]of t.entries())r<t.length-1?e(n):c=n})}constructor(e){super(),this.ino=m.issue_ino(),this.write=e}};var ct="code-playpad Clang 20.1.2 / Emscripten 4.0.6 r1",lt={"clang.js":{bytes:74300,sha256:"b437a648812aabd1cc87cba4a7268e2f53ab94a9071a854ba983dd62328dc30c"},"clang.wasm":{bytes:42578038,sha256:"534571fd4f9136c85d3e25a395cc31983ec3cbd41012e3928b45879a518718fa"},"lld.js":{bytes:71711,sha256:"2da4b0a04b6953bdc4869137631abd11ea7eb5a667fbd19c4ff6d68d56f302bb"},"lld.wasm":{bytes:23228304,sha256:"55ffbe1366525c1b55b65140630e0ca00ff47eae7acfdee6a15b46e738800ec7"},"sysroot.tar":{bytes:29009920,sha256:"a0d92a9fc1dccc2c181ae6812b6c169de3dad851ee4d4e796d15940776648ac5"}};function K(a){if(!a||a.startsWith("/")||/[\\\\\\x00-\\x1f:]/.test(a)||a.split("/").some(e=>!e||e==="."||e===".."))throw new Error(`Invalid project path: ${JSON.stringify(a)}. Use relative paths without . or ...`);return a}function ut(a,e,i,c){let E=K(i??(c==="c"?"main.c":"main.cpp")),t=e?{...e}:{[E]:a};if(!Object.hasOwn(t,E))throw new Error(`Entry file ${E} does not exist.`);let r=Object.keys(t).map(K).sort(),n=f=>/\\.c$/.test(f),s=f=>/\\.(cpp|cc|cxx)$/.test(f);if(r.some(c==="c"?s:n))throw new Error("Mixed C/C++ source projects are not supported yet.");let o=r.filter(c==="c"?n:s);if(!o.includes(E))throw new Error(`Entry ${E} must have a ${c==="c"?".c":".cpp, .cc, or .cxx"} extension.`);if(o.length>32||r.length>256)throw new Error("Project limit: 32 source files and 256 files total.");if(Object.values(t).reduce((f,_)=>f+new TextEncoder().encode(_).length,0)>2e6)throw new Error("Project exceeds the 2 MB source limit.");return{files:t,sources:o,entry:E}}var st,v,dt=Promise.resolve(),G=a=>globalThis.postMessage(a),M=(a,e,i)=>G({type:"progress",id:a,phase:e,message:i}),B=(a,e)=>ot(a,lt[a],st,it,i=>M(e,"downloading",i));function St(a){let e=new Uint8Array(a),i=new TextDecoder,c=[],E=(t,r)=>i.decode(e.subarray(t,t+r)).replace(/\\0.*$/,"");for(let t=0;t+512<=e.length;){let r=E(t,100);if(!r)break;let n=E(t+345,155);n&&(r=n+"/"+r);let s=parseInt(E(t+124,12).trim()||"0",8),o=e[t+156];if(!Number.isSafeInteger(s)||s<0||t+512+s>e.length)throw new Error("Invalid sysroot archive.");if(o===48||o===0)c.push({name:"/"+K(r),data:e.subarray(t+512,t+512+s)});else if(o!==53)throw new Error("Unsupported sysroot archive entry.");t+=512+Math.ceil(s/512)*512}return c}async function Rt(a){let e=URL.createObjectURL(new Blob([a],{type:"text/javascript"}));try{return(await import(e)).default}finally{URL.revokeObjectURL(e)}}function yt(a){return st?(v||(v=(async()=>{let e=await Rt(await B("clang.js",a)),i=await Rt(await B("lld.js",a)),c=await WebAssembly.compile(await B("clang.wasm",a)),E=await WebAssembly.compile(await B("lld.wasm",a));M(a,"booting","Preparing C/C++ standard libraries\\u2026");let t=St(await B("sysroot.tar",a));return{clang:e,lld:i,clangModule:c,lldModule:E,sysroot:t}})().catch(e=>{throw v=void 0,e})),v):Promise.reject(new Error("Configure the rebuilt C/C++ assets with configureCpp({ indexURL }) before creating widgets. See docs/CPP-REBUILD.md."))}async function Et(a,e,i,c){let E,t=await a({thisProgram:i,noInitialRun:!0,print:c,printErr:c,instantiateWasm(r,n){let s=new WebAssembly.Instance(e,r);return E=Object.values(s.exports).find(o=>o instanceof WebAssembly.Memory),n(s,e),s.exports}});return t.memory=E,t}function $(a,e,i){a.mkdirTree(e.slice(0,e.lastIndexOf("/"))||"/"),a.writeFile(e,i)}async function mt(a){let e=performance.now(),i=0,c=(E,t)=>{if(i+=t.length,i>1e6)throw new Error("Output limit exceeded (1 MB).");t&&G({type:E,id:a.id,text:t})};try{let E=ut(a.code,a.files,a.entry,a.compilerLanguage),t=await yt(a.id),r=[],n=0;for(let R of E.sources){M(a.id,"compiling",`Compiling ${R}\\u2026`);let h=await Et(t.clang,t.clangModule,"clang",T=>c("stderr",T+`\n`));for(let T of t.sysroot)$(h.FS,T.name,T.data);for(let[T,pt]of Object.entries(E.files))$(h.FS,"/project/"+T,pt);let S=a.compilerLanguage==="cpp",X=["-cc1","-triple","wasm32-unknown-wasi","-emit-obj","-O0","-std="+(S?"c++20":"c17"),"-resource-dir","/lib/clang/20",...S?["-internal-isystem","/include/wasm32-wasi/c++/v1","-internal-isystem","/include/c++/v1"]:[],"-internal-isystem","/lib/clang/20/include","-internal-isystem","/include/wasm32-wasi","-internal-isystem","/include","-I","/project","-ferror-limit","20","-o","/tmp/output.o","-x",S?"c++":"c","/project/"+R],H=h.callMain(X);if(n=Math.max(n,h.memory?.buffer.byteLength??0),H!==0)throw new Error(`Compilation failed (${R}, exit ${H}).`);r.push(h.FS.readFile("/tmp/output.o").slice())}M(a.id,"linking","Linking\\u2026");let s=await Et(t.lld,t.lldModule,"wasm-ld",R=>c("stderr",R+`\n`));for(let R of t.sysroot)R.name.startsWith("/include/")||$(s.FS,R.name,R.data);r.forEach((R,h)=>$(s.FS,"/tmp/"+h+".o",R));let o=s.callMain(["-m","wasm32","-z","stack-size=1048576","--max-memory=268435456","-L/lib/wasm32-wasi","/lib/wasm32-wasi/crt1-command.o",...r.map((R,h)=>"/tmp/"+h+".o"),...a.compilerLanguage==="cpp"?["-lc++","-lc++abi"]:[],"-lc","/lib/clang/20/lib/wasm32-unknown-wasi/libclang_rt.builtins.a","-o","/tmp/program.wasm"]);if(n=Math.max(n,s.memory?.buffer.byteLength??0),o!==0)throw new Error(`Linking failed (exit ${o}).`);let f=await WebAssembly.compile(s.FS.readFile("/tmp/program.wasm").slice().buffer);M(a.id,"running","Running\\u2026");let _={stdout:new TextDecoder,stderr:new TextDecoder},l=R=>new P(h=>c(R,_[R].decode(h,{stream:!0}))),u=new rt([E.entry],[],[new b(new F(new TextEncoder().encode(a.stdin??""))),l("stdout"),l("stderr")]),p=await WebAssembly.instantiate(f,{wasi_snapshot_preview1:u.wasiImport}),d=u.start(p);if(c("stdout",_.stdout.decode()),c("stderr",_.stderr.decode()),d!==0)throw new Error(`Program exited with status ${d}.`);G({type:"result",id:a.id,durationMs:performance.now()-e,memory:{compilerBytes:n,programBytes:p.exports.memory.buffer.byteLength}})}catch(E){G({type:"error",id:a.id,message:E instanceof Error?E.message:String(E),durationMs:performance.now()-e})}}globalThis.onmessage=({data:a})=>{a.type==="init"?(st=a.toolchainURL,G({type:"ready",version:ct,interactiveStdin:!1})):a.type==="run"&&(dt=dt.then(()=>mt(a)))};})();\n',a=new class extends r{id=`cpp`;get label(){return`C/C++ (Clang 20, experimental)`}get source(){return i}async load(e){return await t(n),super.load(e)}initPayload(){return{toolchainURL:e().indexURL}}};function o(t){return{id:t,label:t===`c`?`C17 (experimental)`:`C++20 (experimental)`,statusDecidesFailure:!0,get ready(){return a.ready},interactiveStdin:!1,async editorLanguage(){return(await import(`@codemirror/lang-cpp`)).cpp()},load:e=>a.load(e),run:(n,r={})=>a.run(n,{...r,compilerLanguage:t,timeoutMs:r.timeoutMs??e().timeoutMs}),stop:e=>a.stop(e)}}var s=o(`c`),c=o(`cpp`);export{s as cRuntime,c as cppRuntime};
@@ -1 +1 @@
1
- import{s as e}from"./config-3Z6xX6Jr.js";import{n as t}from"./compiler-cache-XwslsU5H.js";import{t as n}from"./worker-runtime-VpuXbObm.js";var r=`code-playpad-csharp-roslyn-5.0.0-dotnet-10.0.14-r1`,i='"use strict";(()=>{var E="code-playpad-csharp-roslyn-5.0.0-dotnet-10.0.14-r1";async function T(e,s,b,f,n){let d=new URL(e,b).href,o;try{o=await caches.open(f)}catch{}let c;try{c=await o?.match(d)}catch{}let h=async r=>{if(!r.ok)throw new Error(`Toolchain download failed: ${e} (HTTP ${r.status}). Check the asset URL and retry.`);let l=r.body?.getReader();if(!l)return r.arrayBuffer();let C=[],i=0,u=0;for(;;){let m=await l.read();if(m.done)break;if(i+=m.value.length,i>s.bytes)throw await l.cancel(),new Error(`Unexpected toolchain size: ${e}.`);C.push(m.value),performance.now()-u>100&&(n(`${c?"Reading cached":"Downloading"} ${e}: ${(i/1e6).toFixed(1)} / ${(s.bytes/1e6).toFixed(1)} MB (decoded)`),u=performance.now())}let p=new Uint8Array(i),S=0;for(let m of C)p.set(m,S),S+=m.length;return p.buffer},y=async r=>r.byteLength===s.bytes&&[...new Uint8Array(await crypto.subtle.digest("SHA-256",r))].map(l=>l.toString(16).padStart(2,"0")).join("")===s.sha256;if(c){try{let r=await h(c);if(await y(r))return r}catch{}try{await o?.delete(d)}catch{}c=void 0}let w=await h(await fetch(d));if(!await y(w))throw new Error(`Toolchain integrity check failed: ${e}. Use the pinned toolchain assets.`);try{await o?.put(d,new Response(w))}catch{}return w}var P={id:"code-playpad-csharp-roslyn-5.0.0-dotnet-10.0.14-r1",assets:{"_framework/Microsoft.CSharp.45w5ndn4gy.wasm":{bytes:301333,sha256:"0893b8a6e6506cb2dbfa2dd01ac779d4616d013a2fac80e8cc15a64cdf526f0c"},"_framework/Microsoft.CodeAnalysis.CSharp.df8hfd5o8z.wasm":{bytes:6828825,sha256:"17a863076b8e6cdfad78e7e9b739ea6940939880f2916523aaa19e7a2b3b463c"},"_framework/Microsoft.CodeAnalysis.erp1n29u9n.wasm":{bytes:3048217,sha256:"56f8336593d9e41ee553106871e5aa82aadac0ab3f04496c8d1bbe601f619089"},"_framework/Microsoft.VisualBasic.6b1p6yq8b3.wasm":{bytes:6933,sha256:"1eff194716c295748d936659cab92e84a0d13515c34c2f05838c910f0fb9e2d5"},"_framework/Microsoft.VisualBasic.Core.4day4tivbb.wasm":{bytes:418581,sha256:"f860e30addf5a3562ba06fd93984663df5ca52ba9feadf1edc88e249fcb05c5d"},"_framework/Microsoft.Win32.Primitives.4bv2m8ah4f.wasm":{bytes:5397,sha256:"00e133d3bcca6baa47c8389b471441c9d4b89bcea2a308b5b779a70e714e2894"},"_framework/Microsoft.Win32.Registry.o7q57g4y3v.wasm":{bytes:22805,sha256:"0c854e9283334e2be8c837a9e95040ab6a649b45cb0078e0b19f1cd215604788"},"_framework/Playpad.CSharp.bc2sx86ihs.wasm":{bytes:19733,sha256:"25449d8432b31e70aa0109d2244595d3f1becb0493d3b9b9aa21f91a13fbc11f"},"_framework/System.AppContext.7pfnw66j8s.wasm":{bytes:4885,sha256:"3bc775156968db8b138e70f0d6cf919e8eceda801518dc4395a6c1b7029a76a2"},"_framework/System.Buffers.n9eydi1g7o.wasm":{bytes:4885,sha256:"bb413f159d106aa82005001b72d3dbe21702fe5b0729dfb0ad411e3b9ae14933"},"_framework/System.Collections.Concurrent.j651l47s89.wasm":{bytes:78613,sha256:"85fa85329f2778f2d7feeabe96e17150c2529cdee2671227f6adca55511e85ba"},"_framework/System.Collections.Immutable.5srny90eq0.wasm":{bytes:240917,sha256:"659249897525dbdd045be0c365aa78670911e71f082962fab29cb3d92f659523"},"_framework/System.Collections.NonGeneric.0gs0za6wta.wasm":{bytes:37653,sha256:"005b930e461f6d5f28714586e73c030a2d0d7705b93ff701e96465dcec8626de"},"_framework/System.Collections.Specialized.0lamnc2eez.wasm":{bytes:37653,sha256:"14a6ecd2d98964854df3c84e5d28c9e370f8511d88e17e19894bdd5487074534"},"_framework/System.Collections.zkl9zn110m.wasm":{bytes:102677,sha256:"7d1b8e3fb815980cc84b2d67b6894fa6bf936064cb4c0639547f214d3337826e"},"_framework/System.ComponentModel.2dg08nsbgq.wasm":{bytes:5909,sha256:"2a69c31d5b96be96e2dbd84b2eb722f33401245e3c3c18b449fa49d6b35b516c"},"_framework/System.ComponentModel.Annotations.qqu4bynrpj.wasm":{bytes:92437,sha256:"5ea898870e6d334ac03751ca45e941bdc786959862a4604c0b7925ae22365c1c"},"_framework/System.ComponentModel.DataAnnotations.6ljk5kma3w.wasm":{bytes:6421,sha256:"2a75102b3e594a3a5aec02c737c07bb07d67b31d84584a84dc93bd8fceaa44f7"},"_framework/System.ComponentModel.EventBasedAsync.0necwturs4.wasm":{bytes:16149,sha256:"1c2972979910342271b8e94c4455ff86593b6b428dbe29283927fc5038739df9"},"_framework/System.ComponentModel.Primitives.ex1da4zowy.wasm":{bytes:32021,sha256:"feaafe39e5531ccded6bd652b0ecbd1ddc7a3600e3ee89091411dbb113ae6489"},"_framework/System.ComponentModel.TypeConverter.t0513robn6.wasm":{bytes:306453,sha256:"53c1eda4d6b514c881cee8f6c7023ca6aa25304c2560c2a27357d5912b7e9efa"},"_framework/System.Configuration.11exwmwngo.wasm":{bytes:8981,sha256:"45bdaf5a151f8d873e4f3d63924b0b8e4711aa8e53a1a6b49bbaf8722ca07851"},"_framework/System.Console.4o049fyksq.wasm":{bytes:43797,sha256:"9cbe95b0e710127a9dc6fb016d89e3198bf5602e8767b4fe3318de77cc2e4184"},"_framework/System.Core.2bi377k7h6.wasm":{bytes:13077,sha256:"6e627a49290c7337183d58c756ca20ee0c6aef3716c73f748a1f2a040ec13f12"},"_framework/System.Data.Common.zrj82y4hfd.wasm":{bytes:1007893,sha256:"1fa0c46a27e2d1eb30b6ece5431b62a99eb0d3dbfff0ab3b0160d202b1283e62"},"_framework/System.Data.DataSetExtensions.ndyqwckzh5.wasm":{bytes:5397,sha256:"8b005ca671c5224a36cc8fcaee97ebd9fc9c8b44a4f431211c0e279b67605ef4"},"_framework/System.Data.cbzplu1klk.wasm":{bytes:15125,sha256:"08fc7cad424adfa678e5e03e1561fe679db996e8a887b14de7893786bdcfc11c"},"_framework/System.Diagnostics.Contracts.xbykr1nyue.wasm":{bytes:5909,sha256:"33867da04cc7cd4d8de2f10f0490f5488a8c8b83928597d906e86aae59e96c24"},"_framework/System.Diagnostics.Debug.faxnhsagf6.wasm":{bytes:5397,sha256:"b9b6df298d8fc68baec7ecf30ef40095a0810b44033dc2285e6e4d94eacac0cb"},"_framework/System.Diagnostics.DiagnosticSource.o8neuaehsr.wasm":{bytes:192277,sha256:"d82c2d87d4b05f79cded591ec897e75aef9fd5c93a5ec034bb76b8c67c211dd8"},"_framework/System.Diagnostics.FileVersionInfo.3veftfofsy.wasm":{bytes:12565,sha256:"ff1105930376d41151ef2e5c3d79cdb7002dfb3f7923bb3bf5caf3c33e301ce3"},"_framework/System.Diagnostics.Process.m02d4wsk19.wasm":{bytes:46357,sha256:"8af0d33b005cf399b2d983101aabd789b759fce6d53724ab17e4257df275f357"},"_framework/System.Diagnostics.StackTrace.3n0s7h4d43.wasm":{bytes:15637,sha256:"c1428e9f1dd799329b94b73a3a739c726195e78c7e499a7f9fa76abc9711a153"},"_framework/System.Diagnostics.TextWriterTraceListener.eytcvy9k8s.wasm":{bytes:21269,sha256:"a6f9c9665c871e8702c313c72aff56d8678fa2aeef5d58bdbd22895b5d7bb0cc"},"_framework/System.Diagnostics.Tools.fj2fven09q.wasm":{bytes:4885,sha256:"655eda3c94089e2fd9a0eda837027d39fdc8782124027f1ecb5e1627306f3ab2"},"_framework/System.Diagnostics.TraceSource.zdzes0xpw3.wasm":{bytes:48405,sha256:"596906ce63f2a87afc7c0c93ce63b8edd564dbab4cf44cba12e1e1de57cd3989"},"_framework/System.Diagnostics.Tracing.p8zfsagsem.wasm":{bytes:5909,sha256:"29645956735e67930940e0068fdf939e7724ac191aec9af9fc7fad2a5c478b4e"},"_framework/System.Drawing.Primitives.qihgks5s1u.wasm":{bytes:54549,sha256:"4e6f66a93b0178adcba6b52555fe1665e5d5c9f295ede78bb1f88a8ce7cd1730"},"_framework/System.Drawing.yh4pswp3to.wasm":{bytes:10005,sha256:"064f946cd835b5c06b88b5e8d3baafa1b65212fea3f741846530b9c15e8397a8"},"_framework/System.Dynamic.Runtime.qf4wa78w3a.wasm":{bytes:5909,sha256:"76243dbb12aaf714360cd6bb1adff3eac41d019028d45706f9a877fa0b8b4933"},"_framework/System.Formats.Asn1.ei47lr61p0.wasm":{bytes:86805,sha256:"963360faa396a0ac4f0ee1fb6a4de8195c8abc8722cfcb5e3f34c8f8cfa2cc44"},"_framework/System.Formats.Tar.jt7yo4wxzn.wasm":{bytes:28949,sha256:"e9bb9ece17de3bb99b99f9e27d9be6ea25feb824606217a81a581a3defd799e3"},"_framework/System.Globalization.Calendars.vfqjdvj4bj.wasm":{bytes:5397,sha256:"9b458344e441af8a342d90d9756002bd53d3ca81fd2ecec1d9956c09ab738761"},"_framework/System.Globalization.Extensions.fb3tp0zu2j.wasm":{bytes:4885,sha256:"0b1f2e8dd68f450050c6ea5d933b06ffc0133120dff33a87b5ccf1e523439be2"},"_framework/System.Globalization.jpj90sbpo9.wasm":{bytes:5397,sha256:"07ac16899c10c3af6fb0bb4cd1ca976ddf3fe82165fb06b74bb034cab14a0bad"},"_framework/System.IO.Compression.Brotli.fpnvzsxpvo.wasm":{bytes:18197,sha256:"c3cc052fa471c3f25016b7eee90ab7eb3793995aea8f08ba93e3b6d85c9ba0b7"},"_framework/System.IO.Compression.FileSystem.tk5twcs8br.wasm":{bytes:4885,sha256:"7d51272f3b3ec7a32ef1b73e693fc90753705665cc50f98a56a3e7f60970cd31"},"_framework/System.IO.Compression.ZipFile.f6odqd84z5.wasm":{bytes:43285,sha256:"59161959d34a7935b83bc858b589d34cc17ade5912137658ee3d7ca1ec4b090c"},"_framework/System.IO.Compression.zo5nnp1cfl.wasm":{bytes:157461,sha256:"6df8da5437998a60f5afd17b4c0b7145d94171dd2b0dd1bed6ef0d762074062d"},"_framework/System.IO.FileSystem.4xxxdm8fc4.wasm":{bytes:5397,sha256:"f8ae1910ff477fbb38b7a1a689ddb555d5ab9f7b5ec59e183fb7c7aebacbe077"},"_framework/System.IO.FileSystem.AccessControl.3nsp4r0ce1.wasm":{bytes:21781,sha256:"3f2d25968e0dad93040716ef7d97382bd6a5517bd0e3c6d707fa520df255d627"},"_framework/System.IO.FileSystem.DriveInfo.2dz9a3mpco.wasm":{bytes:13589,sha256:"46f152531a56b5a1234b905b5460060a3a76c74a94f575e6444848bb7d15a0fc"},"_framework/System.IO.FileSystem.Primitives.ts09gphu65.wasm":{bytes:4885,sha256:"b3efcf0755c59862ad4893ad4b668d5dab114f3561ae632d1ea7479e65c22180"},"_framework/System.IO.FileSystem.Watcher.zra8jhxo53.wasm":{bytes:22805,sha256:"8fcf89a027896f110eefc2e1e76a86bd91f6537a748afdc2ecc7fbd00d1110a1"},"_framework/System.IO.IsolatedStorage.czh3ilflkw.wasm":{bytes:24853,sha256:"388c1f0e6894454587ae794e210a93feaa23c8932064b68ad76e660a2b3d4fb1"},"_framework/System.IO.MemoryMappedFiles.f0h74bif4r.wasm":{bytes:39701,sha256:"dfc14559b3102cdd3d1155ec7cc198999db5b31439aafcd1775dffa39015d0a7"},"_framework/System.IO.Pipelines.eqtd8a5j6e.wasm":{bytes:67861,sha256:"3aa8165bec8d2b718d927cf0ba7ba9fb2e301544164d62202a578d3e3010d850"},"_framework/System.IO.Pipes.AccessControl.cz75e7snno.wasm":{bytes:13077,sha256:"a881296c9ae2cefe4f57c030f0cd13a0384ae7a82519dd0063d62feab0877a2b"},"_framework/System.IO.Pipes.amk3gre8pn.wasm":{bytes:32021,sha256:"22c795928e765dae50c2632f264efde23032c0225fcff6acb4aa075855543436"},"_framework/System.IO.UnmanagedMemoryStream.pjda8c8goj.wasm":{bytes:5397,sha256:"159b449cef234de1150ea545ce482dadadcffb47cccc4e60038840eb1be87a4c"},"_framework/System.IO.hvb68vhf4w.wasm":{bytes:5397,sha256:"63ca4a239901c3ba9517ab48c5c70e2b2f2f983b8f5c96c6215ffb74efb90d42"},"_framework/System.Linq.AsyncEnumerable.p5kf8px69a.wasm":{bytes:446229,sha256:"cdaf09cf14de62c8172a64d1f1fd540b050edf1a751873b575f1c6dab92f171d"},"_framework/System.Linq.Expressions.rrm2f8e4yg.wasm":{bytes:565013,sha256:"c74ef523be9ae6830a76be0baf9a9a508ce7ca31ac5876bb80dc7d1d777b5cab"},"_framework/System.Linq.Parallel.2c1yb2s745.wasm":{bytes:212757,sha256:"be110713a9092c3594d36dc664441be579d17fbe9b0be0a1bd289bd4fca58ee9"},"_framework/System.Linq.Queryable.trhrf5j8ds.wasm":{bytes:68373,sha256:"b965d6be5e8744b201ab8142f11c57aaf0a95081020880c1ec709fb9654c338c"},"_framework/System.Linq.gvekllsg4c.wasm":{bytes:190741,sha256:"4cf1e524ac3f80887e4c7d723c29f54b676ad76325c8472ecbbd064652881d57"},"_framework/System.Memory.rvge25ilzk.wasm":{bytes:45333,sha256:"09ddaf85e36c7c13ef4d7e32cc5436cfec4984e1c26c989072e499ddde8ae062"},"_framework/System.Net.Http.8ubauysc2i.wasm":{bytes:286485,sha256:"903f936e8d7a67798c76e85d53838ac80c88b1ef3d45ec53ff2ac95a8bbc4c2b"},"_framework/System.Net.Http.Json.cnwprpsgic.wasm":{bytes:45845,sha256:"8830cced672b10f509c317186768b69245fbc9c3695eb870b9a81e31a1dfa086"},"_framework/System.Net.HttpListener.ij8kltpk25.wasm":{bytes:45845,sha256:"c23e07ce4477568bf5687cc8f81f2eb9ce806667398756ab96507671f83a3594"},"_framework/System.Net.Mail.z8qhziwoem.wasm":{bytes:94997,sha256:"ddd584fafc23dc46fd5eca406b6f0edb6fc2af837280fd50b276327c867a41ee"},"_framework/System.Net.NameResolution.ncmdi0kq9p.wasm":{bytes:14101,sha256:"993b5c9ce17363348c5d77766b5ef8ba7cd9e9bf8490f54bf295d600c0318f5d"},"_framework/System.Net.NetworkInformation.es6jl8uhrp.wasm":{bytes:32021,sha256:"e2e10d93298c3e8ba16fc2acfebc314c9e32ad07d28b99a491ad1f215795f216"},"_framework/System.Net.Ping.leo6kko976.wasm":{bytes:17685,sha256:"0de562db7b1035f071863450f7e875892b1705ba696cc11ee3593dda48894fc9"},"_framework/System.Net.Primitives.yzzu57r5h4.wasm":{bytes:97045,sha256:"bea2dfad62c29bbf61a9b34552bb6b28356cc6ce36c56e96c058639c3ee2a3fc"},"_framework/System.Net.Quic.t4x9xorc7c.wasm":{bytes:28949,sha256:"031f5366680b6a4b90cf8ed2ced5d135391b1942a1423e991ebeddfd7b47940a"},"_framework/System.Net.Requests.hvrao969rw.wasm":{bytes:55573,sha256:"9d27640110c78c3c04da4f2f070589ff6857804316f91765cc59d305e45ae9dc"},"_framework/System.Net.Security.z570hyrh50.wasm":{bytes:104213,sha256:"b972545804845422c6b90682ef9585ff07ca24394bc4abcafaa8aab8841476ff"},"_framework/System.Net.ServerSentEvents.b3gkat9xqz.wasm":{bytes:30485,sha256:"89c3d8604b565dd8b5ac18dcd39b73f311c81e20b8d5cdbd3c3a704c958515f3"},"_framework/System.Net.ServicePoint.k1tgr3lkj6.wasm":{bytes:4885,sha256:"082ef4faa63db1a669223b6b892729a426f1017c61a8140167d9a935f65cabd5"},"_framework/System.Net.Sockets.fgcxent7fc.wasm":{bytes:64277,sha256:"b1284556b3eeceed8cee152f19f6a6b32c7d35ab031f64a4b96968cbef84ff90"},"_framework/System.Net.WebClient.kpwi6t40sc.wasm":{bytes:45845,sha256:"18108441da8fd4dc43cd29a42d491c27e23961e0188714ce41deffa5e113b034"},"_framework/System.Net.WebHeaderCollection.fnxrdiu9j1.wasm":{bytes:22805,sha256:"1bb8ab08176b1d4878d9d5732629e730cd863d2e0e458de1914cd71aafcc7a86"},"_framework/System.Net.WebProxy.wtgabypaqs.wasm":{bytes:11541,sha256:"4cc9d37b00460499d38df4cc1bb4a9408fa0996e9cdef5244ad645b550cd87b2"},"_framework/System.Net.WebSockets.4zomq83cjx.wasm":{bytes:99093,sha256:"102e21acf0257c9bd1115dd74f36f0cf1844ea1872ecf3e78f4af2d9038878c9"},"_framework/System.Net.WebSockets.Client.l4ui9wgjyz.wasm":{bytes:42261,sha256:"fbade9ba11569ee8ead57e48bfad3419d4b5800f2a0503de1ea87ddbab5e78d6"},"_framework/System.Net.plchg2cs85.wasm":{bytes:6933,sha256:"f38d34d3e084c72fda1c6182f4fd11644d922dfa7b4efdb83809b6bb6eba4879"},"_framework/System.Numerics.7xa3ygjnjn.wasm":{bytes:4885,sha256:"f513f73d4658cd05b3d587d5dc634450d3d2811ca92b12e0065d111f0fb7fe08"},"_framework/System.Numerics.Vectors.2neq4xg5b1.wasm":{bytes:5397,sha256:"624bf089833a6c91bd2c0e83cf58f9db9b8e702dcc8c9e2b389610f8f3ad9924"},"_framework/System.ObjectModel.0us7g9291u.wasm":{bytes:30997,sha256:"b8c1e66933e2073d4d95b7971ce949d2aee7caacd85a222261200d12368e6305"},"_framework/System.Private.CoreLib.7henw1oe7e.wasm":{bytes:4870425,sha256:"0b6d3f3864053400013921497367c1f9806b10baa069e9e80ea2ba7ff1943d20"},"_framework/System.Private.DataContractSerialization.45rz0h7hbh.wasm":{bytes:849173,sha256:"2808c98580c4009f7850dde898e1f8d81a15e427ddeb122033384dd48a0c1252"},"_framework/System.Private.Uri.c0pesqh6or.wasm":{bytes:95509,sha256:"e4b56986f49b6104f86884d59fd3a4eff4e525fdd2d1f83baee01b752efa337e"},"_framework/System.Private.Xml.Linq.91dmao781k.wasm":{bytes:143637,sha256:"7d05fc1b72e4d16c33f13e7cfd85a6f5a92f5c2ca343c8f78d4425d2afa50d0a"},"_framework/System.Private.Xml.ihpa1sp5u8.wasm":{bytes:3096857,sha256:"86009953171be26f62eab577e33c3502d82ddc74a9d6f27c6b4d07ea6300e498"},"_framework/System.Reflection.DispatchProxy.dotf7d6gov.wasm":{bytes:27925,sha256:"03a1a48a2b900d219650d22288cb1ebb62feb218fef7788daa6aead0e237f14d"},"_framework/System.Reflection.Emit.ILGeneration.0x2k63jlqj.wasm":{bytes:5397,sha256:"c46d97174687a1f77ef95a0c085d632881c1f315d7141b985a673662131235e0"},"_framework/System.Reflection.Emit.Lightweight.5yjn7ykajf.wasm":{bytes:5397,sha256:"bdb328f85330a0991ea097895f5f233c7c185bcc54d115f9f4deb7c02fa7ce83"},"_framework/System.Reflection.Emit.ynxp91g9b8.wasm":{bytes:123157,sha256:"52fc8f0a51bcc2c5da80be2148b8391dc1665768e3aa6e04a0a0a7a2aeee52c8"},"_framework/System.Reflection.Extensions.0ouvp5b0xg.wasm":{bytes:4885,sha256:"00b61c99e5b7930e88707c4614942c0f69e91bd0acadd0e728d3e219f1137a53"},"_framework/System.Reflection.Metadata.vkm0bf1n4h.wasm":{bytes:493333,sha256:"b136c7933bc62da5e4f3e34ad6fea876f5cc7a7e47d35e7b7c64055927fc68f6"},"_framework/System.Reflection.Primitives.cnvk9lkykl.wasm":{bytes:5397,sha256:"c84511d42d21a09fd8818bb0ee4d4423584f19dd9a58a98a8d8631c0435336bb"},"_framework/System.Reflection.TypeExtensions.jnvi38irak.wasm":{bytes:14101,sha256:"bf533973a0a50cba610aac73875d9f8627c173b463311d060f79ea4922a9d64e"},"_framework/System.Reflection.qdi0svky7b.wasm":{bytes:5909,sha256:"0e958c24d437bc1b1e321617c69dda15aba94d0e13b741c39a514108dab87958"},"_framework/System.Resources.Reader.tkyk3pewoj.wasm":{bytes:4885,sha256:"f34cfbeb3f39e7bfa7d0d892e3fdcfeda727e269b2a622d74ca455d41ad740b3"},"_framework/System.Resources.ResourceManager.mxgnwpq6s6.wasm":{bytes:5397,sha256:"7af92fba46216d614859a6466c6a013e936a510d492affb6ee74179d23620998"},"_framework/System.Resources.Writer.u12ln0bq25.wasm":{bytes:16661,sha256:"a2a46ada8be5659c787b4da0494298da0ffc2467a0b02a7eab604dca5c532866"},"_framework/System.Runtime.CompilerServices.Unsafe.mvjra26big.wasm":{bytes:4885,sha256:"624f428a1c8ffd524aa47ced54090373d0f389162b6dfb00689343f2a3ac5803"},"_framework/System.Runtime.CompilerServices.VisualC.0zws5y4za8.wasm":{bytes:6933,sha256:"ec82d7e3669ba41156f4d70d94bf30c47dd28829cf5de4591f18bce80943d1a0"},"_framework/System.Runtime.Extensions.53v9tmujmf.wasm":{bytes:7445,sha256:"5f05d3f29944d5adc9a644a37e1818edc5cb9f4450fe1ed88b600b0d84bda226"},"_framework/System.Runtime.Handles.dtp1f2k1pr.wasm":{bytes:5397,sha256:"f16fe73e38bb80ab6b26486ad193d8766254138bac0524f2861959c7834cbee1"},"_framework/System.Runtime.InteropServices.JavaScript.b9bqw25qxw.wasm":{bytes:79637,sha256:"810c9571d56aae8aabdccec828936d48cb8664b4e2e923d3c49f5c288234a26c"},"_framework/System.Runtime.InteropServices.RuntimeInformation.5dmsm0qrdq.wasm":{bytes:5397,sha256:"c7696a8781fbc588fa126969f0a8b0703c3df1181e9e723631d5a7816636c406"},"_framework/System.Runtime.InteropServices.zc5o5oswy7.wasm":{bytes:54549,sha256:"dd89331d3297a0c4a5aac4e6ed289c59d6c8858f7f85d55a46fb0d80c69ca429"},"_framework/System.Runtime.Intrinsics.uupmanm0z1.wasm":{bytes:6933,sha256:"6692c7b97d8261781b893a91a9bed12a8da493d0ad20d6e2e941ab4b052c6218"},"_framework/System.Runtime.Loader.bmhnwgr24i.wasm":{bytes:5397,sha256:"0db7813efcf24740ffc3121704940e5b39bac5745b05c3cbd23a71bbc13d7800"},"_framework/System.Runtime.Numerics.hnmfmtcdek.wasm":{bytes:134933,sha256:"937500e9e310341dabaee15f5c1f39eccc0214d055b846951547ed19f635659d"},"_framework/System.Runtime.Serialization.890gxgs7km.wasm":{bytes:6933,sha256:"b41917f9c13f891781b2babb541b8d01f8394a51f2e9323922eb94a2816a2d5d"},"_framework/System.Runtime.Serialization.Formatters.k6qqn2m2yp.wasm":{bytes:55573,sha256:"f4592c11ffc0e2a191254f637a0d117e1a09f8d1ff5a1065e5c175310183097b"},"_framework/System.Runtime.Serialization.Json.rmpm3bs9gf.wasm":{bytes:5397,sha256:"bde54b4f956372ced92d5efee2c37314343968505e7146ab269a2e3771a7b38d"},"_framework/System.Runtime.Serialization.Primitives.rhltpkb1qn.wasm":{bytes:13077,sha256:"0f8b94ee594a9fcc5c8506072e13a7d50735d02df44adf5e34a533e3e38d9a9b"},"_framework/System.Runtime.Serialization.Xml.2qu958brox.wasm":{bytes:6421,sha256:"36472147c1166a70a5722cf793fa9abbe1bab93527241979607865df0a2f58be"},"_framework/System.Runtime.q3byyncrvz.wasm":{bytes:34581,sha256:"4af52a715b0a80fca05f4fe3d35e0882a47699e2cc64a8d6dfdb5fbfc5bddedd"},"_framework/System.Security.AccessControl.frpe4iqtxg.wasm":{bytes:47893,sha256:"eb65f6286a07968d12c0b8e5330b6c9dfa314dd224e877a0c4aea82e78028785"},"_framework/System.Security.Claims.1iu8vf654n.wasm":{bytes:44821,sha256:"97f82dc8889938fdcce4e09bea257e9c1b49d991d9458836879150444e5b8b70"},"_framework/System.Security.Cryptography.Algorithms.667n7jcyg1.wasm":{bytes:6933,sha256:"f2a8e4d45f9f2967b51b58bb85319e8852d3a333dbaf9cd2386ca4b00652e373"},"_framework/System.Security.Cryptography.Cng.bd7h0b8iov.wasm":{bytes:5909,sha256:"8f4b9ed85aec8a2564ebe8d7d8a4d1150bb46f2aea851733c26166faddb90fd7"},"_framework/System.Security.Cryptography.Csp.z1odikd5x2.wasm":{bytes:5909,sha256:"f912404d06760570df5a52dd7b64e8af3125dd6f452bd8938faec529f3e02366"},"_framework/System.Security.Cryptography.Encoding.o0gt2d4ysx.wasm":{bytes:5397,sha256:"a8b33cdbba50e569c52acb0fe72e17ad4e278c1209bcc338d41025e38071bc63"},"_framework/System.Security.Cryptography.OpenSsl.90bbqu9909.wasm":{bytes:5397,sha256:"87916287aef8bdf7bb1fb87fdf1e64dc8b715228c129319cc41b17e64dc5b13e"},"_framework/System.Security.Cryptography.Primitives.wc69ogz8hc.wasm":{bytes:5397,sha256:"90efa59ad8a365908c18aff92e86336eb346914ede31bc51e3008aa394c66acd"},"_framework/System.Security.Cryptography.X509Certificates.zdajb5d4ry.wasm":{bytes:6421,sha256:"a95583972db3c698e929f1e9d0bfd5268c20247b39ffebe0e435ced691e01069"},"_framework/System.Security.Cryptography.isqs0vklct.wasm":{bytes:643861,sha256:"5e2d390cae360df7f1a224f866cd4648f896a02bdd8dc8b6dd97f4036a3434a6"},"_framework/System.Security.Principal.8kc2gzptia.wasm":{bytes:4885,sha256:"18f86f82bdc342716c4f4d1ce95cef59f29516c18f4b107e20e4fb2283bf3ca3"},"_framework/System.Security.Principal.Windows.lvinz1flf3.wasm":{bytes:27413,sha256:"af696bc41c787f9d87ae55b4bc5799b1e384083d610340774246b5283f2b5f76"},"_framework/System.Security.SecureString.287gima5tn.wasm":{bytes:5397,sha256:"92d299c328a15eb44a972aaa0142d628d9b35c1a555d5e6b296d14fcf1f31736"},"_framework/System.Security.zwe9caa7de.wasm":{bytes:7957,sha256:"c3076430d76f8d122b73973756f5c601c96444d2e303834fbda2151aa3fb117c"},"_framework/System.ServiceModel.Web.eh14pbj71g.wasm":{bytes:6421,sha256:"7e6a649d68f4543fefcd8add264555779efc37b5986ec96106f1598703eaa247"},"_framework/System.ServiceProcess.thnl06mz62.wasm":{bytes:5397,sha256:"cf9d149513509280a136812038d16f8421e5ced70788b6c9595170242d702530"},"_framework/System.Text.Encoding.CodePages.r4fb0qucdq.wasm":{bytes:732437,sha256:"a556ef19b61455e586137ff454f3120091897dcc43a44c19a71d7ef489a3ddfc"},"_framework/System.Text.Encoding.Extensions.qyio04sfs3.wasm":{bytes:5397,sha256:"fe7930a6f00825e1c4a3f32e0e3bd42117377db151afc127110c70fbb701366a"},"_framework/System.Text.Encoding.x8frxl6434.wasm":{bytes:5397,sha256:"f11aa7fbf9e9a4f86b0a34a5478e6553d314461dcbe69fc8097adf1f9d69808b"},"_framework/System.Text.Encodings.Web.i5h886ktzy.wasm":{bytes:55573,sha256:"2a97377ae59b872eb3d69f1eb9555ba512f577708f951f7a2ef8040292911df0"},"_framework/System.Text.Json.rfs8iutklf.wasm":{bytes:638741,sha256:"f79b95a0e74fb4fb30fb90a704078e0b910c6d9d08cd9a7ab7a589b8fdcc24ef"},"_framework/System.Text.RegularExpressions.3wwgc8ow33.wasm":{bytes:374549,sha256:"8336c54d5413476b6125468549c98d35c0a9e5bd0db682b3795a7351d38e7b4c"},"_framework/System.Threading.5z3yk0hlih.wasm":{bytes:34581,sha256:"a12c2a6463d08e453a9e0dc72152b68692c5e6b2f5d69d8700f0c0bd2c4ba90a"},"_framework/System.Threading.AccessControl.3jdprnrbz3.wasm":{bytes:23317,sha256:"41c872fb18d50bc6d15f2f2c79ca48e825b0de88f0959f1356b02d2df31dc28e"},"_framework/System.Threading.Channels.u6jwukaw3f.wasm":{bytes:56085,sha256:"2677baa60a9cc551734e24a4eb400413c2157d310d8eae8c666a9f428e14df75"},"_framework/System.Threading.Overlapped.906hny6ev5.wasm":{bytes:5397,sha256:"57a8b7621e425edb8bc3c1114daed57774c1dfc75975a3aa12a0e4cfd1e3612b"},"_framework/System.Threading.Tasks.Dataflow.yxumrwtpb9.wasm":{bytes:175381,sha256:"da2eef656f41a87395f3f24935b557e4b054d994e220ae70401a820712cd440f"},"_framework/System.Threading.Tasks.Extensions.c9qgjzqtfp.wasm":{bytes:5397,sha256:"f027df139487b8613d3b6e1271a920c441ff5d7fcae2bc774009b50a3f703a30"},"_framework/System.Threading.Tasks.Parallel.984t0vlw0h.wasm":{bytes:50965,sha256:"a9e66658c76d0aa175b202b59391a313ed841a8ca09fbe80ef88962090b72b6e"},"_framework/System.Threading.Tasks.e8zo3kytn9.wasm":{bytes:6421,sha256:"a224a48edb58b9d097a72b83d5804930357555dee3f8be811827482e827ac544"},"_framework/System.Threading.Thread.0kl8n21ama.wasm":{bytes:5397,sha256:"206e44a32770dab61b10150554dd82dc69e29779609405d2a79da858f1ec5ff1"},"_framework/System.Threading.ThreadPool.uis7d1kkur.wasm":{bytes:5397,sha256:"da628e4a405d14fcf624643d3b9c632d47e4f478b30a21680c142901aec3bfe7"},"_framework/System.Threading.Timer.d0q7n4qone.wasm":{bytes:4885,sha256:"93d9959881dd75ace8b74ecf1307fa1c8bf210bd384e44feb84d203502a23486"},"_framework/System.Transactions.1rh8d3l1yg.wasm":{bytes:6421,sha256:"ddb4bf21d75f14d92cddd44d6d5abb88fc2f6dbabd24e4f692ce8a24c42ba5af"},"_framework/System.Transactions.Local.88eb0ckc89.wasm":{bytes:165653,sha256:"c80cdc0b7339172c58d06b47543bacf5ead18c6fbc50f483e6eee1973eb4102b"},"_framework/System.ValueTuple.dz9n78v09g.wasm":{bytes:5397,sha256:"490935cf3415a01a302a6caf3e404a0c8591bc6a5ad039e1ad4c892cee66edda"},"_framework/System.Web.HttpUtility.zkk9vwuwmx.wasm":{bytes:19733,sha256:"73afab7ffbcfa6e1479aa8ad626e3470e3346a80a2e7574d766e41c61e9df242"},"_framework/System.Web.cpb2jt6aj4.wasm":{bytes:4885,sha256:"c00e79f45b25abca38109c095dfa83a4616f107129ce05badc98ef08ea0ab819"},"_framework/System.Windows.z1cdp2137j.wasm":{bytes:5397,sha256:"474f8c034c878c2877fd38bfcc81a7ca91ec14f465067924def2447f3a0ceb1f"},"_framework/System.Xml.Linq.zfqbqkhg85.wasm":{bytes:5397,sha256:"616bc8b437b614c7e754c5ab40ea583b2075fbefd75684218446ce675a330615"},"_framework/System.Xml.ReaderWriter.j5zd7b3r9j.wasm":{bytes:11541,sha256:"375655970f08782d60c0b7e660a2ed18b100632cd0beccf6072f453461b33537"},"_framework/System.Xml.Serialization.g3ffx007q0.wasm":{bytes:5909,sha256:"d48409f2e83289d8a283e0dac4e15f6daaba7d0d9f1ef0ed0632479fcb670fea"},"_framework/System.Xml.XDocument.d9vqmjsh7t.wasm":{bytes:5397,sha256:"c12264747d6099b7063ae2ecc540848a570d33620fdf5f4815d34ded85c9bc8f"},"_framework/System.Xml.XPath.XDocument.ikh0avvfe3.wasm":{bytes:5909,sha256:"0ed162b5f6ceb1cae414c70bb8cdd960c5f77b1a39b4a9ab87b7703d92c5bce5"},"_framework/System.Xml.XPath.j7e58ql0yh.wasm":{bytes:5397,sha256:"d128d847ee39abbfee50d6e837d5dc953df248de890c894d92c15186f159092d"},"_framework/System.Xml.XmlDocument.2laigo0hd6.wasm":{bytes:5397,sha256:"16b6cd94446e868c5e744b876de60222eb25d1485c9f628fd03e64957d7b8cb0"},"_framework/System.Xml.XmlSerializer.o9fse2o32f.wasm":{bytes:7445,sha256:"4c9262e9ed66c40706ed51ea1dc312138035b44519f57ef97a94a4f323d192f7"},"_framework/System.Xml.ukjc8es4qk.wasm":{bytes:13077,sha256:"1eae6308964b64da01c885edee4c9af89173ec21ef4f99b71fd5350d8000a1ad"},"_framework/System.a2ormnao9q.wasm":{bytes:39701,sha256:"6e1ba6200e75ccd9b5be39467babe2d28067106bdd6ff0a1f292a2411177e27a"},"_framework/WindowsBase.pulybckt2x.wasm":{bytes:5909,sha256:"21be528b1fb2c3451736fb9a49f1f8063a164c6e4d089aec470d1d670ecc6340"},"_framework/dotnet.js":{bytes:80782,sha256:"0c8a1d506ef027d577f0efd776a42cc6639514b2cf1e90eaca8c18d18fae9c5f"},"_framework/dotnet.native.a6k1euv12n.wasm":{bytes:3001771,sha256:"62521652bab002242e009341397f999bdc2958bfac177278e3d885abb247a2e4"},"_framework/dotnet.native.bjoj0wmylw.js":{bytes:145050,sha256:"099d0855990b4c8bde7bb9f5c95bce8ad94958d763fd88da160a4c82588833ae"},"_framework/dotnet.runtime.5nc8i5dl74.js":{bytes:198480,sha256:"ff774183db23d722c3de1d0f0cc1e73545d6b3fdb35b020c133a26d57cf7438d"},"_framework/mscorlib.79r0fdidgd.wasm":{bytes:49429,sha256:"0553f8bd2703ce8aeebac01fc6c0d8fa7cf720fa64911da16e2a0efc9b988f12"},"_framework/netstandard.f948f8b5mo.wasm":{bytes:90389,sha256:"6db9b1e3952428d5958c52e5b36212b0bef4a1c4013fd49d3f5073c39133efcd"},"refs.pack":{bytes:6046672,sha256:"60252255312e28c33fa2bcde9646c7d92c6b2e7c2fb078a813b57de3146d8bed"}}};function j(e){if(!e||e.startsWith("/")||/[\\\\\\x00-\\x1f:]/.test(e)||e.split("/").some(s=>!s||s==="."||s===".."))throw new Error(`Invalid project path: ${JSON.stringify(e)}. Use relative paths without . or ...`);return e}function N(e,s,b){let f=j(b??"Program.cs"),n=s?{...s}:{[f]:e};if(!Object.hasOwn(n,f))throw new Error(`Entry file ${f} does not exist.`);let d=Object.keys(n).map(j).sort(),o=d.find(c=>!c.endsWith(".cs"));if(o)throw new Error(`C# projects can only contain .cs files for now: ${o}.`);if(d.length>32)throw new Error("Project limit: 32 source files.");if(Object.values(n).reduce((c,h)=>c+new TextEncoder().encode(h).length,0)>2e6)throw new Error("Project exceeds the 2 MB source limit.");return{names:d,sources:d.map(c=>n[c])}}var D="Roslyn 5.0.0 / .NET 10.0.14 r1",$=3,X=2e3,U=1e6,A=P.assets,W={wasm:"application/wasm",js:"text/javascript"},g=e=>globalThis.postMessage(e),v=(e,s,b)=>g({type:"progress",id:e,phase:s,message:b}),M=e=>`${e.file}(${e.line},${e.column}): ${e.severity} ${e.id}: ${e.message}`,z;async function F(e){let s=performance.now(),b=f=>g({id:e.id,durationMs:performance.now()-s,...f});try{let f=N(e.code,e.files,e.entry),n=0,d=async a=>{let t=A[a];if(!t)throw new Error(`Not a pinned C# compiler file: ${a}.`);let k=await T(a,t,z,E,()=>{});return v(e.id,"downloading",`Loading the C# compiler: ${++n} files\\u2026`),k},o=async a=>{let t=new TextDecoder().decode(await d(a)).replaceAll("import.meta.url",JSON.stringify(new URL(a,z).href));return URL.createObjectURL(new Blob([t],{type:"text/javascript"}))};v(e.id,"downloading","Loading the C# compiler\\u2026");let{dotnet:c}=await import(await o("_framework/dotnet.js")),h=new Map;await Promise.all(Object.keys(A).filter(a=>/^_framework\\/dotnet\\.[^/]*\\.js$/.test(a)).map(async a=>{h.set(a,await o(a))}));let y=[],w=0,r=!1,l=a=>{a.trim()&&(y.length<$?y.push(a.slice(0,X)):w++)},i=await(typeof c.withModuleConfig=="function"?c.withModuleConfig({printErr:l}):c).withResourceLoader((a,t)=>{let k="_framework/"+t;if(a==="dotnetjs"||a.startsWith("js-module")){let x=h.get(k);if(!x)throw new Error(`Not a pinned C# compiler script: ${t}.`);return x}return d(k).then(x=>new Response(x,{headers:{"Content-Type":W[t.slice(t.lastIndexOf(".")+1)]??"application/octet-stream"}}))}).create(),u=0,p=!1;i.setModuleImports("playpad",{write:(a,t)=>{if(!p){if(u+=t.length,u>U){p=!0,b({type:"error",message:"Output limit exceeded (1 MB)."});return}g({type:a?"stderr":"stdout",id:e.id,text:t})}},managedExit:()=>{r=!0}});let{Compiler:S}=await i.getAssemblyExports(i.getConfig().mainAssemblyName);S.LoadReferences(new Uint8Array(await d("refs.pack"))),v(e.id,"compiling","Compiling\\u2026");let m=JSON.parse(S.Compile(f.names,f.sources)),R=()=>i.Module?.HEAPU8?.length??0,O=R(),I=m.diagnostics.filter(a=>a.severity==="error");if(!m.ok){b({type:"error",message:I.map(M).join(`\n`)||"Compilation failed."});return}let q=m.diagnostics.filter(a=>a.origin==="user").map(M);q.length&&g({type:"stderr",id:e.id,text:q.join(`\n`)+`\n`}),v(e.id,"running","Running\\u2026"),y=[],w=0;let _;try{_=await S.Run(e.stdin??"")}catch(a){let t=a.status;if(typeof t!="number")throw a;if(!r){let k=y.length?[...y]:["The .NET runtime ended the program unexpectedly."];w&&k.push(`(${w} more runtime lines not shown)`),b({type:"error",message:k.join(`\n`)});return}_=t}if(p)return;b(_!==0?{type:"error",message:`Program exited with status ${_}.`}:{type:"result",memory:{compilerBytes:O,programBytes:R()}})}catch(f){b({type:"error",message:f instanceof Error?f.message:String(f)})}}globalThis.addEventListener("message",({data:e})=>{e.type==="init"?(z=e.toolchainURL,g({type:"ready",version:D,interactiveStdin:!1})):e.type==="run"&&F(e)});})();\n',a=new class extends n{get label(){return`C# 14 (experimental)`}get source(){return i}get recycleAfterRun(){return!0}get startTimeoutMs(){return 3e4}async load(e){return await t(r),super.load(e)}initPayload(){return{toolchainURL:e().indexURL}}},o={id:`csharp`,label:a.label,statusDecidesFailure:!0,get ready(){return a.ready},interactiveStdin:!1,async editorLanguage(){let[e,t]=await Promise.all([import(`@codemirror/language`),import(`@codemirror/legacy-modes/mode/clike`)]);return e.StreamLanguage.define(t.csharp)},load:e=>a.load(e),run:(t,n={})=>a.run(t,{...n,timeoutMs:n.timeoutMs??e().timeoutMs}),stop:e=>a.stop(e)};export{o as csharpRuntime};
1
+ import{s as e}from"./config-3Z6xX6Jr.js";import{n as t}from"./compiler-cache-XwslsU5H.js";import{t as n}from"./worker-runtime-Ey7jwPA3.js";var r=`code-playpad-csharp-roslyn-5.0.0-dotnet-10.0.14-r1`,i='"use strict";(()=>{var E="code-playpad-csharp-roslyn-5.0.0-dotnet-10.0.14-r1";async function T(e,s,b,f,n){let d=new URL(e,b).href,o;try{o=await caches.open(f)}catch{}let c;try{c=await o?.match(d)}catch{}let h=async r=>{if(!r.ok)throw new Error(`Toolchain download failed: ${e} (HTTP ${r.status}). Check the asset URL and retry.`);let l=r.body?.getReader();if(!l)return r.arrayBuffer();let C=[],i=0,u=0;for(;;){let m=await l.read();if(m.done)break;if(i+=m.value.length,i>s.bytes)throw await l.cancel(),new Error(`Unexpected toolchain size: ${e}.`);C.push(m.value),performance.now()-u>100&&(n(`${c?"Reading cached":"Downloading"} ${e}: ${(i/1e6).toFixed(1)} / ${(s.bytes/1e6).toFixed(1)} MB (decoded)`),u=performance.now())}let p=new Uint8Array(i),S=0;for(let m of C)p.set(m,S),S+=m.length;return p.buffer},y=async r=>r.byteLength===s.bytes&&[...new Uint8Array(await crypto.subtle.digest("SHA-256",r))].map(l=>l.toString(16).padStart(2,"0")).join("")===s.sha256;if(c){try{let r=await h(c);if(await y(r))return r}catch{}try{await o?.delete(d)}catch{}c=void 0}let w=await h(await fetch(d));if(!await y(w))throw new Error(`Toolchain integrity check failed: ${e}. Use the pinned toolchain assets.`);try{await o?.put(d,new Response(w))}catch{}return w}var P={id:"code-playpad-csharp-roslyn-5.0.0-dotnet-10.0.14-r1",assets:{"_framework/Microsoft.CSharp.45w5ndn4gy.wasm":{bytes:301333,sha256:"0893b8a6e6506cb2dbfa2dd01ac779d4616d013a2fac80e8cc15a64cdf526f0c"},"_framework/Microsoft.CodeAnalysis.CSharp.df8hfd5o8z.wasm":{bytes:6828825,sha256:"17a863076b8e6cdfad78e7e9b739ea6940939880f2916523aaa19e7a2b3b463c"},"_framework/Microsoft.CodeAnalysis.erp1n29u9n.wasm":{bytes:3048217,sha256:"56f8336593d9e41ee553106871e5aa82aadac0ab3f04496c8d1bbe601f619089"},"_framework/Microsoft.VisualBasic.6b1p6yq8b3.wasm":{bytes:6933,sha256:"1eff194716c295748d936659cab92e84a0d13515c34c2f05838c910f0fb9e2d5"},"_framework/Microsoft.VisualBasic.Core.4day4tivbb.wasm":{bytes:418581,sha256:"f860e30addf5a3562ba06fd93984663df5ca52ba9feadf1edc88e249fcb05c5d"},"_framework/Microsoft.Win32.Primitives.4bv2m8ah4f.wasm":{bytes:5397,sha256:"00e133d3bcca6baa47c8389b471441c9d4b89bcea2a308b5b779a70e714e2894"},"_framework/Microsoft.Win32.Registry.o7q57g4y3v.wasm":{bytes:22805,sha256:"0c854e9283334e2be8c837a9e95040ab6a649b45cb0078e0b19f1cd215604788"},"_framework/Playpad.CSharp.bc2sx86ihs.wasm":{bytes:19733,sha256:"25449d8432b31e70aa0109d2244595d3f1becb0493d3b9b9aa21f91a13fbc11f"},"_framework/System.AppContext.7pfnw66j8s.wasm":{bytes:4885,sha256:"3bc775156968db8b138e70f0d6cf919e8eceda801518dc4395a6c1b7029a76a2"},"_framework/System.Buffers.n9eydi1g7o.wasm":{bytes:4885,sha256:"bb413f159d106aa82005001b72d3dbe21702fe5b0729dfb0ad411e3b9ae14933"},"_framework/System.Collections.Concurrent.j651l47s89.wasm":{bytes:78613,sha256:"85fa85329f2778f2d7feeabe96e17150c2529cdee2671227f6adca55511e85ba"},"_framework/System.Collections.Immutable.5srny90eq0.wasm":{bytes:240917,sha256:"659249897525dbdd045be0c365aa78670911e71f082962fab29cb3d92f659523"},"_framework/System.Collections.NonGeneric.0gs0za6wta.wasm":{bytes:37653,sha256:"005b930e461f6d5f28714586e73c030a2d0d7705b93ff701e96465dcec8626de"},"_framework/System.Collections.Specialized.0lamnc2eez.wasm":{bytes:37653,sha256:"14a6ecd2d98964854df3c84e5d28c9e370f8511d88e17e19894bdd5487074534"},"_framework/System.Collections.zkl9zn110m.wasm":{bytes:102677,sha256:"7d1b8e3fb815980cc84b2d67b6894fa6bf936064cb4c0639547f214d3337826e"},"_framework/System.ComponentModel.2dg08nsbgq.wasm":{bytes:5909,sha256:"2a69c31d5b96be96e2dbd84b2eb722f33401245e3c3c18b449fa49d6b35b516c"},"_framework/System.ComponentModel.Annotations.qqu4bynrpj.wasm":{bytes:92437,sha256:"5ea898870e6d334ac03751ca45e941bdc786959862a4604c0b7925ae22365c1c"},"_framework/System.ComponentModel.DataAnnotations.6ljk5kma3w.wasm":{bytes:6421,sha256:"2a75102b3e594a3a5aec02c737c07bb07d67b31d84584a84dc93bd8fceaa44f7"},"_framework/System.ComponentModel.EventBasedAsync.0necwturs4.wasm":{bytes:16149,sha256:"1c2972979910342271b8e94c4455ff86593b6b428dbe29283927fc5038739df9"},"_framework/System.ComponentModel.Primitives.ex1da4zowy.wasm":{bytes:32021,sha256:"feaafe39e5531ccded6bd652b0ecbd1ddc7a3600e3ee89091411dbb113ae6489"},"_framework/System.ComponentModel.TypeConverter.t0513robn6.wasm":{bytes:306453,sha256:"53c1eda4d6b514c881cee8f6c7023ca6aa25304c2560c2a27357d5912b7e9efa"},"_framework/System.Configuration.11exwmwngo.wasm":{bytes:8981,sha256:"45bdaf5a151f8d873e4f3d63924b0b8e4711aa8e53a1a6b49bbaf8722ca07851"},"_framework/System.Console.4o049fyksq.wasm":{bytes:43797,sha256:"9cbe95b0e710127a9dc6fb016d89e3198bf5602e8767b4fe3318de77cc2e4184"},"_framework/System.Core.2bi377k7h6.wasm":{bytes:13077,sha256:"6e627a49290c7337183d58c756ca20ee0c6aef3716c73f748a1f2a040ec13f12"},"_framework/System.Data.Common.zrj82y4hfd.wasm":{bytes:1007893,sha256:"1fa0c46a27e2d1eb30b6ece5431b62a99eb0d3dbfff0ab3b0160d202b1283e62"},"_framework/System.Data.DataSetExtensions.ndyqwckzh5.wasm":{bytes:5397,sha256:"8b005ca671c5224a36cc8fcaee97ebd9fc9c8b44a4f431211c0e279b67605ef4"},"_framework/System.Data.cbzplu1klk.wasm":{bytes:15125,sha256:"08fc7cad424adfa678e5e03e1561fe679db996e8a887b14de7893786bdcfc11c"},"_framework/System.Diagnostics.Contracts.xbykr1nyue.wasm":{bytes:5909,sha256:"33867da04cc7cd4d8de2f10f0490f5488a8c8b83928597d906e86aae59e96c24"},"_framework/System.Diagnostics.Debug.faxnhsagf6.wasm":{bytes:5397,sha256:"b9b6df298d8fc68baec7ecf30ef40095a0810b44033dc2285e6e4d94eacac0cb"},"_framework/System.Diagnostics.DiagnosticSource.o8neuaehsr.wasm":{bytes:192277,sha256:"d82c2d87d4b05f79cded591ec897e75aef9fd5c93a5ec034bb76b8c67c211dd8"},"_framework/System.Diagnostics.FileVersionInfo.3veftfofsy.wasm":{bytes:12565,sha256:"ff1105930376d41151ef2e5c3d79cdb7002dfb3f7923bb3bf5caf3c33e301ce3"},"_framework/System.Diagnostics.Process.m02d4wsk19.wasm":{bytes:46357,sha256:"8af0d33b005cf399b2d983101aabd789b759fce6d53724ab17e4257df275f357"},"_framework/System.Diagnostics.StackTrace.3n0s7h4d43.wasm":{bytes:15637,sha256:"c1428e9f1dd799329b94b73a3a739c726195e78c7e499a7f9fa76abc9711a153"},"_framework/System.Diagnostics.TextWriterTraceListener.eytcvy9k8s.wasm":{bytes:21269,sha256:"a6f9c9665c871e8702c313c72aff56d8678fa2aeef5d58bdbd22895b5d7bb0cc"},"_framework/System.Diagnostics.Tools.fj2fven09q.wasm":{bytes:4885,sha256:"655eda3c94089e2fd9a0eda837027d39fdc8782124027f1ecb5e1627306f3ab2"},"_framework/System.Diagnostics.TraceSource.zdzes0xpw3.wasm":{bytes:48405,sha256:"596906ce63f2a87afc7c0c93ce63b8edd564dbab4cf44cba12e1e1de57cd3989"},"_framework/System.Diagnostics.Tracing.p8zfsagsem.wasm":{bytes:5909,sha256:"29645956735e67930940e0068fdf939e7724ac191aec9af9fc7fad2a5c478b4e"},"_framework/System.Drawing.Primitives.qihgks5s1u.wasm":{bytes:54549,sha256:"4e6f66a93b0178adcba6b52555fe1665e5d5c9f295ede78bb1f88a8ce7cd1730"},"_framework/System.Drawing.yh4pswp3to.wasm":{bytes:10005,sha256:"064f946cd835b5c06b88b5e8d3baafa1b65212fea3f741846530b9c15e8397a8"},"_framework/System.Dynamic.Runtime.qf4wa78w3a.wasm":{bytes:5909,sha256:"76243dbb12aaf714360cd6bb1adff3eac41d019028d45706f9a877fa0b8b4933"},"_framework/System.Formats.Asn1.ei47lr61p0.wasm":{bytes:86805,sha256:"963360faa396a0ac4f0ee1fb6a4de8195c8abc8722cfcb5e3f34c8f8cfa2cc44"},"_framework/System.Formats.Tar.jt7yo4wxzn.wasm":{bytes:28949,sha256:"e9bb9ece17de3bb99b99f9e27d9be6ea25feb824606217a81a581a3defd799e3"},"_framework/System.Globalization.Calendars.vfqjdvj4bj.wasm":{bytes:5397,sha256:"9b458344e441af8a342d90d9756002bd53d3ca81fd2ecec1d9956c09ab738761"},"_framework/System.Globalization.Extensions.fb3tp0zu2j.wasm":{bytes:4885,sha256:"0b1f2e8dd68f450050c6ea5d933b06ffc0133120dff33a87b5ccf1e523439be2"},"_framework/System.Globalization.jpj90sbpo9.wasm":{bytes:5397,sha256:"07ac16899c10c3af6fb0bb4cd1ca976ddf3fe82165fb06b74bb034cab14a0bad"},"_framework/System.IO.Compression.Brotli.fpnvzsxpvo.wasm":{bytes:18197,sha256:"c3cc052fa471c3f25016b7eee90ab7eb3793995aea8f08ba93e3b6d85c9ba0b7"},"_framework/System.IO.Compression.FileSystem.tk5twcs8br.wasm":{bytes:4885,sha256:"7d51272f3b3ec7a32ef1b73e693fc90753705665cc50f98a56a3e7f60970cd31"},"_framework/System.IO.Compression.ZipFile.f6odqd84z5.wasm":{bytes:43285,sha256:"59161959d34a7935b83bc858b589d34cc17ade5912137658ee3d7ca1ec4b090c"},"_framework/System.IO.Compression.zo5nnp1cfl.wasm":{bytes:157461,sha256:"6df8da5437998a60f5afd17b4c0b7145d94171dd2b0dd1bed6ef0d762074062d"},"_framework/System.IO.FileSystem.4xxxdm8fc4.wasm":{bytes:5397,sha256:"f8ae1910ff477fbb38b7a1a689ddb555d5ab9f7b5ec59e183fb7c7aebacbe077"},"_framework/System.IO.FileSystem.AccessControl.3nsp4r0ce1.wasm":{bytes:21781,sha256:"3f2d25968e0dad93040716ef7d97382bd6a5517bd0e3c6d707fa520df255d627"},"_framework/System.IO.FileSystem.DriveInfo.2dz9a3mpco.wasm":{bytes:13589,sha256:"46f152531a56b5a1234b905b5460060a3a76c74a94f575e6444848bb7d15a0fc"},"_framework/System.IO.FileSystem.Primitives.ts09gphu65.wasm":{bytes:4885,sha256:"b3efcf0755c59862ad4893ad4b668d5dab114f3561ae632d1ea7479e65c22180"},"_framework/System.IO.FileSystem.Watcher.zra8jhxo53.wasm":{bytes:22805,sha256:"8fcf89a027896f110eefc2e1e76a86bd91f6537a748afdc2ecc7fbd00d1110a1"},"_framework/System.IO.IsolatedStorage.czh3ilflkw.wasm":{bytes:24853,sha256:"388c1f0e6894454587ae794e210a93feaa23c8932064b68ad76e660a2b3d4fb1"},"_framework/System.IO.MemoryMappedFiles.f0h74bif4r.wasm":{bytes:39701,sha256:"dfc14559b3102cdd3d1155ec7cc198999db5b31439aafcd1775dffa39015d0a7"},"_framework/System.IO.Pipelines.eqtd8a5j6e.wasm":{bytes:67861,sha256:"3aa8165bec8d2b718d927cf0ba7ba9fb2e301544164d62202a578d3e3010d850"},"_framework/System.IO.Pipes.AccessControl.cz75e7snno.wasm":{bytes:13077,sha256:"a881296c9ae2cefe4f57c030f0cd13a0384ae7a82519dd0063d62feab0877a2b"},"_framework/System.IO.Pipes.amk3gre8pn.wasm":{bytes:32021,sha256:"22c795928e765dae50c2632f264efde23032c0225fcff6acb4aa075855543436"},"_framework/System.IO.UnmanagedMemoryStream.pjda8c8goj.wasm":{bytes:5397,sha256:"159b449cef234de1150ea545ce482dadadcffb47cccc4e60038840eb1be87a4c"},"_framework/System.IO.hvb68vhf4w.wasm":{bytes:5397,sha256:"63ca4a239901c3ba9517ab48c5c70e2b2f2f983b8f5c96c6215ffb74efb90d42"},"_framework/System.Linq.AsyncEnumerable.p5kf8px69a.wasm":{bytes:446229,sha256:"cdaf09cf14de62c8172a64d1f1fd540b050edf1a751873b575f1c6dab92f171d"},"_framework/System.Linq.Expressions.rrm2f8e4yg.wasm":{bytes:565013,sha256:"c74ef523be9ae6830a76be0baf9a9a508ce7ca31ac5876bb80dc7d1d777b5cab"},"_framework/System.Linq.Parallel.2c1yb2s745.wasm":{bytes:212757,sha256:"be110713a9092c3594d36dc664441be579d17fbe9b0be0a1bd289bd4fca58ee9"},"_framework/System.Linq.Queryable.trhrf5j8ds.wasm":{bytes:68373,sha256:"b965d6be5e8744b201ab8142f11c57aaf0a95081020880c1ec709fb9654c338c"},"_framework/System.Linq.gvekllsg4c.wasm":{bytes:190741,sha256:"4cf1e524ac3f80887e4c7d723c29f54b676ad76325c8472ecbbd064652881d57"},"_framework/System.Memory.rvge25ilzk.wasm":{bytes:45333,sha256:"09ddaf85e36c7c13ef4d7e32cc5436cfec4984e1c26c989072e499ddde8ae062"},"_framework/System.Net.Http.8ubauysc2i.wasm":{bytes:286485,sha256:"903f936e8d7a67798c76e85d53838ac80c88b1ef3d45ec53ff2ac95a8bbc4c2b"},"_framework/System.Net.Http.Json.cnwprpsgic.wasm":{bytes:45845,sha256:"8830cced672b10f509c317186768b69245fbc9c3695eb870b9a81e31a1dfa086"},"_framework/System.Net.HttpListener.ij8kltpk25.wasm":{bytes:45845,sha256:"c23e07ce4477568bf5687cc8f81f2eb9ce806667398756ab96507671f83a3594"},"_framework/System.Net.Mail.z8qhziwoem.wasm":{bytes:94997,sha256:"ddd584fafc23dc46fd5eca406b6f0edb6fc2af837280fd50b276327c867a41ee"},"_framework/System.Net.NameResolution.ncmdi0kq9p.wasm":{bytes:14101,sha256:"993b5c9ce17363348c5d77766b5ef8ba7cd9e9bf8490f54bf295d600c0318f5d"},"_framework/System.Net.NetworkInformation.es6jl8uhrp.wasm":{bytes:32021,sha256:"e2e10d93298c3e8ba16fc2acfebc314c9e32ad07d28b99a491ad1f215795f216"},"_framework/System.Net.Ping.leo6kko976.wasm":{bytes:17685,sha256:"0de562db7b1035f071863450f7e875892b1705ba696cc11ee3593dda48894fc9"},"_framework/System.Net.Primitives.yzzu57r5h4.wasm":{bytes:97045,sha256:"bea2dfad62c29bbf61a9b34552bb6b28356cc6ce36c56e96c058639c3ee2a3fc"},"_framework/System.Net.Quic.t4x9xorc7c.wasm":{bytes:28949,sha256:"031f5366680b6a4b90cf8ed2ced5d135391b1942a1423e991ebeddfd7b47940a"},"_framework/System.Net.Requests.hvrao969rw.wasm":{bytes:55573,sha256:"9d27640110c78c3c04da4f2f070589ff6857804316f91765cc59d305e45ae9dc"},"_framework/System.Net.Security.z570hyrh50.wasm":{bytes:104213,sha256:"b972545804845422c6b90682ef9585ff07ca24394bc4abcafaa8aab8841476ff"},"_framework/System.Net.ServerSentEvents.b3gkat9xqz.wasm":{bytes:30485,sha256:"89c3d8604b565dd8b5ac18dcd39b73f311c81e20b8d5cdbd3c3a704c958515f3"},"_framework/System.Net.ServicePoint.k1tgr3lkj6.wasm":{bytes:4885,sha256:"082ef4faa63db1a669223b6b892729a426f1017c61a8140167d9a935f65cabd5"},"_framework/System.Net.Sockets.fgcxent7fc.wasm":{bytes:64277,sha256:"b1284556b3eeceed8cee152f19f6a6b32c7d35ab031f64a4b96968cbef84ff90"},"_framework/System.Net.WebClient.kpwi6t40sc.wasm":{bytes:45845,sha256:"18108441da8fd4dc43cd29a42d491c27e23961e0188714ce41deffa5e113b034"},"_framework/System.Net.WebHeaderCollection.fnxrdiu9j1.wasm":{bytes:22805,sha256:"1bb8ab08176b1d4878d9d5732629e730cd863d2e0e458de1914cd71aafcc7a86"},"_framework/System.Net.WebProxy.wtgabypaqs.wasm":{bytes:11541,sha256:"4cc9d37b00460499d38df4cc1bb4a9408fa0996e9cdef5244ad645b550cd87b2"},"_framework/System.Net.WebSockets.4zomq83cjx.wasm":{bytes:99093,sha256:"102e21acf0257c9bd1115dd74f36f0cf1844ea1872ecf3e78f4af2d9038878c9"},"_framework/System.Net.WebSockets.Client.l4ui9wgjyz.wasm":{bytes:42261,sha256:"fbade9ba11569ee8ead57e48bfad3419d4b5800f2a0503de1ea87ddbab5e78d6"},"_framework/System.Net.plchg2cs85.wasm":{bytes:6933,sha256:"f38d34d3e084c72fda1c6182f4fd11644d922dfa7b4efdb83809b6bb6eba4879"},"_framework/System.Numerics.7xa3ygjnjn.wasm":{bytes:4885,sha256:"f513f73d4658cd05b3d587d5dc634450d3d2811ca92b12e0065d111f0fb7fe08"},"_framework/System.Numerics.Vectors.2neq4xg5b1.wasm":{bytes:5397,sha256:"624bf089833a6c91bd2c0e83cf58f9db9b8e702dcc8c9e2b389610f8f3ad9924"},"_framework/System.ObjectModel.0us7g9291u.wasm":{bytes:30997,sha256:"b8c1e66933e2073d4d95b7971ce949d2aee7caacd85a222261200d12368e6305"},"_framework/System.Private.CoreLib.7henw1oe7e.wasm":{bytes:4870425,sha256:"0b6d3f3864053400013921497367c1f9806b10baa069e9e80ea2ba7ff1943d20"},"_framework/System.Private.DataContractSerialization.45rz0h7hbh.wasm":{bytes:849173,sha256:"2808c98580c4009f7850dde898e1f8d81a15e427ddeb122033384dd48a0c1252"},"_framework/System.Private.Uri.c0pesqh6or.wasm":{bytes:95509,sha256:"e4b56986f49b6104f86884d59fd3a4eff4e525fdd2d1f83baee01b752efa337e"},"_framework/System.Private.Xml.Linq.91dmao781k.wasm":{bytes:143637,sha256:"7d05fc1b72e4d16c33f13e7cfd85a6f5a92f5c2ca343c8f78d4425d2afa50d0a"},"_framework/System.Private.Xml.ihpa1sp5u8.wasm":{bytes:3096857,sha256:"86009953171be26f62eab577e33c3502d82ddc74a9d6f27c6b4d07ea6300e498"},"_framework/System.Reflection.DispatchProxy.dotf7d6gov.wasm":{bytes:27925,sha256:"03a1a48a2b900d219650d22288cb1ebb62feb218fef7788daa6aead0e237f14d"},"_framework/System.Reflection.Emit.ILGeneration.0x2k63jlqj.wasm":{bytes:5397,sha256:"c46d97174687a1f77ef95a0c085d632881c1f315d7141b985a673662131235e0"},"_framework/System.Reflection.Emit.Lightweight.5yjn7ykajf.wasm":{bytes:5397,sha256:"bdb328f85330a0991ea097895f5f233c7c185bcc54d115f9f4deb7c02fa7ce83"},"_framework/System.Reflection.Emit.ynxp91g9b8.wasm":{bytes:123157,sha256:"52fc8f0a51bcc2c5da80be2148b8391dc1665768e3aa6e04a0a0a7a2aeee52c8"},"_framework/System.Reflection.Extensions.0ouvp5b0xg.wasm":{bytes:4885,sha256:"00b61c99e5b7930e88707c4614942c0f69e91bd0acadd0e728d3e219f1137a53"},"_framework/System.Reflection.Metadata.vkm0bf1n4h.wasm":{bytes:493333,sha256:"b136c7933bc62da5e4f3e34ad6fea876f5cc7a7e47d35e7b7c64055927fc68f6"},"_framework/System.Reflection.Primitives.cnvk9lkykl.wasm":{bytes:5397,sha256:"c84511d42d21a09fd8818bb0ee4d4423584f19dd9a58a98a8d8631c0435336bb"},"_framework/System.Reflection.TypeExtensions.jnvi38irak.wasm":{bytes:14101,sha256:"bf533973a0a50cba610aac73875d9f8627c173b463311d060f79ea4922a9d64e"},"_framework/System.Reflection.qdi0svky7b.wasm":{bytes:5909,sha256:"0e958c24d437bc1b1e321617c69dda15aba94d0e13b741c39a514108dab87958"},"_framework/System.Resources.Reader.tkyk3pewoj.wasm":{bytes:4885,sha256:"f34cfbeb3f39e7bfa7d0d892e3fdcfeda727e269b2a622d74ca455d41ad740b3"},"_framework/System.Resources.ResourceManager.mxgnwpq6s6.wasm":{bytes:5397,sha256:"7af92fba46216d614859a6466c6a013e936a510d492affb6ee74179d23620998"},"_framework/System.Resources.Writer.u12ln0bq25.wasm":{bytes:16661,sha256:"a2a46ada8be5659c787b4da0494298da0ffc2467a0b02a7eab604dca5c532866"},"_framework/System.Runtime.CompilerServices.Unsafe.mvjra26big.wasm":{bytes:4885,sha256:"624f428a1c8ffd524aa47ced54090373d0f389162b6dfb00689343f2a3ac5803"},"_framework/System.Runtime.CompilerServices.VisualC.0zws5y4za8.wasm":{bytes:6933,sha256:"ec82d7e3669ba41156f4d70d94bf30c47dd28829cf5de4591f18bce80943d1a0"},"_framework/System.Runtime.Extensions.53v9tmujmf.wasm":{bytes:7445,sha256:"5f05d3f29944d5adc9a644a37e1818edc5cb9f4450fe1ed88b600b0d84bda226"},"_framework/System.Runtime.Handles.dtp1f2k1pr.wasm":{bytes:5397,sha256:"f16fe73e38bb80ab6b26486ad193d8766254138bac0524f2861959c7834cbee1"},"_framework/System.Runtime.InteropServices.JavaScript.b9bqw25qxw.wasm":{bytes:79637,sha256:"810c9571d56aae8aabdccec828936d48cb8664b4e2e923d3c49f5c288234a26c"},"_framework/System.Runtime.InteropServices.RuntimeInformation.5dmsm0qrdq.wasm":{bytes:5397,sha256:"c7696a8781fbc588fa126969f0a8b0703c3df1181e9e723631d5a7816636c406"},"_framework/System.Runtime.InteropServices.zc5o5oswy7.wasm":{bytes:54549,sha256:"dd89331d3297a0c4a5aac4e6ed289c59d6c8858f7f85d55a46fb0d80c69ca429"},"_framework/System.Runtime.Intrinsics.uupmanm0z1.wasm":{bytes:6933,sha256:"6692c7b97d8261781b893a91a9bed12a8da493d0ad20d6e2e941ab4b052c6218"},"_framework/System.Runtime.Loader.bmhnwgr24i.wasm":{bytes:5397,sha256:"0db7813efcf24740ffc3121704940e5b39bac5745b05c3cbd23a71bbc13d7800"},"_framework/System.Runtime.Numerics.hnmfmtcdek.wasm":{bytes:134933,sha256:"937500e9e310341dabaee15f5c1f39eccc0214d055b846951547ed19f635659d"},"_framework/System.Runtime.Serialization.890gxgs7km.wasm":{bytes:6933,sha256:"b41917f9c13f891781b2babb541b8d01f8394a51f2e9323922eb94a2816a2d5d"},"_framework/System.Runtime.Serialization.Formatters.k6qqn2m2yp.wasm":{bytes:55573,sha256:"f4592c11ffc0e2a191254f637a0d117e1a09f8d1ff5a1065e5c175310183097b"},"_framework/System.Runtime.Serialization.Json.rmpm3bs9gf.wasm":{bytes:5397,sha256:"bde54b4f956372ced92d5efee2c37314343968505e7146ab269a2e3771a7b38d"},"_framework/System.Runtime.Serialization.Primitives.rhltpkb1qn.wasm":{bytes:13077,sha256:"0f8b94ee594a9fcc5c8506072e13a7d50735d02df44adf5e34a533e3e38d9a9b"},"_framework/System.Runtime.Serialization.Xml.2qu958brox.wasm":{bytes:6421,sha256:"36472147c1166a70a5722cf793fa9abbe1bab93527241979607865df0a2f58be"},"_framework/System.Runtime.q3byyncrvz.wasm":{bytes:34581,sha256:"4af52a715b0a80fca05f4fe3d35e0882a47699e2cc64a8d6dfdb5fbfc5bddedd"},"_framework/System.Security.AccessControl.frpe4iqtxg.wasm":{bytes:47893,sha256:"eb65f6286a07968d12c0b8e5330b6c9dfa314dd224e877a0c4aea82e78028785"},"_framework/System.Security.Claims.1iu8vf654n.wasm":{bytes:44821,sha256:"97f82dc8889938fdcce4e09bea257e9c1b49d991d9458836879150444e5b8b70"},"_framework/System.Security.Cryptography.Algorithms.667n7jcyg1.wasm":{bytes:6933,sha256:"f2a8e4d45f9f2967b51b58bb85319e8852d3a333dbaf9cd2386ca4b00652e373"},"_framework/System.Security.Cryptography.Cng.bd7h0b8iov.wasm":{bytes:5909,sha256:"8f4b9ed85aec8a2564ebe8d7d8a4d1150bb46f2aea851733c26166faddb90fd7"},"_framework/System.Security.Cryptography.Csp.z1odikd5x2.wasm":{bytes:5909,sha256:"f912404d06760570df5a52dd7b64e8af3125dd6f452bd8938faec529f3e02366"},"_framework/System.Security.Cryptography.Encoding.o0gt2d4ysx.wasm":{bytes:5397,sha256:"a8b33cdbba50e569c52acb0fe72e17ad4e278c1209bcc338d41025e38071bc63"},"_framework/System.Security.Cryptography.OpenSsl.90bbqu9909.wasm":{bytes:5397,sha256:"87916287aef8bdf7bb1fb87fdf1e64dc8b715228c129319cc41b17e64dc5b13e"},"_framework/System.Security.Cryptography.Primitives.wc69ogz8hc.wasm":{bytes:5397,sha256:"90efa59ad8a365908c18aff92e86336eb346914ede31bc51e3008aa394c66acd"},"_framework/System.Security.Cryptography.X509Certificates.zdajb5d4ry.wasm":{bytes:6421,sha256:"a95583972db3c698e929f1e9d0bfd5268c20247b39ffebe0e435ced691e01069"},"_framework/System.Security.Cryptography.isqs0vklct.wasm":{bytes:643861,sha256:"5e2d390cae360df7f1a224f866cd4648f896a02bdd8dc8b6dd97f4036a3434a6"},"_framework/System.Security.Principal.8kc2gzptia.wasm":{bytes:4885,sha256:"18f86f82bdc342716c4f4d1ce95cef59f29516c18f4b107e20e4fb2283bf3ca3"},"_framework/System.Security.Principal.Windows.lvinz1flf3.wasm":{bytes:27413,sha256:"af696bc41c787f9d87ae55b4bc5799b1e384083d610340774246b5283f2b5f76"},"_framework/System.Security.SecureString.287gima5tn.wasm":{bytes:5397,sha256:"92d299c328a15eb44a972aaa0142d628d9b35c1a555d5e6b296d14fcf1f31736"},"_framework/System.Security.zwe9caa7de.wasm":{bytes:7957,sha256:"c3076430d76f8d122b73973756f5c601c96444d2e303834fbda2151aa3fb117c"},"_framework/System.ServiceModel.Web.eh14pbj71g.wasm":{bytes:6421,sha256:"7e6a649d68f4543fefcd8add264555779efc37b5986ec96106f1598703eaa247"},"_framework/System.ServiceProcess.thnl06mz62.wasm":{bytes:5397,sha256:"cf9d149513509280a136812038d16f8421e5ced70788b6c9595170242d702530"},"_framework/System.Text.Encoding.CodePages.r4fb0qucdq.wasm":{bytes:732437,sha256:"a556ef19b61455e586137ff454f3120091897dcc43a44c19a71d7ef489a3ddfc"},"_framework/System.Text.Encoding.Extensions.qyio04sfs3.wasm":{bytes:5397,sha256:"fe7930a6f00825e1c4a3f32e0e3bd42117377db151afc127110c70fbb701366a"},"_framework/System.Text.Encoding.x8frxl6434.wasm":{bytes:5397,sha256:"f11aa7fbf9e9a4f86b0a34a5478e6553d314461dcbe69fc8097adf1f9d69808b"},"_framework/System.Text.Encodings.Web.i5h886ktzy.wasm":{bytes:55573,sha256:"2a97377ae59b872eb3d69f1eb9555ba512f577708f951f7a2ef8040292911df0"},"_framework/System.Text.Json.rfs8iutklf.wasm":{bytes:638741,sha256:"f79b95a0e74fb4fb30fb90a704078e0b910c6d9d08cd9a7ab7a589b8fdcc24ef"},"_framework/System.Text.RegularExpressions.3wwgc8ow33.wasm":{bytes:374549,sha256:"8336c54d5413476b6125468549c98d35c0a9e5bd0db682b3795a7351d38e7b4c"},"_framework/System.Threading.5z3yk0hlih.wasm":{bytes:34581,sha256:"a12c2a6463d08e453a9e0dc72152b68692c5e6b2f5d69d8700f0c0bd2c4ba90a"},"_framework/System.Threading.AccessControl.3jdprnrbz3.wasm":{bytes:23317,sha256:"41c872fb18d50bc6d15f2f2c79ca48e825b0de88f0959f1356b02d2df31dc28e"},"_framework/System.Threading.Channels.u6jwukaw3f.wasm":{bytes:56085,sha256:"2677baa60a9cc551734e24a4eb400413c2157d310d8eae8c666a9f428e14df75"},"_framework/System.Threading.Overlapped.906hny6ev5.wasm":{bytes:5397,sha256:"57a8b7621e425edb8bc3c1114daed57774c1dfc75975a3aa12a0e4cfd1e3612b"},"_framework/System.Threading.Tasks.Dataflow.yxumrwtpb9.wasm":{bytes:175381,sha256:"da2eef656f41a87395f3f24935b557e4b054d994e220ae70401a820712cd440f"},"_framework/System.Threading.Tasks.Extensions.c9qgjzqtfp.wasm":{bytes:5397,sha256:"f027df139487b8613d3b6e1271a920c441ff5d7fcae2bc774009b50a3f703a30"},"_framework/System.Threading.Tasks.Parallel.984t0vlw0h.wasm":{bytes:50965,sha256:"a9e66658c76d0aa175b202b59391a313ed841a8ca09fbe80ef88962090b72b6e"},"_framework/System.Threading.Tasks.e8zo3kytn9.wasm":{bytes:6421,sha256:"a224a48edb58b9d097a72b83d5804930357555dee3f8be811827482e827ac544"},"_framework/System.Threading.Thread.0kl8n21ama.wasm":{bytes:5397,sha256:"206e44a32770dab61b10150554dd82dc69e29779609405d2a79da858f1ec5ff1"},"_framework/System.Threading.ThreadPool.uis7d1kkur.wasm":{bytes:5397,sha256:"da628e4a405d14fcf624643d3b9c632d47e4f478b30a21680c142901aec3bfe7"},"_framework/System.Threading.Timer.d0q7n4qone.wasm":{bytes:4885,sha256:"93d9959881dd75ace8b74ecf1307fa1c8bf210bd384e44feb84d203502a23486"},"_framework/System.Transactions.1rh8d3l1yg.wasm":{bytes:6421,sha256:"ddb4bf21d75f14d92cddd44d6d5abb88fc2f6dbabd24e4f692ce8a24c42ba5af"},"_framework/System.Transactions.Local.88eb0ckc89.wasm":{bytes:165653,sha256:"c80cdc0b7339172c58d06b47543bacf5ead18c6fbc50f483e6eee1973eb4102b"},"_framework/System.ValueTuple.dz9n78v09g.wasm":{bytes:5397,sha256:"490935cf3415a01a302a6caf3e404a0c8591bc6a5ad039e1ad4c892cee66edda"},"_framework/System.Web.HttpUtility.zkk9vwuwmx.wasm":{bytes:19733,sha256:"73afab7ffbcfa6e1479aa8ad626e3470e3346a80a2e7574d766e41c61e9df242"},"_framework/System.Web.cpb2jt6aj4.wasm":{bytes:4885,sha256:"c00e79f45b25abca38109c095dfa83a4616f107129ce05badc98ef08ea0ab819"},"_framework/System.Windows.z1cdp2137j.wasm":{bytes:5397,sha256:"474f8c034c878c2877fd38bfcc81a7ca91ec14f465067924def2447f3a0ceb1f"},"_framework/System.Xml.Linq.zfqbqkhg85.wasm":{bytes:5397,sha256:"616bc8b437b614c7e754c5ab40ea583b2075fbefd75684218446ce675a330615"},"_framework/System.Xml.ReaderWriter.j5zd7b3r9j.wasm":{bytes:11541,sha256:"375655970f08782d60c0b7e660a2ed18b100632cd0beccf6072f453461b33537"},"_framework/System.Xml.Serialization.g3ffx007q0.wasm":{bytes:5909,sha256:"d48409f2e83289d8a283e0dac4e15f6daaba7d0d9f1ef0ed0632479fcb670fea"},"_framework/System.Xml.XDocument.d9vqmjsh7t.wasm":{bytes:5397,sha256:"c12264747d6099b7063ae2ecc540848a570d33620fdf5f4815d34ded85c9bc8f"},"_framework/System.Xml.XPath.XDocument.ikh0avvfe3.wasm":{bytes:5909,sha256:"0ed162b5f6ceb1cae414c70bb8cdd960c5f77b1a39b4a9ab87b7703d92c5bce5"},"_framework/System.Xml.XPath.j7e58ql0yh.wasm":{bytes:5397,sha256:"d128d847ee39abbfee50d6e837d5dc953df248de890c894d92c15186f159092d"},"_framework/System.Xml.XmlDocument.2laigo0hd6.wasm":{bytes:5397,sha256:"16b6cd94446e868c5e744b876de60222eb25d1485c9f628fd03e64957d7b8cb0"},"_framework/System.Xml.XmlSerializer.o9fse2o32f.wasm":{bytes:7445,sha256:"4c9262e9ed66c40706ed51ea1dc312138035b44519f57ef97a94a4f323d192f7"},"_framework/System.Xml.ukjc8es4qk.wasm":{bytes:13077,sha256:"1eae6308964b64da01c885edee4c9af89173ec21ef4f99b71fd5350d8000a1ad"},"_framework/System.a2ormnao9q.wasm":{bytes:39701,sha256:"6e1ba6200e75ccd9b5be39467babe2d28067106bdd6ff0a1f292a2411177e27a"},"_framework/WindowsBase.pulybckt2x.wasm":{bytes:5909,sha256:"21be528b1fb2c3451736fb9a49f1f8063a164c6e4d089aec470d1d670ecc6340"},"_framework/dotnet.js":{bytes:80782,sha256:"0c8a1d506ef027d577f0efd776a42cc6639514b2cf1e90eaca8c18d18fae9c5f"},"_framework/dotnet.native.a6k1euv12n.wasm":{bytes:3001771,sha256:"62521652bab002242e009341397f999bdc2958bfac177278e3d885abb247a2e4"},"_framework/dotnet.native.bjoj0wmylw.js":{bytes:145050,sha256:"099d0855990b4c8bde7bb9f5c95bce8ad94958d763fd88da160a4c82588833ae"},"_framework/dotnet.runtime.5nc8i5dl74.js":{bytes:198480,sha256:"ff774183db23d722c3de1d0f0cc1e73545d6b3fdb35b020c133a26d57cf7438d"},"_framework/mscorlib.79r0fdidgd.wasm":{bytes:49429,sha256:"0553f8bd2703ce8aeebac01fc6c0d8fa7cf720fa64911da16e2a0efc9b988f12"},"_framework/netstandard.f948f8b5mo.wasm":{bytes:90389,sha256:"6db9b1e3952428d5958c52e5b36212b0bef4a1c4013fd49d3f5073c39133efcd"},"refs.pack":{bytes:6046672,sha256:"60252255312e28c33fa2bcde9646c7d92c6b2e7c2fb078a813b57de3146d8bed"}}};function j(e){if(!e||e.startsWith("/")||/[\\\\\\x00-\\x1f:]/.test(e)||e.split("/").some(s=>!s||s==="."||s===".."))throw new Error(`Invalid project path: ${JSON.stringify(e)}. Use relative paths without . or ...`);return e}function N(e,s,b){let f=j(b??"Program.cs"),n=s?{...s}:{[f]:e};if(!Object.hasOwn(n,f))throw new Error(`Entry file ${f} does not exist.`);let d=Object.keys(n).map(j).sort(),o=d.find(c=>!c.endsWith(".cs"));if(o)throw new Error(`C# projects can only contain .cs files for now: ${o}.`);if(d.length>32)throw new Error("Project limit: 32 source files.");if(Object.values(n).reduce((c,h)=>c+new TextEncoder().encode(h).length,0)>2e6)throw new Error("Project exceeds the 2 MB source limit.");return{names:d,sources:d.map(c=>n[c])}}var D="Roslyn 5.0.0 / .NET 10.0.14 r1",$=3,X=2e3,U=1e6,A=P.assets,W={wasm:"application/wasm",js:"text/javascript"},g=e=>globalThis.postMessage(e),v=(e,s,b)=>g({type:"progress",id:e,phase:s,message:b}),M=e=>`${e.file}(${e.line},${e.column}): ${e.severity} ${e.id}: ${e.message}`,z;async function F(e){let s=performance.now(),b=f=>g({id:e.id,durationMs:performance.now()-s,...f});try{let f=N(e.code,e.files,e.entry),n=0,d=async a=>{let t=A[a];if(!t)throw new Error(`Not a pinned C# compiler file: ${a}.`);let k=await T(a,t,z,E,()=>{});return v(e.id,"downloading",`Loading the C# compiler: ${++n} files\\u2026`),k},o=async a=>{let t=new TextDecoder().decode(await d(a)).replaceAll("import.meta.url",JSON.stringify(new URL(a,z).href));return URL.createObjectURL(new Blob([t],{type:"text/javascript"}))};v(e.id,"downloading","Loading the C# compiler\\u2026");let{dotnet:c}=await import(await o("_framework/dotnet.js")),h=new Map;await Promise.all(Object.keys(A).filter(a=>/^_framework\\/dotnet\\.[^/]*\\.js$/.test(a)).map(async a=>{h.set(a,await o(a))}));let y=[],w=0,r=!1,l=a=>{a.trim()&&(y.length<$?y.push(a.slice(0,X)):w++)},i=await(typeof c.withModuleConfig=="function"?c.withModuleConfig({printErr:l}):c).withResourceLoader((a,t)=>{let k="_framework/"+t;if(a==="dotnetjs"||a.startsWith("js-module")){let x=h.get(k);if(!x)throw new Error(`Not a pinned C# compiler script: ${t}.`);return x}return d(k).then(x=>new Response(x,{headers:{"Content-Type":W[t.slice(t.lastIndexOf(".")+1)]??"application/octet-stream"}}))}).create(),u=0,p=!1;i.setModuleImports("playpad",{write:(a,t)=>{if(!p){if(u+=t.length,u>U){p=!0,b({type:"error",message:"Output limit exceeded (1 MB)."});return}g({type:a?"stderr":"stdout",id:e.id,text:t})}},managedExit:()=>{r=!0}});let{Compiler:S}=await i.getAssemblyExports(i.getConfig().mainAssemblyName);S.LoadReferences(new Uint8Array(await d("refs.pack"))),v(e.id,"compiling","Compiling\\u2026");let m=JSON.parse(S.Compile(f.names,f.sources)),R=()=>i.Module?.HEAPU8?.length??0,O=R(),I=m.diagnostics.filter(a=>a.severity==="error");if(!m.ok){b({type:"error",message:I.map(M).join(`\n`)||"Compilation failed."});return}let q=m.diagnostics.filter(a=>a.origin==="user").map(M);q.length&&g({type:"stderr",id:e.id,text:q.join(`\n`)+`\n`}),v(e.id,"running","Running\\u2026"),y=[],w=0;let _;try{_=await S.Run(e.stdin??"")}catch(a){let t=a.status;if(typeof t!="number")throw a;if(!r){let k=y.length?[...y]:["The .NET runtime ended the program unexpectedly."];w&&k.push(`(${w} more runtime lines not shown)`),b({type:"error",message:k.join(`\n`)});return}_=t}if(p)return;b(_!==0?{type:"error",message:`Program exited with status ${_}.`}:{type:"result",memory:{compilerBytes:O,programBytes:R()}})}catch(f){b({type:"error",message:f instanceof Error?f.message:String(f)})}}globalThis.addEventListener("message",({data:e})=>{e.type==="init"?(z=e.toolchainURL,g({type:"ready",version:D,interactiveStdin:!1})):e.type==="run"&&F(e)});})();\n',a=new class extends n{get label(){return`C# 14 (experimental)`}get source(){return i}get recycleAfterRun(){return!0}get startTimeoutMs(){return 3e4}async load(e){return await t(r),super.load(e)}initPayload(){return{toolchainURL:e().indexURL}}},o={id:`csharp`,label:a.label,statusDecidesFailure:!0,get ready(){return a.ready},interactiveStdin:!1,async editorLanguage(){let[e,t]=await Promise.all([import(`@codemirror/language`),import(`@codemirror/legacy-modes/mode/clike`)]);return e.StreamLanguage.define(t.csharp)},load:e=>a.load(e),run:(t,n={})=>a.run(t,{...n,timeoutMs:n.timeoutMs??e().timeoutMs}),stop:e=>a.stop(e)};export{o as csharpRuntime};