From fae1eac2087b5f104499b8e1d8adb3e65c870c7a Mon Sep 17 00:00:00 2001
From: Hassan Sufi
Date: Thu, 19 Dec 2024 16:58:06 -0700
Subject: [PATCH] Removing references to old CDN (#10318)
* Start replacing old azureedge CDN
* Update CDN url for html files
* Remove last references to old CDN
---
common-docs/faq.md | 2 +-
docfiles/domains-template.html | 2 +-
docs/editors.json | 2 +-
docs/github-classroom-redirect.html | 4 ++--
docs/github-explorer.html | 8 ++++----
docs/online-learning.html | 2 +-
docs/playground.html | 2 +-
docs/screenshot-tool.html | 2 +-
docs/static/game-modder/static/js/main.3b636953.chunk.js | 4 ++--
.../game-modder/static/js/main.3b636953.chunk.js.map | 2 +-
docs/tutorial-tool.html | 2 +-
pxtlib/main.ts | 8 ++++----
webapp/public/asseteditor.html | 2 +-
13 files changed, 21 insertions(+), 21 deletions(-)
diff --git a/common-docs/faq.md b/common-docs/faq.md
index b1fef5bf3a9f..2a852d07681f 100644
--- a/common-docs/faq.md
+++ b/common-docs/faq.md
@@ -9,7 +9,7 @@ Access to certain domains is necessary to allow the web editor to reach all the
* @homeurl@
* https://makecode.com
* https://trg-@targetid@.userpxt.io
-* https://pxt.azureedge.net
+* https://cdn.makecode.com
* https://api.github.com
* https://immersivereaderprod.cognitiveservices.azure.com
diff --git a/docfiles/domains-template.html b/docfiles/domains-template.html
index 9777f9d564ae..3d6b18045710 100644
--- a/docfiles/domains-template.html
+++ b/docfiles/domains-template.html
@@ -400,7 +400,7 @@
addRow("@homeurl@")
addRow("https://makecode.com");
addRow("https://trg-@targetid@.userpxt.io");
- addRow("https://pxt.azureedge.net");
+ addRow("https://cdn.makecode.com");
addRow("https://api.github.com");
addRow("https://immersivereaderprod.cognitiveservices.azure.com");
addRow("https://github.com");
diff --git a/docs/editors.json b/docs/editors.json
index 257fba94c2db..b4f18280a259 100644
--- a/docs/editors.json
+++ b/docs/editors.json
@@ -78,7 +78,7 @@
"name": "Adafruit Circuit Playground Express BETA",
"title": "MakeCode for Circuit Playground",
"url": "https://makecode.adafruit.com/beta",
- "icon": "https://pxt.azureedge.net/blob/1215b9ef46d3e04bc9923a1a333d92db92eb5419/static/logo.square.black.svg",
+ "icon": "https://cdn.makecode.com/blob/1215b9ef46d3e04bc9923a1a333d92db92eb5419/static/logo.square.black.svg",
"styles": {
"primary": "#1c1f2b",
"menu": "#FB48C7",
diff --git a/docs/github-classroom-redirect.html b/docs/github-classroom-redirect.html
index 89a7d2b84db5..19117ed6a52e 100644
--- a/docs/github-classroom-redirect.html
+++ b/docs/github-classroom-redirect.html
@@ -5,7 +5,7 @@
MakeCode GitHub Classroom Registration
+ src="https://cdn.makecode.com/blob/795d8506c80a04f5ca26f577a8d6152e2fa3e7a6/doccdn/pxtweb.js">
diff --git a/docs/github-explorer.html b/docs/github-explorer.html
index aa85c88d8987..1900c062d046 100644
--- a/docs/github-explorer.html
+++ b/docs/github-explorer.html
@@ -5,7 +5,7 @@
MakeCode GitHub Explorer
+ src="https://cdn.makecode.com/blob/4d9b3a258759c53e7bc66b6fc554c51e2434437c/doccdn/jquery.js">
+ src="https://cdn.makecode.com/blob/fc2f56f46189a2e8be3743a1a5abed3b676f9318/doccdn/semantic.js">
+ src="https://cdn.makecode.com/blob/795d8506c80a04f5ca26f577a8d6152e2fa3e7a6/doccdn/pxtweb.js">
diff --git a/docs/online-learning.html b/docs/online-learning.html
index 7499aadd6474..045fc3f55382 100644
--- a/docs/online-learning.html
+++ b/docs/online-learning.html
@@ -12,7 +12,7 @@
-
+
diff --git a/docs/playground.html b/docs/playground.html
index 4ba6b69318d1..9f5751c506f1 100644
--- a/docs/playground.html
+++ b/docs/playground.html
@@ -4,7 +4,7 @@
-
+
diff --git a/docs/screenshot-tool.html b/docs/screenshot-tool.html
index 88e1d580c628..85d27b7d224f 100644
--- a/docs/screenshot-tool.html
+++ b/docs/screenshot-tool.html
@@ -4,7 +4,7 @@
-
+
diff --git a/docs/static/game-modder/static/js/main.3b636953.chunk.js b/docs/static/game-modder/static/js/main.3b636953.chunk.js
index 4eeeb532da31..54fe7f3514fb 100644
--- a/docs/static/game-modder/static/js/main.3b636953.chunk.js
+++ b/docs/static/game-modder/static/js/main.3b636953.chunk.js
@@ -1,2 +1,2 @@
-(window["webpackJsonparcade-share"]=window["webpackJsonparcade-share"]||[]).push([[0],[,,,,,,,,,,,,function(n,e,s){},,,function(n,e,s){n.exports=s(33)},,,,,function(n,e,s){},function(n,e,s){},function(n,e,s){},function(n,e,s){},function(n,e,s){},function(n,e,s){},,function(n,e,s){},function(n,e,s){},function(n,e,s){},function(n,e,s){},function(n,e,s){},function(n,e,s){},function(n,e,s){"use strict";s.r(e);var t,r=s(0),_=s.n(r),a=s(13),i=s.n(a),p=(s(20),s(1)),m=s(2),l=s(4),d=s(3),u=s(9),c=s(5),o=(s(21),s(22),function(n){return _.a.createElement("div",{className:"game-embed"},_.a.createElement("iframe",{ref:function(e){return n.simulator.setFrame(e)},className:"game-embed-frame",title:"MakeCode Arcade Simulator",allow:"autoplay",sandbox:"allow-same-origin allow-scripts"}))});function f(n,e,s){g()||window.appInsights.trackEvent(n,e,s)}function g(){try{return"undefined"!==typeof window&&/^http:\/\/(localhost|127\.0\.0\.1):\d+\//.test(window.location.href)&&!/nolocalhost=1/.test(window.location.href)}catch(n){return!1}}!function(n){n[n.A=0]="A",n[n.B=1]="B",n[n.Up=2]="Up",n[n.Down=3]="Down",n[n.Left=4]="Left",n[n.Right=5]="Right",n[n.Menu=6]="Menu",n[n.Reset=7]="Reset"}(t||(t={}));var h=function(){function n(e){var s=this;Object(p.a)(this,n),this.frame=void 0,this.buttonState=[],this.changeListeners=[],this.framePromise=void 0,this.readyPromise=void 0,this.lastRunBinary=void 0,this.messageHandler=function(n){var e=n.data;s.handleMessage(e)},this.frame=e,window.addEventListener("message",this.messageHandler)}return Object(m.a)(n,[{key:"setFrame",value:function(n){n&&(this.frame=n,this.framePromise&&this.framePromise.resolve())}},{key:"pressButton",value:function(n){this.buttonState[n]||this.sendButtonState(n,!0)}},{key:"releaseButton",value:function(n){this.buttonState[n]&&this.sendButtonState(n,!1)}},{key:"isPressed",value:function(n){return!!this.buttonState[n]}},{key:"addChangeListener",value:function(n){-1===this.changeListeners.indexOf(n)&&this.changeListeners.push(n)}},{key:"removeChangeListener",value:function(n){var e=this.changeListeners.indexOf(n);-1!==e&&this.changeListeners.splice(e,1)}},{key:"runCode",value:function(n){var e=this;this.lastRunBinary=n,this.waitForSimFrameAsync().then(function(){e.readyPromise=void 0;var s="sim-frame-".concat(1e6*Math.random());e.frame.setAttribute("id",s),e.frame.src="".concat("https://trg-arcade.userpxt.io/beta---simulator","?justscreen=1&run=").concat(s,"#").concat(s),e.waitForSimReadyAsync().then(function(){e.sendMessage({type:"run",code:n})})})}},{key:"dispose",value:function(){window.removeEventListener("message",this.messageHandler)}},{key:"sendButtonState",value:function(n,e){this.updateButtonState(n,e),this.sendMessage({type:"button-pressed",button:n,pressed:e})}},{key:"updateButtonState",value:function(n,e){!!this.buttonState[n]!==e&&(this.buttonState[n]=e,this.changeListeners.forEach(function(s){return s(n,e)}))}},{key:"sendMessage",value:function(n){this.frame&&this.frame.contentWindow&&this.frame.contentWindow.postMessage(n,"*")}},{key:"handleMessage",value:function(n){switch(n.type){case"ready":this.readyPromise&&this.readyPromise.resolve();break;case"simulator":"restart"===n.command&&(f("shareExperiment.play.restart"),this.runCode(this.lastRunBinary))}}},{key:"waitForSimFrameAsync",value:function(){return this.frame?Promise.resolve():this.framePromise?this.framePromise.promise:(this.framePromise=new b,this.framePromise.promise)}},{key:"waitForSimReadyAsync",value:function(){return this.readyPromise?this.readyPromise.promise:(this.readyPromise=new b,this.readyPromise.promise)}}]),n}(),b=function(){function n(){var e=this;Object(p.a)(this,n),this.promise=void 0,this._resolve=void 0,this._reject=void 0,this.promise=new Promise(function(n,s){e._resolve=n,e._reject=s})}return Object(m.a)(n,[{key:"resolve",value:function(){this._resolve&&this._resolve(),this._resolve=void 0,this._reject=void 0}},{key:"reject",value:function(){this._reject&&this._reject(),this._resolve=void 0,this._reject=void 0}},{key:"isFinished",value:function(){return!this._resolve}}]),n}(),v=(s(23),40),x=v>>1;function y(n,e){for(var s=0;s>1,s.handleY=v>>1,s.lastOctet=void 0,s.joystickGestureCount=0,s.joystickGestureInterval=void 0,s.buttonChangeListener=function(n,e){switch(n){case t.Down:s.updateDirection(s.dPadDown,e);break;case t.Up:s.updateDirection(s.dPadUp,e);break;case t.Left:s.updateDirection(s.dPadLeft,e);break;case t.Right:s.updateDirection(s.dPadRight,e)}},s.logEvents=function(){s.joystickGestureCount>0&&(f("shareExperiment.play.joystickGestureUp",{count:s.joystickGestureCount}),s.joystickGestureCount=0)},s.cleanupInterval=function(){clearInterval(s.joystickGestureInterval),s.joystickGestureCount=0},s}return Object(c.a)(e,n),Object(m.a)(e,[{key:"componentDidMount",value:function(){this.dPadUp=this.refs["dpad-up"],this.dPadDown=this.refs["dpad-down"],this.dPadLeft=this.refs["dpad-left"],this.dPadRight=this.refs["dpad-right"],this.joystickHandle=this.refs["joystick-handle"],this.bindEvents(this.refs["joystick-bounds"]),this.props.simulator.addChangeListener(this.buttonChangeListener)}},{key:"componentWillUnmount",value:function(){this.dPadUp=void 0,this.dPadDown=void 0,this.dPadLeft=void 0,this.dPadRight=void 0,this.joystickHandle=void 0,this.props.simulator.removeChangeListener(this.buttonChangeListener),this.cleanupInterval()}},{key:"render",value:function(){var n=this.props.changeMode;return _.a.createElement("div",{ref:"joystick-container",className:"game-joystick"},_.a.createElement("div",{className:"spacer"}),_.a.createElement("div",{className:"action-button"},_.a.createElement("button",{className:"share-mod-button",onClick:function(){return n("mod")}},"Mod")),_.a.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",ref:"joystick-bounds",className:"game-joystick-svg",viewBox:"1 0 40 40",width:"200px",height:"200px"},_.a.createElement("circle",{id:"joystick-background",cx:"20",cy:"20",r:"16",fill:"#397382",stroke:"#397382",strokeWidth:"2"}),_.a.createElement("rect",{ref:"dpad-up",x:"16",y:"6",width:"8",height:"12",rx:"2",fill:"#cecece",stroke:"none",strokeWidth:"1"}),_.a.createElement("rect",{ref:"dpad-down",x:"16",y:"22",width:"8",height:"12",rx:"2",fill:"#cecece",stroke:"none",strokeWidth:"1"}),_.a.createElement("rect",{ref:"dpad-right",x:"22",y:"16",width:"12",height:"8",ry:"2",fill:"#cecece",stroke:"none",strokeWidth:"1"}),_.a.createElement("rect",{ref:"dpad-left",x:"6",y:"16",width:"12",height:"8",ry:"2",fill:"#cecece",stroke:"none",strokeWidth:"1"}),_.a.createElement("circle",{cx:"20",cy:"20",r:"6",fill:"#cecece"}),_.a.createElement("circle",{ref:"joystick-handle",cx:"20",cy:"20",r:"6",fill:"#333",stroke:"#999",strokeWidth:"2"})))}},{key:"updateDirection",value:function(n,e){n&&n.setAttribute("fill",e?"#249ca3":"#cecece")}},{key:"bindEvents",value:function(n){n&&("undefined"!=typeof window&&window.PointerEvent?this.bindPointerEvents(n):"undefined"!==typeof window&&("ontouchstart"in window||navigator&&navigator.maxTouchPoints>0)?this.bindTouchEvents(n):this.bindMouseEvents(n),this.joystickGestureInterval=setInterval(this.logEvents,5e3))}},{key:"bindPointerEvents",value:function(n){var e=this,s=!1;n.addEventListener("pointerup",function(n){s&&(e.updateJoystickDrag(n.clientX,n.clientY),e.startAnimation()),s=!1}),n.addEventListener("pointerdown",function(n){e.updateJoystickDrag(n.clientX,n.clientY),s=!0}),n.addEventListener("pointermove",function(n){s&&e.updateJoystickDrag(n.clientX,n.clientY)}),n.addEventListener("pointerleave",function(n){s&&(e.updateJoystickDrag(n.clientX,n.clientY),e.startAnimation()),s=!1})}},{key:"bindMouseEvents",value:function(n){var e=this,s=!1;n.addEventListener("mouseup",function(n){s&&(e.updateJoystickDrag(n.clientX,n.clientY),e.startAnimation()),s=!1}),n.addEventListener("mousedown",function(n){e.updateJoystickDrag(n.clientX,n.clientY),s=!0}),n.addEventListener("mousemove",function(n){s&&e.updateJoystickDrag(n.clientX,n.clientY)}),n.addEventListener("mouseleave",function(n){s&&(e.updateJoystickDrag(n.clientX,n.clientY),e.startAnimation()),s=!1})}},{key:"bindTouchEvents",value:function(n){var e,s=this;n.addEventListener("touchend",function(n){if(e){var t=y(n,e);t&&(s.updateJoystickDrag(t.clientX,t.clientY),s.startAnimation(),n.preventDefault())}e=void 0}),n.addEventListener("touchstart",function(n){e=n.changedTouches[0].identifier,s.updateJoystickDrag(n.changedTouches[0].clientX,n.changedTouches[0].clientY)}),n.addEventListener("touchmove",function(n){if(e){var t=y(n,e);t&&(s.updateJoystickDrag(t.clientX,t.clientY),n.preventDefault())}}),n.addEventListener("touchcancel",function(n){if(e){var t=y(n,e);t&&(s.updateJoystickDrag(t.clientX,t.clientY),s.startAnimation())}e=void 0})}},{key:"updateJoystickDrag",value:function(n,e){if(this.joystickHandle){var s=this.refs["joystick-bounds"].getBoundingClientRect(),t=(n-s.left)*(v/s.width)-x,r=(e-s.top)*(v/s.height)-x,_=Math.atan2(r,t),a=Math.min(Math.sqrt(Math.pow(t,2)+Math.pow(r,2)),10);this.setHandlePosition(x+a*Math.cos(_),x+a*Math.sin(_))}}},{key:"startAnimation",value:function(){var n=this;if(this.clearButtonPresses(),this.joystickHandle){this.stopAnimation();this.joystickAnimation=requestAnimationFrame(function e(){var s=n.getHandleDistance();if(s<.5)n.setHandlePosition(x,x,!0),n.stopAnimation();else{var t=n.getHandleAngle();s=Math.max(s-1,0),n.setHandlePosition(x+s*Math.cos(t),x+s*Math.sin(t),!0),n.joystickAnimation=requestAnimationFrame(e)}})}}},{key:"stopAnimation",value:function(){this.joystickAnimation&&(cancelAnimationFrame(this.joystickAnimation),this.joystickAnimation=void 0,this.joystickGestureCount+=1)}},{key:"setHandlePosition",value:function(n,e){var s=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(this.joystickHandle&&(this.joystickHandle.setAttribute("cx",""+n),this.joystickHandle.setAttribute("cy",""+e),this.handleX=n,this.handleY=e,!s))if(this.getHandleDistance()<5)this.clearButtonPresses();else{var r=this.props.simulator,_=this.getHandleAngle(),a=(5+Math.floor(_/(Math.PI/4)-.5))%8;if(a===this.lastOctet)return;this.lastOctet=a;var i=!1,p=!1,m=!1,l=!1;switch(a){case 0:i=!0;break;case 1:i=!0,m=!0;break;case 2:m=!0;break;case 3:m=!0,p=!0;break;case 4:p=!0;break;case 5:p=!0,l=!0;break;case 6:l=!0;break;case 7:i=!0,l=!0}l?r.pressButton(t.Down):r.releaseButton(t.Down),m?r.pressButton(t.Up):r.releaseButton(t.Up),i?r.pressButton(t.Left):r.releaseButton(t.Left),p?r.pressButton(t.Right):r.releaseButton(t.Right)}}},{key:"getHandleAngle",value:function(){return Math.atan2(this.handleY-x,this.handleX-x)}},{key:"getHandleDistance",value:function(){return Math.sqrt(Math.pow(this.handleX-x,2)+Math.pow(this.handleY-x,2))}},{key:"clearButtonPresses",value:function(){var n=this.props.simulator;n.releaseButton(t.Down),n.releaseButton(t.Up),n.releaseButton(t.Left),n.releaseButton(t.Right),this.lastOctet=void 0}}]),e}(_.a.Component);s(24);function k(n,e){for(var s=0;s0)?this.bindTouchEvents(n):this.bindMouseEvents(n),this.buttonPressInterval=setInterval(this.logEvents,5e3))}},{key:"bindPointerEvents",value:function(n){var e=this,s=!1;n.addEventListener("pointerup",function(n){s&&e.clearButtonPresses(),s=!1}),n.addEventListener("pointerdown",function(n){e.updateButtonGesture(n.clientX,n.clientY),s=!0}),n.addEventListener("pointermove",function(n){s&&e.updateButtonGesture(n.clientX,n.clientY)}),n.addEventListener("pointerleave",function(n){s&&e.clearButtonPresses(),s=!1})}},{key:"bindMouseEvents",value:function(n){var e=this,s=!1;n.addEventListener("mouseup",function(n){s&&e.clearButtonPresses(),s=!1}),n.addEventListener("mousedown",function(n){e.updateButtonGesture(n.clientX,n.clientY),s=!0}),n.addEventListener("mousemove",function(n){s&&e.updateButtonGesture(n.clientX,n.clientY)}),n.addEventListener("mouseleave",function(n){s&&e.clearButtonPresses(),s=!1})}},{key:"bindTouchEvents",value:function(n){var e,s=this;n.addEventListener("touchend",function(n){e&&(k(n,e)&&(s.clearButtonPresses(),n.preventDefault()));e=void 0}),n.addEventListener("touchstart",function(n){e=n.changedTouches[0].identifier,s.updateButtonGesture(n.changedTouches[0].clientX,n.changedTouches[0].clientY)}),n.addEventListener("touchmove",function(n){if(e){var t=k(n,e);t&&(s.updateButtonGesture(t.clientX,t.clientY),n.preventDefault())}}),n.addEventListener("touchcancel",function(n){e&&(k(n,e)&&s.clearButtonPresses());e=void 0})}}]),e}(_.a.Component),A=(s(25),function(n){var e=new h;return e.runCode(n.proj.binJs),_.a.createElement("div",{className:"game-player"},_.a.createElement(P,{simulator:e,changeMode:n.changeMode}),_.a.createElement(o,{simulator:e}),_.a.createElement(S,{simulator:e,changeMode:n.changeMode}),_.a.createElement("div",{className:"game-player-background"}),_.a.createElement("div",{className:"game-player-logo"},"MAKECODE"),_.a.createElement("div",{className:"game-player-msft"}),_.a.createElement("div",{className:"game-player-vent"}))}),w=s(6),C=s.n(w),B=s(10),N=s(7),M=(s(27),[".","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"]),D=function(){function n(e,s){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;Object(p.a)(this,n),this.width=e,this.height=s,this.x0=t,this.y0=r,this.buf=void 0,this.buf=new Uint8Array(Math.ceil(e*s/2))}return Object(m.a)(n,[{key:"set",value:function(n,e,s){if(n=0&&e>=0){var t=this.coordToIndex(n,e);this.setCore(t,s)}}},{key:"get",value:function(n,e){if(n=0&&e>=0){var s=this.coordToIndex(n,e);return this.getCore(s)}return 0}},{key:"copy",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.width,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:this.height,_=new n(t,r);_.x0=e,_.y0=s;for(var a=0;a1&&void 0!==arguments[1]&&arguments[1],t=0;t>4}},{key:"setCore",value:function(n,e){var s=Math.floor(n/2);this.buf[s]=n%2===0?240&this.buf[s]|15&e:15&this.buf[s]|(15&e)<<4}}]),n}();function L(n,e){!(n=(n=(n=n.replace(/[ `]|(?:`)|(?: )|(?:img)/g,"").trim()).replace(/^["`\(\)]*/,"").replace(/["`\(\)]*$/,"")).replace(/
/g,"\n"))&&e&&(n=e);for(var s=n.split("\n"),t=[],r=0,_=0;_1)for(;3&_;)p(0)}return r;function d(n){return("0"+n.toString(16)).slice(-2)}}function E(n){if(n){if(6===n.length)return parseInt("0x"+n);if(7===n.length)return parseInt("0x"+n.substr(1))}return 0}function I(n){return n>>16&255}function O(n){return n>>8&255}function R(n){return 255&n}var F=["#000000","#ffffff","#ff2121","#ff93c4","#ff8135","#fff609","#249ca3","#78dc52","#003fad","#87f2ff","#8e2ec4","#a4839f","#5c406c","#e5cdc4","#91463d","#000000"];!function(n){for(var e=[],s=0;s1&&void 0!==arguments[1]?arguments[1]:4,t=F.slice(1),r=document.createElement("canvas"),_=(r.width=n.width*s,r.height=n.height*s,s);e=r.getContext("2d");for(var a=0;a0)}function en(){return"undefined"!=typeof window&&!!window.PointerEvent}!function(n){n[n.userSpaceOnUse=0]="userSpaceOnUse",n[n.objectBoundingBox=1]="objectBoundingBox"}(W||(W={})),function(n){n[n.em=0]="em",n[n.ex=1]="ex",n[n.px=2]="px",n[n.in=3]="in",n[n.cm=4]="cm",n[n.mm=5]="mm",n[n.pt=6]="pt",n[n.pc=7]="pc",n[n.percent=8]="percent"}(z||(z={}));var sn=function(){function n(e){Object(p.a)(this,n),this.el=void 0,this.titleElement=void 0,this.el=kn(e)}return Object(m.a)(n,[{key:"attr",value:function(n){var e=this;return Object.keys(n).forEach(function(s){e.setAttribute(s,n[s])}),this}},{key:"setAttribute",value:function(n,e){return this.el.setAttribute(n,e.toString()),this}},{key:"setAttributeNS",value:function(n,e,s){return this.el.setAttributeNS(n,e,s.toString()),this}},{key:"id",value:function(n){function e(e){return n.apply(this,arguments)}return e.toString=function(){return n.toString()},e}(function(n){return this.setAttribute("id",n)})},{key:"setClass",value:function(){for(var n=arguments.length,e=new Array(n),s=0;s1&&void 0!==arguments[1]?arguments[1]:z.px;return this.setAttribute("width",An(n,e))}},{key:"height",value:function(n){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:z.px;return this.setAttribute("height",An(n,e))}},{key:"corner",value:function(n){return this.corners(n,n)}},{key:"corners",value:function(n,e){return this.setAttribute("rx",n),this.setAttribute("ry",e),this}},{key:"size",value:function(n,e){var s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:z.px;return this.width(n,s),this.height(e,s),this}}]),e}(ln),cn=function(n){function e(){return Object(p.a)(this,e),Object(l.a)(this,Object(d.a)(e).call(this,"circle"))}return Object(c.a)(e,n),Object(m.a)(e,[{key:"at",value:function(n,e){return this.setAttribute("cx",n),this.setAttribute("cy",e),this}},{key:"radius",value:function(n){return this.setAttribute("r",n)}}]),e}(ln),on=function(n){function e(){return Object(p.a)(this,e),Object(l.a)(this,Object(d.a)(e).call(this,"line"))}return Object(c.a)(e,n),Object(m.a)(e,[{key:"at",value:function(n,e,s,t){return this.from(n,e),void 0!=s&&void 0!=t&&this.to(s,t),this}},{key:"from",value:function(n,e){return this.setAttribute("x1",n),this.setAttribute("y1",e),this}},{key:"to",value:function(n,e){return this.setAttribute("x2",n),this.setAttribute("y2",e),this}}]),e}(ln),fn=function(n){function e(){return Object(p.a)(this,e),Object(l.a)(this,Object(d.a)(e).apply(this,arguments))}return Object(c.a)(e,n),Object(m.a)(e,[{key:"points",value:function(n){return this.setAttribute("points",n)}},{key:"with",value:function(n){return this.points(n.map(function(n){return n.x+" "+n.y}).join(","))}}]),e}(ln),gn=function(n){function e(){return Object(p.a)(this,e),Object(l.a)(this,Object(d.a)(e).call(this,"polyline"))}return Object(c.a)(e,n),e}(fn),hn=function(n){function e(){return Object(p.a)(this,e),Object(l.a)(this,Object(d.a)(e).call(this,"polygon"))}return Object(c.a)(e,n),e}(fn),bn=function(n){function e(){var n;return Object(p.a)(this,e),(n=Object(l.a)(this,Object(d.a)(e).call(this,"path"))).d=void 0,n.d=new Sn,n}return Object(c.a)(e,n),Object(m.a)(e,[{key:"update",value:function(){return this.setAttribute("d",this.d.toAttribute())}},{key:"path",value:function(n){return n(this.d),this.update()}}]),e}(ln),vn=function(n){function e(){return Object(p.a)(this,e),Object(l.a)(this,Object(d.a)(e).apply(this,arguments))}return Object(c.a)(e,n),Object(m.a)(e,[{key:"units",value:function(n){return this.setAttribute("gradientUnits",n===W.objectBoundingBox?"objectBoundingBox":"userSpaceOnUse")}},{key:"stop",value:function(n,e,s){var t=kn("stop");return t.setAttribute("offset",n+"%"),void 0!=e&&t.setAttribute("stop-color",e),void 0!=s&&t.setAttribute("stop-opacity",s),this.el.appendChild(t),this}}]),e}(sn),xn=function(n){function e(){return Object(p.a)(this,e),Object(l.a)(this,Object(d.a)(e).call(this,"linearGradient"))}return Object(c.a)(e,n),Object(m.a)(e,[{key:"start",value:function(n,e){return this.setAttribute("x1",n),this.setAttribute("y1",e),this}},{key:"end",value:function(n,e){return this.setAttribute("x2",n),this.setAttribute("y2",e),this}}]),e}(vn),yn=function(n){function e(){return Object(p.a)(this,e),Object(l.a)(this,Object(d.a)(e).call(this,"radialGradient"))}return Object(c.a)(e,n),Object(m.a)(e,[{key:"center",value:function(n,e){return this.setAttribute("cx",n),this.setAttribute("cy",e),this}},{key:"focus",value:function(n,e,s){return this.setAttribute("fx",n),this.setAttribute("fy",e),this.setAttribute("fr",s),this}},{key:"radius",value:function(n){return this.setAttribute("r",n)}}]),e}(vn),Pn=function(n){function e(){return Object(p.a)(this,e),Object(l.a)(this,Object(d.a)(e).call(this,"clipPath"))}return Object(c.a)(e,n),Object(m.a)(e,[{key:"clipPathUnits",value:function(n){return n?this.setAttribute("clipPathUnits","objectBoundingBox"):this.setAttribute("clipPathUnits","userSpaceOnUse")}}]),e}(tn);function kn(n){return document.createElementNS("http://www.w3.org/2000/svg",n)}var Sn=function(){function n(){Object(p.a)(this,n),this.ops=[]}return Object(m.a)(n,[{key:"clear",value:function(){this.ops=[]}},{key:"moveTo",value:function(n,e){return this.op("M",n,e)}},{key:"moveBy",value:function(n,e){return this.op("m",n,e)}},{key:"lineTo",value:function(n,e){return this.op("L",n,e)}},{key:"lineBy",value:function(n,e){return this.op("l",n,e)}},{key:"cCurveTo",value:function(n,e,s,t,r,_){return this.op("C",n,e,s,t,r,_)}},{key:"cCurveBy",value:function(n,e,s,t,r,_){return this.op("c",n,e,s,t,r,_)}},{key:"qCurveTo",value:function(n,e,s,t){return this.op("Q",n,e,s,t)}},{key:"qCurveBy",value:function(n,e,s,t){return this.op("q",n,e,s,t)}},{key:"sCurveTo",value:function(n,e,s,t){return this.op("S",n,e,s,t)}},{key:"sCurveBy",value:function(n,e,s,t){return this.op("s",n,e,s,t)}},{key:"tCurveTo",value:function(n,e){return this.op("T",n,e)}},{key:"tCurveBy",value:function(n,e){return this.op("t",n,e)}},{key:"arcTo",value:function(n,e,s,t,r,_,a){return this.op("A",n,e,s,t?1:0,r?1:0,_,a)}},{key:"arcBy",value:function(n,e,s,t,r,_,a){return this.op("a",n,e,s,t?1:0,r?1:0,_,a)}},{key:"close",value:function(){return this.op("z")}},{key:"toAttribute",value:function(){return this.ops.map(function(n){return n.op+" "+n.args.join(" ")}).join(" ")}},{key:"op",value:function(n){for(var e=arguments.length,s=new Array(e>1?e-1:0),t=1;t0)}!function(n){n[n.Pan=0]="Pan",n[n.Stamp=1]="Stamp",n[n.Erase=2]="Erase"}(wn||(wn={}));var Nn=function(){function n(e,s){Object(p.a)(this,n),this.width=e,this.height=s,this.mask=void 0,this.mask=new Uint8Array(Math.ceil(e*s/8))}return Object(m.a)(n,[{key:"set",value:function(n,e){var s=n+this.width*e,t=s>>3,r=7&s;this.mask[t]|=1<>3,r=7&s;return this.mask[t]>>r&1}}]),n}(),Mn=Cn()?{up:"pointerup",down:["pointerdown"],move:"pointermove",enter:"pointerenter",leave:"pointerleave"}:Bn()?{up:"mouseup",down:["mousedown","touchstart"],move:"touchmove",enter:"touchenter",leave:"touchend"}:{up:"mouseup",down:["mousedown"],move:"mousemove",enter:"mouseenter",leave:"mouseleave"};var Dn;function Ln(n){switch(n){case Dn.Normal:return"p";case Dn.Rectangle:return"r";case Dn.Circle:return"c";case Dn.Fill:return"b";case Dn.Line:return"l";case Dn.Erase:return"e";case Dn.Marquee:return"s";default:return}}!function(n){n[n.Normal=0]="Normal",n[n.Rectangle=1]="Rectangle",n[n.Outline=2]="Outline",n[n.Circle=3]="Circle",n[n.Fill=4]="Fill",n[n.Line=5]="Line",n[n.Erase=6]="Erase",n[n.Marquee=7]="Marquee"}(Dn||(Dn={}));var Tn=function n(e,s){Object(p.a)(this,n),this.width=e,this.height=s,this.offsetX=void 0,this.offsetY=void 0,this.offsetX=-(e>>1),this.offsetY=-(s>>1)},En=function(){function n(e,s,t,r){Object(p.a)(this,n),this.canvasWidth=e,this.canvasHeight=s,this.color=t,this.toolWidth=r,this.startCol=void 0,this.startRow=void 0,this.isStarted=void 0,this.showPreview=void 0}return Object(m.a)(n,[{key:"doEdit",value:function(n){this.isStarted&&this.doEditCore(n)}},{key:"start",value:function(n,e,s){this.isStarted=!0,this.startCol=n,this.startRow=e,s.mergeFloatingLayer()}},{key:"end",value:function(n,e,s){}},{key:"getCursor",value:function(){return new Tn(this.toolWidth,this.toolWidth)}},{key:"drawCursor",value:function(n,e,s){s(n,e)}}]),n}(),In=function(n){function e(){var n,s;Object(p.a)(this,e);for(var t=arguments.length,r=new Array(t),_=0;_0?1:-1,m=a>0?1:-1,l=Math.abs(a/_),d=0,u=e,c=n;p>0?c<=s:c>=s;c+=p)for(this.drawCore(c,u,i),d+=l;d>=.5;)(m>0?u<=t:u>=t)&&this.drawCore(c,u,i),u+=m,d-=1;else for(var o=a>=0?t:e,f=a>=0?e:t;f<=o;f++)this.drawCore(n,f,i)}},{key:"doEditCore",value:function(n){for(var e=0;e=0&&_=0&&a>1,e.y-=this.toolWidth>>1;var s=this.bottomRight();s.x+=this.toolWidth>>1,s.y+=this.toolWidth>>1;for(var t=0;ts.x||e.y>s.y)){for(var t=e.x;t<=s.x;t++)n.image.set(t,e.y,this.color),n.image.set(t,s.y,this.color);for(var r=e.y;r<=s.y;r++)n.image.set(e.x,r,this.color),n.image.set(s.x,r,this.color)}}},{key:"drawCursor",value:function(n,e,s){this.drawCore(n,e,s)}},{key:"drawCore",value:function(n,e,s){n-=Math.floor(this.toolWidth/2),e-=Math.floor(this.toolWidth/2);for(var t=0;t=0&&_=0&&a0?1:-1,l=i>0?1:-1,d=Math.abs(i/a),u=0,c=e,o=n;m>0?o<=s:o>=s;o+=m)for(this.drawCore(o,c,p),u+=d;u>=.5;)(l>0?c<=t:c>=t)&&this.drawCore(o,c,p),c+=l,u-=1;else for(var f=i>=0?t:e,g=i>=0?e:t;g<=f;g++)this.drawCore(n,g,p)}},{key:"drawCursor",value:function(n,e,s){this.drawCore(n,e,s)}},{key:"drawCore",value:function(n,e,s){n-=Math.floor(this.toolWidth/2),e-=Math.floor(this.toolWidth/2);for(var t=0;t=_;)t.image.set(n+r,e+_,this.color),t.image.set(n+r,e-_,this.color),t.image.set(n+_,e+r,this.color),t.image.set(n+_,e-r,this.color),t.image.set(n-_,e+r,this.color),t.image.set(n-_,e-r,this.color),t.image.set(n-r,e+_,this.color),t.image.set(n-r,e-_,this.color),p<=0&&(_++,p+=i,i+=2),p>0&&(r--,p+=(a+=2)-2*s)}},{key:"getCursor",value:function(){return new Tn(1,1)}}]),e}(In),jn=function(n){function e(){var n,s;Object(p.a)(this,e);for(var t=arguments.length,r=new Array(t),_=0;_=0&&n=0&&e2&&void 0!==arguments[2]?arguments[2]:e+zn-Wn);return new Xn(s,n,"sprite-editor-icon")}function Jn(n,e){var s=se(e,arguments.length>2&&void 0!==arguments[2]?arguments[2]:e+zn-Wn);return new Xn(s,n,"sprite-editor-xicon")}function Qn(n,e,s,t,r){var _=(new _n).appendClass("sprite-editor-button"),a=_.draw("path").appendClass("sprite-editor-button-bg");a.d.moveTo(r,0).lineBy(n-r,0).lineBy(0,e).lineBy(-(n-r),0).arcBy(r,r,0,!1,!0,-r,-r).lineBy(0,-(e-(r<<1))).arcBy(r,r,0,!1,!0,r,-r).close(),a.update();var i=_.draw("path").appendClass("sprite-editor-button-fg");return i.d.moveTo(t+r,t).lineBy(n-t-r,0).lineBy(0,e-s-t).lineBy(-(n-t-r),0).arcBy(r,r,0,!1,!0,-r,-r).lineBy(0,-(e-s-t-(r<<1))).arcBy(r,r,0,!1,!0,r,-r).close(),i.update(),{root:_,cx:t+(n-t)/2,cy:t+(e-s)/2}}var Zn=function(){function n(e,s){var t=this;Object(p.a)(this,n),this.root=void 0,this.selected=void 0,this.buttons=void 0,this.indexHandler=void 0,this.root=e.group();var r=[4,7,10];this.buttons=te(65,21,3).map(function(n,e){return new qn(n.root,n.cx,n.cy,r[e])}),this.buttons.forEach(function(n,e){n.onClick(function(){return t.handleClick(e)}),n.title(function(n){switch(n){case 0:return"Small Cursor";case 1:return"Medium Cursor";case 2:return"Large Cursor"}return}(e)),t.root.appendChild(n.getElement())})}return Object(m.a)(n,[{key:"handleClick",value:function(n){n!==this.selected&&(void 0!=this.selected&&this.buttons[this.selected].setSelected(!1),this.selected=n,void 0!=this.selected&&this.buttons[this.selected].setSelected(!0),this.indexHandler&&this.indexHandler(n))}},{key:"onSelected",value:function(n){this.indexHandler=n}}]),n}(),$n=function(){function n(e,s,t,r){var _=this;Object(p.a)(this,n),this.root=void 0,this.undo=void 0,this.redo=void 0,this.host=void 0,this.root=e.group(),this.host=s;var a=te(t,r,2),i=Object(Hn.a)(a,2),m=i[0],l=i[1];this.undo=new Xn(m,"\uf118","sprite-editor-xicon"),this.undo.onClick(function(){return _.host.undo()}),this.root.appendChild(this.undo.getElement()),this.redo=new Xn(l,"\uf111","sprite-editor-xicon"),this.redo.onClick(function(){return _.host.redo()}),this.root.appendChild(this.redo.getElement())}return Object(m.a)(n,[{key:"translate",value:function(n,e){this.root.translate(n,e)}},{key:"updateState",value:function(n,e){this.undo.setDisabled(n),this.redo.setDisabled(e)}}]),n}();function ne(n,e,s,t){var r=(new _n).appendClass("sprite-editor-button");r.draw("rect").appendClass("sprite-editor-button-bg").size(n,e),r.draw("rect").appendClass("sprite-editor-button-fg").size(n-t,e-s-t).at(t,t);return{root:r,cx:t+(n-t)/2,cy:t+(e-s)/2}}function ee(n,e,s,t,r){var _=(new _n).appendClass("sprite-editor-button"),a=_.draw("path").appendClass("sprite-editor-button-bg");a.d.moveTo(0,0).lineBy(n-r,0).arcBy(r,r,0,!1,!0,r,r).lineBy(0,e-(r<<1)).arcBy(r,r,0,!1,!0,-r,r).lineBy(-(n-r),0).lineBy(0,-e).close(),a.update();var i=_.draw("path").appendClass("sprite-editor-button-fg");return i.d.moveTo(t,t).lineBy(n-t-r,0).arcBy(r,r,0,!1,!0,r,r).lineBy(0,e-t-s-(r<<1)).arcBy(r,r,0,!1,!0,-r,r).lineBy(-(n-t-r),0).lineBy(0,-(e-t-s)).close(),i.update(),_.group().id("sprite-editor-button-content").translate(t+(n-(t<<1))>>1,e-s-t>>1),{root:_,cx:n/2,cy:t+(e-s)/2}}function se(n,e){var s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:zn,t=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Wn,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:Un,_=(new _n).appendClass("sprite-editor-button");return _.draw("rect").size(n,e).corners(r,r).appendClass("sprite-editor-button-bg"),_.draw("rect").at(t,t).size(n-(t<<1),e-s-t).corners(r,r).appendClass("sprite-editor-button-fg"),{root:_,cx:n/2,cy:t+(e-s)/2}}function te(n,e,s){for(var t=arguments.length>3&&void 0!==arguments[3]?arguments[3]:zn,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:Wn,_=arguments.length>5&&void 0!==arguments[5]?arguments[5]:Un,a=n-(s+1)*r,i=Math.floor(a/s),p=[],m=0;m>1)),this.paletteGroup.def().create("clipPath","sprite-editor-selected-color").clipPathUnits(!0).draw("rect").at(0,0).size(1,1),this.colorPreview=this.paletteGroup.draw("rect").at(1,1).size(63,30),this.colorSwatches=[];for(var e=function(e){var s=e%2,t=Math.floor(e/2),r=n.paletteGroup.draw("rect").size(31,31).at(s?33:1,40+32*t).fill(n.palette[e]).clipPath("url(#sprite-editor-selected-color)").onClick(function(){f("shareExperiment.mod.setColor",{color:e}),n.setColor(e)});r.title("".concat(e)),n.colorSwatches.push(r)},s=0;s3&&void 0!==arguments[3]&&arguments[3],_=r?Jn(e,31):Kn(e,31),a=Ln(s);return a&&_.shortcut(a),_.title(n),_.onClick(function(){t.host.setIconsToDefault(),t.setTool(s),f("shareExperiment.mod.changeTool",{tool:Dn[s].toLowerCase()})}),this.buttonGroup.appendChild(_.getElement()),_}},{key:"getButtonForTool",value:function(n){switch(n){case Dn.Normal:case Dn.Line:return this.pencilTool;case Dn.Erase:return this.eraseTool;case Dn.Fill:return this.fillTool;case Dn.Rectangle:case Dn.Circle:return this.rectangleTool;case Dn.Marquee:return this.marqueeTool;default:return}}}]),n}(),de="#dedede",ue=function(){function n(e,s){var t=this,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],_=arguments.length>3?arguments[3]:void 0;Object(p.a)(this,n),this.palette=e,this.state=s,this.lightMode=r,this.cellWidth=16,this.cellHeight=16,this.gesture=void 0,this.context=void 0,this.fadeAnimation=void 0,this.selectAnimation=void 0,this.backgroundLayer=void 0,this.paintLayer=void 0,this.overlayLayer=void 0,this.mouseCol=void 0,this.mouseRow=void 0,this.scale=void 0,this.upHandler=function(n){t.endDrag();var e=t.clientEventToCell(n),s=Object(Hn.a)(e,2),r=s[0],_=s[1];t.gesture.handle(_e.Up,r,_),n.stopPropagation(),n.preventDefault()},this.leaveHandler=function(n){t.endDrag();var e=t.clientEventToCell(n),s=Object(Hn.a)(e,2),r=s[0],_=s[1];t.gesture.handle(_e.Leave,r,_),n.stopPropagation(),n.preventDefault()},this.moveHandler=function(n){var e=t.clientEventToCell(n),s=Object(Hn.a)(e,2),r=s[0],_=s[1];r>=0&&_>=0&&r=0&&_>=0&&r3&&void 0!==arguments[3]&&arguments[3];n.doEdit(this.state),this.drawCursor(n,e,s)}},{key:"drawCursor",value:function(n,e,s){var t=this,r=n.getCursor();r?(this.repaint(),n.showPreview&&n.drawCursor(e,s,function(e,s){t.drawColor(e,s,n.color)}),this.context.strokeStyle="#898989",this.context.strokeRect((e+r.offsetX)*this.cellWidth,(s+r.offsetY)*this.cellHeight,r.width*this.cellWidth,r.height*this.cellHeight)):n.isStarted&&this.repaint()}},{key:"bitmap",value:function(){return this.image}},{key:"outerWidth",value:function(){return this.paintLayer.getBoundingClientRect().width}},{key:"outerHeight",value:function(){return this.paintLayer.getBoundingClientRect().height}},{key:"writeColor",value:function(n,e,s){this.image.set(n,e,s),this.drawColor(n,e,s)}},{key:"drawColor",value:function(n,e,s){var t=arguments.length>3&&void 0!==arguments[3]?arguments[3]:this.context,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:!this.lightMode,_=n*this.cellWidth,a=e*this.cellHeight;s?(t.fillStyle=this.palette[s-1],t.fillRect(_,a,this.cellWidth,this.cellHeight)):r||(t.fillStyle=de,t.fillRect(_,a,this.cellWidth,this.cellHeight))}},{key:"restore",value:function(n){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];n.height!=this.image.height||n.width!=this.image.width?(this.state=n.copy(),this.resizeGrid(n.width,n.width*n.height)):this.state=n.copy(),e&&this.repaint()}},{key:"showResizeOverlay",value:function(){var n=this;if(!this.lightMode){this.fadeAnimation&&this.fadeAnimation.kill(),this.showOverlay(),this.stopSelectAnimation();var e=this.overlayLayer.width,s=this.overlayLayer.height,t=this.overlayLayer.getContext("2d"),r=e/2-50,_=s/2-25;this.fadeAnimation=new oe(function(a,i){if(i)n.drawFloatingLayer();else{if(n.clearContext(t),t.globalAlpha=a,t.fillStyle="#898989",n.image.width<=32&&n.image.height<=32){for(var p=1;p1&&void 0!==arguments[1]?arguments[1]:n,s=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],t=n/this.image.width,r=e/this.image.height;if(s){var _=this.cellWidth/this.cellHeight;if(_>=1){var a=Math.min(t,r*_);this.setCellDimensions(a,a*_)}else{var i=Math.min(r,t/_);this.setCellDimensions(i/_,i)}}else this.setCellDimensions(t,r)}},{key:"down",value:function(n){this.initDragSurface(),this.gesture.subscribe(ae.Down,n)}},{key:"up",value:function(n){this.initDragSurface(),this.gesture.subscribe(ae.Up,n)}},{key:"drag",value:function(n){this.initDragSurface(),this.gesture.subscribe(ae.Drag,n)}},{key:"move",value:function(n){this.initDragSurface(),this.gesture.subscribe(ae.Move,n)}},{key:"leave",value:function(n){this.initDragSurface(),this.gesture.subscribe(ae.Leave,n)}},{key:"updateBounds",value:function(n,e,s,t){this.layoutCanvas(this.paintLayer,n,e,s,t),this.layoutCanvas(this.overlayLayer,n,e,s,t),this.lightMode||this.layoutCanvas(this.backgroundLayer,n,e,s,t),this.drawImage(),this.drawBackground()}},{key:"render",value:function(n){this.lightMode||n.appendChild(this.backgroundLayer),n.appendChild(this.paintLayer),n.appendChild(this.overlayLayer)}},{key:"removeMouseListeners",value:function(){this.stopSelectAnimation(),this.fadeAnimation&&this.fadeAnimation.kill(),this.endDrag()}},{key:"onEditStart",value:function(n,e,s){s.start(n,e,this.state)}},{key:"onEditEnd",value:function(n,e,s){s.end(n,e,this.state),this.drawFloatingLayer()}},{key:"drawImage",value:function(){for(var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.image,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.context,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,t=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:!this.lightMode,_=0;_0&&void 0!==arguments[0]?arguments[0]:0;if(this.state.floatingLayer){this.showOverlay();var s=this.overlayLayer.getContext("2d");if(this.clearContext(s),s.globalAlpha=1,s.strokeStyle="#303030",s.lineWidth=2,s.setLineDash([5,3]),s.lineDashOffset=e,s.strokeRect(this.state.layerOffsetX*this.cellWidth,this.state.layerOffsetY*this.cellHeight,this.state.floatingLayer.width*this.cellWidth,this.state.floatingLayer.height*this.cellHeight),!this.lightMode&&!this.selectAnimation&&(!this.fadeAnimation||this.fadeAnimation.dead)){var t=function(){e++,requestAnimationFrame(function(){return n.drawSelectionAnimation(e)})};this.selectAnimation=window.setInterval(t,40)}}else this.hideOverlay()}},{key:"clearContext",value:function(n){n.clearRect(0,0,this.paintLayer.width,this.paintLayer.height)}},{key:"initDragSurface",value:function(){this.gesture||(this.gesture=new ce,this.bindEvents(this.paintLayer),this.bindEvents(this.overlayLayer),document.addEventListener(Mn.move,this.hoverHandler))}},{key:"bindEvents",value:function(n){var e=this;Mn.down.forEach(function(s){n.addEventListener(s,function(n){e.startDrag();var s=e.clientEventToCell(n),t=Object(Hn.a)(s,2),r=t[0],_=t[1];e.gesture.handle(_e.Down,r,_)})})}},{key:"startDrag",value:function(){document.removeEventListener(Mn.move,this.hoverHandler),document.addEventListener(Mn.move,this.moveHandler),document.addEventListener(Mn.up,this.upHandler),Bn()&&!Cn()?(document.addEventListener("touchend",this.upHandler),document.addEventListener("touchcancel",this.leaveHandler)):document.addEventListener(Mn.leave,this.leaveHandler)}},{key:"endDrag",value:function(){document.addEventListener(Mn.move,this.hoverHandler),document.removeEventListener(Mn.move,this.moveHandler),document.removeEventListener(Mn.up,this.upHandler),document.removeEventListener(Mn.leave,this.leaveHandler),Bn()&&!Cn()?(document.removeEventListener("touchend",this.upHandler),document.removeEventListener("touchcancel",this.leaveHandler)):document.removeEventListener(Mn.leave,this.leaveHandler)}},{key:"layoutCanvas",value:function(n,e,s,t,r){}},{key:"stopSelectAnimation",value:function(){this.selectAnimation&&(clearInterval(this.selectAnimation),this.selectAnimation=void 0)}},{key:"image",get:function(){return this.state.image}}]),n}();!function(n){n[n.Up=0]="Up",n[n.Down=1]="Down",n[n.Move=2]="Move",n[n.Leave=3]="Leave"}(_e||(_e={})),function(n){n[n.Up=0]="Up",n[n.Down=1]="Down",n[n.Move=2]="Move",n[n.Drag=3]="Drag",n[n.Leave=4]="Leave"}(ae||(ae={}));var ce=function(){function n(){Object(p.a)(this,n),this.lastCol=void 0,this.lastRow=void 0,this.isDown=!1,this.isHover=!1,this.handlers={}}return Object(m.a)(n,[{key:"handle",value:function(n,e,s){switch(n){case _e.Up:this.update(e,s),this.isDown=!1,this.fire(ae.Up);break;case _e.Down:this.isDown||(this.update(e,s),this.isDown=!0,this.fire(ae.Down));break;case _e.Move:if(e===this.lastCol&&s===this.lastRow)return;this.update(e,s),this.isDown?this.fire(ae.Drag):this.fire(ae.Move);break;case _e.Leave:this.update(e,s),this.isDown=!1,this.fire(ae.Leave)}}},{key:"subscribe",value:function(n,e){this.handlers[n]=e}},{key:"update",value:function(n,e){this.lastCol=n,this.lastRow=e}},{key:"fire",value:function(n){this.handlers[n]&&this.handlers[n](this.lastCol,this.lastRow)}}]),n}(),oe=function(){function n(e,s,t){var r=this;Object(p.a)(this,n),this.draw=e,this.start=void 0,this.end=void 0,this.slope=void 0,this.dead=void 0,this.start=Date.now()+s,this.end=this.start+t,this.slope=1/t,this.dead=!1,e(1,!1),setTimeout(function(){return requestAnimationFrame(function(){return r.frame()})},s)}return Object(m.a)(n,[{key:"frame",value:function(){var n=this;if(!this.dead){var e=Date.now();if(e4&&void 0!==arguments[4]&&arguments[4];if(0!==s&&0!==t&&(s<0&&(n+=s,s=-s),t<0&&(e+=t,t=-t),this.floatingLayer=this.image.copy(n,e,s,t),this.layerOffsetX=this.floatingLayer.x0,this.layerOffsetY=this.floatingLayer.y0,r))for(var _=0;_=0&&n=0&&e2&&void 0!==arguments[2]&&arguments[2],_=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;Object(p.a)(this,n),this.lightMode=r,this.scale=_,this.group=void 0,this.toolbarRoot=void 0,this.paintSurface=void 0,this.sidebar=void 0,this.header=void 0,this.state=void 0,this.cachedState=void 0,this.edit=void 0,this.activeTool=Dn.Normal,this.toolWidth=1,this.color=1,this.cursorCol=0,this.cursorRow=0,this.undoStack=[],this.redoStack=[],this.undoRedo=void 0,this.columns=16,this.rows=16,this.shiftDown=!1,this.altDown=!1,this.mouseDown=!1,this.closeHandler=void 0,this.paintGestureCount=0,this.paintGestureInterval=void 0,this.logEvents=function(){t.paintGestureCount>0&&(f("shareExperiment.mod.paintGestureUp",{count:t.paintGestureCount}),t.paintGestureCount=0)},this.cleanupInterval=function(){clearInterval(t.paintGestureInterval),t.paintGestureInterval=null},this.keyDown=function(n){if(16==n.keyCode&&(t.shiftDown=!0,t.shiftAction()),18===n.keyCode&&(t.discardEdit(),t.paintSurface.setEyedropperMouse(!0),t.altDown=!0),t.state.floatingLayer){var e=!0;switch(n.keyCode){case 8:case 46:n.preventDefault(),n.stopPropagation(),t.state.floatingLayer=void 0;break;case 37:t.state.layerOffsetX--;break;case 38:t.state.layerOffsetY--;break;case 39:t.state.layerOffsetX++;break;case 40:t.state.layerOffsetY++;break;default:e=!1}e&&(t.updateEdit(),t.pushState(!0),t.paintSurface.restore(t.state,!0))}[Dn.Fill,Dn.Normal,Dn.Rectangle,Dn.Erase,Dn.Circle,Dn.Line,Dn.Marquee].forEach(function(e){n.key===Ln(e)&&(t.setIconsToDefault(),t.switchIconTo(e),t.sidebar.setTool(e))});if(n.keyCode>=48&&n.keyCode<=57){var s=n.keyCode-48;t.shiftDown&&(s+=9),s<=ge.length&&t.sidebar.setColor(s)}},this.keyUp=function(n){16===n.keyCode?(t.shiftDown=!1,t.clearShiftAction()):18===n.keyCode&&(t.altDown=!1,t.paintSurface.setEyedropperMouse(!1),t.updateEdit())},this.undoRedoEvent=function(n){var e=n.ctrlKey||n.metaKey;"Undo"===n.key||e&&"z"===n.key?(t.undo(),n.preventDefault(),n.stopPropagation()):("Redo"===n.key||e&&"y"===n.key)&&(t.redo(),n.preventDefault(),n.stopPropagation())},this.columns=e.width,this.rows=e.height,this.state=new fe(e.copy()),this.toolbarRoot=new rn,this.toolbarRoot.setClass("sprite-canvas-controls"),this.group=this.toolbarRoot.group(),this.createDefs(),this.paintSurface=new ue(ge,this.state.copy(),this.lightMode,this.scale),this.paintSurface.drag(function(n,e){t.debug("gesture ("+Dn[t.activeTool]+")"),t.altDown||t.setCell(n,e,t.color,!1)}),this.paintGestureInterval=setInterval(this.logEvents,5e3),this.paintSurface.up(function(n,e){if(t.debug("gesture end ("+Dn[t.activeTool]+")"),t.paintGestureCount+=1,t.altDown){var s=t.state.image.get(n,e);t.sidebar.setColor(s)}else t.paintSurface.onEditEnd(n,e,t.edit),t.state.floatingLayer&&!t.paintSurface.state.floatingLayer&&(t.pushState(!0),t.state=t.paintSurface.state.copy(),t.rePaint()),t.commit(),t.shiftAction();t.mouseDown=!1}),this.paintSurface.down(function(n,e){t.altDown||t.setCell(n,e,t.color,!1),t.mouseDown=!0}),this.paintSurface.move(function(n,e){t.drawCursor(n,e),t.shiftAction()}),this.paintSurface.leave(function(){t.edit&&(t.rePaint(),t.edit.isStarted&&!t.shiftDown&&t.commit())}),this.sidebar=new le(['url("#alpha-background")'].concat(ge),this,this.group),this.sidebar.setColor(ge.length>=3?3:1),this.updateUndoRedo(),this.scale=_}return Object(m.a)(n,[{key:"setSidebarColor",value:function(n){this.sidebar.setColor(n)}},{key:"setCell",value:function(n,e,s,t){t?(this.state.image.set(n,e,s),this.paintCell(n,e,s)):this.edit&&(this.edit.isStarted||(this.paintSurface.onEditStart(n,e,this.edit),this.state.floatingLayer&&!this.paintSurface.state.floatingLayer&&(this.pushState(!0),this.state=this.paintSurface.state.copy())),this.edit.update(n,e),this.cursorCol=n,this.cursorRow=e,this.paintEdit(this.edit,n,e))}},{key:"render",value:function(n){n.appendChild(this.toolbarRoot.el),this.layout();var e=document.createElement("div");e.setAttribute("class","sprite-canvas-container"),n.appendChild(e),this.paintSurface.render(e)}},{key:"layout",value:function(){if(this.toolbarRoot){this.paintSurface.setGridDimensions(452);this.paintSurface.updateBounds(10,85,452,452)}}},{key:"rePaint",value:function(){this.paintSurface.repaint()}},{key:"setActiveColor",value:function(n){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];e||this.color!=n&&(this.color=n,this.activeTool===Dn.Erase?this.sidebar.setTool(Dn.Normal):this.updateEdit())}},{key:"setActiveTool",value:function(n){this.activeTool!=n&&(this.activeTool=n,this.updateEdit())}},{key:"setToolWidth",value:function(n){this.toolWidth!=n&&(this.toolWidth=n,this.updateEdit())}},{key:"initializeUndoRedo",value:function(n,e){n&&(this.undoStack=n),e&&(this.redoStack=e),this.updateUndoRedo()}},{key:"getUndoStack",value:function(){return this.undoStack.slice()}},{key:"getRedoStack",value:function(){return this.redoStack.slice()}},{key:"undo",value:function(){if(this.undoStack.length){this.debug("undo"),f("shareExperiment.mod.undo");var n=this.undoStack.pop();if(this.pushState(!1),n.equals(this.state))return void this.undo();this.restore(n)}this.updateUndoRedo()}},{key:"redo",value:function(){if(this.redoStack.length){this.debug("redo"),f("shareExperiment.mod.redo");var n=this.redoStack.pop();this.pushState(!0),this.restore(n)}this.updateUndoRedo()}},{key:"resize",value:function(n,e){this.cachedState||(this.cachedState=this.state.copy(),this.undoStack.push(this.cachedState),this.redoStack=[]),this.state.image=function(n,e,s){var t=new D(e,s);return t.apply(n),t}(this.cachedState.image,n,e),this.afterResize(!0)}},{key:"setSizePresets",value:function(n){}},{key:"canvasWidth",value:function(){return this.columns}},{key:"canvasHeight",value:function(){return this.rows}},{key:"outerWidth",value:function(){return 539}},{key:"outerHeight",value:function(){return 465}},{key:"bitmap",value:function(){return this.state}},{key:"showGallery",value:function(){}},{key:"hideGallery",value:function(){}},{key:"closeEditor",value:function(){if(this.closeHandler){var n=this.closeHandler;this.closeHandler=void 0,n()}this.state.floatingLayer&&(this.state.mergeFloatingLayer(),this.pushState(!0))}},{key:"onClose",value:function(n){this.closeHandler=n}},{key:"switchIconTo",value:function(n){var e=this;if(this.activeTool!==n){var s=this.sidebar.getButtonForTool(n);switch(n){case Dn.Rectangle:t(s,"\uf096","Rectangle");break;case Dn.Circle:t(s,"\uf10c","Circle");break;case Dn.Normal:t(s,"\uf040","Pencil");break;case Dn.Line:t(s,"\uf07e","Line");break;default:return}s.onClick(function(){n!=Dn.Circle&&n!=Dn.Line&&(e.setIconsToDefault(),e.sidebar.setTool(n))})}function t(e,s,t){var r=Ln(n);e.setText(s),e.title(t),e.shortcut(r)}}},{key:"setIconsToDefault",value:function(){this.switchIconTo(Dn.Rectangle),this.switchIconTo(Dn.Normal)}},{key:"addKeyListeners",value:function(){document.addEventListener("keydown",this.keyDown),document.addEventListener("keyup",this.keyUp),document.addEventListener("keydown",this.undoRedoEvent,!0)}},{key:"removeKeyListeners",value:function(){document.removeEventListener("keydown",this.keyDown),document.removeEventListener("keyup",this.keyUp),document.removeEventListener("keydown",this.undoRedoEvent,!0),this.paintSurface.removeMouseListeners()}},{key:"afterResize",value:function(n){this.columns=this.state.width,this.rows=this.state.height,this.paintSurface.restore(this.state,!0),this.layout(),n&&this.paintSurface.showResizeOverlay(),this.updateEdit()}},{key:"drawCursor",value:function(n,e){this.edit&&this.paintSurface.drawCursor(this.edit,n,e)}},{key:"paintEdit",value:function(n,e,s){var t=arguments.length>3&&void 0!==arguments[3]&&arguments[3];this.paintSurface.restore(this.state),this.paintSurface.applyEdit(n,e,s,t)}},{key:"commit",value:function(){this.edit&&(this.cachedState&&(this.cachedState=void 0),this.pushState(!0),this.paintEdit(this.edit,this.cursorCol,this.cursorRow,!0),this.state=this.paintSurface.state.copy(),this.updateEdit(),this.redoStack=[])}},{key:"pushState",value:function(n){var e=n?this.undoStack:this.redoStack;e.length&&this.state.equals(e[e.length-1])||(e.push(this.state.copy()),this.updateUndoRedo())}},{key:"discardEdit",value:function(){this.edit&&(this.edit=void 0,this.rePaint())}},{key:"updateEdit",value:function(){this.altDown||(this.edit=this.newEdit())}},{key:"restore",value:function(n){n.width!==this.state.width||n.height!==this.state.height?(this.state=n,this.afterResize(!1)):(this.state=n.copy(),this.paintSurface.restore(n,!0))}},{key:"updateUndoRedo",value:function(){this.sidebar.updateUndoRedo(0===this.undoStack.length,0===this.redoStack.length)}},{key:"paintCell",value:function(n,e,s){this.paintSurface.writeColor(n,e,s)}},{key:"newEdit",value:function(){switch(this.activeTool){case Dn.Normal:return new On(this.columns,this.rows,this.color,this.toolWidth);case Dn.Rectangle:case Dn.Outline:return new Rn(this.columns,this.rows,this.color,this.toolWidth);case Dn.Line:return new Fn(this.columns,this.rows,this.color,this.toolWidth);case Dn.Circle:return new Yn(this.columns,this.rows,this.color,this.toolWidth);case Dn.Erase:return new On(this.columns,this.rows,0,this.toolWidth);case Dn.Fill:return new jn(this.columns,this.rows,this.color,this.toolWidth);case Dn.Marquee:return new Vn(this.columns,this.rows,this.color,this.toolWidth)}}},{key:"shiftAction",value:function(){if(this.shiftDown&&!this.altDown)switch(this.activeTool){case Dn.Line:case Dn.Rectangle:case Dn.Circle:this.setCell(this.paintSurface.mouseCol,this.paintSurface.mouseRow,this.color,!1)}}},{key:"clearShiftAction",value:function(){if(!this.mouseDown)switch(this.activeTool){case Dn.Line:case Dn.Rectangle:case Dn.Circle:this.updateEdit(),this.paintSurface.restore(this.state,!0)}}},{key:"debug",value:function(n){}},{key:"createDefs",value:function(){this.toolbarRoot.define(function(n){var e=n.create("pattern","alpha-background").size(10,10).units(W.userSpaceOnUse);e.draw("rect").at(0,0).size(10,10).fill("white"),e.draw("rect").at(0,0).size(5,5).fill("#dedede"),e.draw("rect").at(5,5).size(5,5).fill("#dedede")})}}]),n}(),be=(s(31),function(n){var e=H(n.img);return _.a.createElement("div",{className:"item",style:{backgroundColor:"blue"},onClick:n.onClick},_.a.createElement("img",{src:e}))}),ve=function(n){function e(n){var s;return Object(p.a)(this,e),(s=Object(l.a)(this,Object(d.a)(e).call(this,n))).spriteGallery=void 0,s.state={},s}return Object(c.a)(e,n),Object(m.a)(e,[{key:"componentDidMount",value:function(){this.spriteGallery=this.refs["sprite-gallery"]}},{key:"componentWillUnmount",value:function(){this.spriteGallery=void 0}},{key:"clickHandler",value:function(n){this.props.onClick(this.props.options[n],n)}},{key:"render",value:function(){var n=this,e=this.props.options.map(function(e,s){return _.a.createElement(be,{key:e.buf.toString(),img:e,onClick:n.clickHandler.bind(n,s)})});return _.a.createElement("div",{ref:"sprite-gallery",className:"sprite-gallery"},e)}}]),e}(_.a.Component),xe=function(n){function e(n){var s;return Object(p.a)(this,e),(s=Object(l.a)(this,Object(d.a)(e).call(this,n))).spriteEditorHolder=void 0,s.editor=void 0,s.state={},s}return Object(c.a)(e,n),Object(m.a)(e,[{key:"componentDidMount",value:function(){this.spriteEditorHolder=this.refs["sprite-editor-holder"],this.renderSpriteEditor()}},{key:"componentWillUnmount",value:function(){this.removeSpriteEditor(),this.spriteEditorHolder=void 0}},{key:"componentDidUpdate",value:function(){this.editor.logEvents(),this.editor.cleanupInterval(),this.removeSpriteEditor(),this.renderSpriteEditor()}},{key:"removeSpriteEditor",value:function(){var n=this,e=[],s=!0,t=!1,r=void 0;try{for(var _,a=this.spriteEditorHolder.children[Symbol.iterator]();!(s=(_=a.next()).done);s=!0){var i=_.value;e.push(i)}}catch(p){t=!0,r=p}finally{try{s||null==a.return||a.return()}finally{if(t)throw r}}e.filter(function(n){return"sprite-gallery"!==n.className}).forEach(function(e){return n.spriteEditorHolder.removeChild(e)}),this.editor=null}},{key:"renderSpriteEditor",value:function(){var n=this,e=this.props.startImage,s=this.editor=new he(e,null,!1,this.props.scale);s.render(this.spriteEditorHolder),document.getElementsByClassName("sprite-canvas-controls")[0].setAttribute("viewBox","".concat(0," ",0," ",65," ").concat(me)),s.rePaint(),s.setActiveColor(1,!0),s.setSizePresets([[8,8],[16,16],[32,32],[10,8]]),this.spriteEditorHolder.className=" sprite-editor-container sprite-editor-dropdown-bg sprite-editor-dropdown",s.addKeyListeners(),s.onClose(function(){n.props.onPlay()})}},{key:"render",value:function(){var n=this.props.galleryProps;return _.a.createElement("div",{ref:"sprite-editor-holder"},_.a.createElement(ve,{options:n.options,onClick:n.onClick,height:n.height}))}}]),e}(_.a.Component),ye="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAAGKElEQVR4Xu2aMRYdJwxF7W2k9wbSpkqbBbtNk5TJBlI720jO+HhyMIFBgEBIc93ZZgR6744EzP/45Y/f/vnAHxQwUuAjABopz7RfFQBAQDBVAABN5WdyAIQBUwUA0FR+JgdAGDBVAABN5WdyAIQBUwUA0FR+JgdAGDBVAABN5WdyAIQBUwUA0FR+JgdAGDBVAABN5WdyAIQBUwUA0FR+JgdAGDBVAABN5WdyAIQBUwUA0FR+JncB4A8//vSdU3//+TvOBVHgGABrkOX/fusOhDEINAewBphEXiCUqHT2GDMAZ8BLJY0MYUmjaPmaAKgFX+R2/KRRJAi3AagNXd5Yopgi1SlKvlsAlIo6s1vxasiMNl5zTn1eDuCMwCNAejBFSxMPubY8XAqgltCtJDy14x2aeAJzGYA7hH4C80QTdmpyYv4lv8ICeCV7mgkA+H8ElwC4U2hPVXC3Lqe9gNsq4G6hPUBooQkA9p4eFow/xQQLAE/chuQWq7ZgK5GpgHUFTnkBaytUAxD46hBYa3MyhCoAWgtcst5K9BO1OLkVHwWgFTRaW89T4Tv5RxsqAGoZ6DnO6fCdWgUBUIF6D/CdWgUBEAAVFBgPAYDj2v33JBVwXEQAHNcOABW0A8BJET1VvxMPIgA4AaA3+ABwwuzTHgU+HUeogIM6agCodfEuWYvWXINyVR8DQG1FidelAAB2ycVgbQUAUFtR4nUpAIBdcjE4V+DXz399+PmXT8PCAOCwdDx4KQCAcGCqAACayv/uyS/47j+jbZgW/G6GhrNP4UuD9IIIgMMW8OANYS90qXIACEdTCuSVsBdGAJyS/70P11rwpUgPhAC4iKHZ0+GiZU2HzQ8es3kC4LQl5QCzxixalmpYTsGqcuoGiwqgVuu91aYC6nL3NZpGZViwLLWQTxCyB1STeTyQxvXE+Oz7nkzzHD0NUwGV/Ro1QnkZW8JpVHoAVLRK6+uA4pKWhdLKFQArFs0cIiK24NbhY7TyA6AygKNGLCtVCoFL8F2XzbRgBXFrIUYqoFZbWpiWamgAVJXz+2C9AGpeTSxMSy10rSr2TkALLijWu4fLx0ethCteMgB8ALD3UjW/hE6f12hXvdVFc3wLvnuunh8iXM8AYOaSxiGit4JqgrIiVunlaQEpBREAvzmmtafRAHgFRKMxS/lI4JPuoQFQYQ94h4i890srWgvAnq0LACq14NZdmbQljVaqXc9J4OvZDwKgAoBSU7xDuOJrCAA2AHxqJ737I88ASl+yUiV+yhsAE8Vab/jTXu8WudWKe9rTrrb6NM/qlwwAsx+QPpnRqmCSQ0jU+8D023BLp1TjVwNYuzKRVsJUyFaL6jHlhMqXr6GVXz5emu+rASwZPXKP91T5IlxK98LXs80AwMFT8Igp0qpwWgWU5lraB7dyBkDBIURyCVs7hGj9bm43lFLoaq1X2kkAsBPAa/jTZzup8LuB6pmvtG2QANmqdqU1AOA3VVoCS8QdObz0gGE9tqVRuj6JXtf4VwPYI2hrYy2JJTXFGrTWCTjfVvRePr/2GkYCSY/5EiOueN7Aq10+S/bCvfm+tgJqw9gDbquajsTa+YzmHvi1AEruAPM9zSW8tOq1gPBeFe9K13qRW3kCYMenuBZUtf9vmTAad+Vzrc+KPV+R+DFCwanWmys1V1oRPUGYXsPcVT/V46kF18bV8n9VBdSCTtp+Zk6H0hfAYpwUQMnaXgXgLUhLwJ72IhE5UmuWVrhS5SzpcDyA0kRmQMifTQF8+p2f1pxP7dkif2leJZ3SlzzVzk0LzgW3MCAXttW6pfdj0uuXNGeL/FcAeG9b8tjHVcDTAKwJ92RSrYX3GJtX3hzyEw41kgr4NObS40gA803+brE1AMphu0/LrVzSE+gVI//7/W+tOFLYZ8aNAJgXGAAsOACAMixbAEpewuMAlKXOqCgKAGAUJ53mAYBOjYuybACM4qTTPADQqXFRlg2AUZx0mgcAOjUuyrIBMIqTTvMAQKfGRVk2AEZx0mkeAOjUuCjLBsAoTjrNAwCdGhdl2QAYxUmneQCgU+OiLBsAozjpNA8AdGpclGUDYBQnneYBgE6Ni7JsAIzipNM8/gWNA2aNl2P7EgAAAABJRU5ErkJggg==",Pe=13,ke=[null].concat(ge);function Se(n,e){return Ae.apply(this,arguments)}function Ae(){return(Ae=Object(N.a)(C.a.mark(function n(e,s){var t,r,_,a,i,p,m,l;return C.a.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return t=document.createElement("canvas"),r=t.getContext("2d"),n.next=4,Ce(ye);case 4:if(_=n.sent,t.width=_.width,t.height=_.height,r.drawImage(_,0,0),e!=Pe){for(a=r.getImageData(0,0,t.width,t.height),i=a.data,p=Ne(ke[Pe]),m=Ne(ke[e]),l=0;le||_>s)return n;var a=Math.floor((e-r)/2),i=s-_;return function(n,e){var s=".".repeat(n),r=".".repeat(e);t=t.map(function(n){return s+n+r})}(a,e-r-a),function(n){var s,r=(s=n,new Array(s).fill(void 0).map(function(n,e){return e})).map(function(n){return".".repeat(e)});t=[].concat(Object(B.a)(r),Object(B.a)(t))}(i),Ee(t)}function Oe(n){return Ie(n,24,24)}function Re(n){var e=Te(n);return Ee(e=e.map(function(n){return n.split("").reverse().join("")}))}var Fe=[".","\n . . . . . . . . . . b 5 b . . .\n . . . . . . . . . b 5 b . . . .\n . . . . . . . . . b c . . . . .\n . . . . . . b b b b b b . . . .\n . . . . . b b 5 5 5 5 5 b . . .\n . . . . b b 5 d 1 f 5 5 d f . .\n . . . . b 5 5 1 f f 5 d 4 c . .\n . . . . b 5 5 d f b d d 4 4 . .\n b d d d b b d 5 5 5 4 4 4 4 4 b\n b b d 5 5 5 b 5 5 4 4 4 4 4 b .\n b d c 5 5 5 5 d 5 5 5 5 5 b . .\n c d d c d 5 5 b 5 5 5 5 5 5 b .\n c b d d c c b 5 5 5 5 5 5 5 b .\n . c d d d d d d 5 5 5 5 5 d b .\n . . c b d d d d d 5 5 5 b b . .\n . . . c c c c c c c c b b . . .\n",Re("\n e e e . . . . e e e . . . .\n c d d c . . c d d c . . . .\n c b d d f f d d b c . . . .\n c 3 b d d b d b 3 c . . . .\n f b 3 d d d d 3 b f . . . .\n e d d d d d d d d e . . . .\n e d f d d d d f d e . b f b\n f d d f d d f d d f . f d f\n f b d d b b d d 2 f . f d f\n . f 2 2 2 2 2 2 b b f f d f\n . f b d d d d d d b b d b f\n . f d d d d d b d d f f f .\n . f d f f f d f f d f . . .\n . f f . . f f . . f f . . .\n"),Re("\n . . 4 4 4 . . . . 4 4 4 . . . .\n . 4 5 5 5 e . . e 5 5 5 4 . . .\n 4 5 5 5 5 5 e e 5 5 5 5 5 4 . .\n 4 5 5 4 4 5 5 5 5 4 4 5 5 4 . .\n e 5 4 4 5 5 5 5 5 5 4 4 5 e . .\n . e e 5 5 5 5 5 5 5 5 e e . . .\n . . e 5 f 5 5 5 5 f 5 e . . . .\n . . f 5 5 5 4 4 5 5 5 f . . f f\n . . f 4 5 5 f f 5 5 6 f . f 5 f\n . . . f 6 6 6 6 6 6 4 4 f 5 5 f\n . . . f 4 5 5 5 5 5 5 4 4 5 f .\n . . . f 5 5 5 5 5 4 5 5 f f . .\n . . . f 5 f f f 5 f f 5 f . . .\n . . . f f . . f f . . f f . . .\n")].map(Oe),Ye=[".","\n . . . . . . . . . c c 8 . . . .\n . . . . . . 8 c c c f 8 c c . .\n . . . c c 8 8 f c a f f f c c .\n . . c c c f f f c a a f f c c c\n 8 c c c f f f f c c a a c 8 c c\n c c c b f f f 8 a c c a a a c c\n c a a b b 8 a b c c c c c c c c\n a f c a a b b a c c c c c f f c\n a 8 f c a a c c a c a c f f f c\n c a 8 a a c c c c a a f f f 8 a\n . a c a a c f f a a b 8 f f c a\n . . c c b a f f f a b b c c 6 c\n . . . c b b a f f 6 6 a b 6 c .\n . . . c c b b b 6 6 a c c c c .\n . . . . c c a b b c c c . . . .\n . . . . . c c c c c c . . . . .\n","\n . . . . . . b b b b . . . . . .\n . . . . . . b 4 4 4 b . . . . .\n . . . . . . b b 4 4 4 b . . . .\n . . . . . b 4 b b b 4 4 b . . .\n . . . . b d 5 5 5 4 b 4 4 b . .\n . . . . b 3 2 3 5 5 4 e 4 4 b .\n . . . b d 2 2 2 5 7 5 4 e 4 4 e\n . . . b 5 3 2 3 5 5 5 5 e e e e\n . . b d 7 5 5 5 3 2 3 5 5 e e e\n . . b 5 5 5 5 5 2 2 2 5 5 d e e\n . b 3 2 3 5 7 5 3 2 3 5 d d e 4\n . b 2 2 2 5 5 5 5 5 5 d d e 4 .\n b d 3 2 d 5 5 5 d d d 4 4 . . .\n b 5 5 5 5 d d 4 4 4 4 . . . . .\n 4 d d d 4 4 4 . . . . . . . . .\n 4 4 4 4 . . . . . . . . . . . .\n","\n . . . b b b b b b b b b b . . .\n . . b 1 1 1 1 1 1 1 1 1 1 b . .\n . b 1 1 1 1 1 1 1 1 1 1 1 1 b .\n . b 1 1 1 1 1 1 1 1 1 1 1 1 b .\n . b d d c c c c c c c c d d b .\n . b d c 6 6 6 6 6 6 6 6 c d b .\n . b d c 6 1 d 6 6 6 6 6 c d b .\n . b d c 6 d 6 6 6 6 6 6 c d b .\n . b d c 6 6 6 6 6 6 6 6 c d b .\n . b d c 6 6 6 6 6 6 6 6 c d b .\n . b d c 6 6 6 6 6 6 6 6 c d b .\n . b d d c c c c c c c c d d b .\n . c b b b b b b b b b b b b c .\n f c c c c c c c c c c c c c c f\n f b b b b b b b b b b b b b b f\n f b c d d d d d d d d d d d b f\n f b c b b b b b b b b b b c b f\n f b c b b b b b b b b b b c b f\n f b c c c c c c c c c c c c b f\n f b b b b b b b b b b b b b b f\n f b f f f f f f f f f f f f b f\n f f f f f f f f f f f f f f f f\n"].map(Oe),je=[".","\n . . . . . . . 6 . . . . . . . .\n . . . . . . 8 6 6 . . . 6 8 . .\n . . . e e e 8 8 6 6 . 6 7 8 . .\n . . e 2 2 2 2 e 8 6 6 7 6 . . .\n . e 2 2 4 4 2 7 7 7 7 7 8 6 . .\n . e 2 4 4 2 6 7 7 7 6 7 6 8 8 .\n e 2 4 5 2 2 6 7 7 6 2 7 7 6 . .\n e 2 4 4 2 2 6 7 6 2 2 6 7 7 6 .\n e 2 4 2 2 2 6 6 2 2 2 e 7 7 6 .\n e 2 4 2 2 4 2 2 2 4 2 2 e 7 6 .\n e 2 4 2 2 2 2 2 2 2 2 2 e c 6 .\n e 2 2 2 2 2 2 2 4 e 2 e e c . .\n e e 2 e 2 2 4 2 2 e e e c . . .\n e e e e 2 e 2 2 e e e c . . . .\n e e e 2 e e c e c c c . . . . .\n . c c c c c c c . . . . . . . .\n","\n . . . . . c c b b b . . . . . .\n . . . . c b d d d d b . . . . .\n . . . . c d d d d d d b b . . .\n . . . . c d d d d d d d d b . .\n . . . c b b d d d d d d d b . .\n . . . c b b d d d d d d d b . .\n . c c c c b b b b d d d b b b .\n . c d d b c b b b b b b b b d b\n c b b d d d b b b b b d d b d b\n c c b b d d d d d d d b b b d c\n c b c c c b b b b b b b d d c c\n c c b b c c c c b d d d b c c b\n . c c c c c c c c c c c b b b b\n . . c c c c c b b b b b b b c .\n . . . . . . c c b b b b c c . .\n . . . . . . . . c c c c . . . .\n","\n . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . f f f . . . . . . . .\n . . . . . . . . . . . . f 2 f f f f f . . . . .\n . . . . . . . . . . f f 2 2 e e e e e f f . . .\n . . . . . . . . . f f 2 2 2 e e e e e e f f . .\n . . . . . . . . . f e e e e f f f e e e e f . .\n . . . . . . . . f e 2 2 2 2 e e e f f f f f . .\n . . . . . . . . f 2 e f f f f f 2 2 2 e f f f .\n . c c . . . . . f f f e e e f f f f f f f f f .\n . c d c c . . . f e e 4 4 f b b e 4 4 e f e f .\n . c c d d c c . . f e d d f b b 4 d 4 e e f . .\n . . . c d d d c e e f d d d d d 4 e e e f . . .\n . . . . c c d c d d e e 2 2 2 2 2 2 2 f . . . .\n . . . . . c c c d d 4 4 e 5 4 4 4 4 4 f . . . .\n . . . . . . . . e e e e f f f f f f f f . . . .\n . . . . . . . . . . . . f f . . . f f f . . . .\n"].map(Oe);function Ve(n,e,s){var t=n.split(/\n/).map(function(n){return n.trim()}),r=e.split(/\n/).map(function(n){return n.trim()}).slice(1,-1);s=s.replace("img`","").replace("`","");for(var _=!1,a=0;a","argumentNames":[]}\n_main___P22728.continuations = [ ]\n\nfunction _main___P22728_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: _main___P22728, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n} }\n\nconst _hex3749 = pxsim.BufferMethods.createBufferFromHex("1f00210023002500270029002c002e003100340037003a003e004100450049004e00520057005c00620068006e0075007b0083008b0093009c00a500af00b900c400d000dc00e900f70006011501260137014a015d01720188019f01b801d201ee010b022a024b026e029302ba02e40210033f037003a403dc03170455049704dd0427057505c80520067d06e0064907b8072d08a9082d09b9094d0aea0a900b400cfa0cc00d910e6f0f5a1053115b1272139a14d41520178018f519801b231dde1e")\nconst _hex10057 = pxsim.BufferMethods.createBufferFromHex("2000000000000000210000005e0000002200000e000e0000230028fe28fe280024004c92ff926400250002651248a64026006c92926ca000270000000e000000280000007c82000029000000827c00002a005438103854002b0010107c1010002c000000907000002d001010101010002e000000606000002f000060100806003000003c42423c00310000447e4000003200004462524c00330000424a4e320034003028247e20003500004e4a4a32003600003c4a4a30003700000262120e00380000344a4a34003900000c52523c003a0000006c6c00003b000000967600003c001028284444003d002828282828003e004444282810003f0000025909060040003c425a560800410078141214780042007e4a4a4a34004300003c424224004400007e42423c004500007e4a4a42004600007e0a0a02004700003c425234004800007e08087e00490000427e4200004a002040423e02004b00007e081462004c00007e404040004d007e0418047e004e00007e04087e004f003c4242423c005000007e12120c005100003c5262bc005200007e12126c00530000244a522400540002027e0202005500003e40403e005600001e70701e0057007e2018207e00580042241824420059000608700806005a000062524a46005b00007e424200005c000006081060005d000042427e00005e000804020408005f00808080808000600000000204000061000030484878006200007e4848300063000030484848006400003048487e006500003068585000660000107c12040067000018a4a478006800007e08087000690000487a4000006a000040847d00006b00007e102840006c0000427e4000006d007808300870006e000078080870006f00003048483000700000fc24241800710000182424fc0072000078100810007300005058682800740000083e48200075000038404078007600001860601800770038403040380078000048303048007900005ca0a07c007a000048685848007b000008364100007c000000fe0000007d000041360800007e00000804080400a000000000000000a10000007a000000a200003048fc4800a30090fc92928400a400542844285400a5002a2c782c2a00a6000000ee000000a7000094aaaa5200a800000200020000a9003e414955413eaa0000242a2e0000ab00102854284400ac00001010107000ad00001010101000ae003e415d45413eaf00000202020200b000000814140800b1008888be888800b2000024322c0000b30000222a140000b400000004020000b50000f840207800b6000c1e7e027e00b700000010000000b800000080400000b90000243e200000ba0000242a240000bb00442854281000bc00025f70f84000bd00021f90c8b000be0011557af84000bf000030484d2000c000601916186000c100601816196000c200601a151a6000c300601a151a6100c400601914196000c500601a151a6000c6007c0a7e4a4200c700001ea1611200c800007c55564400c900007c56554400ca00007c56554600cb00007c55544500cc0000457e440000cd0000447e450000ce0000467d460000cf0000457c450000d000087e4a423c00d100007e09127d00d200003845463800d300003846453800d400003846453a00d500003a45463900d600003845443900d700442810284400d80000fc724e3f00d900003c41423c00da00003c42413c00db00003c42413e00dc00003c41403d00dd00040872090400de00007e24241800df00007c025a2400e0000030494a7800e10000304a497800e20000304a497a00e3000032494a7900e40000304a487a00e50000304a4d7a00e600304878685000e7000018a4642400e8000030695a5000e90000306a595000ea0000306a595200eb0000306a585200ec0000497a400000ed0000487a410000ee00004a79420000ef00004a78420000f00000304a4b3d00f100007a090a7100f2000030494a3000f30000304a493000f40000304a493200f5000032494a3100f60000304a483200f700101054101000f800007068583800f900003841427800fa00003842417800fb00003842417a00fc00003842407a00fd0000b84241f800fe0000ff24241800ff00005ca1a07d000001601915196000010100304a4a7a000201611a16196000030100314a4a790004013c0a094abc00050100182464bc000601003846452800070100304a4948000801003846452a00090100304a494a000a010038444528000b010030484a48000c010038454629000d010030494a49000e01007c454639000f0100314a497e001001087e4a423c00110130484c7e04001201007d55554500130100326a5a52001401007d56564500150100316a5a51001601007c55544400170100306a5850001801003f65a521001901001874ac28001a01007c555645001b010030695a51001c010038465536001d0100304a49f2001e010039465635001f0100314a4af100200100384455340021010018a4a578002201001ea1691a0023010018a6a578002401007812117a0025017e080a7102002601047e147e04002701047e0c08700028010002457e450029010002497a41002a0100457d4500002b01004a7a4200002c0100014a7a49002d0100014a7a41002e0100217fa100002f0100247da00000300100447d440000310100487840000032017e0022423e0033013d0040847d0034012040463d0600350100800af90200360100bf440a3100370100bf4814200038010078102848003901007c404241003a0100467d4000003b01003fa06020003c0100a17f2000003d01007c414241003e0100457e4100003f01007e40484000400100427e4008004101107e48404000420100527e4800004301007c0a117c00440100780a097000450100bf42043f00460100bc440438004701007c09127d00480100790a09700049010a06780870004a01003f02847f004b01003c048478004c013945454539004d0100324a4a32004e013946464639004f0100314a4a310050013a4544463900510132494832010052013c427e4a420053013048306850005401007c163548005501007812091000560100bf49093600570100bc480408005801007d1635480059010079120910005a010048565524005b0100505a6928005c010048565526005d0100505a692a005e010012a56912005f010028ac741400600100485556250061010050596a290062010101bf410100630100049f641000640104057e050400650100083d4a2100660102127e120200670100183e5820006801003a414239006901003a414279006a01003d41413d006b01003a42427a006c010039424239006d010039424279006e01003a45453a006f01003a45457a0070013a41403a010071013a41407a01007201001f60a01f007301001c60a03c00740178221122780075013842314238007601081261120800770100b84241fa00780104097009040079010064564d44007a0100486a5948007b010064544d44007c010048685a48007d010064554e45007e010048695a49007f0100087c0204008f01003452523c00920100887e090200a0013c42423c0806a101003048483008af01003e403e0806b001003840781008b501006a5a4a4e00b601005878585800d101003845463900d2010030494a3100e601003845563500e7010030494af100fa0100742a750000fb0100304c4a7d00fc0178147e554400fd0130487a695000fe010078744e3d00ff0100706a59380018020012a569120019020028ac7414001a020101bf4101001b0200049f641000bb0200000c0a0000bc0200000a060000bd020000060a0000c602000201020000c702000102010000c902000202020000d802000102020100d902000002000000da02000205020000db02000040800000dc02000201020100dd02020100020100740300000201000075030000804000007a030000c08000007e03000096760000840300000300000085030200030002008603037c12127c008703000010000000880303007e4a4200890303007e087e008a030300427e42008c03033c42423c008e0303000e700e008f03035c62625c00900302003b400200910378141214780092037e4a4a4a34009303007e0202020094036058465860009503007e4a4a420096030062524a46009703007e08087e0098033c4a4a4a3c00990300427e4200009a03007e081462009b036018061860009c037e0418047e009d03007e04087e009e0300424a4a42009f033c4242423c00a003007e02027e00a103007e12120c00a30300665a424200a40302027e020200a503060870080600a60318247e241800a703422418244200a8030e107e100e00a9035c6202625c00aa0300457c450000ab03040970090400ac030030484a7900ad030030685a5100ae0378100a09f000af03003a41200000b0033a4043403a00b103003048487800b20300fe25251a00b3030c30c0300c00b403344a4a4a3000b503003068585000b603021aa6a24200b7033c080404f800b803003c4a4a3c00b903003840200000ba03007820504800bb03641212227c00bc03fc2020103c00bd03182040201800be03112d2ba94100bf03003048483000c003087808780800c103f82424241800c2031824a4a44800c303304848582800c403000838482800c503384040403800c6031c20f8241800c703c4281028c400c8031c20fc201c00c903304820483000ca03000238422000cb03384240423800cc0330484a493000cd03384042413800ce03304822493000d0033c52525c2000d10310344a3c0800d203067804020400d303120a7c020400d4030d7009040800d5031824ff241800d603384828483800d70348302221d800da031c2221a14200db031824a4a44200dc037e1212020200dd0300fc24240400de033e2010087c00df030c0ac9281800e003700c621c7000e10301092516f800e2039ea0bea07e00e30398a0b8a07800e4030c1214107e00e503001028207800e603be9088887000e70348544e443800e803245252524c00e903285454544800ea0364524c526400eb03086458640800ec03385454542200ed03306848682400ee03184a7e4a1800ef031848ff0a0800f003483020205800f10378a4a4a49800f203304848485000f303006080847d00f4033c4a4a4a3c00f5030030585848000004007c555644000104007c55544500020401013f8579000304007c0605040004043c4a4a422400050400244a522400060400427e420000070400457c45000008042040423e020009047c027e4830000a047e087e4830000b0402027e0a72000c04007c102a45000d047c2112087c000e040c5152523d000f043f20e0203f00100478141214780011047e4a4a4a300012047e4a4a4a34001304007e020202001404c07c427ec0001504007e4a4a4200160476087e087600170424424a4a34001804007e08047e001904007d120a7d001a04007e081462001b04403c02027e001c047e0418047e001d04007e08087e001e043c4242423c001f047e0202027e002004007e12120c002104003c42422400220402027e02020023040e5050503e00240418247e241800250442241824420026043f2020bf600027040e1010107e0028047e407e407e0029043f203fa07f002a04027e484830002b047e4848307e002c04007e484830002d0424424a4a3c002e047e183c423c002f04006c12127e0030043048487840003104003c4a4a3100320400786850200033040078080808003404c0704878c000350430686850000036044830783048003704004058683000380478402010780039047942221279003a040078203048003b044030080878003c047810201078003d047810101078003e043048484830003f047808080878004004fc24242418004104304848485000420408087808080043041ca0a0a07c0044041824ff241800450400483030480046043c2020bc60004704182020207800480478407840780049043c203ca07c004a040878505020004b047850502078004c040078505020004d044858683000004e047830304830004f0450282878000050040030696a500051040032686a50005204023f0a887000530400780a09080054040030685848005504005058682800560400487a4000005704004a784200005804004080847d0059047008785020005a047810785020005b04047e141060005c040078223148005d047841221078005e0418a1a2a279005f043c20e0203c006204027f4a4830006304087e5850200070040e107e100e00710418207820180072043c4a4a4a3c0073043068586830007404001e70180c0075040018603010009004007e020203009104007808080c009204087e0a0a0200930420782808080096043b043f043be0970424183c1824c09a04003f040a31c09b04003c101824c0ae04060870080600af040c10e0100c00b004161870181600b1042c30e0302c00b20421120c1221c0b3040024181824c0ba047e0808087000bb04007e08087000d804003452523c00d904002868583000e20400457d450000e304004a7a420000e8043c4a4a4a3c00e904003058583000ee04003d41413d00ef04003a42427a00d005681020285000d105484848784000d205004830600000d305080808780800d405680808087800d505000008780000d605080818680800d705087808087800d805784050487800d905000008180000da0504040404fc00db05484848483800dc050e4848281800dd05087848487800de05582010487000df05000004fc0000e005004040487800e105000878483800e205487840281800e305041c0404fc00e405485848483800e50504f820140800e605485060685000e705f40424241c00e805080808087000e905785058403800ea05487808087800f005087800087800f105081800087800f205081800081800f305000010080000f405100800100800021e7c5455542800031e007e484930000a1e007c454438000b1e003049487e001e1e007c151404001f1e001079140800401e7e0419047e00411e780832087000561e007c15140800571e00fc25241800601e004854552400611e0050586a28006a1e04047d0404006b1e00083d482000801e7c2112207c00811e384132403800821e7c2012217c00831e384032413800841e7c2110217c00851e384230423800f21e040972080400f31e00b84142f800a3207e0a7a120a00a420a8fcaa828400a720087e2a1c0800ab200098a4a6bf02ac20183c5a5a4200af20627f224438009021103854101000912108047e0408009221101054381000932110207e201000942110381010381095212844fe442800")\nconst _hex2735 = pxsim.BufferMethods.createBufferFromHex("20000000000000000000000000000000000000000000000000002100000000000006fc0000000000000000000000000000000000220000001c00000000001c0000000000000000000000000000002300a000f807a000f807a00000000000000000000000000000002400000018022404460c8803000000000000000000000000000025003802c4017800200390040803000000000000000000000000260080037804a4041803800340040000000000000000000000002700000000001c00000000000000000000000000000000000000280000000000f8010606010800000000000000000000000000002900000001080606f801000000000000000000000000000000002a00040014000e001400040000000000000000000000000000002b0040004000f8034000400000000000000000000000000000002c000000000000090006000000000000000000000000000000002d000000800080008000000000000000000000000000000000002e000000000000060000000000000000000000000000000000002f00000c800360001c000300000000000000000000000000000030000000f80304040404f80300000000000000000000000000003100000004040404fc07000400040000000000000000000000003200000008060405c4043804000000000000000000000000000033000000080244044404b803000000000000000000000000000034000000800170010801fc070001000000000000000000000000350000023c0424042404c403000000000000000000000000000036000000f0034804440488030000000000000000000000000000370000000400c40734000c00000000000000000000000000000038000000b80344044404b803000000000000000000000000000039000000780284048802f00100000000000000000000000000003a000000000030060000000000000000000000000000000000003b000000000018090006000000000000000000000000000000003c004000a000a000a000100100000000000000000000000000003d002001200120012001200100000000000000000000000000003e0000001001a000a000a00040000000000000000000000000003f000000080084066400180000000000000000000000000000004000f0030c04c20822092409f80900000000000000000000000041000007f8008400f8000007000000000000000000000000000042000000fc0744044404b803000000000000000000000000000043000000f001080204040404080200000000000000000000000044000000fc0704040802f001000000000000000000000000000045000000fc07440444044404000000000000000000000000000046000000fc07440044004400000000000000000000000000000047000000f00108024404c803000000000000000000000000000048000000fc0740004000fc070000000000000000000000000000490000000404fc070404040400000000000000000000000000004a000000000200040004fc0300000000000000000000000000004b000000fc074000f0000c0304040000000000000000000000004c000000fc0700040004000400000000000000000000000000004d000000fc0738007000fc0700000000000000000000000000004e000000fc073800c003fc0700000000000000000000000000004f000000f80304040404f803000000000000000000000000000050000000fc07840084004400780000000000000000000000000051000000fc0102020206fc09000000000000000000000000000052000000fc074400c4013806000000000000000000000000000053000000180224044404880300000000000000000000000000005400000004000400fc070400040000000000000000000000000055000000fc0300040004fc03000000000000000000000000000056000c00f0030004f0030c00000000000000000000000000000057007c008007e001f0010007fc0000000000000000000000000058000404b8034000b80304040000000000000000000000000000590004003800c00730000c0000000000000000000000000000005a0004040407e4041c04040400000000000000000000000000005b0000000000ff0f0108010800000000000000000000000000005c0003001c0060008003000c00000000000000000000000000005d00000001080108ff0f000000000000000000000000000000005e004000380004003800400000000000000000000000000000005f00000800080008000800080000000000000000000000000000600000000000020004000000000000000000000000000000000061000000200390049004e007000000000000000000000000000062000000fc0710041004e003000000000000000000000000000063000000c001200210043004000200000000000000000000000064000000e00310041004fc07000000000000000000000000000065000000e00390049004e0040000000000000000000000000000660000001000f80714001400000000000000000000000000000067000000b806440944093c09040600000000000000000000000068000000fc0710001000e0070000000000000000000000000000690000000000f4070000000000000000000000000000000000006a00000800080008fd07000000000000000000000000000000006b000000fe078000e001100610040000000000000000000000006c0000000000fc030004000400000000000000000000000000006d00f00710001000e0071000e0070000000000000000000000006e000000f00710001000e00700000000000000000000000000006f000000e00310041004e003000000000000000000000000000070000000fc0f04010401f800000000000000000000000000000071000000f80004010401fc0f000000000000000000000000000072000000f00720001000100000000000000000000000000000007300000060029004900420030000000000000000000000000000740000001000fc0310041004000000000000000000000000000075000000f00300040004f007000000000000000000000000000076003000c0030004c003300000000000000000000000000000007700f0000007e003c0010007f000000000000000000000000000780010046003800060031004000000000000000000000000000079000c0870088007f0000c0000000000000000000000000000007a000000000410079004700410040000000000000000000000007b0000004000be070108010800000000000000000000000000007c0000000000ff0f0000000000000000000000000000000000007d00000001080108be07400000000000000000000000000000007e00800040004000800080004000000000000000000000000000")\nconst _hex8942 = pxsim.BufferMethods.createBufferFromHex("20000000000000002100001700000000220000030003000023000a1f0a1f0a0024000a17151d0a00250013090412190026000a15150a100027000003000000002800000e11000000290000110e0000002a00000a040a00002b0000040e0400002c000010080000002d000004040400002e000008000000002f0010080402010030000e11110e0000310000121f100000320019151512000033000911150b000034000c0a091f080035001715151509003600081416150800370011090503010038000a1515150a00390002150d0502003a00000a000000003b0000100a0000003c0000040a1100003d00000a0a0a00003e0000110a0400003f0002011505020040000e1115090e0041001e05051e000042001f15150a000043000e111111000044001f11110e000045001f151511000046001f050501000047000e1111150c0048001f04041f00004900111f110000004a000911110f01004b001f040a1100004c001f10101000004d001f0204021f004e001f0204081f004f000e11110e000050001f0505020000510006091916000052001f05050a10005300121515090000540001011f01010055000f10100f0000560007081008070057001f0804081f0058001b04041b0000590001021c0201005a001915131100005b00001f111100005c000102040810005d000011111f00005e000002010200005f00101010101000600000010200000061000c12121e100062001f141408000063000c121212000064000814141f000065000e15151200006600041e0501000067000215150f000068001f04041800006900001d000000006a000010100d00006b001f040a1000006c00000f101000006d001e0204021e006e001e02021c00006f000c12120c000070001e0a0a0400007100040a0a1e000072001c0202020000730010140a0200007400000f1414100075000e10101e1000760006081008060077001e1008101e007800120c0c12000079001214080402007a00121a161200007b0000041f1100007c00001f000000007d00111f040000007e00000404080800d3000c1213130c00f3000c12130d000004010e05051e100005010609191f080006010c121313120007010c121313000018010f0b1b19000019010e151d1a000041011f14121000004201100f1412000043011f0205081f0044011e03031c00005a0110140b0302005b0110140b0300007901121a171300007a01121a171300007b01121b171200007c01121b17120000")\nconst _hex463 = pxsim.BufferMethods.createBufferFromHex("000000ffffffff2121ff93c4ff8135fff609249ca378dc52003fad87f2ff8e2ec4a4839f5c406ce5cdc491463d000000")\nconst _hex1207 = pxsim.BufferMethods.createBufferFromHex("8704240024000000001111111111111111111111111111111100000010313333333333333333333333333333130100001113111111111111111111111111111131110000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000111311111111111111111111111111113111000010313333333333333333333333333333130100000011111111111111111111111111111111000000")\nconst _hex1210 = pxsim.BufferMethods.createBufferFromHex("8704240024000000002222222222222222222222222222222200000020323333333333333333333333333333230200002223222222222222222222222222222232220000322211111111111111111111111111112223000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003222111111111111111111111111111122230000222322222222222222222222222222223222000020323333333333333333333333333333230200000022222222222222222222222222222222000000")\nconst _hex1213 = pxsim.BufferMethods.createBufferFromHex("8704240024000000004444444444444444444444444444444400000040343333333333333333333333333333430400004443444444444444444444444444444434440000344411111111111111111111111111114443000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003444111111111111111111111111111144430000444344444444444444444444444444443444000040343333333333333333333333333333430400000044444444444444444444444444444444000000")\nconst _hex1216 = pxsim.BufferMethods.createBufferFromHex("870420002000000000000000000000000000000000000000000000000000c0fcff0f000000000000000000000000bcddddfb000000000000000000000000dcbbbbfd000000000000000000000000ccbbbbfc0000000000000000000000c0bcd1bdfb0f00000000000000000000c01b11ddbb0f00000000000000000000c0bcbbbbcb0f00000000000000000000bc11d1ddddcb000000000000000000c01d11ddddddd10c0000000000000000bcd1cbbcfbcf1dcb00000000000000001ccdccddbdffdfc100000000000000001cccccdbcbffcfc10000000000000000dbcbccccfcffbfcd0000000000000000bbbdccccffcfdbbb0000000000000000b0dbbdbbbbdbbd0b000000000000000000b0cbccccbc0b000000000000000000000000000000000000000000000000000000d007700d00000000000000000000000070666607000000000000000000000000006776000000000000000000000000660700007066000000000000000000006766777766760000000000000000000060666666660600000000000000000066006766667600660000000000000000667600000000676600000000000000006766767777676676000000000000000060666666666666060000000000000000006766666666760000000000000000000000676666760000000000000000000000000000000000000000000000000000000000000000000000000000")\nconst _hex1219 = pxsim.BufferMethods.createBufferFromHex("8704200020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b0bb000000000000000000000000b000404500b0000000000000000000005b0b000400540b0000000000000000b0550400000054b5000000000000000000440040bb0040040000000000000000000040d4ddbb0000000000000000000000004055ddbd000000000000000000004b005455d5dd0b400b000000000000005b045411d5dd0b540b000000000000004b005411d5dd0b400b0000000000000000004055ddbd00000000000000000000000040d4ddbb0000000000000000000000440040bb0040040000000000000000b0550400000054b50000000000000000005b04000400540b000000000000000000b000404500b0000000000000000000000000b0bb0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")\nconst _hex1222 = pxsim.BufferMethods.createBufferFromHex("87042000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020020000000000002002000000000000202200000000000022020000000000000022020000000020220000000000000000202200000000220200000000000000000022020000202200000000000000000000202200002202000000000000000000000022022022000000000000000000000000202222020000000000000000000000000022220000000000000000000000000000222200000000000000000000000000202222020000000000000000000000002202202200000000000000000000002022000022020000000000000000000022020000202200000000000000000020220000000022020000000000000000220200000000202200000000000000202200000000000022020000000000002002000000000000200200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")\nconst _hex1225 = pxsim.BufferMethods.createBufferFromHex("8704200020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0fcff0f000000000000000000000000bcddddfb000000000000000000000000dcbbbbfd000000000000000000000000ccbbbbfc0000000000000000000000c0bcd1bdfb0f00000000000000000000c01b11ddbb0f00000000000000000000c0bcbbbbcb0f00000000000000000000bc11d1ddddcb000000000000000000c01d11ddddddd10c0000000000000000bcd1cbbcfbcf1dcb00000000000000001ccdccddbdffdfc100000000000000001cccccdbcbffcfc10000000000000000dbcbccccfcffbfcd0000000000000000bbbdccccffcfdbbb0000000000000000b0dbbdbbbbdbbd0b000000000000000000b0cbccccbc0b000000000000000000000000000000000000000000000000000000d007700d0000000000000000000000007066660700000000000000000000000000677600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")\nconst _hex1228 = pxsim.BufferMethods.createBufferFromHex("870420002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b0cbcc0c0000000000000000000000b0db55d5cd0c00000000000000000000db555555ddcd000000000000000000b055555555d59d0b0000000000000000db55555555d59db900000000000000005b55555555d5ddb900000000000000b05db5cccc5bdddd990b000000000000b055ccccccccdddd9d0b000000000000b0b5ccccccccdbdd9d0b000000000000b0c5ccccccccdcdd9d0b000000000000b0c5ccdccbccdcdd9d0c000000000000b0cdcc5b55ccdcdd9d0c00000000000000ccdc55b5ccdcddc90000000000000000cccc5b55ccdbddc90000000000000000c0ccdccbccdd9d0c000000000000000000ccccccdbddcd00000000000000000000c0dcddddcd0c0000000000000000000000c0cccc0c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")\nconst _hex1231 = pxsim.BufferMethods.createBufferFromHex("870420002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cc00000000000000b0bbbbbbbbcb00c0cd000000000000001bddddddddbd0c1ccd000000000000b011cbccccccbc0c1ccd000000000000b01d6c666666bc0cbccd000000000000b01d6c616661bc0c1ccd000000000000b01d6c161666bccc1bcd000000000000b01d6c666166bcccbbcd000000000000b01d6c666666bccc1bcd000000000000b01d6c666661bccc1bcd000000000000b01d6c666661bcccbbcd000000000000b01d6c666661bccc1bcd000000000000b01d6c666666bc0c1ccd000000000000b01dcbccccccbc0cbccd000000000000c0b1bbbbbbbbbb0cdccb000000000000c0bbbbbbbbbbcb00dc0c00000000000000cccccccccc0c00cc000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")\nconst _hex1234 = pxsim.BufferMethods.createBufferFromHex("87042000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004004000000000000000000000000000054450000000000000000000000440b00bbbb00b0440000000000000040550b00000000b0550400000000000040b5000044bb00005b04000000000000b00b0044ddddbb00b00b0000000000000000405d55d5dd0b00000000000000000000d4555555ddbd0000000000000000000054555555d5bd0000000000000000b44055555555d5dd0b4b000000000040b54055555555d5dd0b5b040000000040b54055555555d5dd0b5b040000000000b44055115555d5dd0b4b000000000000000054115555d5bd00000000000000000000d4555555ddbd00000000000000000000405d55d5dd0b0000000000000000b00b0044ddddbb00b00b00000000000040b5000044bb00005b0400000000000040550b00000000b0550400000000000000440b00bbbb00b0440000000000000000000000544500000000000000000000000000004004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")\nconst _hex1237 = pxsim.BufferMethods.createBufferFromHex("870420002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000bbbb00000000000000000000000000b055bb00bbbbbb000000000000000000b0b5bdbcbbbbddcb0000000000000000b0dbcb5b5555bbdd0c00000000000000b0cbdcbdbb5b55dbcd0000000000000000c0dddb11d15bb5bd0c00000000000000bbbd111111b155bb0c00000000000000db1b111111115bb5cb00000000000000db1bb11d1199b9d5cb00000000000000db1b11bb9199b955cb000000000000005b1b11b19b99995bcb000000000000005b1d1111bb99995ccb00000000000000b0b511bbbb99995ccb00000000000000b0d51d919999d95b0b00000000000000005bdb919999c9d50b0000000000000000b0d51b99d9bcb5000000000000000000005bd5bbbc550b00000000000000000000b05b5555bd000000000000000000000000b0bbbb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")\nconst _hex22778 = pxsim.BufferMethods.createBufferFromHex("87040c0015000000000000000000000000000000000000000010010000000000000000111110010000000000100110111111010000000000101311111111111101000000003013f1111111111100000010011011f11111111101000010131111f111111101000000003013f11111010000000000000000111110010000000000000000000010010000000000000000000000000000000000")\nconst _hex22789 = pxsim.BufferMethods.createBufferFromHex("87041000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")\n\n\n\n\nfunction inline__P439(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n case 1:\n r0 = pxsim_numops_toBoolDecr(true);\n if (!r0) { step = 4; continue; }\n globals.__updated___434 = (false);\n s.tmp_0 = pause__P241_mk(s);\n s.tmp_0.arg0 = 200;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(globals.__updated___434);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n s.tmp_2 = control___screen_update__P435_mk(s);\n s.pc = 6; return s.tmp_2;\n case 6:\n r0 = s.retval;\n globals.__updated___434 = (true);\n case 2:\n case 3:\n { step = 1; continue; }\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P439.info = {"start":396,"length":211,"line":17,"column":26,"endLine":26,"endColumn":5,"fileName":"pxt_modules/screen/frame.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P439_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P439, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n} }\n\n\n\n\n\nfunction inline__P470(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_pxtcore.updateScreen(globals.screen___464);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P470.info = {"start":753,"length":26,"line":22,"column":33,"endLine":22,"endColumn":59,"fileName":"pxt_modules/screen/targetoverrides.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P470_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P470, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n} }\n\n\n\n\n\nfunction inline__P475(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_pxtcore.updateStats(s.arg0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P475.info = {"start":816,"length":56,"line":23,"column":35,"endLine":25,"endColumn":5,"fileName":"pxt_modules/screen/targetoverrides.ts","functionName":"inline","argumentNames":["msg"]}\n\nfunction inline__P475_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P475, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P750(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_numops_toBoolDecr(globals.infoState___745);\n if (!r0) { step = 3; continue; }\n r0 = pxsim_numops_toBoolDecr(globals.infoStateStack___747);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_Array__mk();\n globals.infoStateStack___747 = (r0);\n case 1:\n case 2:\n r0 = pxsim_pxtrt.mkMap();\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "state", globals.infoState___745);\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "scene", s.arg0);\n r0 = pxsim_Array__push(globals.infoStateStack___747, s.tmp_0);\n globals.infoState___745 = (undefined);\n case 3:\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P750.info = {"start":1913,"length":259,"line":73,"column":29,"endLine":82,"endColumn":5,"fileName":"pxt_modules/game/info.ts","functionName":"inline","argumentNames":["oldScene"]}\n\nfunction inline__P750_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P750, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P766(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.scene___767 = undefined;\n s.nextState___776 = undefined;\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 7; return s.tmp_0;\n case 7:\n r0 = s.retval;\n s.scene___767 = (r0);\n globals.infoState___745 = (undefined);\n s.tmp_0 = r0 = globals.infoStateStack___747;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = pxsim_Array__length(globals.infoStateStack___747);\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 5; continue; }\n r0 = pxsim_Array_.pop(globals.infoStateStack___747);\n s.nextState___776 = (r0);\n s.tmp_2 = if_scene_1_mk(s);\n s.tmp_2.arg0 = s.nextState___776;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "scene");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["scene"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["scene"]; }\n else { s.pc = 8; return s.tmp_2; }\n }\n case 8:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 == s.scene___767);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.tmp_3 = if_state_1_mk(s);\n s.tmp_3.arg0 = s.nextState___776;\n if (!s.tmp_3.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, "state");\n } else {\n s.tmp_3.fn = s.tmp_3.arg0.vtable.iface["state"];\n if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields["state"]; }\n else { s.pc = 9; return s.tmp_3; }\n }\n case 9:\n r0 = s.retval;\n globals.infoState___745 = (r0);\n { step = 4; continue; }\n case 3:\n r0 = pxsim_Array__push(globals.infoStateStack___747, s.nextState___776);\n case 4:\n case 5:\n case 6:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P766.info = {"start":2204,"length":376,"line":84,"column":28,"endLine":95,"endColumn":5,"fileName":"pxt_modules/game/info.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P766_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P766, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n scene___767: undefined,\n nextState___776: undefined,\n} }\n\n\n\n\n\nfunction inline__P1276(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.sz___1277 = undefined;\n s.tmp_0 = control_ramSize__P179_mk(s);\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n s.sz___1277 = (r0);\n s.tmp_1 = r0 = s.sz___1277;\n r0 = (1024 * 100);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 <= s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = 8;\n { step = 5; continue; }\n { step = 4; continue; }\n case 1:\n s.tmp_4 = r0 = s.sz___1277;\n r0 = (1024 * 200);\n s.tmp_5 = r0;\n r0 = (s.tmp_4 <= s.tmp_5);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 2; continue; }\n r0 = 16;\n { step = 5; continue; }\n { step = 3; continue; }\n case 2:\n r0 = 50;\n { step = 5; continue; }\n case 3:\n case 4:\n r0 = undefined;\n case 5:\n return leave(s, r0)\n default: oops()\n} } }\ninline__P1276.info = {"start":189,"length":217,"line":7,"column":25,"endLine":16,"endColumn":5,"fileName":"pxt_modules/game/particles.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P1276_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P1276, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n sz___1277: undefined,\n} }\n\n\n\n\n\nfunction inline__P1453(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_pxtrt.mkMap();\n s.tmp_0 = r0;\n r0 = pxsim.Math_.random();\n s.tmp_3 = r0;\n r0 = (s.tmp_3 * 2);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - 1);\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "xOffset", s.tmp_1);\n r0 = pxsim.Math_.random();\n s.tmp_6 = r0;\n r0 = (s.tmp_6 * 2);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 - 1);\n s.tmp_4 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "yOffset", s.tmp_4);\n r0 = s.tmp_0;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P1453.info = {"start":860,"length":117,"line":31,"column":40,"endLine":34,"endColumn":5,"fileName":"pxt_modules/game/texteffects.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P1453_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P1453, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n} }\n\n\n\n\n\nfunction inline__P1463(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_pxtrt.mkMap();\n s.tmp_2 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_2, "xOffset", 0);\n r0 = pxsim.Math_.sin(s.arg0);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 * 2);\n s.tmp_3 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_2, "yOffset", s.tmp_3);\n s.tmp_7 = Math_sign__P60_mk(s);\n r0 = pxsim.Math_.sin(s.arg0);\n s.tmp_7.arg0 = r0;\n s.pc = 7; return s.tmp_7;\n case 7:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = (s.tmp_6 < 0);\n s.tmp_5 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_2, "up", s.tmp_5);\n s.arg1 = (s.tmp_2);\n case 1:\n case 2:\n s.tmp_1 = if_up_1_mk(s);\n s.tmp_1.arg0 = s.arg1;\n if (!s.tmp_1.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, "up");\n } else {\n s.tmp_1.fn = s.tmp_1.arg0.vtable.iface["up"];\n if (s.tmp_1.fn == null) { s.retval = s.tmp_1.arg0.fields["up"]; }\n else { s.pc = 8; return s.tmp_1; }\n }\n case 8:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = 1;\n { step = 4; continue; }\n case 3:\n r0 = -1;\n case 4:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n s.tmp_3 = if_yOffset_2_mk(s);\n s.tmp_4 = r0 = s.arg1;\n s.tmp_3.arg0 = r0;\n s.tmp_6 = if_yOffset_1_mk(s);\n s.tmp_6.arg0 = s.tmp_4;\n if (!s.tmp_6.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_6.arg0, "yOffset");\n } else {\n s.tmp_6.fn = s.tmp_6.arg0.vtable.iface["yOffset"];\n if (s.tmp_6.fn == null) { s.retval = s.tmp_6.arg0.fields["yOffset"]; }\n else { s.pc = 10; return s.tmp_6; }\n }\n case 10:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = (s.tmp_2 * 0.5);\n s.tmp_7 = r0;\n r0 = (s.tmp_5 + s.tmp_7);\n s.tmp_3.arg1 = r0;\n if (!s.tmp_3.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapSetByString(s.tmp_3.arg0, "yOffset", s.tmp_3.arg1);\n } else {\n s.tmp_3.fn = s.tmp_3.arg0.vtable.iface["set/yOffset"];\n if (s.tmp_3.fn === null) { s.tmp_3.arg0.fields["yOffset"] = s.tmp_3.arg1; }\n else if (s.tmp_3.fn === undefined) { failedCast(s.tmp_3.arg0) }\n else { s.pc = 9; return s.tmp_3; }\n }\n case 9:\n r0 = s.retval;\n s.tmp_2 = Math_abs__P59_mk(s);\n s.tmp_3 = if_yOffset_1_mk(s);\n s.tmp_3.arg0 = s.arg1;\n if (!s.tmp_3.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, "yOffset");\n } else {\n s.tmp_3.fn = s.tmp_3.arg0.vtable.iface["yOffset"];\n if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields["yOffset"]; }\n else { s.pc = 12; return s.tmp_3; }\n }\n case 12:\n r0 = s.retval;\n s.tmp_2.arg0 = r0;\n s.pc = 11; return s.tmp_2;\n case 11:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > 2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n s.tmp_6 = if_up_1_mk(s);\n s.tmp_6.arg0 = s.arg1;\n if (!s.tmp_6.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_6.arg0, "up");\n } else {\n s.tmp_6.fn = s.tmp_6.arg0.vtable.iface["up"];\n if (s.tmp_6.fn == null) { s.retval = s.tmp_6.arg0.fields["up"]; }\n else { s.pc = 13; return s.tmp_6; }\n }\n case 13:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_5);\n s.tmp_4 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_4);\n { step = 6; continue; }\n case 5:\n s.tmp_7 = if_up_1_mk(s);\n s.tmp_7.arg0 = s.arg1;\n if (!s.tmp_7.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_7.arg0, "up");\n } else {\n s.tmp_7.fn = s.tmp_7.arg0.vtable.iface["up"];\n if (s.tmp_7.fn == null) { s.retval = s.tmp_7.arg0.fields["up"]; }\n else { s.pc = 14; return s.tmp_7; }\n }\n case 14:\n r0 = s.retval;\n case 6:\n // jmp value (already in r0)\n s.tmp_8 = r0;\n s.tmp_9 = if_up_2_mk(s);\n s.tmp_9.arg0 = s.arg1;\n s.tmp_9.arg1 = s.tmp_8;\n if (!s.tmp_9.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapSetByString(s.tmp_9.arg0, "up", s.tmp_9.arg1);\n } else {\n s.tmp_9.fn = s.tmp_9.arg0.vtable.iface["set/up"];\n if (s.tmp_9.fn === null) { s.tmp_9.arg0.fields["up"] = s.tmp_9.arg1; }\n else if (s.tmp_9.fn === undefined) { failedCast(s.tmp_9.arg0) }\n else { s.pc = 15; return s.tmp_9; }\n }\n case 15:\n r0 = s.retval;\n r0 = s.arg1;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P1463.info = {"start":1127,"length":417,"line":42,"column":39,"endLine":55,"endColumn":5,"fileName":"pxt_modules/game/texteffects.ts","functionName":"inline","argumentNames":["index","state"]}\n\nfunction inline__P1463_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P1463, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction inline__P1575(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_numops_toBoolDecr(globals.animations___1572);\n if (!r0) { step = 3; continue; }\n r0 = pxsim_numops_toBoolDecr(globals.animationStateStack___1573);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_Array__mk();\n globals.animationStateStack___1573 = (r0);\n case 1:\n case 2:\n r0 = pxsim_pxtrt.mkMap();\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "state", globals.animations___1572);\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "scene", s.arg0);\n r0 = pxsim_Array__push(globals.animationStateStack___1573, s.tmp_0);\n globals.animations___1572 = (undefined);\n case 3:\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P1575.info = {"start":251,"length":277,"line":12,"column":29,"endLine":21,"endColumn":5,"fileName":"pxt_modules/animation/legacy.ts","functionName":"inline","argumentNames":["oldScene"]}\n\nfunction inline__P1575_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P1575, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P1589(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.scene___1590 = undefined;\n s.nextState___1597 = undefined;\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 7; return s.tmp_0;\n case 7:\n r0 = s.retval;\n s.scene___1590 = (r0);\n globals.animations___1572 = (undefined);\n s.tmp_0 = r0 = globals.animationStateStack___1573;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = pxsim_Array__length(globals.animationStateStack___1573);\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 5; continue; }\n r0 = pxsim_Array_.pop(globals.animationStateStack___1573);\n s.nextState___1597 = (r0);\n s.tmp_2 = if_scene_1_mk(s);\n s.tmp_2.arg0 = s.nextState___1597;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "scene");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["scene"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["scene"]; }\n else { s.pc = 8; return s.tmp_2; }\n }\n case 8:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 == s.scene___1590);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.tmp_3 = if_state_1_mk(s);\n s.tmp_3.arg0 = s.nextState___1597;\n if (!s.tmp_3.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, "state");\n } else {\n s.tmp_3.fn = s.tmp_3.arg0.vtable.iface["state"];\n if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields["state"]; }\n else { s.pc = 9; return s.tmp_3; }\n }\n case 9:\n r0 = s.retval;\n globals.animations___1572 = (r0);\n { step = 4; continue; }\n case 3:\n r0 = pxsim_Array__push(globals.animationStateStack___1573, s.nextState___1597);\n case 4:\n case 5:\n case 6:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P1589.info = {"start":560,"length":398,"line":23,"column":28,"endLine":34,"endColumn":5,"fileName":"pxt_modules/animation/legacy.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P1589_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P1589, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n scene___1590: undefined,\n nextState___1597: undefined,\n} }\n\n\n\n\n\nfunction inline__P22737(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_2 = Sprite_ay__P619_mk(s);\n s.tmp_2.arg0 = globals.bunny___22740;\n s.pc = 3; return s.tmp_2;\n case 3:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 == 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_3 = Sprite_vy__P616_mk(s);\n s.tmp_3.arg0 = globals.bunny___22740;\n s.tmp_3.arg1 = -160;\n s.pc = 4; return s.tmp_3;\n case 4:\n r0 = s.retval;\n s.tmp_0 = Sprite_ay__P620_mk(s);\n s.tmp_0.arg0 = globals.bunny___22740;\n s.tmp_0.arg1 = globals.gravity___22747;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P22737.info = {"start":151,"length":97,"line":4,"column":60,"endLine":9,"endColumn":1,"fileName":"main.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P22737_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P22737, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n} }\n\n\n\n\n\nfunction inline__P22754(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = gameover__P22758_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P22754.info = {"start":32727,"length":50,"line":546,"column":58,"endLine":548,"endColumn":1,"fileName":"main.ts","functionName":"inline","argumentNames":["sprite","otherSprite"]}\n\nfunction inline__P22754_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P22754, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction inline__P22798(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_2 = Sprite_bottom__P635_mk(s);\n s.tmp_2.arg0 = globals.bunny___22740;\n s.pc = 3; return s.tmp_2;\n case 3:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > 105);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_3 = Sprite_bottom__P636_mk(s);\n s.tmp_3.arg0 = globals.bunny___22740;\n s.tmp_3.arg1 = 105;\n s.pc = 4; return s.tmp_3;\n case 4:\n r0 = s.retval;\n s.tmp_0 = Sprite_vy__P616_mk(s);\n s.tmp_0.arg0 = globals.bunny___22740;\n s.tmp_0.arg1 = 0;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n s.tmp_0 = Sprite_ay__P620_mk(s);\n s.tmp_0.arg0 = globals.bunny___22740;\n s.tmp_0.arg1 = 0;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P22798.info = {"start":34622,"length":120,"line":614,"column":14,"endLine":620,"endColumn":1,"fileName":"main.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P22798_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P22798, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n} }\n\n\n\n\n\nfunction inline__P22808(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_2 = Sprite_x__P609_mk(s);\n s.tmp_2.arg0 = globals.bird___22772;\n s.pc = 3; return s.tmp_2;\n case 3:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_3 = Sprite_setPosition__P639_mk(s);\n s.tmp_3.arg0 = globals.bird___22772;\n r0 = pxsim.Math_.randomRange(160, 240);\n s.tmp_3.arg1 = r0;\n r0 = pxsim.Math_.randomRange(20, 60);\n s.tmp_3.arg2 = r0;\n s.pc = 4; return s.tmp_3;\n case 4:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P22808.info = {"start":34758,"length":122,"line":621,"column":14,"endLine":625,"endColumn":1,"fileName":"main.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P22808_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P22808, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n} }\n\n\n\n\n\nfunction inline__P22818(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = Sprite_x__P610_mk(s);\n s.tmp_1 = r0 = globals.bird___22772;\n s.tmp_0.arg0 = r0;\n s.tmp_3 = Sprite_x__P609_mk(s);\n s.tmp_3.arg0 = s.tmp_1;\n s.pc = 2; return s.tmp_3;\n case 2:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + -1);\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P22818.info = {"start":34909,"length":32,"line":626,"column":27,"endLine":628,"endColumn":1,"fileName":"main.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P22818_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P22818, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n} }\n\n\n\n\n\nfunction inline__P22825(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.i___22834 = undefined;\n s.tmp_1 = game_runtime__P1033_mk(s);\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = (s.tmp_0 / 250);\n globals.difficultyFactor___22764 = (r0);\n r0 = (100 + globals.difficultyFactor___22764);\n globals.osbstacleSpeed___22763 = (r0);\n r0 = pxsim.Math_.randomRange(1, 3);\n globals.numObstacles___22762 = (r0);\n s.i___22834 = (0);\n case 1:\n r0 = (s.i___22834 < globals.numObstacles___22762);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n s.tmp_1 = r0 = globals.obstacles___22770;\n r0 = pxsim_Array__length(globals.obstacles___22770);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 - 1);\n s.tmp_3 = r0;\n r0 = pxsim.Math_.randomRange(0, s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_Array__getAt(s.tmp_1, s.tmp_2);\n globals.newObstacle___22761 = (r0);\n s.tmp_0 = sprites_createProjectileFromSide__P604_mk(s);\n s.tmp_0.arg0 = globals.newObstacle___22761;\n r0 = (0 - globals.osbstacleSpeed___22763);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = 0;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n globals.projectile___22760 = (r0);\n s.tmp_0 = Sprite_bottom__P636_mk(s);\n s.tmp_0.arg0 = globals.projectile___22760;\n s.tmp_0.arg1 = 105;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n s.tmp_0 = Sprite_setKind__P638_mk(s);\n s.tmp_0.arg0 = globals.projectile___22760;\n s.tmp_0.arg1 = globals.Obstacle___22731;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n s.tmp_0 = pause__P241_mk(s);\n r0 = (11500 / globals.osbstacleSpeed___22763);\n s.tmp_0.arg0 = r0;\n s.pc = 7; return s.tmp_0;\n case 7:\n r0 = s.retval;\n r0 = (s.i___22834 + 1);\n s.i___22834 = (r0);\n { step = 1; continue; }\n case 2:\n s.tmp_0 = pause__P241_mk(s);\n r0 = pxsim.Math_.randomRange(1500, 2500);\n s.tmp_0.arg0 = r0;\n s.pc = 8; return s.tmp_0;\n case 8:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P22825.info = {"start":34951,"length":519,"line":629,"column":8,"endLine":641,"endColumn":1,"fileName":"main.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P22825_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P22825, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n i___22834: undefined,\n} }\n\n\n\n\n\nfunction inline__P22861(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_1 = Math_percentChance__P1154_mk(s);\n s.tmp_1.arg0 = 40;\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_2 = sprites_createProjectileFromSide__P604_mk(s);\n s.tmp_3 = r0 = globals.grassImages___22768;\n r0 = pxsim_Array__length(globals.grassImages___22768);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 - 1);\n s.tmp_5 = r0;\n r0 = pxsim.Math_.randomRange(0, s.tmp_5);\n s.tmp_4 = r0;\n r0 = pxsim_Array__getAt(s.tmp_3, s.tmp_4);\n s.tmp_2.arg0 = r0;\n s.tmp_10 = game_runtime__P1033_mk(s);\n s.pc = 5; return s.tmp_10;\n case 5:\n r0 = s.retval;\n s.tmp_9 = r0;\n r0 = (s.tmp_9 / 250);\n s.tmp_8 = r0;\n r0 = (-100 - s.tmp_8);\n s.tmp_7 = r0;\n r0 = (s.tmp_7 / 2);\n s.tmp_2.arg1 = r0;\n s.tmp_2.arg2 = 0;\n s.pc = 4; return s.tmp_2;\n case 4:\n r0 = s.retval;\n globals.grass___22759 = (r0);\n s.tmp_0 = Sprite_bottom__P636_mk(s);\n s.tmp_0.arg0 = globals.grass___22759;\n s.tmp_0.arg1 = 100;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n s.tmp_0 = if_z_2_mk(s);\n s.tmp_0.arg0 = globals.grass___22759;\n s.tmp_0.arg1 = -1;\n if (!s.tmp_0.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapSetByString(s.tmp_0.arg0, "z", s.tmp_0.arg1);\n } else {\n s.tmp_0.fn = s.tmp_0.arg0.vtable.iface["set/z"];\n if (s.tmp_0.fn === null) { s.tmp_0.arg0.fields["z"] = s.tmp_0.arg1; }\n else if (s.tmp_0.fn === undefined) { failedCast(s.tmp_0.arg0) }\n else { s.pc = 7; return s.tmp_0; }\n }\n case 7:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P22861.info = {"start":35499,"length":248,"line":642,"column":27,"endLine":648,"endColumn":1,"fileName":"main.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P22861_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P22861, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n} }\n\n\n\n\n\nfunction inline__P22878(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals.over___22733);\n if (!r0) { step = 1; continue; }\n { step = 11; continue; }\n case 1:\n case 2:\n s.tmp_0 = info_changeScoreBy__P802_mk(s);\n s.tmp_0.arg0 = 1;\n s.pc = 12; return s.tmp_0;\n case 12:\n r0 = s.retval;\n s.tmp_2 = info_score__P798_mk(s);\n s.pc = 13; return s.tmp_2;\n case 13:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 3; continue; }\n r0 = s.tmp_0;\n { step = 4; continue; }\n case 3:\n s.tmp_5 = info_score__P798_mk(s);\n s.pc = 14; return s.tmp_5;\n case 14:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = (s.tmp_4 % 100);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 == 0);\n case 4:\n // jmp value (already in r0)\n s.tmp_6 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_6);\n if (!r0) { step = 5; continue; }\n s.tmp_7 = effects_ScreenEffect_startScreenEffect__P1416_mk(s);\n s.tmp_7.arg0 = globals.confetti___1424;\n s.tmp_7.arg1 = undefined;\n s.tmp_7.arg2 = undefined;\n s.pc = 15; return s.tmp_7;\n case 15:\n r0 = s.retval;\n { step = 10; continue; }\n case 5:\n s.tmp_2 = info_score__P798_mk(s);\n s.pc = 16; return s.tmp_2;\n case 16:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 6; continue; }\n r0 = s.tmp_0;\n { step = 7; continue; }\n case 6:\n s.tmp_6 = info_score__P798_mk(s);\n s.pc = 17; return s.tmp_6;\n case 17:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = (s.tmp_5 - 10);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 % 100);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 == 0);\n case 7:\n // jmp value (already in r0)\n s.tmp_7 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_7);\n if (!r0) { step = 8; continue; }\n s.tmp_8 = effects_ScreenEffect_endScreenEffect__P1417_mk(s);\n s.tmp_8.arg0 = globals.confetti___1424;\n s.pc = 18; return s.tmp_8;\n case 18:\n r0 = s.retval;\n case 8:\n case 9:\n case 10:\n case 11:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P22878.info = {"start":35776,"length":280,"line":649,"column":27,"endLine":657,"endColumn":1,"fileName":"main.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P22878_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P22878, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n} }\n\n\n\n\n\nfunction inline__P22894(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_1 = Math_percentChance__P1154_mk(s);\n s.tmp_1.arg0 = 20;\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_2 = createCloud__P22750_mk(s);\n s.pc = 4; return s.tmp_2;\n case 4:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P22894.info = {"start":36086,"length":77,"line":658,"column":28,"endLine":662,"endColumn":1,"fileName":"main.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P22894_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P22894, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n} }\n\n\n\n\n\nfunction inline__P22898(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_1 = Math_percentChance__P1154_mk(s);\n s.tmp_1.arg0 = 60;\n s.pc = 5; return s.tmp_1;\n case 5:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.tmp_2 = createTree__P22749_mk(s);\n s.pc = 6; return s.tmp_2;\n case 6:\n r0 = s.retval;\n s.tmp_1 = Math_percentChance__P1154_mk(s);\n s.tmp_1.arg0 = 50;\n s.pc = 7; return s.tmp_1;\n case 7:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_2 = pause__P241_mk(s);\n r0 = pxsim.Math_.randomRange(150, 300);\n s.tmp_2.arg0 = r0;\n s.pc = 8; return s.tmp_2;\n case 8:\n r0 = s.retval;\n s.tmp_0 = createTree__P22749_mk(s);\n s.pc = 9; return s.tmp_0;\n case 9:\n r0 = s.retval;\n case 1:\n case 2:\n case 3:\n case 4:\n s.tmp_0 = pause__P241_mk(s);\n s.tmp_0.arg0 = 1500;\n s.pc = 10; return s.tmp_0;\n case 10:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P22898.info = {"start":37807,"length":211,"line":721,"column":8,"endLine":730,"endColumn":1,"fileName":"main.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P22898_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P22898, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n} }\n\n\n\n\n\nfunction createTree__P22749(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = sprites_createProjectileFromSide__P604_mk(s);\n s.tmp_1 = r0 = globals.trees___22769;\n r0 = pxsim_Array__length(globals.trees___22769);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 - 1);\n s.tmp_3 = r0;\n r0 = pxsim.Math_.randomRange(0, s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_Array__getAt(s.tmp_1, s.tmp_2);\n s.tmp_0.arg0 = r0;\n s.tmp_8 = game_runtime__P1033_mk(s);\n s.pc = 2; return s.tmp_8;\n case 2:\n r0 = s.retval;\n s.tmp_7 = r0;\n r0 = (s.tmp_7 / 250);\n s.tmp_6 = r0;\n r0 = (-100 - s.tmp_6);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 / 2);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = 0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n globals.tree___22766 = (r0);\n s.tmp_0 = Sprite_bottom__P636_mk(s);\n s.tmp_0.arg0 = globals.tree___22766;\n s.tmp_0.arg1 = 100;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.tmp_0 = if_z_2_mk(s);\n s.tmp_0.arg0 = globals.tree___22766;\n s.tmp_0.arg1 = -1;\n if (!s.tmp_0.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapSetByString(s.tmp_0.arg0, "z", s.tmp_0.arg1);\n } else {\n s.tmp_0.fn = s.tmp_0.arg0.vtable.iface["set/z"];\n if (s.tmp_0.fn === null) { s.tmp_0.arg0.fields["z"] = s.tmp_0.arg1; }\n else if (s.tmp_0.fn === undefined) { failedCast(s.tmp_0.arg0) }\n else { s.pc = 4; return s.tmp_0; }\n }\n case 4:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncreateTree__P22749.info = {"start":32286,"length":192,"line":536,"column":0,"endLine":540,"endColumn":1,"fileName":"main.ts","functionName":"createTree","argumentNames":[]}\n\nfunction createTree__P22749_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: createTree__P22749, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n} }\n\n\n\n\n\nfunction createCloud__P22750(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = sprites_createProjectileFromSide__P604_mk(s);\n s.tmp_1 = r0 = globals.clouds___22767;\n r0 = pxsim_Array__length(globals.clouds___22767);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 - 1);\n s.tmp_3 = r0;\n r0 = pxsim.Math_.randomRange(0, s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_Array__getAt(s.tmp_1, s.tmp_2);\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = -30;\n s.tmp_0.arg2 = 0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n globals.cloud___22765 = (r0);\n s.tmp_0 = Sprite_bottom__P636_mk(s);\n s.tmp_0.arg0 = globals.cloud___22765;\n r0 = pxsim.Math_.randomRange(30, 55);\n s.tmp_0.arg1 = r0;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n s.tmp_0 = if_z_2_mk(s);\n s.tmp_0.arg0 = globals.cloud___22765;\n s.tmp_0.arg1 = -2;\n if (!s.tmp_0.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapSetByString(s.tmp_0.arg0, "z", s.tmp_0.arg1);\n } else {\n s.tmp_0.fn = s.tmp_0.arg0.vtable.iface["set/z"];\n if (s.tmp_0.fn === null) { s.tmp_0.arg0.fields["z"] = s.tmp_0.arg1; }\n else if (s.tmp_0.fn === undefined) { failedCast(s.tmp_0.arg0) }\n else { s.pc = 3; return s.tmp_0; }\n }\n case 3:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncreateCloud__P22750.info = {"start":32479,"length":189,"line":541,"column":0,"endLine":545,"endColumn":1,"fileName":"main.ts","functionName":"createCloud","argumentNames":[]}\n\nfunction createCloud__P22750_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: createCloud__P22750, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n} }\n\n\n\n\n\nfunction effects_ScreenEffect_endScreenEffect__P1417(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, effects_ScreenEffect__C1414_VT)) failedCast(r0);\n r0 = s.arg0.fields["source"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_1 = particles_ParticleSource_destroy__P1294_mk(s);\n r0 = s.arg0.fields["source"];\n s.tmp_1.arg0 = r0;\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n r0 = (s.arg0).fields["source"] = (undefined);\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\neffects_ScreenEffect_endScreenEffect__P1417.info = {"start":4539,"length":160,"line":121,"column":8,"endLine":126,"endColumn":9,"fileName":"pxt_modules/game/particleeffects.ts","functionName":"endScreenEffect","argumentNames":["this"]}\n\nfunction effects_ScreenEffect_endScreenEffect__P1417_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: effects_ScreenEffect_endScreenEffect__P1417, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleSource_destroy__P1294(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleSource__C1285_VT)) failedCast(r0);\n s.tmp_0 = particles_ParticleSource_enabled__P1293_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = false;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.tmp_0 = r0 = s.arg0;\n r0 = s.tmp_0.fields["pFlags"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["pFlags"] = (s.tmp_1);\n s.tmp_0 = particles_ParticleSource__prune__P1289_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleSource_destroy__P1294.info = {"start":6601,"length":240,"line":221,"column":8,"endLine":226,"endColumn":9,"fileName":"pxt_modules/game/particles.ts","functionName":"destroy","argumentNames":["this"]}\n\nfunction particles_ParticleSource_destroy__P1294_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleSource_destroy__P1294, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleSource_enabled__P1293(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleSource__C1285_VT)) failedCast(r0);\n s.tmp_1 = r0 = s.arg1;\n s.tmp_3 = particles_ParticleSource_enabled__P1292_mk(s);\n s.tmp_3.arg0 = s.arg0;\n s.pc = 5; return s.tmp_3;\n case 5:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (s.tmp_1 !== s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n if (!r0) { step = 1; continue; }\n r0 = s.arg0.fields["pFlags"];\n s.tmp_4 = r0;\n r0 = (s.tmp_4 | 1);\n { step = 2; continue; }\n case 1:\n r0 = s.arg0.fields["pFlags"];\n s.tmp_5 = r0;\n r0 = (s.tmp_5 ^ 1);\n case 2:\n // jmp value (already in r0)\n s.tmp_6 = r0;\n r0 = (s.arg0).fields["pFlags"] = (s.tmp_6);\n r0 = (s.arg0).fields["timer"] = (0);\n case 3:\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleSource_enabled__P1293.info = {"start":6323,"length":214,"line":211,"column":8,"endLine":216,"endColumn":9,"fileName":"pxt_modules/game/particles.ts","functionName":"enabled","argumentNames":["this","v"]}\n\nfunction particles_ParticleSource_enabled__P1293_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleSource_enabled__P1293, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleSource_enabled__P1292(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleSource__C1285_VT)) failedCast(r0);\n r0 = s.arg0.fields["pFlags"];\n s.tmp_4 = r0;\n r0 = (s.tmp_4 & 1);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleSource_enabled__P1292.info = {"start":6129,"length":76,"line":204,"column":8,"endLine":206,"endColumn":9,"fileName":"pxt_modules/game/particles.ts","functionName":"enabled","argumentNames":["this"]}\n\nfunction particles_ParticleSource_enabled__P1292_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleSource_enabled__P1292, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleSource__prune__P1289(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.scene___4922 = undefined;\n s.sources___4929 = undefined;\n s.current___4941 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleSource__C1285_VT)) failedCast(r0);\n case 1:\n r0 = s.arg0.fields["head"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 2; continue; }\n r0 = s.tmp_0;\n { step = 3; continue; }\n case 2:\n r0 = s.arg0.fields["head"];\n r0 = r0.fields["lifespan"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 <= 0);\n case 3:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 4; continue; }\n r0 = s.arg0.fields["head"];\n r0 = r0.fields["next"];\n s.tmp_3 = r0;\n r0 = (s.arg0).fields["head"] = (s.tmp_3);\n { step = 1; continue; }\n case 4:\n r0 = s.arg0.fields["pFlags"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 & 2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 5; continue; }\n r0 = s.tmp_0;\n { step = 6; continue; }\n case 5:\n r0 = s.arg0.fields["head"];\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n case 6:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n if (!r0) { step = 13; continue; }\n s.tmp_5 = game_currentScene__P769_mk(s);\n s.pc = 21; return s.tmp_5;\n case 21:\n r0 = s.retval;\n s.scene___4922 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.scene___4922);\n if (!r0) { step = 7; continue; }\n r0 = s.scene___4922.fields["allSprites"];\n s.tmp_0 = r0;\n r0 = pxsim_Array_.removeElement(s.tmp_0, s.arg0);\n case 7:\n case 8:\n s.tmp_0 = particles_particleSources__P1320_mk(s);\n s.pc = 22; return s.tmp_0;\n case 22:\n r0 = s.retval;\n s.sources___4929 = (r0);\n s.tmp_0 = r0 = s.sources___4929;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 9; continue; }\n r0 = s.tmp_0;\n { step = 10; continue; }\n case 9:\n r0 = pxsim_Array__length(s.sources___4929);\n case 10:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 11; continue; }\n r0 = pxsim_Array_.removeElement(s.sources___4929, s.arg0);\n case 11:\n case 12:\n r0 = s.arg0.fields["anchor"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 == undefined);\n case 13:\n case 14:\n r0 = s.arg0.fields["head"];\n s.current___4941 = (r0);\n case 15:\n s.tmp_0 = r0 = s.current___4941;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 16; continue; }\n r0 = s.tmp_0;\n { step = 17; continue; }\n case 16:\n r0 = s.current___4941.fields["next"];\n case 17:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 20; continue; }\n r0 = s.current___4941.fields["next"];\n r0 = r0.fields["lifespan"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 <= 0);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 18; continue; }\n r0 = s.current___4941.fields["next"];\n r0 = r0.fields["next"];\n s.tmp_4 = r0;\n r0 = (s.current___4941).fields["next"] = (s.tmp_4);\n { step = 19; continue; }\n case 18:\n r0 = s.current___4941.fields["next"];\n s.current___4941 = (r0);\n case 19:\n { step = 15; continue; }\n case 20:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleSource__prune__P1289.info = {"start":4921,"length":830,"line":163,"column":8,"endLine":186,"endColumn":9,"fileName":"pxt_modules/game/particles.ts","functionName":"_prune","argumentNames":["this"]}\n\nfunction particles_ParticleSource__prune__P1289_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleSource__prune__P1289, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n scene___4922: undefined,\n sources___4929: undefined,\n current___4941: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction particles_particleSources__P1320(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.sources___5026 = undefined;\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = r0.fields["particleSources"];\n s.sources___5026 = (r0);\n r0 = s.sources___5026;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_particleSources__P1320.info = {"start":12361,"length":119,"line":409,"column":4,"endLine":412,"endColumn":5,"fileName":"pxt_modules/game/particles.ts","functionName":"particleSources","argumentNames":[]}\n\nfunction particles_particleSources__P1320_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_particleSources__P1320, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n sources___5026: undefined,\n} }\n\n\n\n\n\nfunction inline__P7538(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.factory___7541 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_pxtcore_mkClassInstance(particles_ConfettiFactory__C1364_VT);\n s.tmp_0 = r0;\n s.tmp_2 = if_width_1_mk(s);\n s.tmp_2.arg0 = s.arg0;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "width");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["width"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["width"]; }\n else { s.pc = 3; return s.tmp_2; }\n }\n case 3:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 1; continue; }\n s.tmp_3 = if_width_1_mk(s);\n s.tmp_3.arg0 = s.arg0;\n if (!s.tmp_3.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, "width");\n } else {\n s.tmp_3.fn = s.tmp_3.arg0.vtable.iface["width"];\n if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields["width"]; }\n else { s.pc = 4; return s.tmp_3; }\n }\n case 4:\n r0 = s.retval;\n { step = 2; continue; }\n case 1:\n r0 = 16;\n case 2:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n s.tmp_5 = particles_ConfettiFactory_constructor__P1366_mk(s);\n s.tmp_5.arg0 = s.tmp_0;\n s.tmp_5.arg1 = s.tmp_4;\n s.tmp_5.arg2 = 16;\n s.pc = 5; return s.tmp_5;\n case 5:\n r0 = s.retval;\n s.factory___7541 = (s.tmp_0);\n s.tmp_0 = particles_SprayFactory_setSpeed__P1345_mk(s);\n s.tmp_0.arg0 = s.factory___7541;\n s.tmp_0.arg1 = 30;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkClassInstance(particles_ParticleSource__C1285_VT);\n s.tmp_0 = r0;\n s.tmp_1 = particles_ParticleSource_constructor__P1302_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = s.arg0;\n s.tmp_1.arg2 = s.arg1;\n s.tmp_1.arg3 = s.factory___7541;\n s.pc = 7; return s.tmp_1;\n case 7:\n r0 = s.retval;\n r0 = s.tmp_0;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P7538.info = {"start":7444,"length":284,"line":190,"column":59,"endLine":194,"endColumn":5,"fileName":"pxt_modules/game/particleeffects.ts","functionName":"inline","argumentNames":["anchor","particlesPerSecond"]}\n\nfunction inline__P7538_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P7538, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n factory___7541: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleSource_constructor__P1302(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.sources___7563 = undefined;\n s.removedSource___7570 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleSource__C1285_VT)) failedCast(r0);\n s.tmp_0 = sprites_BaseSprite_constructor__P516_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = 0;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n s.tmp_0 = particles_init__P1305_mk(s);\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n s.tmp_0 = particles_particleSources__P1320_mk(s);\n s.pc = 7; return s.tmp_0;\n case 7:\n r0 = s.retval;\n s.sources___7563 = (r0);\n r0 = pxsim_Array__length(s.sources___7563);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 >= globals.MAX_SOURCES___1274);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_2 = particles_sortSources__P1308_mk(s);\n s.tmp_2.arg0 = s.sources___7563;\n s.pc = 8; return s.tmp_2;\n case 8:\n r0 = s.retval;\n r0 = pxsim_Array_.removeAt(s.sources___7563, 0);\n s.removedSource___7570 = (r0);\n s.tmp_0 = particles_ParticleSource_clear__P1295_mk(s);\n s.tmp_0.arg0 = s.removedSource___7570;\n s.pc = 9; return s.tmp_0;\n case 9:\n r0 = s.retval;\n s.tmp_0 = particles_ParticleSource_destroy__P1294_mk(s);\n s.tmp_0.arg0 = s.removedSource___7570;\n s.pc = 10; return s.tmp_0;\n case 10:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = (s.arg0).fields["pFlags"] = (0);\n s.tmp_0 = particles_ParticleSource_setRate__P1297_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg2;\n s.pc = 11; return s.tmp_0;\n case 11:\n r0 = s.retval;\n s.tmp_0 = particles_ParticleSource_setAcceleration__P1290_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = 0;\n s.tmp_0.arg2 = 0;\n s.pc = 12; return s.tmp_0;\n case 12:\n r0 = s.retval;\n s.tmp_0 = particles_ParticleSource_setAnchor__P1296_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.pc = 13; return s.tmp_0;\n case 13:\n r0 = s.retval;\n r0 = (s.arg0).fields["lifespan"] = (undefined);\n r0 = (s.arg0).fields["_dt"] = (0);\n r0 = (s.arg0).fields["priority"] = (0);\n s.tmp_0 = r0 = s.arg3;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = s.tmp_0;\n { step = 4; continue; }\n case 3:\n r0 = globals.defaultFactory___1303;\n case 4:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n s.tmp_2 = particles_ParticleSource_setFactory__P1299_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.tmp_2.arg1 = s.tmp_1;\n s.pc = 14; return s.tmp_2;\n case 14:\n r0 = s.retval;\n r0 = pxsim_Array__push(s.sources___7563, s.arg0);\n s.tmp_0 = particles_ParticleSource_enabled__P1293_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = true;\n s.pc = 15; return s.tmp_0;\n case 15:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleSource_constructor__P1302.info = {"start":2230,"length":899,"line":84,"column":8,"endLine":107,"endColumn":9,"fileName":"pxt_modules/game/particles.ts","functionName":"inline","argumentNames":["this","anchor","particlesPerSecond","factory"]}\n\nfunction particles_ParticleSource_constructor__P1302_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleSource_constructor__P1302, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n sources___7563: undefined,\n removedSource___7570: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction particles_sortSources__P1308(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = helpers_arraySort__P43_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = inline__P7731;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_sortSources__P1308.info = {"start":9539,"length":129,"line":320,"column":4,"endLine":322,"endColumn":5,"fileName":"pxt_modules/game/particles.ts","functionName":"sortSources","argumentNames":["sources"]}\n\nfunction particles_sortSources__P1308_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_sortSources__P1308, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P7731(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0.fields["priority"];\n s.tmp_1 = r0;\n r0 = s.arg1.fields["priority"];\n s.tmp_2 = r0;\n r0 = (s.tmp_1 - s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = s.arg0.fields["id"];\n s.tmp_3 = r0;\n r0 = s.arg1.fields["id"];\n s.tmp_4 = r0;\n r0 = (s.tmp_3 - s.tmp_4);\n case 2:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n r0 = s.tmp_5;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P7731.info = {"start":9610,"length":50,"line":321,"column":21,"endLine":321,"endColumn":71,"fileName":"pxt_modules/game/particles.ts","functionName":"inline","argumentNames":["a","b"]}\n\nfunction inline__P7731_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P7731, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction helpers_arraySort__P43(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = pxsim_Array__length(s.arg0);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 > 1);\n case 2:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 3; continue; }\n s.arg1 = (inline__P5795);\n case 3:\n case 4:\n s.tmp_0 = helpers_sortHelper__P42_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_arraySort__P43.info = {"start":3380,"length":859,"line":123,"column":4,"endLine":143,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"arraySort","argumentNames":["arr","callbackfn"]}\n\nfunction helpers_arraySort__P43_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_arraySort__P43, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction inline__P5795(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.aIsUndef___5798 = undefined;\n s.bIsUndef___5801 = undefined;\n s.aIsNull___5809 = undefined;\n s.bIsNull___5812 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 === undefined);\n s.aIsUndef___5798 = (r0);\n r0 = (s.arg1 === undefined);\n s.bIsUndef___5801 = (r0);\n s.tmp_0 = r0 = s.aIsUndef___5798;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = s.bIsUndef___5801;\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 3; continue; }\n r0 = 0;\n { step = 17; continue; }\n { step = 8; continue; }\n case 3:\n r0 = pxsim_numops_toBoolDecr(s.aIsUndef___5798);\n if (!r0) { step = 4; continue; }\n r0 = 1;\n { step = 17; continue; }\n { step = 7; continue; }\n case 4:\n r0 = pxsim_numops_toBoolDecr(s.bIsUndef___5801);\n if (!r0) { step = 5; continue; }\n r0 = -1;\n { step = 17; continue; }\n case 5:\n case 6:\n case 7:\n case 8:\n r0 = (s.arg0 === null);\n s.aIsNull___5809 = (r0);\n r0 = (s.arg1 === null);\n s.bIsNull___5812 = (r0);\n s.tmp_0 = r0 = s.aIsNull___5809;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 9; continue; }\n r0 = s.tmp_0;\n { step = 10; continue; }\n case 9:\n r0 = s.bIsNull___5812;\n case 10:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 11; continue; }\n r0 = 0;\n { step = 17; continue; }\n { step = 16; continue; }\n case 11:\n r0 = pxsim_numops_toBoolDecr(s.aIsNull___5809);\n if (!r0) { step = 12; continue; }\n r0 = 1;\n { step = 17; continue; }\n { step = 15; continue; }\n case 12:\n r0 = pxsim_numops_toBoolDecr(s.bIsNull___5812);\n if (!r0) { step = 13; continue; }\n r0 = -1;\n { step = 17; continue; }\n case 13:\n case 14:\n case 15:\n case 16:\n if ((s.arg0) && (s.arg0).vtable) {\n setupResume(s, 18);\n pxsim_String__stringConv(s.arg0);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.arg0) + ""; }\n case 18:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = pxsim_String_.mkEmpty();\n s.tmp_4 = r0;\n r0 = pxsim_String__concat(s.tmp_3, s.tmp_4);\n s.tmp_2 = r0;\n if ((s.arg1) && (s.arg1).vtable) {\n setupResume(s, 19);\n pxsim_String__stringConv(s.arg1);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.arg1) + ""; }\n case 19:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = pxsim_String_.mkEmpty();\n s.tmp_7 = r0;\n r0 = pxsim_String__concat(s.tmp_6, s.tmp_7);\n s.tmp_5 = r0;\n r0 = pxsim_String_.compare(s.tmp_2, s.tmp_5);\n case 17:\n return leave(s, r0)\n default: oops()\n} } }\ninline__P5795.info = {"start":3543,"length":636,"line":125,"column":25,"endLine":140,"endColumn":13,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"inline","argumentNames":["a","b"]}\n\nfunction inline__P5795_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P5795, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n aIsUndef___5798: undefined,\n bIsUndef___5801: undefined,\n aIsNull___5809: undefined,\n bIsNull___5812: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction helpers_sortHelper__P42(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.len___5843 = undefined;\n s.i___5846 = undefined;\n s.j___5850 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_Array__length(s.arg0);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 <= 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n case 2:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 3; continue; }\n r0 = s.arg0;\n { step = 11; continue; }\n case 3:\n case 4:\n r0 = pxsim_Array__length(s.arg0);\n s.len___5843 = (r0);\n s.i___5846 = (0);\n case 5:\n s.tmp_1 = r0 = s.i___5846;\n r0 = (s.len___5843 - 1);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 10; continue; }\n r0 = (s.i___5846 + 1);\n s.j___5850 = (r0);\n case 6:\n r0 = (s.j___5850 < s.len___5843);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 9; continue; }\n s.tmp_3 = lambda_3_mk(s);\n s.tmp_3.argL = s.arg1;\n r0 = pxsim_Array__getAt(s.arg0, s.i___5846);\n s.tmp_3.arg0 = r0;\n r0 = pxsim_Array__getAt(s.arg0, s.j___5850);\n s.tmp_3.arg1 = r0;\n setupLambda(s.tmp_3, s.tmp_3.argL);\n s.pc = 12; return s.tmp_3;\n case 12:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (s.tmp_2 > 0);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 7; continue; }\n s.tmp_4 = helpers_swap__P41_mk(s);\n s.tmp_4.arg0 = s.arg0;\n s.tmp_4.arg1 = s.i___5846;\n s.tmp_4.arg2 = s.j___5850;\n s.pc = 13; return s.tmp_4;\n case 13:\n r0 = s.retval;\n case 7:\n case 8:\n r0 = (s.j___5850 + 1);\n s.j___5850 = (r0);\n { step = 6; continue; }\n case 9:\n r0 = (s.i___5846 + 1);\n s.i___5846 = (r0);\n { step = 5; continue; }\n case 10:\n r0 = s.arg0;\n case 11:\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_sortHelper__P42.info = {"start":2893,"length":481,"line":107,"column":4,"endLine":121,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"sortHelper","argumentNames":["arr","callbackfn"]}\n\nfunction helpers_sortHelper__P42_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_sortHelper__P42, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n len___5843: undefined,\n i___5846: undefined,\n j___5850: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction helpers_swap__P41(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.temp___5873 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_Array__getAt(s.arg0, s.arg1);\n s.temp___5873 = (r0);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_1 = r0 = s.arg1;\n r0 = pxsim_Array__getAt(s.arg0, s.arg2);\n s.tmp_2 = r0;\n r0 = pxsim_Array_.setAt(s.tmp_0, s.tmp_1, s.tmp_2);\n r0 = pxsim_Array_.setAt(s.arg0, s.arg2, s.temp___5873);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_swap__P41.info = {"start":2747,"length":140,"line":101,"column":4,"endLine":105,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"swap","argumentNames":["arr","i","j"]}\n\nfunction helpers_swap__P41_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_swap__P41, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n temp___5873: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction particles_init__P1305(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.scene___7744 = undefined;\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n s.scene___7744 = (r0);\n r0 = s.scene___7744.fields["particleSources"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 3; continue; }\n case 1:\n case 2:\n s.tmp_1 = r0 = s.scene___7744;\n r0 = pxsim_Array__mk();\n s.tmp_2 = r0;\n r0 = (s.tmp_1).fields["particleSources"] = (s.tmp_2);\n r0 = pxsim.control.millis();\n globals.lastUpdate___1282 = (r0);\n s.tmp_0 = game_onUpdate__P1027_mk(s);\n s.tmp_0.arg0 = particles_updateParticles__P1306;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n s.tmp_0 = game_onUpdateInterval__P1028_mk(s);\n s.tmp_0.arg0 = 250;\n s.tmp_0.arg1 = particles_pruneParticles__P1307;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n case 3:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_init__P1305.info = {"start":8745,"length":276,"line":292,"column":4,"endLine":299,"endColumn":5,"fileName":"pxt_modules/game/particles.ts","functionName":"init","argumentNames":[]}\n\nfunction particles_init__P1305_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_init__P1305, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n scene___7744: undefined,\n} }\n\n\n\n\n\nfunction particles_pruneParticles__P1307(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.sources___4886 = undefined;\n s.tmp_0 = particles_particleSources__P1320_mk(s);\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.sources___4886 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.sources___4886);\n if (!r0) { step = 1; continue; }\n s.tmp_0 = helpers_arrayForEach__P47_mk(s);\n s.tmp_1 = helpers_arraySlice__P52_mk(s);\n s.tmp_1.arg0 = s.sources___4886;\n s.tmp_1.arg1 = 0;\n r0 = pxsim_Array__length(s.sources___4886);\n s.tmp_1.arg2 = r0;\n s.pc = 5; return s.tmp_1;\n case 5:\n r0 = s.retval;\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = inline__P4895;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_pruneParticles__P1307.info = {"start":9373,"length":156,"line":315,"column":4,"endLine":318,"endColumn":5,"fileName":"pxt_modules/game/particles.ts","functionName":"pruneParticles","argumentNames":[]}\n\nfunction particles_pruneParticles__P1307_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_pruneParticles__P1307, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n sources___4886: undefined,\n} }\n\n\n\n\n\nfunction inline__P4895(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = particles_ParticleSource__prune__P1289_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P4895.info = {"start":9506,"length":15,"line":317,"column":62,"endLine":317,"endColumn":77,"fileName":"pxt_modules/game/particles.ts","functionName":"inline","argumentNames":["s"]}\n\nfunction inline__P4895_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P4895, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction helpers_arraySlice__P52(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.res___4962 = undefined;\n s.len___4964 = undefined;\n s.i___4990 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_Array__mk();\n s.res___4962 = (r0);\n r0 = pxsim_Array__length(s.arg0);\n s.len___4964 = (r0);\n r0 = (s.arg1 === undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.arg1 = (0);\n { step = 4; continue; }\n case 1:\n r0 = (s.arg1 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n s.tmp_1 = Math_max__P61_mk(s);\n r0 = (s.len___4964 + s.arg1);\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = 0;\n s.pc = 16; return s.tmp_1;\n case 16:\n r0 = s.retval;\n s.arg1 = (r0);\n case 2:\n case 3:\n case 4:\n r0 = (s.arg1 > s.len___4964);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = s.res___4962;\n { step = 15; continue; }\n case 5:\n case 6:\n r0 = (s.arg2 === undefined);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 7; continue; }\n s.arg2 = (s.len___4964);\n { step = 10; continue; }\n case 7:\n r0 = (s.arg2 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 8; continue; }\n r0 = (s.len___4964 + s.arg2);\n s.arg2 = (r0);\n case 8:\n case 9:\n case 10:\n r0 = (s.arg2 > s.len___4964);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 11; continue; }\n s.arg2 = (s.len___4964);\n case 11:\n case 12:\n s.i___4990 = (s.arg1);\n case 13:\n r0 = (s.i___4990 < s.arg2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 14; continue; }\n s.tmp_1 = r0 = s.res___4962;\n r0 = pxsim_Array__getAt(s.arg0, s.i___4990);\n s.tmp_2 = r0;\n r0 = pxsim_Array__push(s.tmp_1, s.tmp_2);\n r0 = (s.i___4990 + 1);\n s.i___4990 = (r0);\n { step = 13; continue; }\n case 14:\n r0 = s.res___4962;\n case 15:\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_arraySlice__P52.info = {"start":6626,"length":690,"line":215,"column":4,"endLine":240,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"arraySlice","argumentNames":["arr","start","end"]}\n\nfunction helpers_arraySlice__P52_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_arraySlice__P52, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n res___4962: undefined,\n len___4964: undefined,\n i___4990: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction Math_max__P61(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 >= s.arg1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.arg0;\n { step = 3; continue; }\n case 1:\n case 2:\n r0 = s.arg1;\n case 3:\n return leave(s, r0)\n default: oops()\n} } }\nMath_max__P61.info = {"start":10801,"length":105,"line":365,"column":4,"endLine":368,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"max","argumentNames":["a","b"]}\n\nfunction Math_max__P61_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Math_max__P61, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction helpers_arrayForEach__P47(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.len___2852 = undefined;\n s.i___2855 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_Array__length(s.arg0);\n s.len___2852 = (r0);\n s.i___2855 = (0);\n case 1:\n r0 = (s.i___2855 < s.len___2852);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n s.tmp_1 = lambda_3_mk(s);\n s.tmp_1.argL = s.arg1;\n r0 = pxsim_Array__getAt(s.arg0, s.i___2855);\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = s.i___2855;\n setupLambda(s.tmp_1, s.tmp_1.argL);\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n r0 = (s.i___2855 + 1);\n s.i___2855 = (r0);\n { step = 1; continue; }\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_arrayForEach__P47.info = {"start":5156,"length":250,"line":170,"column":4,"endLine":175,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"arrayForEach","argumentNames":["arr","callbackfn"]}\n\nfunction helpers_arrayForEach__P47_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_arrayForEach__P47, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n len___2852: undefined,\n i___2855: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction particles_updateParticles__P1306(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.sources___7758 = undefined;\n s.time___7763 = undefined;\n s.dt___7766 = undefined;\n s.i___7771 = undefined;\n s.tmp_0 = particles_particleSources__P1320_mk(s);\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n s.sources___7758 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.sources___7758);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 5; continue; }\n case 1:\n case 2:\n s.tmp_2 = particles_sortSources__P1308_mk(s);\n s.tmp_2.arg0 = s.sources___7758;\n s.pc = 7; return s.tmp_2;\n case 7:\n r0 = s.retval;\n r0 = pxsim.control.millis();\n s.time___7763 = (r0);\n r0 = (s.time___7763 - globals.lastUpdate___1282);\n s.dt___7766 = (r0);\n globals.lastUpdate___1282 = (s.time___7763);\n s.i___7771 = (0);\n case 3:\n s.tmp_1 = r0 = s.i___7771;\n r0 = pxsim_Array__length(s.sources___7758);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 4; continue; }\n s.tmp_3 = particles_ParticleSource__update__P1288_mk(s);\n r0 = pxsim_Array__getAt(s.sources___7758, s.i___7771);\n s.tmp_3.arg0 = r0;\n s.tmp_3.arg1 = s.dt___7766;\n s.pc = 8; return s.tmp_3;\n case 8:\n r0 = s.retval;\n r0 = (s.i___7771 + 1);\n s.i___7771 = (r0);\n { step = 3; continue; }\n case 4:\n case 5:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_updateParticles__P1306.info = {"start":9027,"length":340,"line":301,"column":4,"endLine":313,"endColumn":5,"fileName":"pxt_modules/game/particles.ts","functionName":"updateParticles","argumentNames":[]}\n\nfunction particles_updateParticles__P1306_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_updateParticles__P1306, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n sources___7758: undefined,\n time___7763: undefined,\n dt___7766: undefined,\n i___7771: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleSource__update__P1288(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.p___7825 = undefined;\n s.current___7841 = undefined;\n s.fixedDt___7848 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleSource__C1285_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.tmp_0.fields["timer"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - s.arg1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["timer"] = (s.tmp_1);\n r0 = s.arg0.fields["lifespan"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 !== undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.tmp_2 = r0 = s.arg0;\n r0 = s.tmp_2.fields["lifespan"];\n s.tmp_4 = r0;\n r0 = (s.tmp_4 - s.arg1);\n s.tmp_3 = r0;\n r0 = (s.tmp_2).fields["lifespan"] = (s.tmp_3);\n r0 = s.arg0.fields["lifespan"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 <= 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = (s.arg0).fields["lifespan"] = (undefined);\n s.tmp_0 = particles_ParticleSource_destroy__P1294_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 28; return s.tmp_0;\n case 28:\n r0 = s.retval;\n case 1:\n case 2:\n { step = 10; continue; }\n case 3:\n r0 = s.arg0.fields["anchor"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 4; continue; }\n r0 = s.tmp_0;\n { step = 5; continue; }\n case 4:\n s.tmp_2 = if_flags_1_mk(s);\n r0 = s.arg0.fields["anchor"];\n s.tmp_2.arg0 = r0;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "flags");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["flags"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["flags"]; }\n else { s.pc = 29; return s.tmp_2; }\n }\n case 29:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 !== undefined);\n case 5:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBool(s.tmp_3);\n if (r0) { step = 6; continue; }\n r0 = s.tmp_3;\n { step = 7; continue; }\n case 6:\n s.tmp_5 = if_flags_1_mk(s);\n r0 = s.arg0.fields["anchor"];\n s.tmp_5.arg0 = r0;\n if (!s.tmp_5.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_5.arg0, "flags");\n } else {\n s.tmp_5.fn = s.tmp_5.arg0.vtable.iface["flags"];\n if (s.tmp_5.fn == null) { s.retval = s.tmp_5.arg0.fields["flags"]; }\n else { s.pc = 30; return s.tmp_5; }\n }\n case 30:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = (s.tmp_4 & 2);\n case 7:\n // jmp value (already in r0)\n s.tmp_6 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_6);\n if (!r0) { step = 8; continue; }\n r0 = (s.arg0).fields["lifespan"] = (750);\n case 8:\n case 9:\n case 10:\n case 11:\n r0 = s.arg0.fields["timer"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 12; continue; }\n r0 = s.tmp_0;\n { step = 13; continue; }\n case 12:\n s.tmp_2 = particles_ParticleSource_enabled__P1292_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 31; return s.tmp_2;\n case 31:\n r0 = s.retval;\n case 13:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 16; continue; }\n s.tmp_4 = r0 = s.arg0;\n r0 = s.tmp_4.fields["timer"];\n s.tmp_6 = r0;\n r0 = s.arg0.fields["period"];\n s.tmp_7 = r0;\n r0 = (s.tmp_6 + s.tmp_7);\n s.tmp_5 = r0;\n r0 = (s.tmp_4).fields["timer"] = (s.tmp_5);\n s.tmp_0 = particles_ParticleFactory__C1337_v0_2_mk(s);\n r0 = s.arg0.fields["_factory"];\n s.tmp_0.arg0 = r0;\n r0 = s.arg0.fields["anchor"];\n s.tmp_0.arg1 = r0;\n if (!checkSubtype(s.tmp_0.arg0, particles_ParticleFactory__C1337_VT)) failedCast(s.tmp_0.arg0);\n s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.createParticle;\n s.pc = 32; return s.tmp_0;\n case 32:\n r0 = s.retval;\n s.p___7825 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.p___7825);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 14; continue; }\n { step = 11; continue; }\n case 14:\n case 15:\n r0 = s.arg0.fields["head"];\n s.tmp_2 = r0;\n r0 = (s.p___7825).fields["next"] = (s.tmp_2);\n r0 = (s.arg0).fields["head"] = (s.p___7825);\n { step = 11; continue; }\n case 16:\n r0 = s.arg0.fields["head"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 17; continue; }\n { step = 27; continue; }\n case 17:\n case 18:\n r0 = s.arg0.fields["head"];\n s.current___7841 = (r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.tmp_0.fields["_dt"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.arg1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["_dt"] = (s.tmp_1);\n r0 = s.arg0.fields["_dt"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 * 256);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 | 0);\n s.fixedDt___7848 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.fixedDt___7848);\n if (!r0) { step = 23; continue; }\n case 19:\n r0 = s.current___7841.fields["lifespan"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 20; continue; }\n s.tmp_2 = r0 = s.current___7841;\n r0 = s.tmp_2.fields["lifespan"];\n s.tmp_4 = r0;\n r0 = (s.tmp_4 - s.arg1);\n s.tmp_3 = r0;\n r0 = (s.tmp_2).fields["lifespan"] = (s.tmp_3);\n s.tmp_0 = particles_ParticleSource__C1285_v4_3_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.current___7841;\n s.tmp_0.arg2 = s.fixedDt___7848;\n if (!checkSubtype(s.tmp_0.arg0, particles_ParticleSource__C1285_VT)) failedCast(s.tmp_0.arg0);\n s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.updateParticle;\n s.pc = 33; return s.tmp_0;\n case 33:\n r0 = s.retval;\n case 20:\n case 21:\n r0 = s.current___7841.fields["next"];\n s.tmp_0 = r0;\n s.current___7841 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 22; continue; }\n { step = 19; continue; }\n case 22:\n r0 = (s.arg0).fields["_dt"] = (0);\n { step = 26; continue; }\n case 23:\n case 24:\n s.tmp_0 = r0 = s.current___7841;\n r0 = s.tmp_0.fields["lifespan"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - s.arg1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["lifespan"] = (s.tmp_1);\n r0 = s.current___7841.fields["next"];\n s.tmp_0 = r0;\n s.current___7841 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 25; continue; }\n { step = 24; continue; }\n case 25:\n case 26:\n case 27:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleSource__update__P1288.info = {"start":3511,"length":1400,"line":121,"column":8,"endLine":161,"endColumn":9,"fileName":"pxt_modules/game/particles.ts","functionName":"_update","argumentNames":["this","dt"]}\n\nfunction particles_ParticleSource__update__P1288_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleSource__update__P1288, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n p___7825: undefined,\n current___7841: undefined,\n fixedDt___7848: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleFactory_createParticle__P1338(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.p___7941 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleFactory__C1337_VT)) failedCast(r0);\n r0 = pxsim_pxtcore_mkClassInstance(particles_Particle__C1283_VT);\n s.p___7941 = (r0);\n s.tmp_0 = r0 = s.p___7941;\n s.tmp_3 = if_x_1_mk(s);\n s.tmp_3.arg0 = s.arg1;\n if (!s.tmp_3.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, "x");\n } else {\n s.tmp_3.fn = s.tmp_3.arg0.vtable.iface["x"];\n if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields["x"]; }\n else { s.pc = 1; return s.tmp_3; }\n }\n case 1:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (s.tmp_2 * 256);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["_x"] = (s.tmp_1);\n s.tmp_0 = r0 = s.p___7941;\n s.tmp_3 = if_y_1_mk(s);\n s.tmp_3.arg0 = s.arg1;\n if (!s.tmp_3.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, "y");\n } else {\n s.tmp_3.fn = s.tmp_3.arg0.vtable.iface["y"];\n if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields["y"]; }\n else { s.pc = 2; return s.tmp_3; }\n }\n case 2:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (s.tmp_2 * 256);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["_y"] = (s.tmp_1);\n r0 = (s.p___7941).fields["vx"] = (globals.zeroFx8___79);\n r0 = (s.p___7941).fields["vy"] = (globals.zeroFx8___79);\n r0 = (s.p___7941).fields["lifespan"] = (500);\n r0 = s.p___7941;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleFactory_createParticle__P1338.info = {"start":1822,"length":282,"line":67,"column":8,"endLine":77,"endColumn":9,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"createParticle","argumentNames":["this","anchor"]}\n\nfunction particles_ParticleFactory_createParticle__P1338_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleFactory_createParticle__P1338, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n p___7941: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleSource_updateParticle__P1300(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleSource__C1285_VT)) failedCast(r0);\n r0 = (s.arg2 >> 10);\n s.arg2 = (r0);\n s.tmp_0 = r0 = s.arg1;\n r0 = s.arg1.fields["vx"];\n s.tmp_2 = r0;\n r0 = s.arg0.fields["ax"];\n s.tmp_4 = r0;\n r0 = pxsim.Math_.imul(s.tmp_4, s.arg2);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 >> 8);\n s.tmp_3 = r0;\n r0 = (s.tmp_2 + s.tmp_3);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["vx"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg1;\n r0 = s.arg1.fields["vy"];\n s.tmp_2 = r0;\n r0 = s.arg0.fields["ay"];\n s.tmp_4 = r0;\n r0 = pxsim.Math_.imul(s.tmp_4, s.arg2);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 >> 8);\n s.tmp_3 = r0;\n r0 = (s.tmp_2 + s.tmp_3);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["vy"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg1;\n r0 = s.arg1.fields["_x"];\n s.tmp_2 = r0;\n r0 = s.arg1.fields["vx"];\n s.tmp_4 = r0;\n r0 = pxsim.Math_.imul(s.tmp_4, s.arg2);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 >> 8);\n s.tmp_3 = r0;\n r0 = (s.tmp_2 + s.tmp_3);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["_x"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg1;\n r0 = s.arg1.fields["_y"];\n s.tmp_2 = r0;\n r0 = s.arg1.fields["vy"];\n s.tmp_4 = r0;\n r0 = pxsim.Math_.imul(s.tmp_4, s.arg2);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 >> 8);\n s.tmp_3 = r0;\n r0 = (s.tmp_2 + s.tmp_3);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["_y"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleSource_updateParticle__P1300.info = {"start":7756,"length":357,"line":265,"column":8,"endLine":273,"endColumn":9,"fileName":"pxt_modules/game/particles.ts","functionName":"updateParticle","argumentNames":["this","p","fixedDt"]}\n\nfunction particles_ParticleSource_updateParticle__P1300_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleSource_updateParticle__P1300, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction Fx_rightShift__P97(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 >> s.arg1);\n return leave(s, r0)\n default: oops()\n} } }\nFx_rightShift__P97.info = {"start":1883,"length":108,"line":62,"column":4,"endLine":64,"endColumn":5,"fileName":"pxt_modules/base/fixed.ts","functionName":"rightShift","argumentNames":["a","n"]}\n\nfunction Fx_rightShift__P97_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Fx_rightShift__P97, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Fx_mul__P89(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim.Math_.imul(s.arg0, s.arg1);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 >> 8);\n return leave(s, r0)\n default: oops()\n} } }\nFx_mul__P89.info = {"start":859,"length":133,"line":29,"column":4,"endLine":31,"endColumn":5,"fileName":"pxt_modules/base/fixed.ts","functionName":"mul","argumentNames":["a","b"]}\n\nfunction Fx_mul__P89_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Fx_mul__P89, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Fx_add__P86(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 + s.arg1);\n return leave(s, r0)\n default: oops()\n} } }\nFx_add__P86.info = {"start":498,"length":118,"line":20,"column":4,"endLine":22,"endColumn":5,"fileName":"pxt_modules/base/fixed.ts","functionName":"add","argumentNames":["a","b"]}\n\nfunction Fx_add__P86_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Fx_add__P86, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction particles_SprayFactory_constructor__P1347(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_SprayFactory__C1341_VT)) failedCast(r0);\n r0 = undefined;\n s.tmp_0 = particles_initTrig__P1331_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.tmp_0 = particles_SprayFactory_setSpeed__P1345_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n s.tmp_0 = particles_SprayFactory_setDirection__P1346_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg2;\n s.tmp_0.arg2 = s.arg3;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_SprayFactory_constructor__P1347.info = {"start":2623,"length":218,"line":98,"column":8,"endLine":103,"endColumn":9,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"inline","argumentNames":["this","speed","centerDegrees","arcDegrees"]}\n\nfunction particles_SprayFactory_constructor__P1347_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_SprayFactory_constructor__P1347, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction particles_SprayFactory_setDirection__P1346(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_SprayFactory__C1341_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_4 = particles_toRadians__P1336_mk(s);\n s.tmp_5 = r0 = s.arg1;\n r0 = (s.arg2 >> 1);\n s.tmp_6 = r0;\n r0 = (s.tmp_5 - s.tmp_6);\n s.tmp_4.arg0 = r0;\n s.pc = 1; return s.tmp_4;\n case 1:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_3 / globals.angleSlice___1328);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["minAngle"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_4 = particles_toRadians__P1336_mk(s);\n s.tmp_4.arg0 = s.arg2;\n s.pc = 2; return s.tmp_4;\n case 2:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_3 / globals.angleSlice___1328);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["spread"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_SprayFactory_setDirection__P1346.info = {"start":3424,"length":228,"line":123,"column":8,"endLine":126,"endColumn":9,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"setDirection","argumentNames":["this","centerDegrees","arcDegrees"]}\n\nfunction particles_SprayFactory_setDirection__P1346_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_SprayFactory_setDirection__P1346, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction particles_toRadians__P1336(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_3 = Math_abs__P59_mk(s);\n s.tmp_3.arg0 = s.arg0;\n s.pc = 3; return s.tmp_3;\n case 3:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (s.tmp_2 % 360);\n s.tmp_1 = r0;\n r0 = (360 - s.tmp_1);\n s.arg0 = (r0);\n { step = 2; continue; }\n case 1:\n r0 = (s.arg0 % 360);\n s.arg0 = (r0);\n case 2:\n r0 = (s.arg0 * globals.ratio___1334);\n return leave(s, r0)\n default: oops()\n} } }\nparticles_toRadians__P1336.info = {"start":1307,"length":206,"line":45,"column":4,"endLine":52,"endColumn":5,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"toRadians","argumentNames":["degrees"]}\n\nfunction particles_toRadians__P1336_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_toRadians__P1336, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleFactory_constructor__P1340(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleFactory__C1337_VT)) failedCast(r0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleFactory_constructor__P1340.info = {"start":1617,"length":78,"line":59,"column":8,"endLine":61,"endColumn":9,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"inline","argumentNames":["this"]}\n\nfunction particles_ParticleFactory_constructor__P1340_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleFactory_constructor__P1340, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction particles_initTrig__P1331(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals.cachedSin___1321);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_2 = particles_cacheSin__P1332_mk(s);\n s.tmp_2.arg0 = 100;\n s.pc = 3; return s.tmp_2;\n case 3:\n r0 = s.retval;\n globals.cachedSin___1321 = (r0);\n s.tmp_0 = particles_cacheCos__P1333_mk(s);\n s.tmp_0.arg0 = 100;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n globals.cachedCos___1322 = (r0);\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_initTrig__P1331.info = {"start":291,"length":155,"line":11,"column":4,"endLine":16,"endColumn":5,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"initTrig","argumentNames":[]}\n\nfunction particles_initTrig__P1331_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_initTrig__P1331, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n} }\n\n\n\n\n\nfunction particles_cacheCos__P1333(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.cos___7647 = undefined;\n s.anglePerSlice___7649 = undefined;\n s.i___7652 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_Array__mk();\n s.cos___7647 = (r0);\n r0 = (2 * 3.141592653589793);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 / s.arg0);\n s.anglePerSlice___7649 = (r0);\n s.i___7652 = (0);\n case 1:\n r0 = (s.i___7652 < s.arg0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n s.tmp_1 = r0 = s.cos___7647;\n r0 = (s.i___7652 * s.anglePerSlice___7649);\n s.tmp_4 = r0;\n r0 = pxsim.Math_.cos(s.tmp_4);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 * 256);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 | 0);\n s.tmp_2 = r0;\n r0 = pxsim_Array__push(s.tmp_1, s.tmp_2);\n r0 = (s.i___7652 + 1);\n s.i___7652 = (r0);\n { step = 1; continue; }\n case 2:\n r0 = s.cos___7647;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_cacheCos__P1333.info = {"start":1005,"length":263,"line":35,"column":4,"endLine":42,"endColumn":5,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"cacheCos","argumentNames":["slices"]}\n\nfunction particles_cacheCos__P1333_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_cacheCos__P1333, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n cos___7647: undefined,\n anglePerSlice___7649: undefined,\n i___7652: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction particles_cacheSin__P1332(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.sin___7668 = undefined;\n s.anglePerSlice___7670 = undefined;\n s.i___7673 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_Array__mk();\n s.sin___7668 = (r0);\n r0 = (2 * 3.141592653589793);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 / s.arg0);\n s.anglePerSlice___7670 = (r0);\n s.i___7673 = (0);\n case 1:\n r0 = (s.i___7673 < s.arg0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n s.tmp_1 = r0 = s.sin___7668;\n r0 = (s.i___7673 * s.anglePerSlice___7670);\n s.tmp_4 = r0;\n r0 = pxsim.Math_.sin(s.tmp_4);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 * 256);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 | 0);\n s.tmp_2 = r0;\n r0 = pxsim_Array__push(s.tmp_1, s.tmp_2);\n r0 = (s.i___7673 + 1);\n s.i___7673 = (r0);\n { step = 1; continue; }\n case 2:\n r0 = s.sin___7668;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_cacheSin__P1332.info = {"start":594,"length":263,"line":22,"column":4,"endLine":29,"endColumn":5,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"cacheSin","argumentNames":["slices"]}\n\nfunction particles_cacheSin__P1332_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_cacheSin__P1332, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n sin___7668: undefined,\n anglePerSlice___7670: undefined,\n i___7673: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleSource_setFactory__P1299(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleSource__C1285_VT)) failedCast(r0);\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n if (!r0) { step = 1; continue; }\n r0 = (s.arg0).fields["_factory"] = (s.arg1);\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleSource_setFactory__P1299.info = {"start":7632,"length":114,"line":260,"column":8,"endLine":263,"endColumn":9,"fileName":"pxt_modules/game/particles.ts","functionName":"setFactory","argumentNames":["this","factory"]}\n\nfunction particles_ParticleSource_setFactory__P1299_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleSource_setFactory__P1299, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleSource_setRate__P1297(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleSource__C1285_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = (1000 / s.arg1);\n s.tmp_2 = r0;\n r0 = pxsim.Math_.ceil(s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["period"] = (s.tmp_1);\n r0 = (s.arg0).fields["timer"] = (0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleSource_setRate__P1297.info = {"start":7310,"length":139,"line":247,"column":8,"endLine":250,"endColumn":9,"fileName":"pxt_modules/game/particles.ts","functionName":"setRate","argumentNames":["this","particlesPerSecond"]}\n\nfunction particles_ParticleSource_setRate__P1297_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleSource_setRate__P1297, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleSource_setAnchor__P1296(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleSource__C1285_VT)) failedCast(r0);\n r0 = (s.arg0).fields["anchor"] = (s.arg1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleSource_setAnchor__P1296.info = {"start":7101,"length":79,"line":239,"column":8,"endLine":241,"endColumn":9,"fileName":"pxt_modules/game/particles.ts","functionName":"setAnchor","argumentNames":["this","anchor"]}\n\nfunction particles_ParticleSource_setAnchor__P1296_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleSource_setAnchor__P1296, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleSource_clear__P1295(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleSource__C1285_VT)) failedCast(r0);\n r0 = (s.arg0).fields["head"] = (undefined);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleSource_clear__P1295.info = {"start":6931,"length":54,"line":231,"column":8,"endLine":233,"endColumn":9,"fileName":"pxt_modules/game/particles.ts","functionName":"clear","argumentNames":["this"]}\n\nfunction particles_ParticleSource_clear__P1295_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleSource_clear__P1295, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleSource_setAcceleration__P1290(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleSource__C1285_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg1 * 256);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["ax"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg2 * 256);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["ay"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleSource_setAcceleration__P1290.info = {"start":5843,"length":113,"line":191,"column":8,"endLine":194,"endColumn":9,"fileName":"pxt_modules/game/particles.ts","functionName":"setAcceleration","argumentNames":["this","ax","ay"]}\n\nfunction particles_ParticleSource_setAcceleration__P1290_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleSource_setAcceleration__P1290, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction sprites_BaseSprite_constructor__P516(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_BaseSprite__C508_VT)) failedCast(r0);\n s.tmp_0 = sprites_BaseSprite_z__P511_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.tmp_0 = scene_Scene_addSprite__P927_mk(s);\n s.tmp_1 = game_currentScene__P769_mk(s);\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = s.arg0;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_BaseSprite_constructor__P516.info = {"start":344,"length":170,"line":15,"column":8,"endLine":20,"endColumn":9,"fileName":"pxt_modules/game/basesprite.ts","functionName":"inline","argumentNames":["this","z"]}\n\nfunction sprites_BaseSprite_constructor__P516_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_BaseSprite_constructor__P516, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction scene_Scene_addSprite__P927(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Scene__C923_VT)) failedCast(r0);\n r0 = s.arg0.fields["allSprites"];\n s.tmp_0 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.arg1);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.tmp_0.fields["spriteNextId"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + 1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["spriteNextId"] = (s.tmp_1);\n s.tmp_3 = if_id_2_mk(s);\n s.tmp_3.arg0 = s.arg1;\n s.tmp_3.arg1 = s.tmp_2;\n if (!s.tmp_3.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapSetByString(s.tmp_3.arg0, "id", s.tmp_3.arg1);\n } else {\n s.tmp_3.fn = s.tmp_3.arg0.vtable.iface["set/id"];\n if (s.tmp_3.fn === null) { s.tmp_3.arg0.fields["id"] = s.tmp_3.arg1; }\n else if (s.tmp_3.fn === undefined) { failedCast(s.tmp_3.arg0) }\n else { s.pc = 1; return s.tmp_3; }\n }\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_Scene_addSprite__P927.info = {"start":5795,"length":128,"line":168,"column":8,"endLine":171,"endColumn":9,"fileName":"pxt_modules/game/scene.ts","functionName":"addSprite","argumentNames":["this","sprite"]}\n\nfunction scene_Scene_addSprite__P927_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Scene_addSprite__P927, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction sprites_BaseSprite_z__P511(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_BaseSprite__C508_VT)) failedCast(r0);\n r0 = s.arg0.fields["_z"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 !== s.arg1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = (s.arg0).fields["_z"] = (s.arg1);\n s.tmp_1 = game_currentScene__P769_mk(s);\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = s.tmp_0.fields["flags"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 | 2);\n s.tmp_2 = r0;\n r0 = (s.tmp_0).fields["flags"] = (s.tmp_2);\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_BaseSprite_z__P511.info = {"start":656,"length":174,"line":30,"column":8,"endLine":35,"endColumn":9,"fileName":"pxt_modules/game/basesprite.ts","functionName":"z","argumentNames":["this","v"]}\n\nfunction sprites_BaseSprite_z__P511_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_BaseSprite_z__P511, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction sprites_BaseSprite_z__P510(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_BaseSprite__C508_VT)) failedCast(r0);\n r0 = s.arg0.fields["_z"];\n return leave(s, r0)\n default: oops()\n} } }\nsprites_BaseSprite_z__P510.info = {"start":591,"length":55,"line":26,"column":8,"endLine":28,"endColumn":9,"fileName":"pxt_modules/game/basesprite.ts","functionName":"z","argumentNames":["this"]}\n\nfunction sprites_BaseSprite_z__P510_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_BaseSprite_z__P510, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction helpers_arrayShift__P38(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_Array_.removeAt(s.arg0, 0);\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_arrayShift__P38.info = {"start":1762,"length":82,"line":69,"column":4,"endLine":71,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"arrayShift","argumentNames":["arr"]}\n\nfunction helpers_arrayShift__P38_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_arrayShift__P38, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction particles_SprayFactory_setSpeed__P1345(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_SprayFactory__C1341_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg1 * 256);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["speed"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_SprayFactory_setSpeed__P1345.info = {"start":3322,"length":92,"line":119,"column":8,"endLine":121,"endColumn":9,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"setSpeed","argumentNames":["this","pixelsPerSecond"]}\n\nfunction particles_SprayFactory_setSpeed__P1345_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_SprayFactory_setSpeed__P1345, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction particles_ConfettiFactory_constructor__P1366(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.confetti___7975 = undefined;\n s.i___7991 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ConfettiFactory__C1364_VT)) failedCast(r0);\n r0 = pxsim_Array__mk();\n s.tmp_0 = r0;\n r0 = pxsim.image.ofBuffer(_hex7978);\n s.tmp_1 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_1);\n r0 = pxsim.image.ofBuffer(_hex7980);\n s.tmp_2 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_2);\n r0 = pxsim.image.ofBuffer(_hex7982);\n s.tmp_3 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_3);\n r0 = pxsim.image.ofBuffer(_hex7984);\n s.tmp_4 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_4);\n r0 = pxsim.image.ofBuffer(_hex7986);\n s.tmp_5 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_5);\n s.confetti___7975 = (s.tmp_0);\n s.tmp_0 = particles_ShapeFactory_constructor__P1363_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.tmp_0.arg2 = s.arg2;\n r0 = pxsim_Array__getAt(s.confetti___7975, 0);\n s.tmp_0.arg3 = r0;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.i___7991 = (1);\n case 1:\n s.tmp_1 = r0 = s.i___7991;\n r0 = pxsim_Array__length(s.confetti___7975);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n s.tmp_3 = particles_ShapeFactory_addShape__P1360_mk(s);\n s.tmp_3.arg0 = s.arg0;\n r0 = pxsim_Array__getAt(s.confetti___7975, s.i___7991);\n s.tmp_3.arg1 = r0;\n s.pc = 4; return s.tmp_3;\n case 4:\n r0 = s.retval;\n r0 = (s.i___7991 + 1);\n s.i___7991 = (r0);\n { step = 1; continue; }\n case 2:\n r0 = (s.arg0).fields["minLifespan"] = (1000);\n r0 = (s.arg0).fields["maxLifespan"] = (4500);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ConfettiFactory_constructor__P1366.info = {"start":7755,"length":706,"line":247,"column":8,"endLine":274,"endColumn":9,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"inline","argumentNames":["this","xRange","yRange"]}\n\nfunction particles_ConfettiFactory_constructor__P1366_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ConfettiFactory_constructor__P1366, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n confetti___7975: undefined,\n i___7991: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\nconst _hex7978 = pxsim.BufferMethods.createBufferFromHex("87040100010000000f000000")\nconst _hex7980 = pxsim.BufferMethods.createBufferFromHex("8704010002000000ff000000")\nconst _hex7982 = pxsim.BufferMethods.createBufferFromHex("87040200010000000f0000000f000000")\nconst _hex7984 = pxsim.BufferMethods.createBufferFromHex("8704020002000000ff0000000f000000")\nconst _hex7986 = pxsim.BufferMethods.createBufferFromHex("87040200020000000f000000ff000000")\n\n\n\n\nfunction particles_ShapeFactory_constructor__P1363(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ShapeFactory__C1358_VT)) failedCast(r0);\n s.tmp_0 = particles_AreaFactory_constructor__P1352_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.tmp_0.arg2 = s.arg2;\n s.tmp_0.arg3 = undefined;\n s.tmp_0.arg4 = undefined;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = pxsim_Array__mk();\n s.tmp_0 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.arg3);\n r0 = (s.arg0).fields["sources"] = (s.tmp_0);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_ImageMethods.width(s.arg3);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 >> 1);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 * 256);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["ox"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_ImageMethods.height(s.arg3);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 >> 1);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 * 256);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["oy"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ShapeFactory_constructor__P1363.info = {"start":6668,"length":285,"line":212,"column":8,"endLine":219,"endColumn":9,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"inline","argumentNames":["this","xRange","yRange","source"]}\n\nfunction particles_ShapeFactory_constructor__P1363_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ShapeFactory_constructor__P1363, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction particles_AreaFactory_constructor__P1352(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_AreaFactory__C1348_VT)) failedCast(r0);\n s.tmp_0 = particles_SprayFactory_constructor__P1347_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = 40;\n s.tmp_0.arg2 = 0;\n s.tmp_0.arg3 = 90;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n r0 = (s.arg0).fields["xRange"] = (s.arg1);\n r0 = (s.arg0).fields["yRange"] = (s.arg2);\n r0 = pxsim_numops_toBoolDecr(s.arg3);\n if (!r0) { step = 1; continue; }\n r0 = s.arg3;\n { step = 2; continue; }\n case 1:\n r0 = 150;\n case 2:\n // jmp value (already in r0)\n s.tmp_0 = r0;\n r0 = (s.arg0).fields["minLifespan"] = (s.tmp_0);\n r0 = pxsim_numops_toBoolDecr(s.arg4);\n if (!r0) { step = 3; continue; }\n r0 = s.arg4;\n { step = 4; continue; }\n case 3:\n r0 = 850;\n case 4:\n // jmp value (already in r0)\n s.tmp_0 = r0;\n r0 = (s.arg0).fields["maxLifespan"] = (s.tmp_0);\n r0 = pxsim_pxtcore_mkClassInstance(Math_FastRandom__C1156_VT);\n s.tmp_0 = r0;\n s.tmp_1 = Math_FastRandom_constructor__P1163_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = undefined;\n s.pc = 6; return s.tmp_1;\n case 6:\n r0 = s.retval;\n r0 = (s.arg0).fields["galois"] = (s.tmp_0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_AreaFactory_constructor__P1352.info = {"start":3950,"length":374,"line":139,"column":8,"endLine":146,"endColumn":9,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"inline","argumentNames":["this","xRange","yRange","minLifespan","maxLifespan"]}\n\nfunction particles_AreaFactory_constructor__P1352_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_AreaFactory_constructor__P1352, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n} }\n\n\n\n\n\nfunction particles_ShapeFactory_addShape__P1360(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ShapeFactory__C1358_VT)) failedCast(r0);\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n if (!r0) { step = 1; continue; }\n r0 = s.arg0.fields["sources"];\n s.tmp_0 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.arg1);\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ShapeFactory_addShape__P1360.info = {"start":7079,"length":83,"line":225,"column":8,"endLine":227,"endColumn":9,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"addShape","argumentNames":["this","shape"]}\n\nfunction particles_ShapeFactory_addShape__P1360_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ShapeFactory_addShape__P1360, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction effects_ScreenEffect_constructor__P1418(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, effects_ScreenEffect__C1414_VT)) failedCast(r0);\n s.tmp_0 = effects_ParticleEffect_constructor__P1407_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.tmp_0.arg2 = s.arg3;\n s.tmp_0.arg3 = s.arg4;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = (s.arg0).fields["sceneDefaultRate"] = (s.arg2);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\neffects_ScreenEffect_constructor__P1418.info = {"start":2771,"length":332,"line":80,"column":8,"endLine":84,"endColumn":9,"fileName":"pxt_modules/game/particleeffects.ts","functionName":"inline","argumentNames":["this","anchorDefault","sceneDefault","defaultLifespan","sourceFactory"]}\n\nfunction effects_ScreenEffect_constructor__P1418_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: effects_ScreenEffect_constructor__P1418, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n} }\n\n\n\n\n\nfunction effects_ParticleEffect_constructor__P1407(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, effects_ParticleEffect__C1404_VT)) failedCast(r0);\n r0 = (s.arg0).fields["sourceFactory"] = (s.arg3);\n r0 = (s.arg0).fields["defaultRate"] = (s.arg1);\n r0 = (s.arg0).fields["defaultLifespan"] = (s.arg2);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\neffects_ParticleEffect_constructor__P1407.info = {"start":384,"length":364,"line":13,"column":8,"endLine":18,"endColumn":9,"fileName":"pxt_modules/game/particleeffects.ts","functionName":"inline","argumentNames":["this","defaultParticlesPerSecond","defaultLifespan","sourceFactory"]}\n\nfunction effects_ParticleEffect_constructor__P1407_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: effects_ParticleEffect_constructor__P1407, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction effects_ScreenEffect_startScreenEffect__P1416(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, effects_ScreenEffect__C1414_VT)) failedCast(r0);\n r0 = s.arg0.fields["sourceFactory"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 13; continue; }\n case 1:\n case 2:\n r0 = s.arg0.fields["source"];\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBool(s.tmp_3);\n if (r0) { step = 3; continue; }\n r0 = s.tmp_3;\n { step = 4; continue; }\n case 3:\n s.tmp_4 = particles_ParticleSource_enabled__P1292_mk(s);\n r0 = s.arg0.fields["source"];\n s.tmp_4.arg0 = r0;\n s.pc = 14; return s.tmp_4;\n case 14:\n r0 = s.retval;\n case 4:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_5);\n if (!r0) { step = 7; continue; }\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n if (!r0) { step = 5; continue; }\n r0 = s.arg0.fields["source"];\n s.tmp_6 = r0;\n r0 = (s.tmp_6).fields["lifespan"] = (s.arg1);\n case 5:\n case 6:\n { step = 13; continue; }\n case 7:\n case 8:\n s.tmp_0 = effects_ScreenEffect_endScreenEffect__P1417_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 15; return s.tmp_0;\n case 15:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkClassInstance(effects_SceneAnchor__C1408_VT);\n s.tmp_0 = r0;\n s.tmp_1 = effects_SceneAnchor_constructor__P1413_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.pc = 16; return s.tmp_1;\n case 16:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(s.arg2);\n if (!r0) { step = 9; continue; }\n r0 = s.arg2;\n { step = 10; continue; }\n case 9:\n r0 = s.arg0.fields["sceneDefaultRate"];\n case 10:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n s.tmp_3 = r0 = s.arg0;\n s.tmp_5 = lambda_3_mk(s);\n r0 = s.arg0.fields["sourceFactory"];\n s.tmp_5.argL = r0;\n s.tmp_5.arg0 = s.tmp_0;\n s.tmp_5.arg1 = s.tmp_2;\n setupLambda(s.tmp_5, s.tmp_5.argL);\n s.pc = 17; return s.tmp_5;\n case 17:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = (s.tmp_3).fields["source"] = (s.tmp_4);\n r0 = s.arg0.fields["source"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0).fields["priority"] = (10);\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n if (!r0) { step = 11; continue; }\n r0 = s.arg0.fields["source"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0).fields["lifespan"] = (s.arg1);\n case 11:\n case 12:\n case 13:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\neffects_ScreenEffect_startScreenEffect__P1416.info = {"start":3541,"length":601,"line":96,"column":8,"endLine":111,"endColumn":9,"fileName":"pxt_modules/game/particleeffects.ts","functionName":"startScreenEffect","argumentNames":["this","duration","particlesPerSecond"]}\n\nfunction effects_ScreenEffect_startScreenEffect__P1416_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: effects_ScreenEffect_startScreenEffect__P1416, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction effects_SceneAnchor_constructor__P1413(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, effects_SceneAnchor__C1408_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_2 = game_currentScene__P769_mk(s);\n s.pc = 1; return s.tmp_2;\n case 1:\n r0 = s.retval;\n r0 = r0.fields["camera"];\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["camera"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\neffects_SceneAnchor_constructor__P1413.info = {"start":2156,"length":79,"line":54,"column":8,"endLine":56,"endColumn":9,"fileName":"pxt_modules/game/particleeffects.ts","functionName":"inline","argumentNames":["this"]}\n\nfunction effects_SceneAnchor_constructor__P1413_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: effects_SceneAnchor_constructor__P1413, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction info_score__P798(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = info_PlayerInfo_score__P827_mk(s);\n s.tmp_0.arg0 = globals.player1___845;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_score__P798.info = {"start":6767,"length":63,"line":224,"column":4,"endLine":226,"endColumn":5,"fileName":"pxt_modules/game/info.ts","functionName":"score","argumentNames":[]}\n\nfunction info_score__P798_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_score__P798, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction info_PlayerInfo_constructor__P840(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, info_PlayerInfo__C823_VT)) failedCast(r0);\n r0 = (s.arg0).fields["_player"] = (s.arg1);\n r0 = (s.arg0).fields["border"] = (1);\n r0 = (s.arg0).fields["fc"] = (1);\n r0 = (s.arg0).fields["visilibity"] = (0);\n r0 = (s.arg0).fields["showScore"] = (undefined);\n r0 = (s.arg0).fields["showLife"] = (undefined);\n r0 = (s.arg0).fields["showPlayer"] = (undefined);\n r0 = (s.arg0).fields["left"] = (undefined);\n r0 = (s.arg0).fields["up"] = (undefined);\n r0 = s.arg0.fields["_player"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 === 1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = pxsim_ImageMethods.isMono(globals.screen___464);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 1; continue; }\n r0 = 0;\n { step = 2; continue; }\n case 1:\n r0 = 2;\n case 2:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = (s.arg0).fields["bg"] = (s.tmp_3);\n r0 = (s.arg0).fields["x"] = (0);\n r0 = (s.arg0).fields["y"] = (0);\n { step = 14; continue; }\n case 3:\n r0 = (s.arg1 === 2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 6; continue; }\n r0 = pxsim_ImageMethods.isMono(globals.screen___464);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 4; continue; }\n r0 = 0;\n { step = 5; continue; }\n case 4:\n r0 = 8;\n case 5:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = (s.arg0).fields["bg"] = (s.tmp_2);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["x"] = (s.tmp_1);\n r0 = (s.arg0).fields["y"] = (0);\n r0 = (s.arg0).fields["left"] = (true);\n { step = 13; continue; }\n case 6:\n r0 = (s.arg1 === 3);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 9; continue; }\n r0 = pxsim_ImageMethods.isMono(globals.screen___464);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 7; continue; }\n r0 = 0;\n { step = 8; continue; }\n case 7:\n r0 = 4;\n case 8:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = (s.arg0).fields["bg"] = (s.tmp_2);\n r0 = (s.arg0).fields["x"] = (0);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["y"] = (s.tmp_1);\n r0 = (s.arg0).fields["up"] = (true);\n { step = 12; continue; }\n case 9:\n r0 = pxsim_ImageMethods.isMono(globals.screen___464);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 10; continue; }\n r0 = 0;\n { step = 11; continue; }\n case 10:\n r0 = 7;\n case 11:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = (s.arg0).fields["bg"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["x"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["y"] = (s.tmp_1);\n r0 = (s.arg0).fields["left"] = (true);\n r0 = (s.arg0).fields["up"] = (true);\n case 12:\n case 13:\n case 14:\n r0 = pxsim_numops_toBoolDecr(globals.players___746);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 15; continue; }\n r0 = pxsim_Array__mk();\n globals.players___746 = (r0);\n case 15:\n case 16:\n s.tmp_0 = r0 = globals.players___746;\n r0 = s.arg0.fields["_player"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - 1);\n s.tmp_1 = r0;\n r0 = pxsim_Array_.setAt(s.tmp_0, s.tmp_1, s.arg0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_PlayerInfo_constructor__P840.info = {"start":15459,"length":1370,"line":516,"column":8,"endLine":553,"endColumn":9,"fileName":"pxt_modules/game/info.ts","functionName":"inline","argumentNames":["this","player"]}\n\nfunction info_PlayerInfo_constructor__P840_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_PlayerInfo_constructor__P840, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction info_PlayerInfo_score__P827(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.state___4124 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, info_PlayerInfo__C823_VT)) failedCast(r0);\n r0 = s.arg0.fields["showScore"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 === undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = (s.arg0).fields["showScore"] = (true);\n case 1:\n case 2:\n r0 = s.arg0.fields["showPlayer"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 === undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = (s.arg0).fields["showPlayer"] = (true);\n case 3:\n case 4:\n s.tmp_0 = info_PlayerInfo_getState__P825_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 7; return s.tmp_0;\n case 7:\n r0 = s.retval;\n s.state___4124 = (r0);\n r0 = s.state___4124.fields["score"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 == null);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = (s.state___4124).fields["score"] = (0);\n case 5:\n case 6:\n r0 = s.state___4124.fields["score"];\n return leave(s, r0)\n default: oops()\n} } }\ninfo_PlayerInfo_score__P827.info = {"start":17505,"length":314,"line":579,"column":8,"endLine":588,"endColumn":9,"fileName":"pxt_modules/game/info.ts","functionName":"score","argumentNames":["this"]}\n\nfunction info_PlayerInfo_score__P827_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_PlayerInfo_score__P827, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n state___4124: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction info_PlayerInfo_getState__P825(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, info_PlayerInfo__C823_VT)) failedCast(r0);\n s.tmp_0 = info_PlayerInfo_init__P824_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = globals.infoState___745.fields["playerStates"];\n s.tmp_0 = r0;\n r0 = s.arg0.fields["_player"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - 1);\n s.tmp_1 = r0;\n r0 = pxsim_Array__getAt(s.tmp_0, s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\ninfo_PlayerInfo_getState__P825.info = {"start":17101,"length":121,"line":563,"column":8,"endLine":566,"endColumn":9,"fileName":"pxt_modules/game/info.ts","functionName":"getState","argumentNames":["this"]}\n\nfunction info_PlayerInfo_getState__P825_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_PlayerInfo_getState__P825, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction info_PlayerInfo_init__P824(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, info_PlayerInfo__C823_VT)) failedCast(r0);\n s.tmp_0 = info_initHUD__P793_mk(s);\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n r0 = s.arg0.fields["_player"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > 1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_2 = info_initMultiHUD__P794_mk(s);\n s.pc = 6; return s.tmp_2;\n case 6:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = globals.infoState___745.fields["playerStates"];\n s.tmp_3 = r0;\n r0 = s.arg0.fields["_player"];\n s.tmp_5 = r0;\n r0 = (s.tmp_5 - 1);\n s.tmp_4 = r0;\n r0 = pxsim_Array__getAt(s.tmp_3, s.tmp_4);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = pxsim_pxtcore_mkClassInstance(info_PlayerState__C740_VT);\n s.tmp_6 = r0;\n r0 = undefined;\n r0 = globals.infoState___745.fields["playerStates"];\n s.tmp_7 = r0;\n r0 = s.arg0.fields["_player"];\n s.tmp_9 = r0;\n r0 = (s.tmp_9 - 1);\n s.tmp_8 = r0;\n r0 = pxsim_Array_.setAt(s.tmp_7, s.tmp_8, s.tmp_6);\n case 3:\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_PlayerInfo_init__P824.info = {"start":16839,"length":252,"line":555,"column":8,"endLine":561,"endColumn":9,"fileName":"pxt_modules/game/info.ts","functionName":"init","argumentNames":["this"]}\n\nfunction info_PlayerInfo_init__P824_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_PlayerInfo_init__P824, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction info_initMultiHUD__P794(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = globals.infoState___745.fields["visibilityFlag"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 & 16);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 5; continue; }\n case 1:\n case 2:\n s.tmp_2 = r0 = globals.infoState___745;\n r0 = s.tmp_2.fields["visibilityFlag"];\n s.tmp_4 = r0;\n r0 = (s.tmp_4 | 16);\n s.tmp_3 = r0;\n r0 = (s.tmp_2).fields["visibilityFlag"] = (s.tmp_3);\n r0 = globals.infoState___745.fields["visibilityFlag"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 & 32);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.tmp_4 = r0 = globals.infoState___745;\n s.tmp_6 = info_defaultMultiplayerHeartImage__P796_mk(s);\n s.pc = 6; return s.tmp_6;\n case 6:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = (s.tmp_4).fields["heartImage"] = (s.tmp_5);\n case 3:\n case 4:\n s.tmp_0 = r0 = globals.infoState___745;\n r0 = pxsim.image.ofBuffer(_hex4292);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["multiplierImage"] = (s.tmp_1);\n case 5:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_initMultiHUD__P794.info = {"start":4706,"length":393,"line":150,"column":4,"endLine":161,"endColumn":5,"fileName":"pxt_modules/game/info.ts","functionName":"initMultiHUD","argumentNames":[]}\n\nfunction info_initMultiHUD__P794_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_initMultiHUD__P794, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n} }\n\nconst _hex4292 = pxsim.BufferMethods.createBufferFromHex("8704030003000000010100001000000001010000")\n\n\n\n\nfunction info_defaultMultiplayerHeartImage__P796(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_ImageMethods.isMono(globals.screen___464);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim.image.ofBuffer(_hex4296);\n { step = 2; continue; }\n case 1:\n r0 = pxsim.image.ofBuffer(_hex4298);\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = s.tmp_1;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_defaultMultiplayerHeartImage__P796.info = {"start":5703,"length":503,"line":186,"column":4,"endLine":203,"endColumn":5,"fileName":"pxt_modules/game/info.ts","functionName":"defaultMultiplayerHeartImage","argumentNames":[]}\n\nfunction info_defaultMultiplayerHeartImage__P796_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_defaultMultiplayerHeartImage__P796, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n} }\n\nconst _hex4296 = pxsim.BufferMethods.createBufferFromHex("870407000500000000000000100100000110000010000100011000001001000000000000")\nconst _hex4298 = pxsim.BufferMethods.createBufferFromHex("870407000500000000000000100100002112000010240100411200001001000000000000")\n\n\n\n\nfunction info_initHUD__P793(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals.infoState___745);\n if (!r0) { step = 1; continue; }\n { step = 3; continue; }\n case 1:\n case 2:\n r0 = pxsim_pxtcore_mkClassInstance(info_InfoState__C742_VT);\n s.tmp_0 = r0;\n s.tmp_1 = info_InfoState_constructor__P743_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.pc = 4; return s.tmp_1;\n case 4:\n r0 = s.retval;\n globals.infoState___745 = (s.tmp_0);\n s.tmp_0 = scene_createRenderable__P896_mk(s);\n s.tmp_0.arg0 = 100;\n s.tmp_0.arg1 = inline__P4306;\n s.tmp_0.arg2 = undefined;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n case 3:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_initHUD__P793.info = {"start":2588,"length":2112,"line":97,"column":4,"endLine":148,"endColumn":5,"fileName":"pxt_modules/game/info.ts","functionName":"initHUD","argumentNames":[]}\n\nfunction info_initHUD__P793_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_initHUD__P793, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n} }\n\n\n\n\n\nfunction inline__P4306(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.ps___4313 = undefined;\n s.p___4332 = undefined;\n s.scene___4363 = undefined;\n s.elapsed___4365 = undefined;\n s.t___4372 = undefined;\n r0 = pxsim_numops_toBoolDecr(globals.infoState___745);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 23; continue; }\n case 1:\n case 2:\n r0 = globals.infoState___745.fields["visibilityFlag"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 & 16);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.tmp_2 = helpers_arrayFilter__P48_mk(s);\n s.tmp_2.arg0 = globals.players___746;\n s.tmp_2.arg1 = inline__P4316;\n s.pc = 24; return s.tmp_2;\n case 24:\n r0 = s.retval;\n s.ps___4313 = (r0);\n s.tmp_0 = helpers_arrayForEach__P47_mk(s);\n s.tmp_0.arg0 = s.ps___4313;\n s.tmp_0.arg1 = inline__P4322;\n s.pc = 25; return s.tmp_0;\n case 25:\n r0 = s.retval;\n s.tmp_0 = helpers_arrayForEach__P47_mk(s);\n s.tmp_0.arg0 = s.ps___4313;\n s.tmp_0.arg1 = inline__P4328;\n s.pc = 26; return s.tmp_0;\n case 26:\n r0 = s.retval;\n { step = 12; continue; }\n case 3:\n s.p___4332 = (globals.player1___845);\n s.tmp_1 = info_PlayerInfo_hasScore__P830_mk(s);\n s.tmp_1.arg0 = s.p___4332;\n s.pc = 27; return s.tmp_1;\n case 27:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 4; continue; }\n r0 = s.tmp_0;\n { step = 5; continue; }\n case 4:\n r0 = globals.infoState___745.fields["visibilityFlag"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 & 2);\n case 5:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 6; continue; }\n s.tmp_4 = info_PlayerInfo_drawScore__P838_mk(s);\n s.tmp_4.arg0 = s.p___4332;\n s.pc = 28; return s.tmp_4;\n case 28:\n r0 = s.retval;\n case 6:\n case 7:\n s.tmp_1 = info_PlayerInfo_hasLife__P834_mk(s);\n s.tmp_1.arg0 = s.p___4332;\n s.pc = 29; return s.tmp_1;\n case 29:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 8; continue; }\n r0 = s.tmp_0;\n { step = 9; continue; }\n case 8:\n r0 = globals.infoState___745.fields["visibilityFlag"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 & 4);\n case 9:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 10; continue; }\n s.tmp_4 = info_PlayerInfo_drawLives__P839_mk(s);\n s.tmp_4.arg0 = s.p___4332;\n s.pc = 30; return s.tmp_4;\n case 30:\n r0 = s.retval;\n case 10:\n case 11:\n s.tmp_0 = info_PlayerInfo_raiseLifeZero__P836_mk(s);\n s.tmp_0.arg0 = s.p___4332;\n s.tmp_0.arg1 = true;\n s.pc = 31; return s.tmp_0;\n case 31:\n r0 = s.retval;\n case 12:\n r0 = globals.infoState___745.fields["gameEnd"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 !== undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 13; continue; }\n r0 = s.tmp_0;\n { step = 14; continue; }\n case 13:\n r0 = globals.infoState___745.fields["visibilityFlag"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 & 1);\n case 14:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 21; continue; }\n s.tmp_4 = game_currentScene__P769_mk(s);\n s.pc = 32; return s.tmp_4;\n case 32:\n r0 = s.retval;\n s.scene___4363 = (r0);\n r0 = globals.infoState___745.fields["gameEnd"];\n s.tmp_0 = r0;\n r0 = s.scene___4363.fields["_millis"];\n s.tmp_1 = r0;\n r0 = (s.tmp_0 - s.tmp_1);\n s.elapsed___4365 = (r0);\n s.tmp_0 = info_drawTimer__P822_mk(s);\n s.tmp_0.arg0 = s.elapsed___4365;\n s.pc = 33; return s.tmp_0;\n case 33:\n r0 = s.retval;\n r0 = (s.elapsed___4365 / 1000);\n s.t___4372 = (r0);\n r0 = (s.t___4372 <= 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 19; continue; }\n s.t___4372 = (0);\n r0 = globals.infoState___745.fields["countdownExpired"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 17; continue; }\n r0 = (globals.infoState___745).fields["countdownExpired"] = (true);\n r0 = globals.infoState___745.fields["countdownEndHandler"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 15; continue; }\n s.tmp_1 = lambda_1_mk(s);\n r0 = globals.infoState___745.fields["countdownEndHandler"];\n s.tmp_1.argL = r0;\n setupLambda(s.tmp_1, s.tmp_1.argL);\n s.pc = 34; return s.tmp_1;\n case 34:\n r0 = s.retval;\n r0 = (globals.infoState___745).fields["gameEnd"] = (undefined);\n { step = 16; continue; }\n case 15:\n s.tmp_0 = game_over__P1026_mk(s);\n s.tmp_0.arg0 = false;\n s.tmp_0.arg1 = undefined;\n s.pc = 35; return s.tmp_0;\n case 35:\n r0 = s.retval;\n case 16:\n case 17:\n case 18:\n case 19:\n case 20:\n case 21:\n case 22:\n case 23:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P4306.info = {"start":2748,"length":1935,"line":104,"column":12,"endLine":146,"endColumn":13,"fileName":"pxt_modules/game/info.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P4306_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P4306, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n ps___4313: undefined,\n p___4332: undefined,\n scene___4363: undefined,\n elapsed___4365: undefined,\n t___4372: undefined,\n} }\n\n\n\n\n\nfunction inline__P4316(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_numops_toBoolDecr(s.arg0);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\ninline__P4316.info = {"start":2996,"length":8,"line":109,"column":46,"endLine":109,"endColumn":54,"fileName":"pxt_modules/game/info.ts","functionName":"inline","argumentNames":["p"]}\n\nfunction inline__P4316_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P4316, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P4322(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = info_PlayerInfo_drawPlayer__P837_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P4322.info = {"start":3080,"length":19,"line":111,"column":31,"endLine":111,"endColumn":50,"fileName":"pxt_modules/game/info.ts","functionName":"inline","argumentNames":["p"]}\n\nfunction inline__P4322_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P4322, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P4328(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = info_PlayerInfo_raiseLifeZero__P836_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = false;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P4328.info = {"start":3182,"length":27,"line":113,"column":31,"endLine":113,"endColumn":58,"fileName":"pxt_modules/game/info.ts","functionName":"inline","argumentNames":["p"]}\n\nfunction inline__P4328_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P4328, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_over__P1026(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.scoreInfo___4404 = undefined;\n s.highScore___4407 = undefined;\n s.overDialog___4434 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = game_init__P1018_mk(s);\n s.pc = 18; return s.tmp_0;\n case 18:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(globals.__isOver___1014);\n if (!r0) { step = 1; continue; }\n { step = 17; continue; }\n case 1:\n case 2:\n globals.__isOver___1014 = (true);\n r0 = pxsim_numops_toBoolDecr(globals.__gameOverHandler___1013);\n if (!r0) { step = 3; continue; }\n s.tmp_0 = lambda_2_mk(s);\n s.tmp_0.argL = globals.__gameOverHandler___1013;\n s.tmp_0.arg0 = s.arg0;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 19; return s.tmp_0;\n case 19:\n r0 = s.retval;\n { step = 16; continue; }\n case 3:\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 6; continue; }\n r0 = pxsim_numops_toBoolDecr(s.arg0);\n if (!r0) { step = 4; continue; }\n r0 = globals.winEffect___1001;\n { step = 5; continue; }\n case 4:\n r0 = globals.loseEffect___1003;\n case 5:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n s.arg1 = (s.tmp_2);\n case 6:\n case 7:\n s.tmp_0 = info_PlayerInfo_getState__P825_mk(s);\n s.tmp_0.arg0 = globals.player1___845;\n s.pc = 20; return s.tmp_0;\n case 20:\n r0 = s.retval;\n s.scoreInfo___4404 = (r0);\n s.tmp_0 = info_highScore__P800_mk(s);\n s.pc = 21; return s.tmp_0;\n case 21:\n r0 = s.retval;\n s.highScore___4407 = (r0);\n r0 = s.scoreInfo___4404.fields["score"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > s.highScore___4407);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 8; continue; }\n s.tmp_2 = info_saveHighScore__P797_mk(s);\n s.pc = 22; return s.tmp_2;\n case 22:\n r0 = s.retval;\n case 8:\n case 9:\n case 10:\n s.tmp_0 = r0 = globals._sceneStack___1009;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 11; continue; }\n r0 = s.tmp_0;\n { step = 12; continue; }\n case 11:\n r0 = pxsim_Array__length(globals._sceneStack___1009);\n case 12:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 13; continue; }\n s.tmp_2 = scene_Scene_destroy__P928_mk(s);\n s.tmp_2.arg0 = globals._scene___1008;\n s.pc = 23; return s.tmp_2;\n case 23:\n r0 = s.retval;\n s.tmp_0 = game_popScene__P1020_mk(s);\n s.pc = 24; return s.tmp_0;\n case 24:\n r0 = s.retval;\n { step = 10; continue; }\n case 13:\n s.tmp_0 = game_pushScene__P1019_mk(s);\n s.pc = 25; return s.tmp_0;\n case 25:\n r0 = s.retval;\n s.tmp_0 = scene_setBackgroundImage__P937_mk(s);\n r0 = pxsim_ImageMethods.clone(globals.screen___464);\n s.tmp_0.arg0 = r0;\n s.pc = 26; return s.tmp_0;\n case 26:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(s.arg0);\n if (!r0) { step = 14; continue; }\n s.tmp_0 = music_Melody_play__P357_mk(s);\n s.tmp_0.arg0 = globals.winSound___1007;\n s.tmp_0.arg1 = 255;\n s.pc = 27; return s.tmp_0;\n case 27:\n r0 = s.retval;\n { step = 15; continue; }\n case 14:\n s.tmp_0 = music_Melody_play__P357_mk(s);\n s.tmp_0.arg0 = globals.loseSound___1005;\n s.tmp_0.arg1 = 255;\n s.pc = 28; return s.tmp_0;\n case 28:\n r0 = s.retval;\n case 15:\n s.tmp_0 = if_startScreenEffect_1_mk(s);\n s.tmp_0.arg0 = s.arg1;\n s.tmp_0.fn = s.tmp_0.arg0.vtable.iface["startScreenEffect"];\n if (s.tmp_0.fn == null) { s.retval = s.tmp_0.arg0.fields["startScreenEffect"]; }\n else { s.pc = 29; return s.tmp_0; }\n case 29:\n r0 = s.retval;\n s.tmp_0 = pause__P241_mk(s);\n s.tmp_0.arg0 = 400;\n s.pc = 30; return s.tmp_0;\n case 30:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkClassInstance(game_GameOverDialog__C983_VT);\n s.tmp_0 = r0;\n s.tmp_1 = game_GameOverDialog_constructor__P988_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = s.arg0;\n r0 = s.scoreInfo___4404.fields["score"];\n s.tmp_1.arg2 = r0;\n s.tmp_1.arg3 = s.highScore___4407;\n s.pc = 31; return s.tmp_1;\n case 31:\n r0 = s.retval;\n s.overDialog___4434 = (s.tmp_0);\n r0 = pxsim_pxtcore_mkAction(1, inline__P4444);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.overDialog___4434);\n s.tmp_1 = scene_createRenderable__P896_mk(s);\n s.tmp_1.arg0 = 100;\n s.tmp_1.arg1 = s.tmp_0;\n s.tmp_1.arg2 = undefined;\n s.pc = 32; return s.tmp_1;\n case 32:\n r0 = s.retval;\n s.tmp_0 = pause__P241_mk(s);\n s.tmp_0.arg0 = 500;\n s.pc = 33; return s.tmp_0;\n case 33:\n r0 = s.retval;\n s.tmp_0 = game_GameOverDialog_displayCursor__P985_mk(s);\n s.tmp_0.arg0 = s.overDialog___4434;\n s.pc = 34; return s.tmp_0;\n case 34:\n r0 = s.retval;\n s.tmp_0 = game_waitAnyButton__P1016_mk(s);\n s.pc = 35; return s.tmp_0;\n case 35:\n r0 = s.retval;\n setupResume(s, 36);\n pxsim.control.reset();\n checkResumeConsumed();\n return;\n case 36:\n r0 = s.retval;\n case 16:\n case 17:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_over__P1026.info = {"start":5311,"length":1776,"line":180,"column":4,"endLine":231,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"over","argumentNames":["win","effect"]}\n\nfunction game_over__P1026_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_over__P1026, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n scoreInfo___4404: undefined,\n highScore___4407: undefined,\n overDialog___4434: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction inline__P4444(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = game_GameOverDialog__C983_v0_1_mk(s);\n s.tmp_0.arg0 = s.caps[0];\n if (!checkSubtype(s.tmp_0.arg0, game_GameOverDialog__C983_VT)) failedCast(s.tmp_0.arg0);\n s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.update;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.tmp_0 = r0 = s.arg0;\n r0 = s.caps[0].fields["image"];\n s.tmp_1 = r0;\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n s.tmp_4 = r0;\n r0 = s.caps[0].fields["image"];\n s.tmp_6 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_6);\n s.tmp_5 = r0;\n r0 = (s.tmp_4 - s.tmp_5);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 >> 1);\n s.tmp_2 = r0;\n r0 = pxsim_ImageMethods.drawTransparentImage(s.tmp_0, s.tmp_1, 0, s.tmp_2);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P4444.info = {"start":6650,"length":256,"line":217,"column":48,"endLine":224,"endColumn":13,"fileName":"pxt_modules/game/game.ts","functionName":"inline","argumentNames":["target"]}\n\nfunction inline__P4444_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P4444, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_popScene__P1020(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.oldScene___5046 = undefined;\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 11; return s.tmp_0;\n case 11:\n r0 = s.retval;\n s.oldScene___5046 = (r0);\n s.tmp_0 = r0 = globals._sceneStack___1009;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = pxsim_Array__length(globals._sceneStack___1009);\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 3; continue; }\n r0 = pxsim_Array_.pop(globals._sceneStack___1009);\n globals._scene___1008 = (r0);\n s.tmp_0 = control_popEventContext__P237_mk(s);\n s.pc = 12; return s.tmp_0;\n case 12:\n r0 = s.retval;\n { step = 6; continue; }\n case 3:\n r0 = pxsim_numops_toBoolDecr(globals._scene___1008);\n if (!r0) { step = 4; continue; }\n s.tmp_0 = control_popEventContext__P237_mk(s);\n s.pc = 13; return s.tmp_0;\n case 13:\n r0 = s.retval;\n globals._scene___1008 = (undefined);\n case 4:\n case 5:\n case 6:\n r0 = pxsim_numops_toBoolDecr(globals._scene___1008);\n if (!r0) { step = 7; continue; }\n s.tmp_0 = particles_enableAll__P1319_mk(s);\n s.pc = 14; return s.tmp_0;\n case 14:\n r0 = s.retval;\n case 7:\n case 8:\n r0 = pxsim_numops_toBoolDecr(globals._scenePopHandlers___1011);\n if (!r0) { step = 9; continue; }\n r0 = pxsim_pxtcore_mkAction(1, inline__P5065);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.oldScene___5046);\n s.tmp_1 = helpers_arrayForEach__P47_mk(s);\n s.tmp_1.arg0 = globals._scenePopHandlers___1011;\n s.tmp_1.arg1 = s.tmp_0;\n s.pc = 15; return s.tmp_1;\n case 15:\n r0 = s.retval;\n case 9:\n case 10:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_popScene__P1020.info = {"start":1962,"length":548,"line":74,"column":4,"endLine":92,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"popScene","argumentNames":[]}\n\nfunction game_popScene__P1020_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_popScene__P1020, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n oldScene___5046: undefined,\n} }\n\n\n\n\n\nfunction inline__P5065(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = lambda_2_mk(s);\n s.tmp_0.argL = s.arg0;\n s.tmp_0.arg0 = s.caps[0];\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P5065.info = {"start":2474,"length":18,"line":90,"column":38,"endLine":90,"endColumn":56,"fileName":"pxt_modules/game/game.ts","functionName":"inline","argumentNames":["cb"]}\n\nfunction inline__P5065_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P5065, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction particles_enableAll__P1319(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.sources___5069 = undefined;\n s.tmp_0 = particles_particleSources__P1320_mk(s);\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.sources___5069 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.sources___5069);\n if (!r0) { step = 1; continue; }\n s.tmp_0 = helpers_arrayForEach__P47_mk(s);\n s.tmp_0.arg0 = s.sources___5069;\n s.tmp_0.arg1 = inline__P5074;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n s.tmp_0 = particles_pruneParticles__P1307_mk(s);\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_enableAll__P1319.info = {"start":12162,"length":193,"line":401,"column":4,"endLine":407,"endColumn":5,"fileName":"pxt_modules/game/particles.ts","functionName":"enableAll","argumentNames":[]}\n\nfunction particles_enableAll__P1319_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_enableAll__P1319, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n sources___5069: undefined,\n} }\n\n\n\n\n\nfunction inline__P5074(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = particles_ParticleSource_enabled__P1293_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = true;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = true;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P5074.info = {"start":12286,"length":21,"line":404,"column":28,"endLine":404,"endColumn":49,"fileName":"pxt_modules/game/particles.ts","functionName":"inline","argumentNames":["s"]}\n\nfunction inline__P5074_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P5074, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction control_popEventContext__P237(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.ctx___5080 = undefined;\n s.context___5087 = undefined;\n r0 = pxsim_numops_toBoolDecr(globals.eventContexts___234);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 7; continue; }\n case 1:\n case 2:\n r0 = pxsim_Array_.pop(globals.eventContexts___234);\n s.ctx___5080 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.ctx___5080);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n { step = 7; continue; }\n case 3:\n case 4:\n s.tmp_2 = control_EventContext_unregister__P225_mk(s);\n s.tmp_2.arg0 = s.ctx___5080;\n s.pc = 8; return s.tmp_2;\n case 8:\n r0 = s.retval;\n s.tmp_0 = r0 = globals.eventContexts___234;\n r0 = pxsim_Array__length(globals.eventContexts___234);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - 1);\n s.tmp_1 = r0;\n r0 = pxsim_Array__getAt(s.tmp_0, s.tmp_1);\n s.context___5087 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.context___5087);\n if (!r0) { step = 5; continue; }\n s.tmp_0 = control_EventContext_register__P224_mk(s);\n s.tmp_0.arg0 = s.context___5087;\n s.pc = 9; return s.tmp_0;\n case 9:\n r0 = s.retval;\n { step = 6; continue; }\n case 5:\n globals.eventContexts___234 = (undefined);\n case 6:\n case 7:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_popEventContext__P237.info = {"start":6831,"length":413,"line":213,"column":4,"endLine":227,"endColumn":5,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"popEventContext","argumentNames":[]}\n\nfunction control_popEventContext__P237_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_popEventContext__P237, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n ctx___5080: undefined,\n context___5087: undefined,\n} }\n\n\n\n\n\nfunction control_EventContext_unregister__P225(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.h___5250 = undefined;\n s.unnamed48___U1 = undefined;\n s.unnamed49___U2 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, control_EventContext__C220_VT)) failedCast(r0);\n s.h___5250 = (undefined);\n s.h___5250 = (undefined);\n r0 = s.arg0.fields["handlers"];\n s.unnamed48___U1 = (r0);\n s.unnamed49___U2 = (0);\n case 1:\n s.tmp_0 = r0 = s.unnamed49___U2;\n r0 = pxsim_Array__length(s.unnamed48___U1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 2; continue; }\n r0 = pxsim_Array__getAt(s.unnamed48___U1, s.unnamed49___U2);\n s.h___5250 = (r0);\n s.tmp_2 = control_EventHandler_unregister__P217_mk(s);\n s.tmp_2.arg0 = s.h___5250;\n s.pc = 3; return s.tmp_2;\n case 3:\n r0 = s.retval;\n r0 = (s.unnamed49___U2 + 1);\n s.unnamed49___U2 = (r0);\n { step = 1; continue; }\n case 2:\n s.unnamed48___U1 = (undefined);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.tmp_0.fields["frameWorker"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + 1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["frameWorker"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_EventContext_unregister__P225.info = {"start":4081,"length":131,"line":126,"column":8,"endLine":130,"endColumn":9,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"unregister","argumentNames":["this"]}\n\nfunction control_EventContext_unregister__P225_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_EventContext_unregister__P225, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n h___5250: undefined,\n unnamed48___U1: undefined,\n unnamed49___U2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction control_EventHandler_unregister__P217(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, control_EventHandler__C215_VT)) failedCast(r0);\n r0 = s.arg0.fields["src"];\n s.tmp_0 = r0;\n r0 = s.arg0.fields["value"];\n s.tmp_1 = r0;\n r0 = s.arg0.fields["flags"];\n s.tmp_2 = r0;\n r0 = pxsim.control.internalOnEvent(s.tmp_0, s.tmp_1, control_doNothing__P219, s.tmp_2);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_EventHandler_unregister__P217.info = {"start":1244,"length":106,"line":40,"column":8,"endLine":42,"endColumn":9,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"unregister","argumentNames":["this"]}\n\nfunction control_EventHandler_unregister__P217_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_EventHandler_unregister__P217, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction control_doNothing__P219(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_doNothing__P219.info = {"start":1362,"length":24,"line":45,"column":4,"endLine":45,"endColumn":28,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"doNothing","argumentNames":[]}\n\nfunction control_doNothing__P219_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_doNothing__P219, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n} }\n\n\n\n\n\nfunction control_EventContext_register__P224(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.h___5099 = undefined;\n s.unnamed46___U1 = undefined;\n s.unnamed47___U2 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, control_EventContext__C220_VT)) failedCast(r0);\n s.h___5099 = (undefined);\n s.h___5099 = (undefined);\n r0 = s.arg0.fields["handlers"];\n s.unnamed46___U1 = (r0);\n s.unnamed47___U2 = (0);\n case 1:\n s.tmp_0 = r0 = s.unnamed47___U2;\n r0 = pxsim_Array__length(s.unnamed46___U1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 2; continue; }\n r0 = pxsim_Array__getAt(s.unnamed46___U1, s.unnamed47___U2);\n s.h___5099 = (r0);\n s.tmp_2 = control_EventHandler_register__P216_mk(s);\n s.tmp_2.arg0 = s.h___5099;\n s.pc = 3; return s.tmp_2;\n case 3:\n r0 = s.retval;\n r0 = (s.unnamed47___U2 + 1);\n s.unnamed47___U2 = (r0);\n { step = 1; continue; }\n case 2:\n s.unnamed46___U1 = (undefined);\n s.tmp_0 = control_EventContext_registerFrameCallbacks__P223_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_EventContext_register__P224.info = {"start":3933,"length":138,"line":120,"column":8,"endLine":124,"endColumn":9,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"register","argumentNames":["this"]}\n\nfunction control_EventContext_register__P224_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_EventContext_register__P224, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n h___5099: undefined,\n unnamed46___U1: undefined,\n unnamed47___U2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction control_EventContext_registerFrameCallbacks__P223(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.worker___5124 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, control_EventContext__C220_VT)) failedCast(r0);\n r0 = s.arg0.fields["frameCallbacks"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 3; continue; }\n case 1:\n case 2:\n r0 = (s.arg0).fields["framesInSample"] = (0);\n r0 = (s.arg0).fields["timeInSample"] = (0);\n r0 = (s.arg0).fields["deltaTimeMillis"] = (0);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim.control.millis();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["prevTimeMillis"] = (s.tmp_1);\n r0 = s.arg0.fields["frameWorker"];\n s.worker___5124 = (r0);\n r0 = pxsim_pxtcore_mkAction(2, inline__P5130);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.worker___5124);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.arg0);\n r0 = pxsim.control.runInParallel(s.tmp_0);\n case 3:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_EventContext_registerFrameCallbacks__P223.info = {"start":3412,"length":511,"line":104,"column":8,"endLine":118,"endColumn":9,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"registerFrameCallbacks","argumentNames":["this"]}\n\nfunction control_EventContext_registerFrameCallbacks__P223_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_EventContext_registerFrameCallbacks__P223, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n worker___5124: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P5130(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.delay___5135 = undefined;\n case 1:\n r0 = s.caps[1].fields["frameWorker"];\n s.tmp_1 = r0;\n r0 = (s.caps[0] == s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n s.tmp_2 = control_EventContext_runCallbacks__P222_mk(s);\n s.tmp_2.arg0 = s.caps[1];\n s.pc = 3; return s.tmp_2;\n case 3:\n r0 = s.retval;\n s.delay___5135 = (r0);\n s.tmp_0 = pause__P241_mk(s);\n s.tmp_0.arg0 = s.delay___5135;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n { step = 1; continue; }\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P5130.info = {"start":3735,"length":177,"line":112,"column":34,"endLine":117,"endColumn":13,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P5130_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P5130, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n delay___5135: undefined,\n} }\n\n\n\n\n\nfunction control_EventContext_runCallbacks__P222(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.loopStart___5142 = undefined;\n s.f___5154 = undefined;\n s.unnamed44___U2 = undefined;\n s.unnamed45___U3 = undefined;\n s.runtime___5160 = undefined;\n s.fps___5176 = undefined;\n s.delay___5226 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, control_EventContext__C220_VT)) failedCast(r0);\n r0 = pxsim.control.millis();\n s.loopStart___5142 = (r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.arg0.fields["prevTimeMillis"];\n s.tmp_2 = r0;\n r0 = (s.loopStart___5142 - s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["deltaTimeMillis"] = (s.tmp_1);\n r0 = (s.arg0).fields["prevTimeMillis"] = (s.loopStart___5142);\n s.f___5154 = (undefined);\n s.f___5154 = (undefined);\n r0 = s.arg0.fields["frameCallbacks"];\n s.unnamed44___U2 = (r0);\n s.unnamed45___U3 = (0);\n case 1:\n s.tmp_0 = r0 = s.unnamed45___U3;\n r0 = pxsim_Array__length(s.unnamed44___U2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 2; continue; }\n r0 = pxsim_Array__getAt(s.unnamed44___U2, s.unnamed45___U3);\n s.f___5154 = (r0);\n s.tmp_2 = lambda_1_mk(s);\n r0 = s.f___5154.fields["handler"];\n s.tmp_2.argL = r0;\n setupLambda(s.tmp_2, s.tmp_2.argL);\n s.pc = 11; return s.tmp_2;\n case 11:\n r0 = s.retval;\n r0 = (s.unnamed45___U3 + 1);\n s.unnamed45___U3 = (r0);\n { step = 1; continue; }\n case 2:\n s.unnamed44___U2 = (undefined);\n r0 = pxsim.control.millis();\n s.tmp_0 = r0;\n r0 = (s.tmp_0 - s.loopStart___5142);\n s.runtime___5160 = (r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.tmp_0.fields["timeInSample"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.runtime___5160);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["timeInSample"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.tmp_0.fields["framesInSample"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + 1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["framesInSample"] = (s.tmp_1);\n r0 = s.arg0.fields["timeInSample"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > 1000);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = s.tmp_0;\n { step = 4; continue; }\n case 3:\n r0 = s.arg0.fields["framesInSample"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 > 30);\n case 4:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 9; continue; }\n r0 = s.arg0.fields["framesInSample"];\n s.tmp_4 = r0;\n r0 = s.arg0.fields["timeInSample"];\n s.tmp_6 = r0;\n r0 = (s.tmp_6 / 1000);\n s.tmp_5 = r0;\n r0 = (s.tmp_4 / s.tmp_5);\n s.fps___5176 = (r0);\n r0 = pxsim.Math_.round(s.fps___5176);\n s.tmp_1 = r0;\n if ((s.tmp_1) && (s.tmp_1).vtable) {\n setupResume(s, 12);\n pxsim_String__stringConv(s.tmp_1);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_1) + ""; }\n case 12:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_String__concat("fps:", s.tmp_0);\n globals.control_EventContext_lastStats___231 = (r0);\n r0 = (s.fps___5176 < 99);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n if ((globals.control_EventContext_lastStats___231) && (globals.control_EventContext_lastStats___231).vtable) {\n setupResume(s, 13);\n pxsim_String__stringConv(globals.control_EventContext_lastStats___231);\n checkResumeConsumed();\n return;\n } else { s.retval = (globals.control_EventContext_lastStats___231) + ""; }\n case 13:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.fps___5176 * 10);\n s.tmp_7 = r0;\n r0 = pxsim.Math_.round(s.tmp_7);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 % 10);\n s.tmp_5 = r0;\n if ((s.tmp_5) && (s.tmp_5).vtable) {\n setupResume(s, 14);\n pxsim_String__stringConv(s.tmp_5);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_5) + ""; }\n case 14:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = pxsim_String__concat(".", s.tmp_4);\n s.tmp_3 = r0;\n if ((s.tmp_3) && (s.tmp_3).vtable) {\n setupResume(s, 15);\n pxsim_String__stringConv(s.tmp_3);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_3) + ""; }\n case 15:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = pxsim_String__concat(s.tmp_1, s.tmp_2);\n globals.control_EventContext_lastStats___231 = (r0);\n case 5:\n case 6:\n r0 = pxsim.control.profilingEnabled();\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 7; continue; }\n r0 = pxsim_String_.mkEmpty();\n s.tmp_5 = r0;\n r0 = (s.fps___5176 * 100);\n s.tmp_8 = r0;\n r0 = (s.tmp_8 | 0);\n s.tmp_7 = r0;\n if ((s.tmp_7) && (s.tmp_7).vtable) {\n setupResume(s, 16);\n pxsim_String__stringConv(s.tmp_7);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_7) + ""; }\n case 16:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = pxsim_String__concat(s.tmp_5, s.tmp_6);\n s.tmp_4 = r0;\n r0 = pxsim_String__concat(s.tmp_4, "/100 fps - ");\n s.tmp_3 = r0;\n r0 = s.arg0.fields["framesInSample"];\n s.tmp_10 = r0;\n if ((s.tmp_10) && (s.tmp_10).vtable) {\n setupResume(s, 17);\n pxsim_String__stringConv(s.tmp_10);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_10) + ""; }\n case 17:\n r0 = s.retval;\n s.tmp_9 = r0;\n r0 = pxsim_String__concat(s.tmp_3, s.tmp_9);\n s.tmp_2 = r0;\n r0 = pxsim_String__concat(s.tmp_2, " frames");\n s.tmp_1 = r0;\n r0 = pxsim.control.dmesg(s.tmp_1);\n r0 = pxsim.control.gc();\n r0 = pxsim_pxtcore.dumpPerfCounters();\n case 7:\n case 8:\n r0 = (s.arg0).fields["timeInSample"] = (0);\n r0 = (s.arg0).fields["framesInSample"] = (0);\n case 9:\n case 10:\n s.tmp_0 = Math_max__P61_mk(s);\n s.tmp_0.arg0 = 1;\n r0 = (20 - s.runtime___5160);\n s.tmp_0.arg1 = r0;\n s.pc = 18; return s.tmp_0;\n case 18:\n r0 = s.retval;\n s.delay___5226 = (r0);\n r0 = s.delay___5226;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_EventContext_runCallbacks__P222.info = {"start":2188,"length":1214,"line":75,"column":8,"endLine":102,"endColumn":9,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"runCallbacks","argumentNames":["this"]}\n\nfunction control_EventContext_runCallbacks__P222_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_EventContext_runCallbacks__P222, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n loopStart___5142: undefined,\n f___5154: undefined,\n unnamed44___U2: undefined,\n unnamed45___U3: undefined,\n runtime___5160: undefined,\n fps___5176: undefined,\n delay___5226: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction control_EventHandler_register__P216(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, control_EventHandler__C215_VT)) failedCast(r0);\n r0 = pxsim_pxtcore_mkAction(1, inline__P5239);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n r0 = s.arg0.fields["src"];\n s.tmp_1 = r0;\n r0 = s.arg0.fields["value"];\n s.tmp_2 = r0;\n r0 = s.arg0.fields["flags"];\n s.tmp_3 = r0;\n r0 = pxsim.control.internalOnEvent(s.tmp_1, s.tmp_2, s.tmp_0, s.tmp_3);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_EventHandler_register__P216.info = {"start":1069,"length":165,"line":34,"column":8,"endLine":38,"endColumn":9,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"register","argumentNames":["this"]}\n\nfunction control_EventHandler_register__P216_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_EventHandler_register__P216, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P5239(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = s.caps[0].fields["handler"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_1 = lambda_1_mk(s);\n r0 = s.caps[0].fields["handler"];\n s.tmp_1.argL = r0;\n setupLambda(s.tmp_1, s.tmp_1.argL);\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P5239.info = {"start":1140,"length":71,"line":35,"column":58,"endLine":37,"endColumn":13,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P5239_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P5239, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n} }\n\n\n\n\n\nfunction game_pushScene__P1019(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.oldScene___4855 = undefined;\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n s.oldScene___4855 = (r0);\n s.tmp_0 = particles_clearAll__P1317_mk(s);\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n s.tmp_0 = particles_disableAll__P1318_mk(s);\n s.pc = 7; return s.tmp_0;\n case 7:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(globals._sceneStack___1009);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_Array__mk();\n globals._sceneStack___1009 = (r0);\n case 1:\n case 2:\n r0 = pxsim_Array__push(globals._sceneStack___1009, globals._scene___1008);\n globals._scene___1008 = (undefined);\n s.tmp_0 = game_init__P1018_mk(s);\n s.pc = 8; return s.tmp_0;\n case 8:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(globals._scenePushHandlers___1010);\n if (!r0) { step = 3; continue; }\n r0 = pxsim_pxtcore_mkAction(1, inline__P4872);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.oldScene___4855);\n s.tmp_1 = helpers_arrayForEach__P47_mk(s);\n s.tmp_1.arg0 = globals._scenePushHandlers___1010;\n s.tmp_1.arg1 = s.tmp_0;\n s.pc = 9; return s.tmp_1;\n case 9:\n r0 = s.retval;\n case 3:\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_pushScene__P1019.info = {"start":1587,"length":369,"line":60,"column":4,"endLine":72,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"pushScene","argumentNames":[]}\n\nfunction game_pushScene__P1019_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_pushScene__P1019, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n oldScene___4855: undefined,\n} }\n\n\n\n\n\nfunction inline__P4872(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = lambda_2_mk(s);\n s.tmp_0.argL = s.arg0;\n s.tmp_0.arg0 = s.caps[0];\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P4872.info = {"start":1920,"length":18,"line":70,"column":39,"endLine":70,"endColumn":57,"fileName":"pxt_modules/game/game.ts","functionName":"inline","argumentNames":["cb"]}\n\nfunction inline__P4872_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P4872, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction particles_disableAll__P1318(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.sources___4876 = undefined;\n s.tmp_0 = particles_particleSources__P1320_mk(s);\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.sources___4876 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.sources___4876);\n if (!r0) { step = 1; continue; }\n s.tmp_0 = helpers_arrayForEach__P47_mk(s);\n s.tmp_0.arg0 = s.sources___4876;\n s.tmp_0.arg1 = inline__P4881;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n s.tmp_0 = particles_pruneParticles__P1307_mk(s);\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_disableAll__P1318.info = {"start":11883,"length":195,"line":390,"column":4,"endLine":396,"endColumn":5,"fileName":"pxt_modules/game/particles.ts","functionName":"disableAll","argumentNames":[]}\n\nfunction particles_disableAll__P1318_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_disableAll__P1318, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n sources___4876: undefined,\n} }\n\n\n\n\n\nfunction inline__P4881(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = particles_ParticleSource_enabled__P1293_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = false;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = false;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P4881.info = {"start":12008,"length":22,"line":393,"column":28,"endLine":393,"endColumn":50,"fileName":"pxt_modules/game/particles.ts","functionName":"inline","argumentNames":["s"]}\n\nfunction inline__P4881_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P4881, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction particles_clearAll__P1317(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.sources___5032 = undefined;\n s.tmp_0 = particles_particleSources__P1320_mk(s);\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.sources___5032 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.sources___5032);\n if (!r0) { step = 1; continue; }\n s.tmp_0 = helpers_arrayForEach__P47_mk(s);\n s.tmp_0.arg0 = s.sources___5032;\n s.tmp_0.arg1 = inline__P5037;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n s.tmp_0 = particles_pruneParticles__P1307_mk(s);\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_clearAll__P1317.info = {"start":11611,"length":185,"line":379,"column":4,"endLine":385,"endColumn":5,"fileName":"pxt_modules/game/particles.ts","functionName":"clearAll","argumentNames":[]}\n\nfunction particles_clearAll__P1317_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_clearAll__P1317, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n sources___5032: undefined,\n} }\n\n\n\n\n\nfunction inline__P5037(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = particles_ParticleSource_clear__P1295_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P5037.info = {"start":11734,"length":14,"line":382,"column":28,"endLine":382,"endColumn":42,"fileName":"pxt_modules/game/particles.ts","functionName":"inline","argumentNames":["s"]}\n\nfunction inline__P5037_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P5037, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_init__P1018(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals._scene___1008);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_pxtcore_mkClassInstance(scene_Scene__C923_VT);\n s.tmp_2 = r0;\n s.tmp_3 = scene_Scene_constructor__P932_mk(s);\n s.tmp_3.arg0 = s.tmp_2;\n s.tmp_4 = control_pushEventContext__P236_mk(s);\n s.pc = 12; return s.tmp_4;\n case 12:\n r0 = s.retval;\n s.tmp_3.arg1 = r0;\n s.pc = 11; return s.tmp_3;\n case 11:\n r0 = s.retval;\n globals._scene___1008 = (s.tmp_2);\n case 1:\n case 2:\n s.tmp_0 = scene_Scene_init__P924_mk(s);\n s.tmp_0.arg0 = globals._scene___1008;\n s.pc = 13; return s.tmp_0;\n case 13:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(globals.winEffect___1001);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n globals.winEffect___1001 = (globals.confetti___1424);\n case 3:\n case 4:\n r0 = pxsim_numops_toBoolDecr(globals.loseEffect___1003);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n globals.loseEffect___1003 = (globals.melt___1444);\n case 5:\n case 6:\n r0 = pxsim_numops_toBoolDecr(globals.winSound___1007);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 7; continue; }\n globals.winSound___1007 = (globals.powerUp___371);\n case 7:\n case 8:\n r0 = pxsim_numops_toBoolDecr(globals.loseSound___1005);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 9; continue; }\n globals.loseSound___1005 = (globals.wawawawaa___368);\n case 9:\n case 10:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_init__P1018.info = {"start":1202,"length":379,"line":45,"column":4,"endLine":58,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"init","argumentNames":[]}\n\nfunction game_init__P1018_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_init__P1018, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n} }\n\n\n\n\n\nfunction inline__P5347(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.rounds___5350 = undefined;\n s.j___5355 = undefined;\n s.x___5359 = undefined;\n s.y___5364 = undefined;\n s.c___5369 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_ImageMethods.width(s.arg0);\n s.tmp_1 = r0;\n r0 = pxsim_ImageMethods.height(s.arg0);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 * s.tmp_2);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 >> 5);\n s.rounds___5350 = (r0);\n s.j___5355 = (0);\n case 1:\n r0 = (s.j___5355 < s.rounds___5350);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n s.tmp_1 = Math_FastRandom_randomRange__P1158_mk(s);\n s.tmp_1.arg0 = s.arg1;\n s.tmp_1.arg1 = 0;\n r0 = pxsim_ImageMethods.width(s.arg0);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - 1);\n s.tmp_1.arg2 = r0;\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n s.x___5359 = (r0);\n s.tmp_0 = Math_FastRandom_randomRange__P1158_mk(s);\n s.tmp_0.arg0 = s.arg1;\n s.tmp_0.arg1 = 0;\n r0 = pxsim_ImageMethods.height(s.arg0);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - 3);\n s.tmp_0.arg2 = r0;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n s.y___5364 = (r0);\n r0 = pxsim_ImageMethods.getPixel(s.arg0, s.x___5359, s.y___5364);\n s.c___5369 = (r0);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_1 = r0 = s.x___5359;\n r0 = (s.y___5364 + 1);\n s.tmp_2 = r0;\n r0 = pxsim_ImageMethods.setPixel(s.tmp_0, s.tmp_1, s.tmp_2, s.c___5369);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_1 = r0 = s.x___5359;\n r0 = (s.y___5364 + 2);\n s.tmp_2 = r0;\n r0 = pxsim_ImageMethods.setPixel(s.tmp_0, s.tmp_1, s.tmp_2, s.c___5369);\n r0 = (s.j___5355 + 1);\n s.j___5355 = (r0);\n { step = 1; continue; }\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P5347.info = {"start":2652,"length":386,"line":72,"column":45,"endLine":81,"endColumn":5,"fileName":"pxt_modules/game/effects.ts","functionName":"inline","argumentNames":["input","r"]}\n\nfunction inline__P5347_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P5347, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n rounds___5350: undefined,\n j___5355: undefined,\n x___5359: undefined,\n y___5364: undefined,\n c___5369: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Math_FastRandom_randomRange__P1158(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Math_FastRandom__C1156_VT)) failedCast(r0);\n r0 = (s.arg2 > s.arg1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_2 = Math_FastRandom_next__P1157_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 3; return s.tmp_2;\n case 3:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.arg2 - s.arg1);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 + 1);\n s.tmp_3 = r0;\n r0 = (s.tmp_1 % s.tmp_3);\n { step = 2; continue; }\n case 1:\n r0 = 0;\n case 2:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n r0 = (s.arg1 + s.tmp_5);\n return leave(s, r0)\n default: oops()\n} } }\nMath_FastRandom_randomRange__P1158.info = {"start":2046,"length":131,"line":61,"column":8,"endLine":63,"endColumn":9,"fileName":"pxt_modules/game/mathUtil.ts","functionName":"randomRange","argumentNames":["this","min","max"]}\n\nfunction Math_FastRandom_randomRange__P1158_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Math_FastRandom_randomRange__P1158, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction Math_FastRandom_next__P1157(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Math_FastRandom__C1156_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.arg0.fields["lfsr"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 >> 1);\n s.tmp_2 = r0;\n r0 = s.arg0.fields["lfsr"];\n s.tmp_7 = r0;\n r0 = (s.tmp_7 & 1);\n s.tmp_6 = r0;\n r0 = (0 - s.tmp_6);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 & 46080);\n s.tmp_4 = r0;\n r0 = (s.tmp_2 ^ s.tmp_4);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["lfsr"] = (s.tmp_1);\n r0 = s.tmp_1;\n return leave(s, r0)\n default: oops()\n} } }\nMath_FastRandom_next__P1157.info = {"start":1680,"length":107,"line":52,"column":8,"endLine":54,"endColumn":9,"fileName":"pxt_modules/game/mathUtil.ts","functionName":"next","argumentNames":["this"]}\n\nfunction Math_FastRandom_next__P1157_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Math_FastRandom_next__P1157, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction effects_ImageEffect_constructor__P1442(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, effects_ImageEffect__C1438_VT)) failedCast(r0);\n r0 = (s.arg0).fields["effect"] = (s.arg2);\n r0 = pxsim_pxtcore_mkClassInstance(Math_FastRandom__C1156_VT);\n s.tmp_0 = r0;\n s.tmp_1 = Math_FastRandom_constructor__P1163_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = undefined;\n s.pc = 1; return s.tmp_1;\n case 1:\n r0 = s.retval;\n r0 = (s.arg0).fields["fastRandom"] = (s.tmp_0);\n r0 = (s.arg0).fields["preferredDelay"] = (s.arg1);\n r0 = (s.arg0).fields["times"] = (undefined);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\neffects_ImageEffect_constructor__P1442.info = {"start":410,"length":290,"line":10,"column":8,"endLine":15,"endColumn":9,"fileName":"pxt_modules/game/effects.ts","functionName":"inline","argumentNames":["this","defaultRate","effectFactory"]}\n\nfunction effects_ImageEffect_constructor__P1442_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: effects_ImageEffect_constructor__P1442, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction scene_Scene_constructor__P932(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Scene__C923_VT)) failedCast(r0);\n r0 = (s.arg0).fields["eventContext"] = (s.arg1);\n r0 = (s.arg0).fields["flags"] = (0);\n r0 = pxsim_pxtcore_mkClassInstance(ArcadePhysicsEngine__C727_VT);\n s.tmp_0 = r0;\n s.tmp_1 = ArcadePhysicsEngine_constructor__P739_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = 500;\n s.tmp_1.arg2 = 2;\n s.tmp_1.arg3 = 4;\n s.pc = 1; return s.tmp_1;\n case 1:\n r0 = s.retval;\n r0 = (s.arg0).fields["physicsEngine"] = (s.tmp_0);\n r0 = pxsim_pxtcore_mkClassInstance(scene_Camera__C886_VT);\n s.tmp_0 = r0;\n s.tmp_1 = scene_Camera_constructor__P889_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n r0 = (s.arg0).fields["camera"] = (s.tmp_0);\n r0 = pxsim_pxtcore_mkClassInstance(scene_Background__C846_VT);\n s.tmp_0 = r0;\n s.tmp_1 = scene_Background_constructor__P852_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n r0 = s.arg0.fields["camera"];\n s.tmp_1.arg1 = r0;\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n r0 = (s.arg0).fields["background"] = (s.tmp_0);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["destroyedHandlers"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["createdHandlers"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["overlapHandlers"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_pxtrt.mkMap();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["overlapMap"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["collisionHandlers"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["gameForeverHandlers"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_pxtrt.mkMap();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["spritesByKind"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["controlledSprites"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_pxtrt.mkMap();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["_data"] = (s.tmp_1);\n r0 = (s.arg0).fields["_millis"] = (0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_Scene_constructor__P932.info = {"start":2508,"length":672,"line":81,"column":8,"endLine":97,"endColumn":9,"fileName":"pxt_modules/game/scene.ts","functionName":"inline","argumentNames":["this","eventContext"]}\n\nfunction scene_Scene_constructor__P932_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Scene_constructor__P932, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction scene_Camera_constructor__P889(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Camera__C886_VT)) failedCast(r0);\n r0 = (s.arg0).fields["offsetX"] = (0);\n r0 = (s.arg0).fields["offsetY"] = (0);\n r0 = (s.arg0).fields["drawOffsetX"] = (0);\n r0 = (s.arg0).fields["drawOffsetY"] = (0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_Camera_constructor__P889.info = {"start":427,"length":154,"line":14,"column":8,"endLine":20,"endColumn":9,"fileName":"pxt_modules/game/camera.ts","functionName":"inline","argumentNames":["this"]}\n\nfunction scene_Camera_constructor__P889_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Camera_constructor__P889, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_Background_constructor__P852(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Background__C846_VT)) failedCast(r0);\n r0 = (s.arg0).fields["color"] = (0);\n r0 = (s.arg0).fields["camera"] = (s.arg1);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["_layers"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_Background_constructor__P852.info = {"start":367,"length":132,"line":20,"column":8,"endLine":24,"endColumn":9,"fileName":"pxt_modules/game/background.ts","functionName":"inline","argumentNames":["this","camera"]}\n\nfunction scene_Background_constructor__P852_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Background_constructor__P852, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction ArcadePhysicsEngine_constructor__P739(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, ArcadePhysicsEngine__C727_VT)) failedCast(r0);\n r0 = undefined;\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["sprites"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg1 * 256);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["maxVelocity"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.arg0.fields["maxVelocity"];\n s.tmp_2 = r0;\n r0 = (0 - s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["maxNegativeVelocity"] = (s.tmp_1);\n r0 = pxsim_pxtcore_mkClassInstance(sprites_SpriteMap__C659_VT);\n s.tmp_0 = r0;\n s.tmp_1 = sprites_SpriteMap_constructor__P671_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.pc = 1; return s.tmp_1;\n case 1:\n r0 = s.retval;\n r0 = (s.arg0).fields["map"] = (s.tmp_0);\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg2 * 256);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["minSingleStep"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg3 * 256);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["maxSingleStep"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nArcadePhysicsEngine_constructor__P739.info = {"start":1262,"length":368,"line":53,"column":4,"endLine":61,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"inline","argumentNames":["this","maxVelocity","minSingleStep","maxSingleStep"]}\n\nfunction ArcadePhysicsEngine_constructor__P739_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: ArcadePhysicsEngine_constructor__P739, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction PhysicsEngine_constructor__P715(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, PhysicsEngine__C708_VT)) failedCast(r0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nPhysicsEngine_constructor__P715.info = {"start":26,"length":21,"line":1,"column":4,"endLine":2,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"inline","argumentNames":["this"]}\n\nfunction PhysicsEngine_constructor__P715_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: PhysicsEngine_constructor__P715, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction sprites_SpriteMap_constructor__P671(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_SpriteMap__C659_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["buckets"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_SpriteMap_constructor__P671.info = {"start":237,"length":56,"line":8,"column":8,"endLine":10,"endColumn":9,"fileName":"pxt_modules/game/spritemap.ts","functionName":"inline","argumentNames":["this"]}\n\nfunction sprites_SpriteMap_constructor__P671_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_SpriteMap_constructor__P671, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Fx_neg__P84(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = (0 - s.arg0);\n return leave(s, r0)\n default: oops()\n} } }\nFx_neg__P84.info = {"start":298,"length":88,"line":14,"column":4,"endLine":16,"endColumn":5,"fileName":"pxt_modules/base/fixed.ts","functionName":"neg","argumentNames":["a"]}\n\nfunction Fx_neg__P84_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Fx_neg__P84, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_Scene_init__P924(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Scene__C923_VT)) failedCast(r0);\n r0 = s.arg0.fields["allSprites"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 3; continue; }\n case 1:\n case 2:\n s.tmp_1 = power_poke__P392_mk(s);\n s.pc = 4; return s.tmp_1;\n case 4:\n r0 = s.retval;\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["allSprites"] = (s.tmp_1);\n r0 = (s.arg0).fields["spriteNextId"] = (0);\n r0 = pxsim_pxtcore_mkAction(1, inline__P5404);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n s.tmp_1 = control_EventContext_registerFrameHandler__P226_mk(s);\n r0 = s.arg0.fields["eventContext"];\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = 8;\n s.tmp_1.arg2 = s.tmp_0;\n s.pc = 5; return s.tmp_1;\n case 5:\n r0 = s.retval;\n s.tmp_0 = control_EventContext_registerFrameHandler__P226_mk(s);\n r0 = s.arg0.fields["eventContext"];\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = 13;\n s.tmp_0.arg2 = controller__moveSprites__P556;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkAction(1, inline__P5427);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n s.tmp_1 = control_EventContext_registerFrameHandler__P226_mk(s);\n r0 = s.arg0.fields["eventContext"];\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = 15;\n s.tmp_1.arg2 = s.tmp_0;\n s.pc = 7; return s.tmp_1;\n case 7:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkAction(1, inline__P5455);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n s.tmp_1 = control_EventContext_registerFrameHandler__P226_mk(s);\n r0 = s.arg0.fields["eventContext"];\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = 90;\n s.tmp_1.arg2 = s.tmp_0;\n s.pc = 8; return s.tmp_1;\n case 8:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkAction(1, inline__P5467);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n s.tmp_1 = control_EventContext_registerFrameHandler__P226_mk(s);\n r0 = s.arg0.fields["eventContext"];\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = 150;\n s.tmp_1.arg2 = s.tmp_0;\n s.pc = 9; return s.tmp_1;\n case 9:\n r0 = s.retval;\n s.tmp_0 = control_EventContext_registerFrameHandler__P226_mk(s);\n r0 = s.arg0.fields["eventContext"];\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = 200;\n s.tmp_0.arg2 = control___screen_update__P435;\n s.pc = 10; return s.tmp_0;\n case 10:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkAction(1, inline__P5497);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n s.tmp_1 = helpers_arrayForEach__P47_mk(s);\n s.tmp_1.arg0 = globals.scene_Scene_initializers___931;\n s.tmp_1.arg1 = s.tmp_0;\n s.pc = 11; return s.tmp_1;\n case 11:\n r0 = s.retval;\n case 3:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_Scene_init__P924.info = {"start":3190,"length":2391,"line":99,"column":8,"endLine":155,"endColumn":9,"fileName":"pxt_modules/game/scene.ts","functionName":"init","argumentNames":["this"]}\n\nfunction scene_Scene_init__P924_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Scene_init__P924, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P5404(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = r0 = s.caps[0];\n r0 = s.tmp_0.fields["_millis"];\n s.tmp_2 = r0;\n r0 = s.caps[0].fields["eventContext"];\n r0 = r0.fields["deltaTimeMillis"];\n s.tmp_3 = r0;\n r0 = (s.tmp_2 + s.tmp_3);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["_millis"] = (s.tmp_1);\n s.tmp_0 = controller___update__P582_mk(s);\n r0 = s.caps[0].fields["eventContext"];\n s.tmp_1 = r0;\n r0 = s.tmp_1.fields["deltaTimeMillis"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 / 1000);\n s.tmp_0.arg0 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P5404.info = {"start":3480,"length":217,"line":106,"column":72,"endLine":110,"endColumn":13,"fileName":"pxt_modules/game/scene.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P5404_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P5404, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n} }\n\n\n\n\n\nfunction inline__P5427(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.dt___5430 = undefined;\n s.s___5442 = undefined;\n s.unnamed66___U2 = undefined;\n s.unnamed67___U3 = undefined;\n r0 = s.caps[0].fields["eventContext"];\n s.tmp_0 = r0;\n r0 = s.tmp_0.fields["deltaTimeMillis"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 / 1000);\n s.dt___5430 = (r0);\n s.tmp_0 = PhysicsEngine__C708_v4_2_mk(s);\n r0 = s.caps[0].fields["physicsEngine"];\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = s.dt___5430;\n if (!checkSubtype(s.tmp_0.arg0, PhysicsEngine__C708_VT)) failedCast(s.tmp_0.arg0);\n s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.move;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.tmp_0 = scene_Camera_update__P888_mk(s);\n r0 = s.caps[0].fields["camera"];\n s.tmp_0.arg0 = r0;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n s.s___5442 = (undefined);\n s.s___5442 = (undefined);\n r0 = s.caps[0].fields["allSprites"];\n s.unnamed66___U2 = (r0);\n s.unnamed67___U3 = (0);\n case 1:\n s.tmp_0 = r0 = s.unnamed67___U3;\n r0 = pxsim_Array__length(s.unnamed66___U2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 2; continue; }\n r0 = pxsim_Array__getAt(s.unnamed66___U2, s.unnamed67___U3);\n s.s___5442 = (r0);\n s.tmp_2 = if___update_3_mk(s);\n s.tmp_2.arg0 = s.s___5442;\n r0 = s.caps[0].fields["camera"];\n s.tmp_2.arg1 = r0;\n s.tmp_2.arg2 = s.dt___5430;\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["__update"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["__update"]; }\n else { s.pc = 5; return s.tmp_2; }\n case 5:\n r0 = s.retval;\n r0 = (s.unnamed67___U3 + 1);\n s.unnamed67___U3 = (r0);\n { step = 1; continue; }\n case 2:\n s.unnamed66___U2 = (undefined);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P5427.info = {"start":3992,"length":328,"line":115,"column":69,"endLine":124,"endColumn":13,"fileName":"pxt_modules/game/scene.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P5427_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P5427, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n dt___5430: undefined,\n s___5442: undefined,\n unnamed66___U2: undefined,\n unnamed67___U3: undefined,\n} }\n\n\n\n\n\nfunction inline__P5455(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = (s.caps[0]).fields["cachedRender"] = (undefined);\n s.tmp_0 = scene_Scene_renderCore__P930_mk(s);\n s.tmp_0.arg0 = s.caps[0];\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P5455.info = {"start":4495,"length":160,"line":130,"column":76,"endLine":134,"endColumn":13,"fileName":"pxt_modules/game/scene.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P5455_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P5455, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction inline__P5467(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = r0 = globals.stats___999;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = globals.control_EventContext_onStats___232;\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 3; continue; }\n s.tmp_2 = lambda_2_mk(s);\n s.tmp_2.argL = globals.control_EventContext_onStats___232;\n if ((globals.control_EventContext_lastStats___231) && (globals.control_EventContext_lastStats___231).vtable) {\n setupResume(s, 8);\n pxsim_String__stringConv(globals.control_EventContext_lastStats___231);\n checkResumeConsumed();\n return;\n } else { s.retval = (globals.control_EventContext_lastStats___231) + ""; }\n case 8:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = s.caps[0].fields["allSprites"];\n s.tmp_8 = r0;\n r0 = pxsim_Array__length(s.tmp_8);\n s.tmp_7 = r0;\n if ((s.tmp_7) && (s.tmp_7).vtable) {\n setupResume(s, 9);\n pxsim_String__stringConv(s.tmp_7);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_7) + ""; }\n case 9:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = pxsim_String__concat(" sprites:", s.tmp_6);\n s.tmp_5 = r0;\n if ((s.tmp_5) && (s.tmp_5).vtable) {\n setupResume(s, 10);\n pxsim_String__stringConv(s.tmp_5);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_5) + ""; }\n case 10:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = pxsim_String__concat(s.tmp_3, s.tmp_4);\n s.tmp_2.arg0 = r0;\n setupLambda(s.tmp_2, s.tmp_2.argL);\n s.pc = 7; return s.tmp_2;\n case 7:\n r0 = s.retval;\n case 3:\n case 4:\n r0 = pxsim_numops_toBoolDecr(globals.debug___998);\n if (!r0) { step = 5; continue; }\n s.tmp_0 = PhysicsEngine__C708_v3_1_mk(s);\n r0 = s.caps[0].fields["physicsEngine"];\n s.tmp_0.arg0 = r0;\n if (!checkSubtype(s.tmp_0.arg0, PhysicsEngine__C708_VT)) failedCast(s.tmp_0.arg0);\n s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.draw;\n s.pc = 11; return s.tmp_0;\n case 11:\n r0 = s.retval;\n case 5:\n case 6:\n s.tmp_0 = game_consoleOverlay_draw__P1271_mk(s);\n s.pc = 12; return s.tmp_0;\n case 12:\n r0 = s.retval;\n r0 = (s.caps[0]).fields["flags"] = (0);\n s.tmp_0 = power_checkDeepSleep__P393_mk(s);\n s.pc = 13; return s.tmp_0;\n case 13:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P5467.info = {"start":4772,"length":567,"line":136,"column":80,"endLine":150,"endColumn":13,"fileName":"pxt_modules/game/scene.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P5467_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P5467, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n} }\n\n\n\n\n\nfunction inline__P5497(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = lambda_2_mk(s);\n s.tmp_0.argL = s.arg0;\n s.tmp_0.arg0 = s.caps[0];\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P5497.info = {"start":5557,"length":12,"line":154,"column":39,"endLine":154,"endColumn":51,"fileName":"pxt_modules/game/scene.ts","functionName":"inline","argumentNames":["f"]}\n\nfunction inline__P5497_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P5497, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_consoleOverlay_draw__P1271(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.height___5534 = undefined;\n s.top___5538 = undefined;\n s.i___5543 = undefined;\n s.t___5554 = undefined;\n s.tOff___5560 = undefined;\n s.tab___5562 = undefined;\n s.unnamed70___U6 = undefined;\n s.unnamed71___U7 = undefined;\n s.padding___5564 = undefined;\n r0 = pxsim_numops_toBoolDecr(globals.consoleStrings___1239);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = pxsim_numops_toBoolDecr(globals.instance___1164);\n s.tmp_4 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_4);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n case 2:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_5);\n if (!r0) { step = 3; continue; }\n { step = 13; continue; }\n case 3:\n case 4:\n s.tmp_7 = if_charHeight_1_mk(s);\n s.tmp_7.arg0 = globals.consoleFont___1244;\n if (!s.tmp_7.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_7.arg0, "charHeight");\n } else {\n s.tmp_7.fn = s.tmp_7.arg0.vtable.iface["charHeight"];\n if (s.tmp_7.fn == null) { s.retval = s.tmp_7.arg0.fields["charHeight"]; }\n else { s.pc = 14; return s.tmp_7; }\n }\n case 14:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = (s.tmp_6 + 2);\n s.height___5534 = (r0);\n r0 = pxsim_numops_toBoolDecr(globals.stats___999);\n if (!r0) { step = 5; continue; }\n r0 = s.height___5534;\n { step = 6; continue; }\n case 5:\n r0 = 0;\n case 6:\n // jmp value (already in r0)\n s.tmp_0 = r0;\n r0 = (2 + s.tmp_0);\n s.top___5538 = (r0);\n s.i___5543 = (0);\n case 7:\n s.tmp_1 = r0 = s.i___5543;\n r0 = pxsim_Array__length(globals.consoleStrings___1239);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 12; continue; }\n r0 = pxsim_Array__getAt(globals.consoleStrings___1239, s.i___5543);\n s.tmp_5 = r0;\n r0 = pxsim_String_.indexOf(s.tmp_5, "\\t", undefined);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 >= 0);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 10; continue; }\n s.tmp_6 = helpers_stringSplit__P55_mk(s);\n r0 = pxsim_Array__getAt(globals.consoleStrings___1239, s.i___5543);\n s.tmp_6.arg0 = r0;\n s.tmp_6.arg1 = "\\t";\n s.tmp_6.arg2 = undefined;\n s.pc = 15; return s.tmp_6;\n case 15:\n r0 = s.retval;\n s.t___5554 = (r0);\n s.tOff___5560 = (0);\n s.tab___5562 = (undefined);\n s.tab___5562 = (undefined);\n s.unnamed70___U6 = (s.t___5554);\n s.unnamed71___U7 = (0);\n case 8:\n s.tmp_0 = r0 = s.unnamed71___U7;\n r0 = pxsim_Array__length(s.unnamed70___U6);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 9; continue; }\n r0 = pxsim_Array__getAt(s.unnamed70___U6, s.unnamed71___U7);\n s.tab___5562 = (r0);\n s.tmp_2 = r0 = globals.tabSize___1240;\n s.tmp_5 = r0 = s.tOff___5560;\n r0 = pxsim_String_.length(s.tab___5562);\n s.tmp_6 = r0;\n r0 = (s.tmp_5 + s.tmp_6);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 % globals.tabSize___1240);\n s.tmp_3 = r0;\n r0 = (s.tmp_2 - s.tmp_3);\n s.padding___5564 = (r0);\n s.tmp_0 = helpers_imagePrint__P432_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_0.arg1 = s.tab___5562;\n s.tmp_2 = r0 = s.tOff___5560;\n s.tmp_4 = if_charWidth_1_mk(s);\n s.tmp_4.arg0 = globals.consoleFont___1244;\n if (!s.tmp_4.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_4.arg0, "charWidth");\n } else {\n s.tmp_4.fn = s.tmp_4.arg0.vtable.iface["charWidth"];\n if (s.tmp_4.fn == null) { s.retval = s.tmp_4.arg0.fields["charWidth"]; }\n else { s.pc = 17; return s.tmp_4; }\n }\n case 17:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_2 * s.tmp_3);\n s.tmp_1 = r0;\n r0 = (4 + s.tmp_1);\n s.tmp_0.arg2 = r0;\n s.tmp_5 = r0 = s.top___5538;\n r0 = (s.i___5543 * s.height___5534);\n s.tmp_6 = r0;\n r0 = (s.tmp_5 + s.tmp_6);\n s.tmp_0.arg3 = r0;\n s.tmp_0.arg4 = globals.consoleColor___1238;\n s.tmp_0.arg5 = globals.consoleFont___1244;\n s.tmp_0.arg6 = undefined;\n s.pc = 16; return s.tmp_0;\n case 16:\n r0 = s.retval;\n s.tmp_0 = r0 = s.tOff___5560;\n r0 = pxsim_String_.length(s.tab___5562);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.padding___5564);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n s.tOff___5560 = (r0);\n r0 = (s.unnamed71___U7 + 1);\n s.unnamed71___U7 = (r0);\n { step = 8; continue; }\n case 9:\n s.unnamed70___U6 = (undefined);\n { step = 11; continue; }\n case 10:\n s.tmp_0 = helpers_imagePrint__P432_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n r0 = pxsim_Array__getAt(globals.consoleStrings___1239, s.i___5543);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = 4;\n s.tmp_1 = r0 = s.top___5538;\n r0 = (s.i___5543 * s.height___5534);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 + s.tmp_2);\n s.tmp_0.arg3 = r0;\n s.tmp_0.arg4 = globals.consoleColor___1238;\n s.tmp_0.arg5 = globals.consoleFont___1244;\n s.tmp_0.arg6 = undefined;\n s.pc = 18; return s.tmp_0;\n case 18:\n r0 = s.retval;\n case 11:\n r0 = (s.i___5543 + 1);\n s.i___5543 = (r0);\n { step = 7; continue; }\n case 12:\n case 13:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_consoleOverlay_draw__P1271.info = {"start":1364,"length":859,"line":44,"column":4,"endLine":61,"endColumn":5,"fileName":"pxt_modules/game/console.ts","functionName":"draw","argumentNames":[]}\n\nfunction game_consoleOverlay_draw__P1271_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_consoleOverlay_draw__P1271, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n height___5534: undefined,\n top___5538: undefined,\n i___5543: undefined,\n t___5554: undefined,\n tOff___5560: undefined,\n tab___5562: undefined,\n unnamed70___U6: undefined,\n unnamed71___U7: undefined,\n padding___5564: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_isVisible__P1198(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals.instance___1164);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_isVisible__P1198.info = {"start":12489,"length":62,"line":378,"column":4,"endLine":380,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"isVisible","argumentNames":[]}\n\nfunction scene_systemMenu_isVisible__P1198_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_isVisible__P1198, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n} }\n\n\n\n\n\nfunction helpers_imagePrint__P432(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.x0___2456 = undefined;\n s.cp___2458 = undefined;\n s.mult___2459 = undefined;\n s.dataW___2465 = undefined;\n s.dataH___2471 = undefined;\n s.byteHeight___2477 = undefined;\n s.charSize___2480 = undefined;\n s.dataSize___2483 = undefined;\n s.fontdata___2486 = undefined;\n s.lastchar___2490 = undefined;\n s.imgBuf___2497 = undefined;\n s.xOffset___2518 = undefined;\n s.yOffset___2519 = undefined;\n s.ch___2533 = undefined;\n s.l___2550 = undefined;\n s.r___2551 = undefined;\n s.off___2553 = undefined;\n s.guess___2554 = undefined;\n s.m___2570 = undefined;\n s.v___2575 = undefined;\n s.i___2622 = undefined;\n s.j___2626 = undefined;\n s.mask___2627 = undefined;\n s.c___2628 = undefined;\n s.n___2643 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.arg5 = (s.lambdaArgs[5]);\n s.arg6 = (s.lambdaArgs[6]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg2 | 0);\n s.arg2 = (r0);\n r0 = (s.arg3 | 0);\n s.arg3 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.arg5);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_2 = image_getFontForText__P425_mk(s);\n s.tmp_2.arg0 = s.arg1;\n s.pc = 39; return s.tmp_2;\n case 39:\n r0 = s.retval;\n s.arg5 = (r0);\n case 1:\n case 2:\n r0 = pxsim_numops_toBoolDecr(s.arg4);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.arg4 = (1);\n case 3:\n case 4:\n s.x0___2456 = (s.arg2);\n s.cp___2458 = (0);\n s.tmp_1 = if_multiplier_1_mk(s);\n s.tmp_1.arg0 = s.arg5;\n if (!s.tmp_1.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, "multiplier");\n } else {\n s.tmp_1.fn = s.tmp_1.arg0.vtable.iface["multiplier"];\n if (s.tmp_1.fn == null) { s.retval = s.tmp_1.arg0.fields["multiplier"]; }\n else { s.pc = 40; return s.tmp_1; }\n }\n case 40:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n s.tmp_2 = if_multiplier_1_mk(s);\n s.tmp_2.arg0 = s.arg5;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "multiplier");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["multiplier"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["multiplier"]; }\n else { s.pc = 41; return s.tmp_2; }\n }\n case 41:\n r0 = s.retval;\n { step = 6; continue; }\n case 5:\n r0 = 1;\n case 6:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n s.mult___2459 = (s.tmp_3);\n s.tmp_1 = if_charWidth_1_mk(s);\n s.tmp_1.arg0 = s.arg5;\n if (!s.tmp_1.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, "charWidth");\n } else {\n s.tmp_1.fn = s.tmp_1.arg0.vtable.iface["charWidth"];\n if (s.tmp_1.fn == null) { s.retval = s.tmp_1.arg0.fields["charWidth"]; }\n else { s.pc = 42; return s.tmp_1; }\n }\n case 42:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim.Math_.idiv(s.tmp_0, s.mult___2459);\n s.dataW___2465 = (r0);\n s.tmp_1 = if_charHeight_1_mk(s);\n s.tmp_1.arg0 = s.arg5;\n if (!s.tmp_1.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, "charHeight");\n } else {\n s.tmp_1.fn = s.tmp_1.arg0.vtable.iface["charHeight"];\n if (s.tmp_1.fn == null) { s.retval = s.tmp_1.arg0.fields["charHeight"]; }\n else { s.pc = 43; return s.tmp_1; }\n }\n case 43:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim.Math_.idiv(s.tmp_0, s.mult___2459);\n s.dataH___2471 = (r0);\n r0 = (s.dataH___2471 + 7);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 >> 3);\n s.byteHeight___2477 = (r0);\n r0 = (s.byteHeight___2477 * s.dataW___2465);\n s.charSize___2480 = (r0);\n r0 = (2 + s.charSize___2480);\n s.dataSize___2483 = (r0);\n s.tmp_0 = if_data_1_mk(s);\n s.tmp_0.arg0 = s.arg5;\n if (!s.tmp_0.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_0.arg0, "data");\n } else {\n s.tmp_0.fn = s.tmp_0.arg0.vtable.iface["data"];\n if (s.tmp_0.fn == null) { s.retval = s.tmp_0.arg0.fields["data"]; }\n else { s.pc = 44; return s.tmp_0; }\n }\n case 44:\n r0 = s.retval;\n s.fontdata___2486 = (r0);\n r0 = pxsim.BufferMethods.length(s.fontdata___2486);\n s.tmp_1 = r0;\n r0 = pxsim.Math_.idiv(s.tmp_1, s.dataSize___2483);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 - 1);\n s.lastchar___2490 = (r0);\n r0 = (s.mult___2459 == 1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 7; continue; }\n r0 = (8 + s.charSize___2480);\n s.tmp_1 = r0;\n r0 = pxsim.control.createBuffer(s.tmp_1);\n s.imgBuf___2497 = (r0);\n r0 = pxsim.BufferMethods.setByte(s.imgBuf___2497, 0, 135);\n r0 = pxsim.BufferMethods.setByte(s.imgBuf___2497, 1, 1);\n r0 = pxsim.BufferMethods.setByte(s.imgBuf___2497, 2, s.dataW___2465);\n r0 = pxsim.BufferMethods.setByte(s.imgBuf___2497, 4, s.dataH___2471);\n case 7:\n case 8:\n case 9:\n s.tmp_1 = r0 = s.cp___2458;\n r0 = pxsim_String_.length(s.arg1);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 38; continue; }\n s.xOffset___2518 = (0);\n s.yOffset___2519 = (0);\n s.tmp_0 = r0 = s.arg6;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 10; continue; }\n r0 = s.tmp_0;\n { step = 11; continue; }\n case 10:\n s.tmp_1 = r0 = s.cp___2458;\n r0 = pxsim_Array__length(s.arg6);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n case 11:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 12; continue; }\n s.tmp_4 = if_xOffset_1_mk(s);\n r0 = pxsim_Array__getAt(s.arg6, s.cp___2458);\n s.tmp_4.arg0 = r0;\n if (!s.tmp_4.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_4.arg0, "xOffset");\n } else {\n s.tmp_4.fn = s.tmp_4.arg0.vtable.iface["xOffset"];\n if (s.tmp_4.fn == null) { s.retval = s.tmp_4.arg0.fields["xOffset"]; }\n else { s.pc = 45; return s.tmp_4; }\n }\n case 45:\n r0 = s.retval;\n s.xOffset___2518 = (r0);\n s.tmp_0 = if_yOffset_1_mk(s);\n r0 = pxsim_Array__getAt(s.arg6, s.cp___2458);\n s.tmp_0.arg0 = r0;\n if (!s.tmp_0.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_0.arg0, "yOffset");\n } else {\n s.tmp_0.fn = s.tmp_0.arg0.vtable.iface["yOffset"];\n if (s.tmp_0.fn == null) { s.retval = s.tmp_0.arg0.fields["yOffset"]; }\n else { s.pc = 46; return s.tmp_0; }\n }\n case 46:\n r0 = s.retval;\n s.yOffset___2519 = (r0);\n case 12:\n case 13:\n s.tmp_0 = r0 = s.cp___2458;\n r0 = (s.tmp_0 + 1);\n s.cp___2458 = (r0);\n r0 = pxsim_String_.charCodeAt(s.arg1, s.tmp_0);\n s.ch___2533 = (r0);\n r0 = (s.ch___2533 == 10);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 14; continue; }\n s.tmp_1 = r0 = s.arg3;\n s.tmp_4 = if_charHeight_1_mk(s);\n s.tmp_4.arg0 = s.arg5;\n if (!s.tmp_4.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_4.arg0, "charHeight");\n } else {\n s.tmp_4.fn = s.tmp_4.arg0.vtable.iface["charHeight"];\n if (s.tmp_4.fn == null) { s.retval = s.tmp_4.arg0.fields["charHeight"]; }\n else { s.pc = 47; return s.tmp_4; }\n }\n case 47:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_3 + 2);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 + s.tmp_2);\n s.arg3 = (r0);\n s.arg2 = (s.x0___2456);\n case 14:\n case 15:\n r0 = (s.ch___2533 < 32);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 16; continue; }\n { step = 9; continue; }\n case 16:\n case 17:\n s.l___2550 = (0);\n s.r___2551 = (s.lastchar___2490);\n s.off___2553 = (0);\n r0 = (s.ch___2533 - 32);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 * s.dataSize___2483);\n s.guess___2554 = (r0);\n r0 = pxsim.BufferMethods.getNumber(s.fontdata___2486, 4, s.guess___2554);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 == s.ch___2533);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 18; continue; }\n s.off___2553 = (s.guess___2554);\n { step = 25; continue; }\n case 18:\n case 19:\n r0 = (s.l___2550 <= s.r___2551);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 24; continue; }\n s.tmp_1 = r0 = s.l___2550;\n r0 = (s.r___2551 - s.l___2550);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 >> 1);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 + s.tmp_2);\n s.m___2570 = (r0);\n s.tmp_0 = r0 = s.fontdata___2486;\n r0 = (s.m___2570 * s.dataSize___2483);\n s.tmp_1 = r0;\n r0 = pxsim.BufferMethods.getNumber(s.tmp_0, 4, s.tmp_1);\n s.v___2575 = (r0);\n r0 = (s.v___2575 == s.ch___2533);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 20; continue; }\n r0 = (s.m___2570 * s.dataSize___2483);\n s.off___2553 = (r0);\n { step = 24; continue; }\n case 20:\n case 21:\n r0 = (s.v___2575 < s.ch___2533);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 22; continue; }\n r0 = (s.m___2570 + 1);\n s.l___2550 = (r0);\n { step = 23; continue; }\n case 22:\n r0 = (s.m___2570 - 1);\n s.r___2551 = (r0);\n case 23:\n { step = 19; continue; }\n case 24:\n case 25:\n r0 = (s.mult___2459 == 1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 26; continue; }\n s.tmp_1 = r0 = s.imgBuf___2497;\n s.tmp_3 = r0 = s.fontdata___2486;\n r0 = (s.off___2553 + 2);\n s.tmp_4 = r0;\n r0 = pxsim.BufferMethods.slice(s.tmp_3, s.tmp_4, s.charSize___2480);\n s.tmp_2 = r0;\n r0 = pxsim.BufferMethods.write(s.tmp_1, 8, s.tmp_2);\n s.tmp_0 = helpers_imageDrawIcon__P410_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.imgBuf___2497;\n r0 = (s.arg2 + s.xOffset___2518);\n s.tmp_0.arg2 = r0;\n r0 = (s.arg3 + s.yOffset___2519);\n s.tmp_0.arg3 = r0;\n s.tmp_0.arg4 = s.arg4;\n s.pc = 48; return s.tmp_0;\n case 48:\n r0 = s.retval;\n s.tmp_0 = r0 = s.arg2;\n s.tmp_2 = if_charWidth_1_mk(s);\n s.tmp_2.arg0 = s.arg5;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "charWidth");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["charWidth"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["charWidth"]; }\n else { s.pc = 49; return s.tmp_2; }\n }\n case 49:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n s.arg2 = (r0);\n { step = 37; continue; }\n case 26:\n r0 = (s.off___2553 + 2);\n s.off___2553 = (r0);\n s.i___2622 = (0);\n case 27:\n r0 = (s.i___2622 < s.dataW___2465);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 36; continue; }\n s.j___2626 = (0);\n s.mask___2627 = (1);\n s.tmp_0 = r0 = s.off___2553;\n r0 = (s.tmp_0 + 1);\n s.off___2553 = (r0);\n r0 = pxsim.BufferMethods.getByte(s.fontdata___2486, s.tmp_0);\n s.c___2628 = (r0);\n case 28:\n r0 = (s.j___2626 < s.dataH___2471);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 35; continue; }\n r0 = (s.mask___2627 == 256);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 29; continue; }\n s.tmp_2 = r0 = s.off___2553;\n r0 = (s.tmp_2 + 1);\n s.off___2553 = (r0);\n r0 = pxsim.BufferMethods.getByte(s.fontdata___2486, s.tmp_2);\n s.c___2628 = (r0);\n s.mask___2627 = (1);\n case 29:\n case 30:\n s.n___2643 = (0);\n case 31:\n r0 = (s.c___2628 & s.mask___2627);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 32; continue; }\n r0 = (s.n___2643 + 1);\n s.n___2643 = (r0);\n r0 = (s.mask___2627 << 1);\n s.mask___2627 = (r0);\n { step = 31; continue; }\n case 32:\n r0 = pxsim_numops_toBoolDecr(s.n___2643);\n if (!r0) { step = 33; continue; }\n s.tmp_0 = helpers_imageFillRect__P411_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_1 = r0 = s.arg2;\n r0 = (s.xOffset___2518 * s.mult___2459);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 + s.tmp_2);\n s.tmp_0.arg1 = r0;\n s.tmp_3 = r0 = s.arg3;\n r0 = (s.j___2626 + s.yOffset___2519);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 * s.mult___2459);\n s.tmp_4 = r0;\n r0 = (s.tmp_3 + s.tmp_4);\n s.tmp_0.arg2 = r0;\n s.tmp_0.arg3 = s.mult___2459;\n r0 = (s.mult___2459 * s.n___2643);\n s.tmp_0.arg4 = r0;\n s.tmp_0.arg5 = s.arg4;\n s.pc = 50; return s.tmp_0;\n case 50:\n r0 = s.retval;\n r0 = (s.j___2626 + s.n___2643);\n s.j___2626 = (r0);\n { step = 34; continue; }\n case 33:\n r0 = (s.mask___2627 << 1);\n s.mask___2627 = (r0);\n r0 = (s.j___2626 + 1);\n s.j___2626 = (r0);\n case 34:\n { step = 28; continue; }\n case 35:\n r0 = (s.arg2 + s.mult___2459);\n s.arg2 = (r0);\n r0 = (s.i___2622 + 1);\n s.i___2622 = (r0);\n { step = 27; continue; }\n case 36:\n case 37:\n { step = 9; continue; }\n case 38:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_imagePrint__P432.info = {"start":15326,"length":3300,"line":213,"column":4,"endLine":306,"endColumn":5,"fileName":"pxt_modules/screen/text.ts","functionName":"imagePrint","argumentNames":["img","text","x","y","color","font","offsets"]}\n\nfunction helpers_imagePrint__P432_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_imagePrint__P432, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n x0___2456: undefined,\n cp___2458: undefined,\n mult___2459: undefined,\n dataW___2465: undefined,\n dataH___2471: undefined,\n byteHeight___2477: undefined,\n charSize___2480: undefined,\n dataSize___2483: undefined,\n fontdata___2486: undefined,\n lastchar___2490: undefined,\n imgBuf___2497: undefined,\n xOffset___2518: undefined,\n yOffset___2519: undefined,\n ch___2533: undefined,\n l___2550: undefined,\n r___2551: undefined,\n off___2553: undefined,\n guess___2554: undefined,\n m___2570: undefined,\n v___2575: undefined,\n i___2622: undefined,\n j___2626: undefined,\n mask___2627: undefined,\n c___2628: undefined,\n n___2643: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n arg5: undefined,\n arg6: undefined,\n} }\n\n\n\n\n\nfunction image_getFontForText__P425(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.i___2721 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.i___2721 = (0);\n case 1:\n s.tmp_1 = r0 = s.i___2721;\n r0 = pxsim_String_.length(s.arg0);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 4; continue; }\n r0 = pxsim_String_.charCodeAt(s.arg0, s.i___2721);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 > 8192);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 2; continue; }\n r0 = globals.font12___424;\n { step = 5; continue; }\n case 2:\n case 3:\n r0 = (s.i___2721 + 1);\n s.i___2721 = (r0);\n { step = 1; continue; }\n case 4:\n r0 = globals.font8___423;\n case 5:\n return leave(s, r0)\n default: oops()\n} } }\nimage_getFontForText__P425.info = {"start":11713,"length":259,"line":136,"column":4,"endLine":143,"endColumn":5,"fileName":"pxt_modules/screen/text.ts","functionName":"getFontForText","argumentNames":["text"]}\n\nfunction image_getFontForText__P425_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: image_getFontForText__P425, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n i___2721: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction helpers_imageFillRect__P411(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.arg5 = (s.lambdaArgs[5]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = r0 = s.arg0;\n s.tmp_2 = helpers_pack__P408_mk(s);\n s.tmp_2.arg0 = s.arg1;\n s.tmp_2.arg1 = s.arg2;\n s.pc = 1; return s.tmp_2;\n case 1:\n r0 = s.retval;\n s.tmp_1 = r0;\n s.tmp_4 = helpers_pack__P408_mk(s);\n s.tmp_4.arg0 = s.arg3;\n s.tmp_4.arg1 = s.arg4;\n s.pc = 2; return s.tmp_4;\n case 2:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods._fillRect(s.tmp_0, s.tmp_1, s.tmp_3, s.arg5);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_imageFillRect__P411.info = {"start":3648,"length":159,"line":131,"column":4,"endLine":133,"endColumn":5,"fileName":"pxt_modules/screen/image.ts","functionName":"imageFillRect","argumentNames":["img","x","y","w","h","c"]}\n\nfunction helpers_imageFillRect__P411_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_imageFillRect__P411, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n arg5: undefined,\n} }\n\n\n\n\n\nfunction helpers_pack__P408(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n s.tmp_2 = Math_clamp__P58_mk(s);\n s.tmp_2.arg0 = -30000;\n s.tmp_2.arg1 = 30000;\n r0 = (s.arg0 | 0);\n s.tmp_2.arg2 = r0;\n s.pc = 1; return s.tmp_2;\n case 1:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 & 65535);\n s.tmp_0 = r0;\n s.tmp_5 = Math_clamp__P58_mk(s);\n s.tmp_5.arg0 = -30000;\n s.tmp_5.arg1 = 30000;\n r0 = (s.arg1 | 0);\n s.tmp_5.arg2 = r0;\n s.pc = 2; return s.tmp_5;\n case 2:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = (s.tmp_4 << 16);\n s.tmp_3 = r0;\n r0 = (s.tmp_0 | s.tmp_3);\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_pack__P408.info = {"start":3151,"length":145,"line":120,"column":4,"endLine":122,"endColumn":5,"fileName":"pxt_modules/screen/image.ts","functionName":"pack","argumentNames":["x","y"]}\n\nfunction helpers_pack__P408_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_pack__P408, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Math_clamp__P58(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = Math_min__P62_mk(s);\n s.tmp_0.arg0 = s.arg1;\n s.tmp_1 = Math_max__P61_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.tmp_1.arg1 = s.arg2;\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n return leave(s, r0)\n default: oops()\n} } }\nMath_clamp__P58.info = {"start":9924,"length":130,"line":339,"column":4,"endLine":341,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"clamp","argumentNames":["min","max","value"]}\n\nfunction Math_clamp__P58_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Math_clamp__P58, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction Math_min__P62(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 <= s.arg1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.arg0;\n { step = 3; continue; }\n case 1:\n case 2:\n r0 = s.arg1;\n case 3:\n return leave(s, r0)\n default: oops()\n} } }\nMath_min__P62.info = {"start":10994,"length":105,"line":373,"column":4,"endLine":376,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"min","argumentNames":["a","b"]}\n\nfunction Math_min__P62_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Math_min__P62, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction helpers_imageDrawIcon__P410(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = r0 = s.arg0;\n s.tmp_1 = r0 = s.arg1;\n s.tmp_3 = helpers_pack__P408_mk(s);\n s.tmp_3.arg0 = s.arg2;\n s.tmp_3.arg1 = s.arg3;\n s.pc = 1; return s.tmp_3;\n case 1:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = pxsim_ImageMethods._drawIcon(s.tmp_0, s.tmp_1, s.tmp_2, s.arg4);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_imageDrawIcon__P410.info = {"start":3498,"length":145,"line":128,"column":4,"endLine":130,"endColumn":5,"fileName":"pxt_modules/screen/image.ts","functionName":"imageDrawIcon","argumentNames":["img","icon","x","y","c"]}\n\nfunction helpers_imageDrawIcon__P410_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_imageDrawIcon__P410, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n} }\n\n\n\n\n\nfunction helpers_stringSplit__P55(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.A___5609 = undefined;\n s.lim___5611 = undefined;\n s.s___5619 = undefined;\n s.p___5622 = undefined;\n s.R___5623 = undefined;\n s.z___5634 = undefined;\n s.T___5645 = undefined;\n s.q___5646 = undefined;\n s.e___5651 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_Array__mk();\n s.A___5609 = (r0);\n s.lim___5611 = (0);\n r0 = (s.arg2 === undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = (1 << 29);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - 1);\n s.lim___5611 = (r0);\n { step = 4; continue; }\n case 1:\n r0 = (s.arg2 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n s.lim___5611 = (0);\n { step = 3; continue; }\n case 2:\n r0 = (s.arg2 | 0);\n s.lim___5611 = (r0);\n case 3:\n case 4:\n r0 = pxsim_String_.length(s.arg0);\n s.s___5619 = (r0);\n s.p___5622 = (0);\n s.R___5623 = (s.arg1);\n r0 = (s.lim___5611 == 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = s.A___5609;\n { step = 21; continue; }\n case 5:\n case 6:\n r0 = (s.arg1 === undefined);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 7; continue; }\n r0 = pxsim_Array_.setAt(s.A___5609, 0, s.arg0);\n r0 = s.A___5609;\n { step = 21; continue; }\n case 7:\n case 8:\n r0 = (s.s___5619 == 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 11; continue; }\n s.tmp_1 = helpers_splitMatch__P56_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.tmp_1.arg1 = 0;\n s.tmp_1.arg2 = s.R___5623;\n s.pc = 22; return s.tmp_1;\n case 22:\n r0 = s.retval;\n s.z___5634 = (r0);\n r0 = (s.z___5634 > -1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 9; continue; }\n r0 = s.A___5609;\n { step = 21; continue; }\n case 9:\n case 10:\n r0 = pxsim_Array_.setAt(s.A___5609, 0, s.arg0);\n r0 = s.A___5609;\n { step = 21; continue; }\n case 11:\n case 12:\n s.q___5646 = (s.p___5622);\n case 13:\n r0 = (s.q___5646 != s.s___5619);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 20; continue; }\n s.tmp_1 = helpers_splitMatch__P56_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.tmp_1.arg1 = s.q___5646;\n s.tmp_1.arg2 = s.R___5623;\n s.pc = 23; return s.tmp_1;\n case 23:\n r0 = s.retval;\n s.e___5651 = (r0);\n r0 = (s.e___5651 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 14; continue; }\n r0 = (s.q___5646 + 1);\n s.q___5646 = (r0);\n { step = 19; continue; }\n case 14:\n r0 = (s.e___5651 == s.p___5622);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 15; continue; }\n r0 = (s.q___5646 + 1);\n s.q___5646 = (r0);\n { step = 18; continue; }\n case 15:\n s.tmp_0 = helpers_stringSlice__P53_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.p___5622;\n s.tmp_0.arg2 = s.q___5646;\n s.pc = 24; return s.tmp_0;\n case 24:\n r0 = s.retval;\n s.T___5645 = (r0);\n r0 = pxsim_Array__push(s.A___5609, s.T___5645);\n r0 = pxsim_Array__length(s.A___5609);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 == s.lim___5611);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 16; continue; }\n r0 = s.A___5609;\n { step = 21; continue; }\n case 16:\n case 17:\n s.p___5622 = (s.e___5651);\n s.q___5646 = (s.p___5622);\n case 18:\n case 19:\n { step = 13; continue; }\n case 20:\n s.tmp_0 = helpers_stringSlice__P53_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.p___5622;\n s.tmp_0.arg2 = s.q___5646;\n s.pc = 25; return s.tmp_0;\n case 25:\n r0 = s.retval;\n s.T___5645 = (r0);\n r0 = pxsim_Array__push(s.A___5609, s.T___5645);\n r0 = s.A___5609;\n case 21:\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_stringSplit__P55.info = {"start":8205,"length":1319,"line":276,"column":4,"endLine":320,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"stringSplit","argumentNames":["S","separator","limit"]}\n\nfunction helpers_stringSplit__P55_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_stringSplit__P55, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n A___5609: undefined,\n lim___5611: undefined,\n s___5619: undefined,\n p___5622: undefined,\n R___5623: undefined,\n z___5634: undefined,\n T___5645: undefined,\n q___5646: undefined,\n e___5651: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction helpers_splitMatch__P56(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.r___5719 = undefined;\n s.s___5722 = undefined;\n s.i___5729 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_String_.length(s.arg2);\n s.r___5719 = (r0);\n r0 = pxsim_String_.length(s.arg0);\n s.s___5722 = (r0);\n r0 = (s.arg1 + s.r___5719);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > s.s___5722);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = -1;\n { step = 7; continue; }\n case 1:\n case 2:\n s.i___5729 = (0);\n case 3:\n r0 = (s.i___5729 < s.r___5719);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 6; continue; }\n s.tmp_3 = r0 = s.arg0;\n r0 = (s.arg1 + s.i___5729);\n s.tmp_4 = r0;\n r0 = pxsim_String_.charAt(s.tmp_3, s.tmp_4);\n s.tmp_2 = r0;\n r0 = pxsim_String_.charAt(s.arg2, s.i___5729);\n s.tmp_5 = r0;\n r0 = (s.tmp_2 != s.tmp_5);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 4; continue; }\n r0 = -1;\n { step = 7; continue; }\n case 4:\n case 5:\n r0 = (s.i___5729 + 1);\n s.i___5729 = (r0);\n { step = 3; continue; }\n case 6:\n r0 = (s.arg1 + s.r___5719);\n case 7:\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_splitMatch__P56.info = {"start":9530,"length":289,"line":322,"column":4,"endLine":331,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"splitMatch","argumentNames":["S","q","R"]}\n\nfunction helpers_splitMatch__P56_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_splitMatch__P56, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n r___5719: undefined,\n s___5722: undefined,\n i___5729: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction helpers_stringSlice__P53(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.len___5693 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_String_.length(s.arg0);\n s.len___5693 = (r0);\n r0 = (s.arg1 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_1 = Math_max__P61_mk(s);\n r0 = (s.len___5693 + s.arg1);\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = 0;\n s.pc = 7; return s.tmp_1;\n case 7:\n r0 = s.retval;\n s.arg1 = (r0);\n case 1:\n case 2:\n r0 = (s.arg2 == null);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.arg2 = (s.len___5693);\n case 3:\n case 4:\n r0 = (s.arg2 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = (s.len___5693 + s.arg2);\n s.arg2 = (r0);\n case 5:\n case 6:\n s.tmp_0 = r0 = s.arg0;\n s.tmp_1 = r0 = s.arg1;\n r0 = (s.arg2 - s.arg1);\n s.tmp_2 = r0;\n r0 = pxsim_String_.substr(s.tmp_0, s.tmp_1, s.tmp_2);\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_stringSlice__P53.info = {"start":7322,"length":365,"line":242,"column":4,"endLine":258,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"stringSlice","argumentNames":["s","start","end"]}\n\nfunction helpers_stringSlice__P53_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_stringSlice__P53, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n len___5693: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction scene_Scene_renderCore__P930(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.s___5780 = undefined;\n s.unnamed68___U1 = undefined;\n s.unnamed69___U2 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Scene__C923_VT)) failedCast(r0);\n s.tmp_0 = scene_Background_draw__P851_mk(s);\n r0 = s.arg0.fields["background"];\n s.tmp_0.arg0 = r0;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n r0 = s.arg0.fields["flags"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 & 2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_2 = helpers_arraySort__P43_mk(s);\n r0 = s.arg0.fields["allSprites"];\n s.tmp_2.arg0 = r0;\n s.tmp_2.arg1 = inline__P5763;\n s.pc = 6; return s.tmp_2;\n case 6:\n r0 = s.retval;\n case 1:\n case 2:\n s.s___5780 = (undefined);\n s.s___5780 = (undefined);\n r0 = s.arg0.fields["allSprites"];\n s.unnamed68___U1 = (r0);\n s.unnamed69___U2 = (0);\n case 3:\n s.tmp_0 = r0 = s.unnamed69___U2;\n r0 = pxsim_Array__length(s.unnamed68___U1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 4; continue; }\n r0 = pxsim_Array__getAt(s.unnamed68___U1, s.unnamed69___U2);\n s.s___5780 = (r0);\n s.tmp_2 = if___draw_2_mk(s);\n s.tmp_2.arg0 = s.s___5780;\n r0 = s.arg0.fields["camera"];\n s.tmp_2.arg1 = r0;\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["__draw"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["__draw"]; }\n else { s.pc = 7; return s.tmp_2; }\n case 7:\n r0 = s.retval;\n r0 = (s.unnamed69___U2 + 1);\n s.unnamed69___U2 = (r0);\n { step = 3; continue; }\n case 4:\n s.unnamed68___U1 = (undefined);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_Scene_renderCore__P930.info = {"start":6966,"length":490,"line":206,"column":8,"endLine":219,"endColumn":9,"fileName":"pxt_modules/game/scene.ts","functionName":"renderCore","argumentNames":["this"]}\n\nfunction scene_Scene_renderCore__P930_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Scene_renderCore__P930, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n s___5780: undefined,\n unnamed68___U1: undefined,\n unnamed69___U2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P5763(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n s.tmp_2 = if_z_1_mk(s);\n s.tmp_2.arg0 = s.arg0;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "z");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["z"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["z"]; }\n else { s.pc = 3; return s.tmp_2; }\n }\n case 3:\n r0 = s.retval;\n s.tmp_1 = r0;\n s.tmp_4 = if_z_1_mk(s);\n s.tmp_4.arg0 = s.arg1;\n if (!s.tmp_4.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_4.arg0, "z");\n } else {\n s.tmp_4.fn = s.tmp_4.arg0.vtable.iface["z"];\n if (s.tmp_4.fn == null) { s.retval = s.tmp_4.arg0.fields["z"]; }\n else { s.pc = 4; return s.tmp_4; }\n }\n case 4:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_1 - s.tmp_3);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n s.tmp_6 = if_id_1_mk(s);\n s.tmp_6.arg0 = s.arg0;\n if (!s.tmp_6.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_6.arg0, "id");\n } else {\n s.tmp_6.fn = s.tmp_6.arg0.vtable.iface["id"];\n if (s.tmp_6.fn == null) { s.retval = s.tmp_6.arg0.fields["id"]; }\n else { s.pc = 5; return s.tmp_6; }\n }\n case 5:\n r0 = s.retval;\n s.tmp_5 = r0;\n s.tmp_8 = if_id_1_mk(s);\n s.tmp_8.arg0 = s.arg1;\n if (!s.tmp_8.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_8.arg0, "id");\n } else {\n s.tmp_8.fn = s.tmp_8.arg0.vtable.iface["id"];\n if (s.tmp_8.fn == null) { s.retval = s.tmp_8.arg0.fields["id"]; }\n else { s.pc = 6; return s.tmp_8; }\n }\n case 6:\n r0 = s.retval;\n s.tmp_7 = r0;\n r0 = (s.tmp_5 - s.tmp_7);\n case 2:\n // jmp value (already in r0)\n s.tmp_9 = r0;\n r0 = s.tmp_9;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P5763.info = {"start":7225,"length":52,"line":212,"column":37,"endLine":212,"endColumn":89,"fileName":"pxt_modules/game/scene.ts","functionName":"inline","argumentNames":["a","b"]}\n\nfunction inline__P5763_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P5763, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction scene_Background_draw__P851(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Background__C846_VT)) failedCast(r0);\n r0 = s.arg0.fields["color"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.fill(globals.screen___464, s.tmp_0);\n r0 = s.arg0.fields["_image"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.arg0.fields["_image"];\n s.tmp_1 = r0;\n r0 = pxsim_ImageMethods.drawTransparentImage(globals.screen___464, s.tmp_1, 0, 0);\n case 1:\n case 2:\n r0 = s.arg0.fields["_layers"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = pxsim_pxtcore_mkAction(1, inline__P5905);\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_1, 0, s.arg0);\n s.tmp_2 = helpers_arrayForEach__P47_mk(s);\n r0 = s.arg0.fields["_layers"];\n s.tmp_2.arg0 = r0;\n s.tmp_2.arg1 = s.tmp_1;\n s.pc = 5; return s.tmp_2;\n case 5:\n r0 = s.retval;\n case 3:\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_Background_draw__P851.info = {"start":1166,"length":545,"line":48,"column":8,"endLine":60,"endColumn":9,"fileName":"pxt_modules/game/background.ts","functionName":"draw","argumentNames":["this"]}\n\nfunction scene_Background_draw__P851_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Background_draw__P851, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P5905(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.ox___5907 = undefined;\n s.oy___5919 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.caps[0].fields["camera"];\n r0 = r0.fields["drawOffsetX"];\n s.tmp_1 = r0;\n r0 = s.arg0.fields["distance"];\n s.tmp_3 = r0;\n r0 = (1 + s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 / s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim.Math_.round(s.tmp_0);\n s.ox___5907 = (r0);\n r0 = s.caps[0].fields["camera"];\n r0 = r0.fields["drawOffsetY"];\n s.tmp_1 = r0;\n r0 = s.arg0.fields["distance"];\n s.tmp_3 = r0;\n r0 = (1 + s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 / s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim.Math_.round(s.tmp_0);\n s.oy___5919 = (r0);\n s.tmp_0 = scene_BackgroundLayer_draw__P854_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.ox___5907;\n s.tmp_0.arg2 = s.oy___5919;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P5905.info = {"start":1373,"length":312,"line":53,"column":37,"endLine":58,"endColumn":17,"fileName":"pxt_modules/game/background.ts","functionName":"inline","argumentNames":["layer"]}\n\nfunction inline__P5905_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P5905, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n ox___5907: undefined,\n oy___5919: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_BackgroundLayer_draw__P854(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.w___5936 = undefined;\n s.h___5939 = undefined;\n s.pw___5942 = undefined;\n s.ph___5947 = undefined;\n s.rx___5954 = undefined;\n s.ry___5956 = undefined;\n s.y___6011 = undefined;\n s.py___6012 = undefined;\n s.dh___6019 = undefined;\n s.x___6025 = undefined;\n s.rxl___6026 = undefined;\n s.px___6031 = undefined;\n s.dw___6034 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_BackgroundLayer__C853_VT)) failedCast(r0);\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.w___5936 = (r0);\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n s.h___5939 = (r0);\n r0 = s.arg0.fields["img"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_0);\n s.pw___5942 = (r0);\n r0 = s.arg0.fields["img"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_0);\n s.ph___5947 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.pw___5942);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = pxsim_numops_toBoolDecr(s.ph___5947);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n case 2:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 3; continue; }\n { step = 23; continue; }\n case 3:\n case 4:\n r0 = (0 - s.arg1);\n s.rx___5954 = (r0);\n r0 = (0 - s.arg2);\n s.ry___5956 = (r0);\n r0 = s.arg0.fields["alignX"];\n s.tmp_0 = r0;\n r0 = pxsim_pxtcore.switch_eq(2, s.tmp_0);\n if (r0) { step = 5; continue; }\n r0 = pxsim_pxtcore.switch_eq(5, s.tmp_0);\n if (r0) { step = 6; continue; }\n r0 = s.tmp_0;\n { step = 7; continue; }\n case 5:\n s.tmp_1 = r0 = s.rx___5954;\n r0 = (s.w___5936 + s.pw___5942);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 - s.tmp_2);\n s.rx___5954 = (r0);\n { step = 7; continue; }\n case 6:\n s.tmp_0 = r0 = s.rx___5954;\n r0 = (s.w___5936 + s.pw___5942);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 >> 1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 - s.tmp_1);\n s.rx___5954 = (r0);\n case 7:\n r0 = s.arg0.fields["alignY"];\n s.tmp_0 = r0;\n r0 = pxsim_pxtcore.switch_eq(4, s.tmp_0);\n if (r0) { step = 8; continue; }\n r0 = pxsim_pxtcore.switch_eq(5, s.tmp_0);\n if (r0) { step = 9; continue; }\n r0 = s.tmp_0;\n { step = 10; continue; }\n case 8:\n s.tmp_1 = r0 = s.ry___5956;\n r0 = (s.h___5939 + s.ph___5947);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 - s.tmp_2);\n s.ry___5956 = (r0);\n { step = 10; continue; }\n case 9:\n s.tmp_0 = r0 = s.ry___5956;\n r0 = (s.h___5939 + s.ph___5947);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 >> 1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 - s.tmp_1);\n s.ry___5956 = (r0);\n case 10:\n r0 = (s.rx___5954 % s.w___5936);\n s.rx___5954 = (r0);\n r0 = (s.rx___5954 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 11; continue; }\n r0 = (s.rx___5954 + s.w___5936);\n s.rx___5954 = (r0);\n case 11:\n case 12:\n r0 = (s.ry___5956 % s.h___5939);\n s.ry___5956 = (r0);\n r0 = (s.ry___5956 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 13; continue; }\n r0 = (s.ry___5956 + s.h___5939);\n s.ry___5956 = (r0);\n case 13:\n case 14:\n r0 = pxsim.Math_.floor(s.rx___5954);\n s.rx___5954 = (r0);\n r0 = pxsim.Math_.floor(s.ry___5956);\n s.ry___5956 = (r0);\n s.y___6011 = (0);\n s.py___6012 = (0);\n case 15:\n r0 = (s.y___6011 < s.h___5939);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 22; continue; }\n r0 = (s.y___6011 % s.ph___5947);\n s.py___6012 = (r0);\n s.tmp_0 = Math_min__P62_mk(s);\n r0 = (s.ph___5947 - s.py___6012);\n s.tmp_0.arg0 = r0;\n r0 = (s.h___5939 - s.ry___5956);\n s.tmp_0.arg1 = r0;\n s.pc = 24; return s.tmp_0;\n case 24:\n r0 = s.retval;\n s.dh___6019 = (r0);\n s.x___6025 = (0);\n s.rxl___6026 = (s.rx___5954);\n case 16:\n r0 = (s.x___6025 < s.w___5936);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 19; continue; }\n r0 = (s.x___6025 % s.pw___5942);\n s.px___6031 = (r0);\n s.tmp_0 = Math_min__P62_mk(s);\n r0 = (s.pw___5942 - s.px___6031);\n s.tmp_0.arg0 = r0;\n r0 = (s.w___5936 - s.rxl___6026);\n s.tmp_0.arg1 = r0;\n s.pc = 25; return s.tmp_0;\n case 25:\n r0 = s.retval;\n s.dw___6034 = (r0);\n r0 = s.arg0.fields["img"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.drawImage(globals.screen___464, s.tmp_0, s.rxl___6026, s.ry___5956);\n r0 = (s.rxl___6026 + s.dw___6034);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 % s.w___5936);\n s.rxl___6026 = (r0);\n r0 = s.arg0.fields["repeatX"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 17; continue; }\n r0 = s.dw___6034;\n { step = 18; continue; }\n case 17:\n r0 = s.w___5936;\n case 18:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = (s.x___6025 + s.tmp_1);\n s.x___6025 = (r0);\n { step = 16; continue; }\n case 19:\n r0 = (s.ry___5956 + s.dh___6019);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 % s.h___5939);\n s.ry___5956 = (r0);\n r0 = s.arg0.fields["repeatY"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 20; continue; }\n r0 = s.dh___6019;\n { step = 21; continue; }\n case 20:\n r0 = s.h___5939;\n case 21:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = (s.y___6011 + s.tmp_1);\n s.y___6011 = (r0);\n { step = 15; continue; }\n case 22:\n case 23:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_BackgroundLayer_draw__P854.info = {"start":3063,"length":1537,"line":99,"column":8,"endLine":144,"endColumn":9,"fileName":"pxt_modules/game/background.ts","functionName":"draw","argumentNames":["this","offsetX","offsetY"]}\n\nfunction scene_BackgroundLayer_draw__P854_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_BackgroundLayer_draw__P854, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n w___5936: undefined,\n h___5939: undefined,\n pw___5942: undefined,\n ph___5947: undefined,\n rx___5954: undefined,\n ry___5956: undefined,\n y___6011: undefined,\n py___6012: undefined,\n dh___6019: undefined,\n x___6025: undefined,\n rxl___6026: undefined,\n px___6031: undefined,\n dw___6034: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction scene_Camera_update__P888(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.scene___6073 = undefined;\n s.elapsed___6131 = undefined;\n s.percentComplete___6143 = undefined;\n s.dampStart___6147 = undefined;\n s.damp___6148 = undefined;\n s.f___6154 = undefined;\n s.x___6159 = undefined;\n s.y___6163 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Camera__C886_VT)) failedCast(r0);\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 13; return s.tmp_0;\n case 13:\n r0 = s.retval;\n s.scene___6073 = (r0);\n r0 = s.arg0.fields["sprite"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_1 = r0 = s.arg0;\n s.tmp_4 = Sprite_x__P609_mk(s);\n r0 = s.arg0.fields["sprite"];\n s.tmp_4.arg0 = r0;\n s.pc = 14; return s.tmp_4;\n case 14:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 >> 1);\n s.tmp_5 = r0;\n r0 = (s.tmp_3 - s.tmp_5);\n s.tmp_2 = r0;\n r0 = (s.tmp_1).fields["offsetX"] = (s.tmp_2);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_3 = Sprite_y__P611_mk(s);\n r0 = s.arg0.fields["sprite"];\n s.tmp_3.arg0 = r0;\n s.pc = 15; return s.tmp_3;\n case 15:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 >> 1);\n s.tmp_4 = r0;\n r0 = (s.tmp_2 - s.tmp_4);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["offsetY"] = (s.tmp_1);\n case 1:\n case 2:\n r0 = s.scene___6073.fields["tileMap"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 3; continue; }\n r0 = s.tmp_0;\n { step = 4; continue; }\n case 3:\n r0 = s.scene___6073.fields["tileMap"];\n s.tmp_1 = r0;\n r0 = s.tmp_1.fields["_map"];\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_5);\n s.tmp_4 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_4);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n case 4:\n // jmp value (already in r0)\n s.tmp_6 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_6);\n if (!r0) { step = 5; continue; }\n s.tmp_7 = r0 = s.arg0;\n s.tmp_9 = tiles_TileMap_offsetX__P867_mk(s);\n r0 = s.scene___6073.fields["tileMap"];\n s.tmp_9.arg0 = r0;\n r0 = s.arg0.fields["offsetX"];\n s.tmp_9.arg1 = r0;\n s.pc = 16; return s.tmp_9;\n case 16:\n r0 = s.retval;\n s.tmp_8 = r0;\n r0 = (s.tmp_7).fields["offsetX"] = (s.tmp_8);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_2 = tiles_TileMap_offsetY__P868_mk(s);\n r0 = s.scene___6073.fields["tileMap"];\n s.tmp_2.arg0 = r0;\n r0 = s.arg0.fields["offsetY"];\n s.tmp_2.arg1 = r0;\n s.pc = 17; return s.tmp_2;\n case 17:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["offsetY"] = (s.tmp_1);\n case 5:\n case 6:\n s.tmp_0 = r0 = s.arg0;\n r0 = s.tmp_0.fields["offsetX"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["offsetX"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.tmp_0.fields["offsetY"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["offsetY"] = (s.tmp_1);\n r0 = s.arg0.fields["offsetX"];\n s.tmp_0 = r0;\n r0 = (s.arg0).fields["drawOffsetX"] = (s.tmp_0);\n r0 = s.arg0.fields["offsetY"];\n s.tmp_0 = r0;\n r0 = (s.arg0).fields["drawOffsetY"] = (s.tmp_0);\n r0 = s.arg0.fields["shakeStartTime"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 !== undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 11; continue; }\n r0 = pxsim.control.millis();\n s.tmp_2 = r0;\n r0 = s.arg0.fields["shakeStartTime"];\n s.tmp_3 = r0;\n r0 = (s.tmp_2 - s.tmp_3);\n s.elapsed___6131 = (r0);\n r0 = s.arg0.fields["shakeDuration"];\n s.tmp_1 = r0;\n r0 = (s.elapsed___6131 >= s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 7; continue; }\n r0 = (s.arg0).fields["shakeStartTime"] = (undefined);\n { step = 10; continue; }\n case 7:\n r0 = s.arg0.fields["shakeDuration"];\n s.tmp_0 = r0;\n r0 = (s.elapsed___6131 / s.tmp_0);\n s.percentComplete___6143 = (r0);\n s.dampStart___6147 = (0.75);\n s.damp___6148 = (1);\n r0 = (s.percentComplete___6143 >= s.dampStart___6147);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 8; continue; }\n s.tmp_1 = Math_max__P61_mk(s);\n s.tmp_1.arg0 = 0;\n r0 = (1 - s.percentComplete___6143);\n s.tmp_1.arg1 = r0;\n s.pc = 18; return s.tmp_1;\n case 18:\n r0 = s.retval;\n s.damp___6148 = (r0);\n case 8:\n case 9:\n r0 = s.arg0.fields["shakeAmplitude"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 * s.damp___6148);\n s.f___6154 = (r0);\n r0 = pxsim.Math_.random();\n s.tmp_1 = r0;\n r0 = (s.tmp_1 * s.f___6154);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 >> 0);\n s.x___6159 = (r0);\n r0 = pxsim.Math_.random();\n s.tmp_1 = r0;\n r0 = (s.tmp_1 * s.f___6154);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 >> 0);\n s.y___6163 = (r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.tmp_0.fields["drawOffsetX"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.x___6159);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["drawOffsetX"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.tmp_0.fields["drawOffsetY"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.y___6163);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["drawOffsetY"] = (s.tmp_1);\n case 10:\n case 11:\n case 12:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_Camera_update__P888.info = {"start":1096,"length":1691,"line":34,"column":8,"endLine":77,"endColumn":9,"fileName":"pxt_modules/game/camera.ts","functionName":"update","argumentNames":["this"]}\n\nfunction scene_Camera_update__P888_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Camera_update__P888, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n scene___6073: undefined,\n elapsed___6131: undefined,\n percentComplete___6143: undefined,\n dampStart___6147: undefined,\n damp___6148: undefined,\n f___6154: undefined,\n x___6159: undefined,\n y___6163: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction tiles_TileMap_enabled__P873(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, tiles_TileMap__C865_VT)) failedCast(r0);\n r0 = s.arg0.fields["_map"];\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\ntiles_TileMap_enabled__P873.info = {"start":3529,"length":66,"line":129,"column":8,"endLine":131,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"enabled","argumentNames":["this"]}\n\nfunction tiles_TileMap_enabled__P873_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: tiles_TileMap_enabled__P873, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction tiles_TileMap_offsetY__P868(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, tiles_TileMap__C865_VT)) failedCast(r0);\n s.tmp_0 = Math_clamp__P58_mk(s);\n s.tmp_0.arg0 = 0;\n s.tmp_1 = Math_max__P61_mk(s);\n s.tmp_3 = tiles_TileMap_areaHeight__P870_mk(s);\n s.tmp_3.arg0 = s.arg0;\n s.pc = 3; return s.tmp_3;\n case 3:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n s.tmp_4 = r0;\n r0 = (s.tmp_2 - s.tmp_4);\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = 0;\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = s.arg1;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n return leave(s, r0)\n default: oops()\n} } }\ntiles_TileMap_offsetY__P868.info = {"start":2982,"length":123,"line":107,"column":8,"endLine":109,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"offsetY","argumentNames":["this","value"]}\n\nfunction tiles_TileMap_offsetY__P868_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: tiles_TileMap_offsetY__P868, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction tiles_TileMap_areaHeight__P870(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, tiles_TileMap__C865_VT)) failedCast(r0);\n r0 = s.arg0.fields["_map"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.arg0.fields["_map"];\n s.tmp_2 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_2);\n s.tmp_1 = r0;\n r0 = s.arg0.fields["scale"];\n s.tmp_3 = r0;\n r0 = (s.tmp_1 << s.tmp_3);\n { step = 2; continue; }\n case 1:\n r0 = 0;\n case 2:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n r0 = s.tmp_4;\n return leave(s, r0)\n default: oops()\n} } }\ntiles_TileMap_areaHeight__P870.info = {"start":3216,"length":93,"line":115,"column":8,"endLine":117,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"areaHeight","argumentNames":["this"]}\n\nfunction tiles_TileMap_areaHeight__P870_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: tiles_TileMap_areaHeight__P870, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction tiles_TileMap_offsetX__P867(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, tiles_TileMap__C865_VT)) failedCast(r0);\n s.tmp_0 = Math_clamp__P58_mk(s);\n s.tmp_0.arg0 = 0;\n s.tmp_1 = Math_max__P61_mk(s);\n s.tmp_3 = tiles_TileMap_areaWidth__P869_mk(s);\n s.tmp_3.arg0 = s.arg0;\n s.pc = 3; return s.tmp_3;\n case 3:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_4 = r0;\n r0 = (s.tmp_2 - s.tmp_4);\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = 0;\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = s.arg1;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n return leave(s, r0)\n default: oops()\n} } }\ntiles_TileMap_offsetX__P867.info = {"start":2851,"length":121,"line":103,"column":8,"endLine":105,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"offsetX","argumentNames":["this","value"]}\n\nfunction tiles_TileMap_offsetX__P867_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: tiles_TileMap_offsetX__P867, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction tiles_TileMap_areaWidth__P869(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, tiles_TileMap__C865_VT)) failedCast(r0);\n r0 = s.arg0.fields["_map"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.arg0.fields["_map"];\n s.tmp_2 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_2);\n s.tmp_1 = r0;\n r0 = s.arg0.fields["scale"];\n s.tmp_3 = r0;\n r0 = (s.tmp_1 << s.tmp_3);\n { step = 2; continue; }\n case 1:\n r0 = 0;\n case 2:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n r0 = s.tmp_4;\n return leave(s, r0)\n default: oops()\n} } }\ntiles_TileMap_areaWidth__P869.info = {"start":3115,"length":91,"line":111,"column":8,"endLine":113,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"areaWidth","argumentNames":["this"]}\n\nfunction tiles_TileMap_areaWidth__P869_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: tiles_TileMap_areaWidth__P869, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Sprite_y__P611(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields["_y"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 + 128);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 >> 8);\n s.tmp_0 = r0;\n r0 = s.arg0.fields["_image"];\n s.tmp_5 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_5);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 >> 1);\n s.tmp_3 = r0;\n r0 = (s.tmp_0 + s.tmp_3);\n return leave(s, r0)\n default: oops()\n} } }\nSprite_y__P611.info = {"start":1505,"length":84,"line":64,"column":4,"endLine":66,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"y","argumentNames":["this"]}\n\nfunction Sprite_y__P611_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_y__P611, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Fx_toInt__P98(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 + 128);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 >> 8);\n return leave(s, r0)\n default: oops()\n} } }\nFx_toInt__P98.info = {"start":1996,"length":86,"line":65,"column":4,"endLine":67,"endColumn":5,"fileName":"pxt_modules/base/fixed.ts","functionName":"toInt","argumentNames":["v"]}\n\nfunction Fx_toInt__P98_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Fx_toInt__P98, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction PhysicsEngine_move__P713(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, PhysicsEngine__C708_VT)) failedCast(r0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nPhysicsEngine_move__P713.info = {"start":351,"length":20,"line":18,"column":4,"endLine":18,"endColumn":24,"fileName":"pxt_modules/game/physics.ts","functionName":"move","argumentNames":["this","dt"]}\n\nfunction PhysicsEngine_move__P713_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: PhysicsEngine_move__P713, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction PhysicsEngine_draw__P712(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, PhysicsEngine__C708_VT)) failedCast(r0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nPhysicsEngine_draw__P712.info = {"start":279,"length":10,"line":15,"column":4,"endLine":15,"endColumn":14,"fileName":"pxt_modules/game/physics.ts","functionName":"draw","argumentNames":["this"]}\n\nfunction PhysicsEngine_draw__P712_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: PhysicsEngine_draw__P712, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller___update__P582(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.dtms___6498 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 * 1000);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 | 0);\n s.dtms___6498 = (r0);\n r0 = pxsim_pxtcore_mkAction(1, inline__P6502);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.dtms___6498);\n s.tmp_1 = helpers_arrayForEach__P47_mk(s);\n s.tmp_2 = controller_players__P553_mk(s);\n s.pc = 2; return s.tmp_2;\n case 2:\n r0 = s.retval;\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = s.tmp_0;\n s.pc = 1; return s.tmp_1;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller___update__P582.info = {"start":16179,"length":137,"line":504,"column":4,"endLine":507,"endColumn":5,"fileName":"pxt_modules/game/controller.ts","functionName":"__update","argumentNames":["dt"]}\n\nfunction controller___update__P582_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller___update__P582, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n dtms___6498: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P6502(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = controller_Controller___update__P579_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.caps[0];\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P6502.info = {"start":16281,"length":27,"line":506,"column":26,"endLine":506,"endColumn":53,"fileName":"pxt_modules/game/controller.ts","functionName":"inline","argumentNames":["ctrl"]}\n\nfunction inline__P6502_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P6502, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller_Controller___update__P579(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Controller__C557_VT)) failedCast(r0);\n r0 = pxsim_pxtrt.mklocRef();\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.arg1);\n s.arg1 = (s.tmp_0);\n s.tmp_1 = r0 = s.arg1;\n r0 = pxsim_pxtrt_ldlocRef(s.arg1);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 | 0);\n s.tmp_2 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_1, s.tmp_2);\n r0 = pxsim_pxtcore_mkAction(1, inline__P6514);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg1);\n s.tmp_1 = helpers_arrayForEach__P47_mk(s);\n r0 = s.arg0.fields["buttons"];\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = s.tmp_0;\n s.pc = 1; return s.tmp_1;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Controller___update__P579.info = {"start":15657,"length":124,"line":486,"column":8,"endLine":489,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"__update","argumentNames":["this","dtms"]}\n\nfunction controller_Controller___update__P579_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Controller___update__P579, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction inline__P6514(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = controller_Button___update__P547_mk(s);\n s.tmp_0.arg0 = s.arg0;\n r0 = pxsim_pxtrt_ldlocRef(s.caps[0]);\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P6514.info = {"start":15744,"length":25,"line":488,"column":33,"endLine":488,"endColumn":58,"fileName":"pxt_modules/game/controller.ts","functionName":"inline","argumentNames":["btn"]}\n\nfunction inline__P6514_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P6514, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller_Button___update__P547(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.delay___6528 = undefined;\n s.interval___6536 = undefined;\n s.count___6547 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Button__C538_VT)) failedCast(r0);\n r0 = s.arg0.fields["_pressed"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 11; continue; }\n case 1:\n case 2:\n s.tmp_3 = r0 = s.arg0;\n r0 = s.tmp_3.fields["_pressedElasped"];\n s.tmp_5 = r0;\n r0 = (s.tmp_5 + s.arg1);\n s.tmp_4 = r0;\n r0 = (s.tmp_3).fields["_pressedElasped"] = (s.tmp_4);\n r0 = s.arg0.fields["repeatDelay"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 === undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = globals.defaultRepeatDelay___536;\n { step = 4; continue; }\n case 3:\n r0 = s.arg0.fields["repeatDelay"];\n case 4:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n s.delay___6528 = (s.tmp_2);\n r0 = s.arg0.fields["repeatInterval"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 === undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = globals.defaultRepeatInterval___537;\n { step = 6; continue; }\n case 5:\n r0 = s.arg0.fields["repeatInterval"];\n case 6:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n s.interval___6536 = (s.tmp_2);\n r0 = s.arg0.fields["_pressedElasped"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 < s.delay___6528);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 7; continue; }\n { step = 11; continue; }\n case 7:\n case 8:\n r0 = s.arg0.fields["_pressedElasped"];\n s.tmp_5 = r0;\n r0 = (s.tmp_5 - s.delay___6528);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 - s.interval___6536);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 / s.interval___6536);\n s.tmp_2 = r0;\n r0 = pxsim.Math_.floor(s.tmp_2);\n s.count___6547 = (r0);\n r0 = s.arg0.fields["_repeatCount"];\n s.tmp_1 = r0;\n r0 = (s.count___6547 != s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 9; continue; }\n s.tmp_2 = controller_Button_raiseButtonRepeat__P542_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 12; return s.tmp_2;\n case 12:\n r0 = s.retval;\n r0 = (s.arg0).fields["_repeatCount"] = (s.count___6547);\n case 9:\n case 10:\n case 11:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Button___update__P547.info = {"start":4819,"length":704,"line":148,"column":8,"endLine":165,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"__update","argumentNames":["this","dtms"]}\n\nfunction controller_Button___update__P547_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Button___update__P547, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n delay___6528: undefined,\n interval___6536: undefined,\n count___6547: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction controller_Button_raiseButtonRepeat__P542(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Button__C538_VT)) failedCast(r0);\n r0 = pxsim_numops_toBoolDecr(globals._userEventsEnabled___535);\n if (!r0) { step = 1; continue; }\n r0 = s.arg0.fields["id"];\n s.tmp_0 = r0;\n r0 = pxsim.control.raiseEvent(2054, s.tmp_0);\n { step = 2; continue; }\n case 1:\n r0 = s.arg0.fields["id"];\n s.tmp_0 = r0;\n r0 = pxsim.control.raiseEvent(2055, s.tmp_0);\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Button_raiseButtonRepeat__P542.info = {"start":2994,"length":211,"line":95,"column":8,"endLine":100,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"raiseButtonRepeat","argumentNames":["this"]}\n\nfunction controller_Button_raiseButtonRepeat__P542_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Button_raiseButtonRepeat__P542, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller_players__P553(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = controller_player1__P552_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.tmp_0 = helpers_arrayFilter__P48_mk(s);\n s.tmp_0.arg0 = globals._players___550;\n s.tmp_0.arg1 = inline__P6381;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_players__P553.info = {"start":6479,"length":143,"line":193,"column":4,"endLine":196,"endColumn":5,"fileName":"pxt_modules/game/controller.ts","functionName":"players","argumentNames":[]}\n\nfunction controller_players__P553_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_players__P553, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction inline__P6381(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_numops_toBoolDecr(s.arg0);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\ninline__P6381.info = {"start":6600,"length":14,"line":195,"column":31,"endLine":195,"endColumn":45,"fileName":"pxt_modules/game/controller.ts","functionName":"inline","argumentNames":["ctrl"]}\n\nfunction inline__P6381_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P6381, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller_player1__P552(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals._players___550);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = pxsim_Array__getAt(globals._players___550, 0);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n case 2:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n if (!r0) { step = 3; continue; }\n r0 = pxsim_pxtcore_mkClassInstance(controller_Controller__C557_VT);\n s.tmp_5 = r0;\n r0 = pxsim_Array__mk();\n s.tmp_6 = r0;\n r0 = pxsim_Array__push(s.tmp_6, globals.left___527);\n r0 = pxsim_Array__push(s.tmp_6, globals.up___528);\n r0 = pxsim_Array__push(s.tmp_6, globals.right___529);\n r0 = pxsim_Array__push(s.tmp_6, globals.down___530);\n r0 = pxsim_Array__push(s.tmp_6, globals.A___525);\n r0 = pxsim_Array__push(s.tmp_6, globals.B___526);\n r0 = pxsim_Array__push(s.tmp_6, globals.menu___531);\n s.tmp_7 = controller_Controller_constructor__P581_mk(s);\n s.tmp_7.arg0 = s.tmp_5;\n s.tmp_7.arg1 = 1;\n s.tmp_7.arg2 = s.tmp_6;\n s.pc = 5; return s.tmp_7;\n case 5:\n r0 = s.retval;\n case 3:\n case 4:\n r0 = pxsim_Array__getAt(globals._players___550, 0);\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_player1__P552.info = {"start":6223,"length":250,"line":187,"column":4,"endLine":191,"endColumn":5,"fileName":"pxt_modules/game/controller.ts","functionName":"player1","argumentNames":[]}\n\nfunction controller_player1__P552_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_player1__P552, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n} }\n\n\n\n\n\nfunction controller_Controller_constructor__P581(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.leftId___6450 = undefined;\n s.i___6455 = undefined;\n s.i___6469 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Controller__C557_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim.control.allocateNotifyEvent();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["_id"] = (s.tmp_1);\n r0 = (s.arg0).fields["_connected"] = (false);\n r0 = (s.arg0).fields["playerIndex"] = (s.arg1);\n r0 = pxsim_numops_toBoolDecr(s.arg2);\n if (!r0) { step = 1; continue; }\n r0 = (s.arg0).fields["buttons"] = (s.arg2);\n { step = 4; continue; }\n case 1:\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["buttons"] = (s.tmp_1);\n r0 = s.arg0.fields["playerIndex"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - 1);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 * 7);\n s.tmp_0 = r0;\n r0 = (1 + s.tmp_0);\n s.leftId___6450 = (r0);\n s.i___6455 = (0);\n case 2:\n r0 = (s.i___6455 < 7);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = pxsim_pxtcore_mkClassInstance(controller_Button__C538_VT);\n s.tmp_1 = r0;\n s.tmp_2 = controller_Button_constructor__P548_mk(s);\n s.tmp_2.arg0 = s.tmp_1;\n r0 = (s.leftId___6450 + s.i___6455);\n s.tmp_2.arg1 = r0;\n s.tmp_2.arg2 = -1;\n s.pc = 7; return s.tmp_2;\n case 7:\n r0 = s.retval;\n r0 = s.arg0.fields["buttons"];\n s.tmp_3 = r0;\n r0 = pxsim_Array__push(s.tmp_3, s.tmp_1);\n r0 = (s.i___6455 + 1);\n s.i___6455 = (r0);\n { step = 2; continue; }\n case 3:\n case 4:\n s.i___6469 = (0);\n case 5:\n s.tmp_1 = r0 = s.i___6469;\n r0 = s.arg0.fields["buttons"];\n s.tmp_3 = r0;\n r0 = pxsim_Array__length(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 6; continue; }\n r0 = s.arg0.fields["buttons"];\n s.tmp_5 = r0;\n r0 = pxsim_Array__getAt(s.tmp_5, s.i___6469);\n s.tmp_4 = r0;\n r0 = (s.tmp_4).fields["_owner"] = (s.arg0);\n r0 = (s.i___6469 + 1);\n s.i___6469 = (r0);\n { step = 5; continue; }\n case 6:\n s.tmp_0 = controller_addController__P551_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 8; return s.tmp_0;\n case 8:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Controller_constructor__P581.info = {"start":7262,"length":663,"line":221,"column":8,"endLine":237,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"inline","argumentNames":["this","playerIndex","buttons"]}\n\nfunction controller_Controller_constructor__P581_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Controller_constructor__P581, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n leftId___6450: undefined,\n i___6455: undefined,\n i___6469: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction controller_addController__P551(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_numops_toBoolDecr(globals._players___550);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_Array__mk();\n globals._players___550 = (r0);\n case 1:\n case 2:\n s.tmp_0 = r0 = globals._players___550;\n r0 = s.arg0.fields["playerIndex"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - 1);\n s.tmp_1 = r0;\n r0 = pxsim_Array_.setAt(s.tmp_0, s.tmp_1, s.arg0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_addController__P551.info = {"start":6060,"length":157,"line":180,"column":4,"endLine":185,"endColumn":5,"fileName":"pxt_modules/game/controller.ts","functionName":"addController","argumentNames":["ctrl"]}\n\nfunction controller_addController__P551_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_addController__P551, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller__moveSprites__P556(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = helpers_arrayForEach__P47_mk(s);\n s.tmp_1 = controller_players__P553_mk(s);\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = inline__P6228;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller__moveSprites__P556.info = {"start":6838,"length":182,"line":207,"column":4,"endLine":211,"endColumn":5,"fileName":"pxt_modules/game/controller.ts","functionName":"_moveSprites","argumentNames":[]}\n\nfunction controller__moveSprites__P556_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller__moveSprites__P556, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n} }\n\n\n\n\n\nfunction inline__P6228(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = controller_Controller___preUpdate__P578_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P6228.info = {"start":6986,"length":26,"line":210,"column":26,"endLine":210,"endColumn":52,"fileName":"pxt_modules/game/controller.ts","functionName":"inline","argumentNames":["ctrl"]}\n\nfunction inline__P6228_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P6228, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller_Controller___preUpdate__P578(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.deadSprites___6234 = undefined;\n s.svx___6235 = undefined;\n s.svy___6236 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Controller__C557_VT)) failedCast(r0);\n s.tmp_3 = controller_Controller__controlledSprites__P558_mk(s);\n s.tmp_3.arg0 = s.arg0;\n s.pc = 6; return s.tmp_3;\n case 6:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 5; continue; }\n case 1:\n case 2:\n r0 = pxsim_pxtrt.mklocRef();\n s.deadSprites___6234 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.deadSprites___6234, false);\n r0 = pxsim_pxtrt.mklocRef();\n s.svx___6235 = (r0);\n r0 = pxsim_pxtrt.mklocRef();\n s.svy___6236 = (r0);\n r0 = pxsim_pxtcore_mkAction(4, inline__P6239);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.deadSprites___6234);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.svx___6235);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 2, s.svy___6236);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 3, s.arg0);\n s.tmp_1 = helpers_arrayForEach__P47_mk(s);\n s.tmp_2 = controller_Controller__controlledSprites__P558_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 8; return s.tmp_2;\n case 8:\n r0 = s.retval;\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = s.tmp_0;\n s.pc = 7; return s.tmp_1;\n case 7:\n r0 = s.retval;\n r0 = pxsim_pxtrt_ldlocRef(s.deadSprites___6234);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.tmp_1 = controller_Controller__controlledSprites__P559_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.tmp_2 = helpers_arrayFilter__P48_mk(s);\n s.tmp_3 = controller_Controller__controlledSprites__P558_mk(s);\n s.tmp_3.arg0 = s.arg0;\n s.pc = 11; return s.tmp_3;\n case 11:\n r0 = s.retval;\n s.tmp_2.arg0 = r0;\n s.tmp_2.arg1 = inline__P6314;\n s.pc = 10; return s.tmp_2;\n case 10:\n r0 = s.retval;\n s.tmp_1.arg1 = r0;\n s.pc = 9; return s.tmp_1;\n case 9:\n r0 = s.retval;\n case 3:\n case 4:\n case 5:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Controller___preUpdate__P578.info = {"start":14007,"length":1640,"line":433,"column":8,"endLine":484,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"__preUpdate","argumentNames":["this"]}\n\nfunction controller_Controller___preUpdate__P578_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Controller___preUpdate__P578, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n deadSprites___6234: undefined,\n svx___6235: undefined,\n svy___6236: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P6239(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0.fields["s"];\n r0 = r0.fields["flags"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 & 2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_pxtrt_stlocRef(s.caps[0], true);\n { step = 29; continue; }\n case 1:\n case 2:\n r0 = pxsim_pxtrt_stlocRef(s.caps[1], 0);\n r0 = pxsim_pxtrt_stlocRef(s.caps[2], 0);\n r0 = s.arg0.fields["vx"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 7; continue; }\n s.tmp_3 = controller_Controller_right__P563_mk(s);\n s.tmp_3.arg0 = s.caps[3];\n s.pc = 30; return s.tmp_3;\n case 30:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = s.tmp_2.fields["_pressed"];\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 3; continue; }\n s.tmp_4 = r0 = s.caps[1];\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_6 = r0;\n r0 = s.arg0.fields["vx"];\n s.tmp_7 = r0;\n r0 = (s.tmp_6 + s.tmp_7);\n s.tmp_5 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_4, s.tmp_5);\n case 3:\n case 4:\n s.tmp_2 = controller_Controller_left__P562_mk(s);\n s.tmp_2.arg0 = s.caps[3];\n s.pc = 31; return s.tmp_2;\n case 31:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = s.tmp_1.fields["_pressed"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n s.tmp_3 = r0 = s.caps[1];\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_5 = r0;\n r0 = s.arg0.fields["vx"];\n s.tmp_6 = r0;\n r0 = (s.tmp_5 - s.tmp_6);\n s.tmp_4 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_3, s.tmp_4);\n case 5:\n case 6:\n case 7:\n case 8:\n r0 = s.arg0.fields["vy"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 13; continue; }\n s.tmp_3 = controller_Controller_down__P565_mk(s);\n s.tmp_3.arg0 = s.caps[3];\n s.pc = 32; return s.tmp_3;\n case 32:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = s.tmp_2.fields["_pressed"];\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 9; continue; }\n s.tmp_4 = r0 = s.caps[2];\n r0 = pxsim_pxtrt_ldlocRef(s.caps[2]);\n s.tmp_6 = r0;\n r0 = s.arg0.fields["vy"];\n s.tmp_7 = r0;\n r0 = (s.tmp_6 + s.tmp_7);\n s.tmp_5 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_4, s.tmp_5);\n case 9:\n case 10:\n s.tmp_2 = controller_Controller_up__P564_mk(s);\n s.tmp_2.arg0 = s.caps[3];\n s.pc = 33; return s.tmp_2;\n case 33:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = s.tmp_1.fields["_pressed"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 11; continue; }\n s.tmp_3 = r0 = s.caps[2];\n r0 = pxsim_pxtrt_ldlocRef(s.caps[2]);\n s.tmp_5 = r0;\n r0 = s.arg0.fields["vy"];\n s.tmp_6 = r0;\n r0 = (s.tmp_5 - s.tmp_6);\n s.tmp_4 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_3, s.tmp_4);\n case 11:\n case 12:\n case 13:\n case 14:\n r0 = s.arg0.fields["_inputLastFrame"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 19; continue; }\n r0 = s.arg0.fields["vx"];\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 15; continue; }\n s.tmp_2 = Sprite_vx__P614_mk(s);\n r0 = s.arg0.fields["s"];\n s.tmp_2.arg0 = r0;\n s.tmp_2.arg1 = 0;\n s.pc = 34; return s.tmp_2;\n case 34:\n r0 = s.retval;\n case 15:\n case 16:\n r0 = s.arg0.fields["vy"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 17; continue; }\n s.tmp_1 = Sprite_vy__P616_mk(s);\n r0 = s.arg0.fields["s"];\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = 0;\n s.pc = 35; return s.tmp_1;\n case 35:\n r0 = s.retval;\n case 17:\n case 18:\n case 19:\n case 20:\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 21; continue; }\n r0 = s.tmp_0;\n { step = 22; continue; }\n case 21:\n r0 = pxsim_pxtrt_ldlocRef(s.caps[2]);\n case 22:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 27; continue; }\n r0 = s.arg0.fields["vx"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 23; continue; }\n s.tmp_3 = Sprite_vx__P614_mk(s);\n r0 = s.arg0.fields["s"];\n s.tmp_3.arg0 = r0;\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_3.arg1 = r0;\n s.pc = 36; return s.tmp_3;\n case 36:\n r0 = s.retval;\n case 23:\n case 24:\n r0 = s.arg0.fields["vy"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 25; continue; }\n s.tmp_1 = Sprite_vy__P616_mk(s);\n r0 = s.arg0.fields["s"];\n s.tmp_1.arg0 = r0;\n r0 = pxsim_pxtrt_ldlocRef(s.caps[2]);\n s.tmp_1.arg1 = r0;\n s.pc = 37; return s.tmp_1;\n case 37:\n r0 = s.retval;\n case 25:\n case 26:\n r0 = (s.arg0).fields["_inputLastFrame"] = (true);\n { step = 28; continue; }\n case 27:\n r0 = (s.arg0).fields["_inputLastFrame"] = (false);\n case 28:\n case 29:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P6239.info = {"start":14213,"length":1253,"line":439,"column":44,"endLine":479,"endColumn":13,"fileName":"pxt_modules/game/controller.ts","functionName":"inline","argumentNames":["sprite"]}\n\nfunction inline__P6239_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P6239, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P6314(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0.fields["s"];\n r0 = r0.fields["flags"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 & 2);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\ninline__P6314.info = {"start":15593,"length":42,"line":483,"column":28,"endLine":483,"endColumn":70,"fileName":"pxt_modules/game/controller.ts","functionName":"inline","argumentNames":["s"]}\n\nfunction inline__P6314_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P6314, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Sprite_vx__P614(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg1 * 256);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["_vx"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_vx__P614.info = {"start":2030,"length":51,"line":80,"column":4,"endLine":82,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"vx","argumentNames":["this","v"]}\n\nfunction Sprite_vx__P614_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_vx__P614, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_vx__P613(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields["_vx"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 / 256);\n return leave(s, r0)\n default: oops()\n} } }\nSprite_vx__P613.info = {"start":1868,"length":60,"line":75,"column":4,"endLine":77,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"vx","argumentNames":["this"]}\n\nfunction Sprite_vx__P613_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_vx__P613, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Fx_toFloat__P99(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 / 256);\n return leave(s, r0)\n default: oops()\n} } }\nFx_toFloat__P99.info = {"start":2087,"length":81,"line":68,"column":4,"endLine":70,"endColumn":5,"fileName":"pxt_modules/base/fixed.ts","functionName":"toFloat","argumentNames":["v"]}\n\nfunction Fx_toFloat__P99_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Fx_toFloat__P99, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller_Controller_down__P565(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Controller__C557_VT)) failedCast(r0);\n r0 = s.arg0.fields["buttons"];\n s.tmp_0 = r0;\n r0 = (4 - 1);\n s.tmp_1 = r0;\n r0 = pxsim_Array__getAt(s.tmp_0, s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Controller_down__P565.info = {"start":8908,"length":77,"line":283,"column":8,"endLine":285,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"down","argumentNames":["this"]}\n\nfunction controller_Controller_down__P565_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Controller_down__P565, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller_Controller_button__P570(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Controller__C557_VT)) failedCast(r0);\n r0 = s.arg0.fields["buttons"];\n s.tmp_0 = r0;\n r0 = (s.arg1 - 1);\n s.tmp_1 = r0;\n r0 = pxsim_Array__getAt(s.tmp_0, s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Controller_button__P570.info = {"start":10870,"length":105,"line":344,"column":8,"endLine":346,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"button","argumentNames":["this","button"]}\n\nfunction controller_Controller_button__P570_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Controller_button__P570, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction controller_Controller_up__P564(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Controller__C557_VT)) failedCast(r0);\n r0 = s.arg0.fields["buttons"];\n s.tmp_0 = r0;\n r0 = (2 - 1);\n s.tmp_1 = r0;\n r0 = pxsim_Array__getAt(s.tmp_0, s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Controller_up__P564.info = {"start":8756,"length":73,"line":275,"column":8,"endLine":277,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"up","argumentNames":["this"]}\n\nfunction controller_Controller_up__P564_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Controller_up__P564, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller_Controller_right__P563(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Controller__C557_VT)) failedCast(r0);\n r0 = s.arg0.fields["buttons"];\n s.tmp_0 = r0;\n r0 = (3 - 1);\n s.tmp_1 = r0;\n r0 = pxsim_Array__getAt(s.tmp_0, s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Controller_right__P563.info = {"start":8598,"length":79,"line":267,"column":8,"endLine":269,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"right","argumentNames":["this"]}\n\nfunction controller_Controller_right__P563_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Controller_right__P563, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller_Controller_left__P562(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Controller__C557_VT)) failedCast(r0);\n r0 = s.arg0.fields["buttons"];\n s.tmp_0 = r0;\n r0 = (1 - 1);\n s.tmp_1 = r0;\n r0 = pxsim_Array__getAt(s.tmp_0, s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Controller_left__P562.info = {"start":8442,"length":77,"line":259,"column":8,"endLine":261,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"left","argumentNames":["this"]}\n\nfunction controller_Controller_left__P562_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Controller_left__P562, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller_Controller__controlledSprites__P559(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Controller__C557_VT)) failedCast(r0);\n s.tmp_1 = game_currentScene__P769_mk(s);\n s.pc = 1; return s.tmp_1;\n case 1:\n r0 = s.retval;\n r0 = r0.fields["controlledSprites"];\n s.tmp_0 = r0;\n r0 = s.arg0.fields["playerIndex"];\n s.tmp_2 = r0;\n r0 = pxsim_Array_.setAt(s.tmp_0, s.tmp_2, s.arg1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Controller__controlledSprites__P559.info = {"start":8077,"length":134,"line":243,"column":8,"endLine":245,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"_controlledSprites","argumentNames":["this","cps"]}\n\nfunction controller_Controller__controlledSprites__P559_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Controller__controlledSprites__P559, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction controller_Controller__controlledSprites__P558(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Controller__C557_VT)) failedCast(r0);\n s.tmp_1 = game_currentScene__P769_mk(s);\n s.pc = 1; return s.tmp_1;\n case 1:\n r0 = s.retval;\n r0 = r0.fields["controlledSprites"];\n s.tmp_0 = r0;\n r0 = s.arg0.fields["playerIndex"];\n s.tmp_2 = r0;\n r0 = pxsim_Array__getAt(s.tmp_0, s.tmp_2);\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Controller__controlledSprites__P558.info = {"start":7935,"length":132,"line":239,"column":8,"endLine":241,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"_controlledSprites","argumentNames":["this"]}\n\nfunction controller_Controller__controlledSprites__P558_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Controller__controlledSprites__P558, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller_Button_isPressed__P545(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Button__C538_VT)) failedCast(r0);\n r0 = s.arg0.fields["_pressed"];\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Button_isPressed__P545.info = {"start":4235,"length":57,"line":128,"column":8,"endLine":130,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"isPressed","argumentNames":["this"]}\n\nfunction controller_Button_isPressed__P545_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Button_isPressed__P545, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction power_checkDeepSleep__P393(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.p___5501 = undefined;\n s.to___5503 = undefined;\n s.tmp_0 = power_init__P395_mk(s);\n s.pc = 11; return s.tmp_0;\n case 11:\n r0 = s.retval;\n s.tmp_0 = r0 = globals._poked___389;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = 0;\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n s.p___5501 = (s.tmp_1);\n s.tmp_0 = r0 = globals._timeout___390;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = s.tmp_0;\n { step = 4; continue; }\n case 3:\n r0 = 0;\n case 4:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n s.to___5503 = (s.tmp_1);\n r0 = (s.to___5503 > 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 5; continue; }\n r0 = s.tmp_0;\n { step = 6; continue; }\n case 5:\n r0 = pxsim.control.millis();\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - s.p___5501);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > s.to___5503);\n case 6:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBool(s.tmp_3);\n if (r0) { step = 7; continue; }\n r0 = s.tmp_3;\n { step = 8; continue; }\n case 7:\n r0 = pxsim.control.isUSBInitialized();\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_5);\n s.tmp_4 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_4);\n case 8:\n // jmp value (already in r0)\n s.tmp_6 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_6);\n if (!r0) { step = 9; continue; }\n r0 = pxsim_pxtcore.deepSleep();\n case 9:\n case 10:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\npower_checkDeepSleep__P393.info = {"start":1087,"length":298,"line":36,"column":4,"endLine":46,"endColumn":5,"fileName":"pxt_modules/power/power.ts","functionName":"checkDeepSleep","argumentNames":[]}\n\nfunction power_checkDeepSleep__P393_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: power_checkDeepSleep__P393, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n p___5501: undefined,\n to___5503: undefined,\n} }\n\n\n\n\n\nfunction power_init__P395(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.minDeepSleepTimeout___5524 = undefined;\n r0 = (globals._timeout___390 !== undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 7; continue; }\n case 1:\n case 2:\n r0 = pxsim_pxtcore.getConfig(212, -1);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 * 1000);\n globals._timeout___390 = (r0);\n s.minDeepSleepTimeout___5524 = (300000);\n r0 = (globals._timeout___390 > 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 3; continue; }\n r0 = s.tmp_0;\n { step = 4; continue; }\n case 3:\n r0 = (globals._timeout___390 < s.minDeepSleepTimeout___5524);\n case 4:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 5; continue; }\n globals._timeout___390 = (s.minDeepSleepTimeout___5524);\n case 5:\n case 6:\n case 7:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\npower_init__P395.info = {"start":1610,"length":376,"line":57,"column":4,"endLine":66,"endColumn":5,"fileName":"pxt_modules/power/power.ts","functionName":"init","argumentNames":[]}\n\nfunction power_init__P395_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: power_init__P395, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n minDeepSleepTimeout___5524: undefined,\n} }\n\n\n\n\n\nfunction power_poke__P392(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = power_init__P395_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = pxsim.control.millis();\n globals._poked___389 = (r0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\npower_poke__P392.info = {"start":795,"length":81,"line":26,"column":4,"endLine":29,"endColumn":5,"fileName":"pxt_modules/power/power.ts","functionName":"poke","argumentNames":[]}\n\nfunction power_poke__P392_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: power_poke__P392, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction control_EventContext_registerFrameHandler__P226(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.fn___6585 = undefined;\n s.i___6595 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, control_EventContext__C220_VT)) failedCast(r0);\n r0 = s.arg0.fields["frameCallbacks"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_3 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_4 = r0;\n r0 = (s.tmp_3).fields["frameCallbacks"] = (s.tmp_4);\n s.tmp_0 = control_EventContext_registerFrameCallbacks__P223_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 8; return s.tmp_0;\n case 8:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = pxsim_pxtcore_mkClassInstance(control_FrameCallback__C214_VT);\n s.fn___6585 = (r0);\n r0 = (s.fn___6585).fields["order"] = (s.arg1);\n r0 = (s.fn___6585).fields["handler"] = (s.arg2);\n s.i___6595 = (0);\n case 3:\n s.tmp_1 = r0 = s.i___6595;\n r0 = s.arg0.fields["frameCallbacks"];\n s.tmp_3 = r0;\n r0 = pxsim_Array__length(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 6; continue; }\n r0 = s.arg0.fields["frameCallbacks"];\n s.tmp_6 = r0;\n r0 = pxsim_Array__getAt(s.tmp_6, s.i___6595);\n r0 = r0.fields["order"];\n s.tmp_5 = r0;\n r0 = (s.tmp_5 > s.arg1);\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n if (!r0) { step = 4; continue; }\n r0 = s.arg0.fields["frameCallbacks"];\n s.tmp_7 = r0;\n r0 = pxsim_Array_.insertAt(s.tmp_7, s.i___6595, s.fn___6585);\n { step = 7; continue; }\n case 4:\n case 5:\n r0 = (s.i___6595 + 1);\n s.i___6595 = (r0);\n { step = 3; continue; }\n case 6:\n r0 = s.arg0.fields["frameCallbacks"];\n s.tmp_0 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.fn___6585);\n case 7:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_EventContext_registerFrameHandler__P226.info = {"start":4222,"length":600,"line":132,"column":8,"endLine":148,"endColumn":9,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"registerFrameHandler","argumentNames":["this","order","handler"]}\n\nfunction control_EventContext_registerFrameHandler__P226_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_EventContext_registerFrameHandler__P226, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n fn___6585: undefined,\n i___6595: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction control_EventContext_deltaTime__P221(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, control_EventContext__C220_VT)) failedCast(r0);\n r0 = s.arg0.fields["deltaTimeMillis"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 / 1000);\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_EventContext_deltaTime__P221.info = {"start":2103,"length":75,"line":71,"column":8,"endLine":73,"endColumn":9,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"deltaTime","argumentNames":["this"]}\n\nfunction control_EventContext_deltaTime__P221_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_EventContext_deltaTime__P221, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction music_Melody_constructor__P361(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, music_Melody__C349_VT)) failedCast(r0);\n r0 = (s.arg0).fields["_text"] = (s.arg1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nmusic_Melody_constructor__P361.info = {"start":6295,"length":67,"line":198,"column":8,"endLine":200,"endColumn":9,"fileName":"pxt_modules/mixer/melody.ts","functionName":"inline","argumentNames":["this","text"]}\n\nfunction music_Melody_constructor__P361_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_Melody_constructor__P361, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction control_pushEventContext__P236(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.ctx___6628 = undefined;\n s.n___6633 = undefined;\n r0 = pxsim_numops_toBoolDecr(globals.eventContexts___234);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_Array__mk();\n globals.eventContexts___234 = (r0);\n case 1:\n case 2:\n s.tmp_0 = control_eventContext__P235_mk(s);\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n s.ctx___6628 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.ctx___6628);\n if (!r0) { step = 3; continue; }\n s.tmp_0 = control_EventContext_unregister__P225_mk(s);\n s.tmp_0.arg0 = s.ctx___6628;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n case 3:\n case 4:\n r0 = pxsim_pxtcore_mkClassInstance(control_EventContext__C220_VT);\n s.tmp_0 = r0;\n s.tmp_1 = control_EventContext_constructor__P233_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.pc = 7; return s.tmp_1;\n case 7:\n r0 = s.retval;\n s.n___6633 = (s.tmp_0);\n r0 = pxsim_Array__push(globals.eventContexts___234, s.n___6633);\n r0 = s.n___6633;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_pushEventContext__P236.info = {"start":6386,"length":340,"line":197,"column":4,"endLine":208,"endColumn":5,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"pushEventContext","argumentNames":[]}\n\nfunction control_pushEventContext__P236_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_pushEventContext__P236, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n ctx___6628: undefined,\n n___6633: undefined,\n} }\n\n\n\n\n\nfunction control_eventContext__P235(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals.eventContexts___234);\n if (!r0) { step = 1; continue; }\n s.tmp_0 = r0 = globals.eventContexts___234;\n r0 = pxsim_Array__length(globals.eventContexts___234);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - 1);\n s.tmp_1 = r0;\n r0 = pxsim_Array__getAt(s.tmp_0, s.tmp_1);\n { step = 2; continue; }\n case 1:\n r0 = undefined;\n case 2:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = s.tmp_3;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_eventContext__P235.info = {"start":6170,"length":136,"line":190,"column":4,"endLine":192,"endColumn":5,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"eventContext","argumentNames":[]}\n\nfunction control_eventContext__P235_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_eventContext__P235, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n} }\n\n\n\n\n\nfunction control_EventContext_constructor__P233(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, control_EventContext__C220_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["handlers"] = (s.tmp_1);\n r0 = (s.arg0).fields["framesInSample"] = (0);\n r0 = (s.arg0).fields["timeInSample"] = (0);\n r0 = (s.arg0).fields["deltaTimeMillis"] = (0);\n r0 = (s.arg0).fields["frameWorker"] = (0);\n r0 = (s.arg0).fields["idleCallbacks"] = (undefined);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_EventContext_constructor__P233.info = {"start":1848,"length":245,"line":62,"column":8,"endLine":69,"endColumn":9,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"inline","argumentNames":["this"]}\n\nfunction control_EventContext_constructor__P233_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_EventContext_constructor__P233, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_waitAnyButton__P1016(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals.__waitAnyButton___1012);\n if (!r0) { step = 1; continue; }\n s.tmp_0 = lambda_1_mk(s);\n s.tmp_0.argL = globals.__waitAnyButton___1012;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n { step = 2; continue; }\n case 1:\n s.tmp_0 = pause__P241_mk(s);\n s.tmp_0.arg0 = 3000;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_waitAnyButton__P1016.info = {"start":967,"length":111,"line":35,"column":4,"endLine":38,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"waitAnyButton","argumentNames":[]}\n\nfunction game_waitAnyButton__P1016_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_waitAnyButton__P1016, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction game_GameOverDialog_constructor__P988(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_GameOverDialog__C983_VT)) failedCast(r0);\n r0 = (s.arg0).fields["win"] = (s.arg1);\n r0 = (s.arg0).fields["score"] = (s.arg2);\n r0 = (s.arg0).fields["highScore"] = (s.arg3);\n s.tmp_0 = game_BaseDialog_constructor__P965_mk(s);\n s.tmp_0.arg0 = s.arg0;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = 46;\n s.tmp_1 = game_defaultSplashFrame__P991_mk(s);\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n s.tmp_0.arg3 = r0;\n s.tmp_0.arg4 = undefined;\n s.tmp_0.arg5 = undefined;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = (s.arg0).fields["cursorOn"] = (false);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.arg0.fields["score"];\n s.tmp_2 = r0;\n r0 = s.arg0.fields["highScore"];\n s.tmp_3 = r0;\n r0 = (s.tmp_2 > s.tmp_3);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["isNewHighScore"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_GameOverDialog_constructor__P988.info = {"start":12305,"length":308,"line":362,"column":8,"endLine":370,"endColumn":9,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"inline","argumentNames":["this","win","score","highScore"]}\n\nfunction game_GameOverDialog_constructor__P988_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_GameOverDialog_constructor__P988, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction game_defaultSplashFrame__P991(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_ImageMethods.isMono(globals.screen___464);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim.image.ofBuffer(_hex4695);\n { step = 2; continue; }\n case 1:\n r0 = pxsim.image.ofBuffer(_hex4697);\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = s.tmp_1;\n return leave(s, r0)\n default: oops()\n} } }\ngame_defaultSplashFrame__P991.info = {"start":18476,"length":220,"line":562,"column":4,"endLine":575,"endColumn":5,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"defaultSplashFrame","argumentNames":[]}\n\nfunction game_defaultSplashFrame__P991_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_defaultSplashFrame__P991, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n} }\n\nconst _hex4695 = pxsim.BufferMethods.createBufferFromHex("8704030003000000010100000101000001010000")\nconst _hex4697 = pxsim.BufferMethods.createBufferFromHex("8704030003000000f1010000f1010000f1010000")\n\n\n\n\nfunction game_BaseDialog_constructor__P965(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.arg5 = (s.lambdaArgs[5]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_BaseDialog__C952_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim.image.create(s.arg1, s.arg2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["image"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg3;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = globals.dialogFrame___949;\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBool(s.tmp_1);\n if (!r0) { step = 3; continue; }\n r0 = s.tmp_1;\n { step = 4; continue; }\n case 3:\n s.tmp_3 = game_defaultFrame__P990_mk(s);\n s.pc = 13; return s.tmp_3;\n case 13:\n r0 = s.retval;\n s.tmp_2 = r0;\n globals.dialogFrame___949 = (r0);\n r0 = s.tmp_2;\n case 4:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n r0 = (s.arg0).fields["frame"] = (s.tmp_4);\n s.tmp_0 = r0 = s.arg4;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = s.tmp_0;\n { step = 6; continue; }\n case 5:\n r0 = globals.font8___423;\n case 6:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = (s.arg0).fields["font"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg5;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 7; continue; }\n r0 = s.tmp_0;\n { step = 8; continue; }\n case 7:\n r0 = globals.dialogCursor___950;\n case 8:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBool(s.tmp_1);\n if (!r0) { step = 9; continue; }\n r0 = s.tmp_1;\n { step = 10; continue; }\n case 9:\n s.tmp_3 = game_defaultCursorImage__P992_mk(s);\n s.pc = 14; return s.tmp_3;\n case 14:\n r0 = s.retval;\n s.tmp_2 = r0;\n globals.dialogCursor___950 = (r0);\n r0 = s.tmp_2;\n case 10:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n r0 = (s.arg0).fields["cursor"] = (s.tmp_4);\n r0 = (globals.dialogTextColor___951 == undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 11; continue; }\n globals.dialogTextColor___951 = (15);\n r0 = 15;\n { step = 12; continue; }\n case 11:\n r0 = globals.dialogTextColor___951;\n case 12:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = (s.arg0).fields["textColor"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.arg0.fields["frame"];\n s.tmp_4 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_4);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 / 3);\n s.tmp_2 = r0;\n r0 = pxsim.Math_.floor(s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["unit"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.arg0.fields["unit"];\n s.tmp_3 = r0;\n r0 = (s.arg1 / s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim.Math_.floor(s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["columns"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.arg0.fields["unit"];\n s.tmp_3 = r0;\n r0 = (s.arg2 / s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim.Math_.floor(s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["rows"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_3 = r0 = s.arg1;\n r0 = s.arg0.fields["columns"];\n s.tmp_5 = r0;\n r0 = s.arg0.fields["unit"];\n s.tmp_6 = r0;\n r0 = (s.tmp_5 * s.tmp_6);\n s.tmp_4 = r0;\n r0 = (s.tmp_3 - s.tmp_4);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 >> 1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["innerLeft"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_3 = r0 = s.arg2;\n r0 = s.arg0.fields["rows"];\n s.tmp_5 = r0;\n r0 = s.arg0.fields["unit"];\n s.tmp_6 = r0;\n r0 = (s.tmp_5 * s.tmp_6);\n s.tmp_4 = r0;\n r0 = (s.tmp_3 - s.tmp_4);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 >> 1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["innerTop"] = (s.tmp_1);\n r0 = (s.arg0).fields["cursorCount"] = (0);\n s.tmp_0 = game_BaseDialog_drawBorder__P957_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 15; return s.tmp_0;\n case 15:\n r0 = s.retval;\n s.tmp_0 = game_BaseDialog_clearInterior__P958_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 16; return s.tmp_0;\n case 16:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_BaseDialog_constructor__P965.info = {"start":634,"length":895,"line":36,"column":8,"endLine":58,"endColumn":9,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"inline","argumentNames":["this","width","height","frame","font","cursor"]}\n\nfunction game_BaseDialog_constructor__P965_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_BaseDialog_constructor__P965, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n arg5: undefined,\n} }\n\n\n\n\n\nfunction game_defaultCursorImage__P992(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_ImageMethods.isMono(globals.screen___464);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim.image.ofBuffer(_hex4819);\n { step = 2; continue; }\n case 1:\n r0 = pxsim.image.ofBuffer(_hex4821);\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = s.tmp_1;\n return leave(s, r0)\n default: oops()\n} } }\ngame_defaultCursorImage__P992.info = {"start":18702,"length":690,"line":577,"column":4,"endLine":603,"endColumn":5,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"defaultCursorImage","argumentNames":[]}\n\nfunction game_defaultCursorImage__P992_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_defaultCursorImage__P992, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n} }\n\nconst _hex4819 = pxsim.BufferMethods.createBufferFromHex("87040a000800000011111101010000010111010111100001011101010100000101000001100010000001010000100000")\nconst _hex4821 = pxsim.BufferMethods.createBufferFromHex("87040b000b00000000606686080000006076776686000000607777676608000076171111670800007671177766080000767117776608000076711777660800007617111167080000607777676608000060767766860000000060668608000000")\n\n\n\n\nfunction game_defaultFrame__P990(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_ImageMethods.isMono(globals.screen___464);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim.image.ofBuffer(_hex4825);\n { step = 2; continue; }\n case 1:\n r0 = pxsim.image.ofBuffer(_hex4827);\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = s.tmp_1;\n return leave(s, r0)\n default: oops()\n} } }\ngame_defaultFrame__P990.info = {"start":17914,"length":556,"line":538,"column":4,"endLine":560,"endColumn":5,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"defaultFrame","argumentNames":[]}\n\nfunction game_defaultFrame__P990_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_defaultFrame__P990, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n} }\n\nconst _hex4825 = pxsim.BufferMethods.createBufferFromHex("8704030003000000110100000101000011010000")\nconst _hex4827 = pxsim.BufferMethods.createBufferFromHex("87040c000c0000000000000000000000b0bbbbbbbb0b0000b0bbbbbbbbcb0000b0db1111bdcb0000b01b1111b1cb0000b01b1111b1cb0000b01b1111b1cb0000b01b1111b1cb0000b0db1111bdcb0000b0bbbbbbbbcb0000b0bbbbbbbbcb000000cccccccccc0000")\n\n\n\n\nfunction game_BaseDialog_clearInterior__P958(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.d___4597 = undefined;\n s.s___4603 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_BaseDialog__C952_VT)) failedCast(r0);\n s.d___4597 = (1);\n case 1:\n s.tmp_1 = r0 = s.d___4597;\n r0 = s.arg0.fields["columns"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 - 1);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 4; continue; }\n s.s___4603 = (1);\n case 2:\n s.tmp_1 = r0 = s.s___4603;\n r0 = s.arg0.fields["rows"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 - 1);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.tmp_4 = game_BaseDialog_drawPartial__P959_mk(s);\n s.tmp_4.arg0 = s.arg0;\n s.tmp_4.arg1 = 4;\n s.tmp_4.arg2 = s.d___4597;\n s.tmp_4.arg3 = s.s___4603;\n s.pc = 5; return s.tmp_4;\n case 5:\n r0 = s.retval;\n r0 = (s.s___4603 + 1);\n s.s___4603 = (r0);\n { step = 2; continue; }\n case 3:\n r0 = (s.d___4597 + 1);\n s.d___4597 = (r0);\n { step = 1; continue; }\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_BaseDialog_clearInterior__P958.info = {"start":3078,"length":230,"line":111,"column":8,"endLine":117,"endColumn":9,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"clearInterior","argumentNames":["this"]}\n\nfunction game_BaseDialog_clearInterior__P958_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_BaseDialog_clearInterior__P958, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n d___4597: undefined,\n s___4603: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_BaseDialog_drawPartial__P959(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.x0___4620 = undefined;\n s.y0___4627 = undefined;\n s.xf___4634 = undefined;\n s.yf___4638 = undefined;\n s.e___4644 = undefined;\n s.t___4649 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_BaseDialog__C952_VT)) failedCast(r0);\n r0 = s.arg0.fields["innerLeft"];\n s.tmp_0 = r0;\n r0 = s.arg0.fields["unit"];\n s.tmp_2 = r0;\n r0 = (s.arg2 * s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n s.x0___4620 = (r0);\n r0 = s.arg0.fields["innerTop"];\n s.tmp_0 = r0;\n r0 = s.arg0.fields["unit"];\n s.tmp_2 = r0;\n r0 = (s.arg3 * s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n s.y0___4627 = (r0);\n r0 = (s.arg1 % 3);\n s.tmp_0 = r0;\n r0 = s.arg0.fields["unit"];\n s.tmp_1 = r0;\n r0 = (s.tmp_0 * s.tmp_1);\n s.xf___4634 = (r0);\n r0 = (s.arg1 / 3);\n s.tmp_1 = r0;\n r0 = pxsim.Math_.floor(s.tmp_1);\n s.tmp_0 = r0;\n r0 = s.arg0.fields["unit"];\n s.tmp_2 = r0;\n r0 = (s.tmp_0 * s.tmp_2);\n s.yf___4638 = (r0);\n s.e___4644 = (0);\n case 1:\n r0 = s.arg0.fields["unit"];\n s.tmp_1 = r0;\n r0 = (s.e___4644 < s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 4; continue; }\n s.t___4649 = (0);\n case 2:\n r0 = s.arg0.fields["unit"];\n s.tmp_1 = r0;\n r0 = (s.t___4649 < s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = s.arg0.fields["image"];\n s.tmp_2 = r0;\n r0 = (s.x0___4620 + s.e___4644);\n s.tmp_3 = r0;\n r0 = (s.y0___4627 + s.t___4649);\n s.tmp_4 = r0;\n r0 = s.arg0.fields["frame"];\n s.tmp_6 = r0;\n r0 = (s.xf___4634 + s.e___4644);\n s.tmp_7 = r0;\n r0 = (s.yf___4638 + s.t___4649);\n s.tmp_8 = r0;\n r0 = pxsim_ImageMethods.getPixel(s.tmp_6, s.tmp_7, s.tmp_8);\n s.tmp_5 = r0;\n r0 = pxsim_ImageMethods.setPixel(s.tmp_2, s.tmp_3, s.tmp_4, s.tmp_5);\n r0 = (s.t___4649 + 1);\n s.t___4649 = (r0);\n { step = 2; continue; }\n case 3:\n r0 = (s.e___4644 + 1);\n s.e___4644 = (r0);\n { step = 1; continue; }\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_BaseDialog_drawPartial__P959.info = {"start":3318,"length":606,"line":119,"column":8,"endLine":134,"endColumn":9,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"drawPartial","argumentNames":["this","index","colTo","rowTo"]}\n\nfunction game_BaseDialog_drawPartial__P959_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_BaseDialog_drawPartial__P959, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n x0___4620: undefined,\n y0___4627: undefined,\n xf___4634: undefined,\n yf___4638: undefined,\n e___4644: undefined,\n t___4649: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction game_BaseDialog_drawBorder__P957(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.c___4776 = undefined;\n s.r___4803 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_BaseDialog__C952_VT)) failedCast(r0);\n s.c___4776 = (0);\n case 1:\n r0 = s.arg0.fields["columns"];\n s.tmp_1 = r0;\n r0 = (s.c___4776 < s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 6; continue; }\n r0 = (s.c___4776 == 0);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 2; continue; }\n s.tmp_3 = game_BaseDialog_drawPartial__P959_mk(s);\n s.tmp_3.arg0 = s.arg0;\n s.tmp_3.arg1 = 0;\n s.tmp_3.arg2 = 0;\n s.tmp_3.arg3 = 0;\n s.pc = 9; return s.tmp_3;\n case 9:\n r0 = s.retval;\n s.tmp_0 = game_BaseDialog_drawPartial__P959_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = 6;\n s.tmp_0.arg2 = 0;\n r0 = s.arg0.fields["rows"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - 1);\n s.tmp_0.arg3 = r0;\n s.pc = 10; return s.tmp_0;\n case 10:\n r0 = s.retval;\n { step = 5; continue; }\n case 2:\n s.tmp_1 = r0 = s.c___4776;\n r0 = s.arg0.fields["columns"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 - 1);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 === s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.tmp_4 = game_BaseDialog_drawPartial__P959_mk(s);\n s.tmp_4.arg0 = s.arg0;\n s.tmp_4.arg1 = 2;\n s.tmp_4.arg2 = s.c___4776;\n s.tmp_4.arg3 = 0;\n s.pc = 11; return s.tmp_4;\n case 11:\n r0 = s.retval;\n s.tmp_0 = game_BaseDialog_drawPartial__P959_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = 8;\n s.tmp_0.arg2 = s.c___4776;\n r0 = s.arg0.fields["rows"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - 1);\n s.tmp_0.arg3 = r0;\n s.pc = 12; return s.tmp_0;\n case 12:\n r0 = s.retval;\n { step = 4; continue; }\n case 3:\n s.tmp_0 = game_BaseDialog_drawPartial__P959_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = 1;\n s.tmp_0.arg2 = s.c___4776;\n s.tmp_0.arg3 = 0;\n s.pc = 13; return s.tmp_0;\n case 13:\n r0 = s.retval;\n s.tmp_0 = game_BaseDialog_drawPartial__P959_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = 7;\n s.tmp_0.arg2 = s.c___4776;\n r0 = s.arg0.fields["rows"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - 1);\n s.tmp_0.arg3 = r0;\n s.pc = 14; return s.tmp_0;\n case 14:\n r0 = s.retval;\n case 4:\n case 5:\n r0 = (s.c___4776 + 1);\n s.c___4776 = (r0);\n { step = 1; continue; }\n case 6:\n s.r___4803 = (1);\n case 7:\n s.tmp_1 = r0 = s.r___4803;\n r0 = s.arg0.fields["rows"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 - 1);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 8; continue; }\n s.tmp_4 = game_BaseDialog_drawPartial__P959_mk(s);\n s.tmp_4.arg0 = s.arg0;\n s.tmp_4.arg1 = 3;\n s.tmp_4.arg2 = 0;\n s.tmp_4.arg3 = s.r___4803;\n s.pc = 15; return s.tmp_4;\n case 15:\n r0 = s.retval;\n s.tmp_0 = game_BaseDialog_drawPartial__P959_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = 5;\n r0 = s.arg0.fields["columns"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - 1);\n s.tmp_0.arg2 = r0;\n s.tmp_0.arg3 = s.r___4803;\n s.pc = 16; return s.tmp_0;\n case 16:\n r0 = s.retval;\n r0 = (s.r___4803 + 1);\n s.r___4803 = (r0);\n { step = 7; continue; }\n case 8:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_BaseDialog_drawBorder__P957.info = {"start":2321,"length":747,"line":89,"column":8,"endLine":109,"endColumn":9,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"drawBorder","argumentNames":["this"]}\n\nfunction game_BaseDialog_drawBorder__P957_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_BaseDialog_drawBorder__P957, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n c___4776: undefined,\n r___4803: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_GameOverDialog_update__P986(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_GameOverDialog__C983_VT)) failedCast(r0);\n s.tmp_0 = game_BaseDialog_clearInterior__P958_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.tmp_0 = game_GameOverDialog__C983_v1_1_mk(s);\n s.tmp_0.arg0 = s.arg0;\n if (!checkSubtype(s.tmp_0.arg0, game_GameOverDialog__C983_VT)) failedCast(s.tmp_0.arg0);\n s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.drawTextCore;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n r0 = s.arg0.fields["cursorOn"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_1 = game_BaseDialog_drawCursorRow__P956_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.pc = 5; return s.tmp_1;\n case 5:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_GameOverDialog_update__P986.info = {"start":12694,"length":173,"line":376,"column":8,"endLine":383,"endColumn":9,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"update","argumentNames":["this"]}\n\nfunction game_GameOverDialog_update__P986_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_GameOverDialog_update__P986, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_GameOverDialog_drawTextCore__P987(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.titleHeight___4542 = undefined;\n s.scoreHeight___4557 = undefined;\n s.highScoreHeight___4558 = undefined;\n s.scoreColor___4559 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_GameOverDialog__C983_VT)) failedCast(r0);\n s.titleHeight___4542 = (8);\n r0 = s.arg0.fields["win"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = "YOU WIN!";\n { step = 2; continue; }\n case 1:\n r0 = "GAME OVER!";\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_ImageMethods.isMono(globals.screen___464);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 3; continue; }\n r0 = 1;\n { step = 4; continue; }\n case 3:\n r0 = 5;\n case 4:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n s.tmp_4 = helpers_imagePrintCenter__P431_mk(s);\n r0 = s.arg0.fields["image"];\n s.tmp_4.arg0 = r0;\n s.tmp_4.arg1 = s.tmp_1;\n s.tmp_4.arg2 = s.titleHeight___4542;\n s.tmp_4.arg3 = s.tmp_3;\n s.tmp_4.arg4 = globals.font8___423;\n s.pc = 11; return s.tmp_4;\n case 11:\n r0 = s.retval;\n r0 = s.arg0.fields["score"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 !== undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 9; continue; }\n s.scoreHeight___4557 = (23);\n s.highScoreHeight___4558 = (34);\n r0 = pxsim_ImageMethods.isMono(globals.screen___464);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = 1;\n { step = 6; continue; }\n case 5:\n r0 = 2;\n case 6:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n s.scoreColor___4559 = (s.tmp_1);\n s.tmp_0 = helpers_imagePrintCenter__P431_mk(s);\n r0 = s.arg0.fields["image"];\n s.tmp_0.arg0 = r0;\n r0 = s.arg0.fields["score"];\n s.tmp_2 = r0;\n if ((s.tmp_2) && (s.tmp_2).vtable) {\n setupResume(s, 13);\n pxsim_String__stringConv(s.tmp_2);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_2) + ""; }\n case 13:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_String__concat("Score:", s.tmp_1);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = s.scoreHeight___4557;\n s.tmp_0.arg3 = s.scoreColor___4559;\n s.tmp_0.arg4 = globals.font8___423;\n s.pc = 12; return s.tmp_0;\n case 12:\n r0 = s.retval;\n r0 = s.arg0.fields["isNewHighScore"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 7; continue; }\n s.tmp_1 = helpers_imagePrintCenter__P431_mk(s);\n r0 = s.arg0.fields["image"];\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = "New High Score!";\n s.tmp_1.arg2 = s.highScoreHeight___4558;\n s.tmp_1.arg3 = s.scoreColor___4559;\n s.tmp_1.arg4 = globals.font5___428;\n s.pc = 14; return s.tmp_1;\n case 14:\n r0 = s.retval;\n { step = 8; continue; }\n case 7:\n s.tmp_0 = helpers_imagePrintCenter__P431_mk(s);\n r0 = s.arg0.fields["image"];\n s.tmp_0.arg0 = r0;\n r0 = s.arg0.fields["highScore"];\n s.tmp_2 = r0;\n if ((s.tmp_2) && (s.tmp_2).vtable) {\n setupResume(s, 16);\n pxsim_String__stringConv(s.tmp_2);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_2) + ""; }\n case 16:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_String__concat("HI", s.tmp_1);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = s.highScoreHeight___4558;\n s.tmp_0.arg3 = s.scoreColor___4559;\n s.tmp_0.arg4 = globals.font8___423;\n s.pc = 15; return s.tmp_0;\n case 15:\n r0 = s.retval;\n case 8:\n case 9:\n case 10:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_GameOverDialog_drawTextCore__P987.info = {"start":12877,"length":1200,"line":385,"column":8,"endLine":422,"endColumn":9,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"drawTextCore","argumentNames":["this"]}\n\nfunction game_GameOverDialog_drawTextCore__P987_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_GameOverDialog_drawTextCore__P987, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n titleHeight___4542: undefined,\n scoreHeight___4557: undefined,\n highScoreHeight___4558: undefined,\n scoreColor___4559: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction helpers_imagePrintCenter__P431(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.w___2421 = undefined;\n s.x___2427 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_numops_toBoolDecr(s.arg4);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_2 = image_getFontForText__P425_mk(s);\n s.tmp_2.arg0 = s.arg1;\n s.pc = 3; return s.tmp_2;\n case 3:\n r0 = s.retval;\n s.arg4 = (r0);\n case 1:\n case 2:\n r0 = pxsim_String_.length(s.arg1);\n s.tmp_0 = r0;\n s.tmp_2 = if_charWidth_1_mk(s);\n s.tmp_2.arg0 = s.arg4;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "charWidth");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["charWidth"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["charWidth"]; }\n else { s.pc = 4; return s.tmp_2; }\n }\n case 4:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0 * s.tmp_1);\n s.w___2421 = (r0);\n r0 = pxsim_ImageMethods.width(s.arg0);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - s.w___2421);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 / 2);\n s.x___2427 = (r0);\n s.tmp_0 = helpers_imagePrint__P432_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.tmp_0.arg2 = s.x___2427;\n s.tmp_0.arg3 = s.arg2;\n s.tmp_0.arg4 = s.arg3;\n s.tmp_0.arg5 = s.arg4;\n s.tmp_0.arg6 = undefined;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_imagePrintCenter__P431.info = {"start":15025,"length":295,"line":206,"column":4,"endLine":211,"endColumn":5,"fileName":"pxt_modules/screen/text.ts","functionName":"imagePrintCenter","argumentNames":["img","text","y","color","font"]}\n\nfunction helpers_imagePrintCenter__P431_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_imagePrintCenter__P431, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n w___2421: undefined,\n x___2427: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n} }\n\n\n\n\n\nfunction game_BaseDialog_drawCursorRow__P956(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.offset___4478 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_BaseDialog__C952_VT)) failedCast(r0);\n s.offset___4478 = (0);\n r0 = s.arg0.fields["cursorCount"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > 20);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.offset___4478 = (1);\n case 1:\n case 2:\n s.tmp_0 = r0 = s.arg0;\n r0 = s.arg0.fields["cursorCount"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 + 1);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 % 40);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["cursorCount"] = (s.tmp_1);\n r0 = s.arg0.fields["image"];\n s.tmp_0 = r0;\n r0 = s.arg0.fields["cursor"];\n s.tmp_1 = r0;\n r0 = s.arg0.fields["innerLeft"];\n s.tmp_6 = r0;\n s.tmp_8 = game_BaseDialog_textAreaWidth__P962_mk(s);\n s.tmp_8.arg0 = s.arg0;\n s.pc = 3; return s.tmp_8;\n case 3:\n r0 = s.retval;\n s.tmp_7 = r0;\n r0 = (s.tmp_6 + s.tmp_7);\n s.tmp_5 = r0;\n r0 = s.arg0.fields["unit"];\n s.tmp_9 = r0;\n r0 = (s.tmp_5 + s.tmp_9);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 + s.offset___4478);\n s.tmp_3 = r0;\n r0 = s.arg0.fields["cursor"];\n s.tmp_11 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_11);\n s.tmp_10 = r0;\n r0 = (s.tmp_3 - s.tmp_10);\n s.tmp_2 = r0;\n r0 = s.arg0.fields["innerTop"];\n s.tmp_16 = r0;\n r0 = s.arg0.fields["unit"];\n s.tmp_17 = r0;\n r0 = (s.tmp_16 + s.tmp_17);\n s.tmp_15 = r0;\n s.tmp_19 = game_BaseDialog_textAreaHeight__P963_mk(s);\n s.tmp_19.arg0 = s.arg0;\n s.pc = 4; return s.tmp_19;\n case 4:\n r0 = s.retval;\n s.tmp_18 = r0;\n r0 = (s.tmp_15 + s.tmp_18);\n s.tmp_14 = r0;\n r0 = (s.tmp_14 + 1);\n s.tmp_13 = r0;\n r0 = s.arg0.fields["cursor"];\n s.tmp_22 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_22);\n s.tmp_21 = r0;\n r0 = (s.tmp_21 + 1);\n s.tmp_20 = r0;\n r0 = (s.tmp_13 - s.tmp_20);\n s.tmp_12 = r0;\n r0 = pxsim_ImageMethods.drawTransparentImage(s.tmp_0, s.tmp_1, s.tmp_2, s.tmp_12);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_BaseDialog_drawCursorRow__P956.info = {"start":1832,"length":479,"line":74,"column":8,"endLine":87,"endColumn":9,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"drawCursorRow","argumentNames":["this"]}\n\nfunction game_BaseDialog_drawCursorRow__P956_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_BaseDialog_drawCursorRow__P956, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n tmp_12: undefined,\n tmp_13: undefined,\n tmp_14: undefined,\n tmp_15: undefined,\n tmp_16: undefined,\n tmp_17: undefined,\n tmp_18: undefined,\n tmp_19: undefined,\n tmp_20: undefined,\n tmp_21: undefined,\n tmp_22: undefined,\n offset___4478: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_BaseDialog_textAreaHeight__P963(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_BaseDialog__C952_VT)) failedCast(r0);\n r0 = s.arg0.fields["image"];\n s.tmp_2 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_2);\n s.tmp_1 = r0;\n r0 = s.arg0.fields["innerTop"];\n s.tmp_5 = r0;\n r0 = s.arg0.fields["unit"];\n s.tmp_6 = r0;\n r0 = (s.tmp_5 + s.tmp_6);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 << 1);\n s.tmp_3 = r0;\n r0 = (s.tmp_1 - s.tmp_3);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 - 1);\n return leave(s, r0)\n default: oops()\n} } }\ngame_BaseDialog_textAreaHeight__P963.info = {"start":4240,"length":117,"line":148,"column":8,"endLine":150,"endColumn":9,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"textAreaHeight","argumentNames":["this"]}\n\nfunction game_BaseDialog_textAreaHeight__P963_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_BaseDialog_textAreaHeight__P963, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_BaseDialog_textAreaWidth__P962(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_BaseDialog__C952_VT)) failedCast(r0);\n r0 = s.arg0.fields["image"];\n s.tmp_2 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_2);\n s.tmp_1 = r0;\n r0 = s.arg0.fields["innerLeft"];\n s.tmp_5 = r0;\n r0 = s.arg0.fields["unit"];\n s.tmp_6 = r0;\n r0 = (s.tmp_5 + s.tmp_6);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 << 1);\n s.tmp_3 = r0;\n r0 = (s.tmp_1 - s.tmp_3);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 - 2);\n return leave(s, r0)\n default: oops()\n} } }\ngame_BaseDialog_textAreaWidth__P962.info = {"start":4114,"length":116,"line":144,"column":8,"endLine":146,"endColumn":9,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"textAreaWidth","argumentNames":["this"]}\n\nfunction game_BaseDialog_textAreaWidth__P962_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_BaseDialog_textAreaWidth__P962, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_BaseDialog_cursorRowHeight__P960(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_BaseDialog__C952_VT)) failedCast(r0);\n r0 = s.arg0.fields["cursor"];\n s.tmp_1 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_1);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 + 1);\n return leave(s, r0)\n default: oops()\n} } }\ngame_BaseDialog_cursorRowHeight__P960.info = {"start":3934,"length":82,"line":136,"column":8,"endLine":138,"endColumn":9,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"cursorRowHeight","argumentNames":["this"]}\n\nfunction game_BaseDialog_cursorRowHeight__P960_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_BaseDialog_cursorRowHeight__P960, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_GameOverDialog_displayCursor__P985(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_GameOverDialog__C983_VT)) failedCast(r0);\n r0 = (s.arg0).fields["cursorOn"] = (true);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_GameOverDialog_displayCursor__P985.info = {"start":12623,"length":61,"line":372,"column":8,"endLine":374,"endColumn":9,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"displayCursor","argumentNames":["this"]}\n\nfunction game_GameOverDialog_displayCursor__P985_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_GameOverDialog_displayCursor__P985, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_setBackgroundImage__P937(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.scene___4829 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.scene___4829 = (r0);\n s.tmp_0 = scene_Background_image__P849_mk(s);\n r0 = s.scene___4829.fields["background"];\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = s.arg0;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_setBackgroundImage__P937.info = {"start":1735,"length":135,"line":62,"column":4,"endLine":65,"endColumn":5,"fileName":"pxt_modules/game/scenes.ts","functionName":"setBackgroundImage","argumentNames":["img"]}\n\nfunction scene_setBackgroundImage__P937_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_setBackgroundImage__P937, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n scene___4829: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_Background_image__P849(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Background__C846_VT)) failedCast(r0);\n r0 = (s.arg0).fields["_image"] = (s.arg1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_Background_image__P849.info = {"start":1003,"length":68,"line":40,"column":8,"endLine":42,"endColumn":9,"fileName":"pxt_modules/game/background.ts","functionName":"image","argumentNames":["this","image"]}\n\nfunction scene_Background_image__P849_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Background_image__P849, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction scene_Background_image__P848(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Background__C846_VT)) failedCast(r0);\n r0 = s.arg0.fields["_image"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_3 = r0 = s.arg0;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_5 = r0;\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n s.tmp_6 = r0;\n r0 = pxsim.image.create(s.tmp_5, s.tmp_6);\n s.tmp_4 = r0;\n r0 = (s.tmp_3).fields["_image"] = (s.tmp_4);\n case 1:\n case 2:\n r0 = s.arg0.fields["_image"];\n return leave(s, r0)\n default: oops()\n} } }\nscene_Background_image__P848.info = {"start":811,"length":174,"line":33,"column":8,"endLine":38,"endColumn":9,"fileName":"pxt_modules/game/background.ts","functionName":"image","argumentNames":["this"]}\n\nfunction scene_Background_image__P848_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Background_image__P848, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_Scene_destroy__P928(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Scene__C923_VT)) failedCast(r0);\n r0 = (s.arg0).fields["eventContext"] = (undefined);\n r0 = (s.arg0).fields["background"] = (undefined);\n r0 = (s.arg0).fields["tileMap"] = (undefined);\n r0 = (s.arg0).fields["allSprites"] = (undefined);\n r0 = (s.arg0).fields["spriteNextId"] = (undefined);\n r0 = (s.arg0).fields["spritesByKind"] = (undefined);\n r0 = (s.arg0).fields["physicsEngine"] = (undefined);\n r0 = (s.arg0).fields["camera"] = (undefined);\n r0 = (s.arg0).fields["flags"] = (undefined);\n r0 = (s.arg0).fields["destroyedHandlers"] = (undefined);\n r0 = (s.arg0).fields["createdHandlers"] = (undefined);\n r0 = (s.arg0).fields["overlapHandlers"] = (undefined);\n r0 = (s.arg0).fields["collisionHandlers"] = (undefined);\n r0 = (s.arg0).fields["gameForeverHandlers"] = (undefined);\n r0 = (s.arg0).fields["_data"] = (undefined);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_Scene_destroy__P928.info = {"start":5933,"length":662,"line":173,"column":8,"endLine":189,"endColumn":9,"fileName":"pxt_modules/game/scene.ts","functionName":"destroy","argumentNames":["this"]}\n\nfunction scene_Scene_destroy__P928_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Scene_destroy__P928, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction info_highScore__P800(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_1 = settings_readNumber__P500_mk(s);\n s.tmp_1.arg0 = "high-score";\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = 0;\n case 2:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = s.tmp_2;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_highScore__P800.info = {"start":7111,"length":98,"line":241,"column":4,"endLine":243,"endColumn":5,"fileName":"pxt_modules/game/info.ts","functionName":"highScore","argumentNames":[]}\n\nfunction info_highScore__P800_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_highScore__P800, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n} }\n\n\n\n\n\nfunction settings_readNumber__P500(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.buf___4044 = undefined;\n s.nums___4049 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim.settings._get(s.arg0);\n s.buf___4044 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.buf___4044);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = undefined;\n { step = 7; continue; }\n { step = 6; continue; }\n case 1:\n s.tmp_2 = msgpack_unpackNumberArray__P111_mk(s);\n s.tmp_2.arg0 = s.buf___4044;\n s.tmp_2.arg1 = 0;\n s.pc = 8; return s.tmp_2;\n case 8:\n r0 = s.retval;\n s.nums___4049 = (r0);\n s.tmp_0 = r0 = s.nums___4049;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 2; continue; }\n r0 = s.tmp_0;\n { step = 3; continue; }\n case 2:\n r0 = pxsim_Array__length(s.nums___4049);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 >= 1);\n case 3:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 4; continue; }\n r0 = pxsim_Array__getAt(s.nums___4049, 0);\n { step = 7; continue; }\n case 4:\n case 5:\n r0 = undefined;\n { step = 7; continue; }\n case 6:\n r0 = undefined;\n case 7:\n return leave(s, r0)\n default: oops()\n} } }\nsettings_readNumber__P500.info = {"start":2742,"length":313,"line":109,"column":4,"endLine":119,"endColumn":5,"fileName":"pxt_modules/settings/settings.ts","functionName":"readNumber","argumentNames":["key"]}\n\nfunction settings_readNumber__P500_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: settings_readNumber__P500, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n buf___4044: undefined,\n nums___4049: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction settings_readBuffer__P498(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim.settings._get(s.arg0);\n return leave(s, r0)\n default: oops()\n} } }\nsettings_readBuffer__P498.info = {"start":2371,"length":72,"line":91,"column":4,"endLine":93,"endColumn":5,"fileName":"pxt_modules/settings/settings.ts","functionName":"readBuffer","argumentNames":["key"]}\n\nfunction settings_readBuffer__P498_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: settings_readBuffer__P498, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction msgpack_unpackNumberArray__P111(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.res___4059 = undefined;\n s.fmt___4065 = undefined;\n s.v___4073 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_Array__mk();\n s.res___4059 = (r0);\n case 1:\n s.tmp_1 = r0 = s.arg1;\n r0 = pxsim.BufferMethods.length(s.arg0);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 10; continue; }\n s.tmp_3 = r0 = s.arg1;\n r0 = (s.tmp_3 + 1);\n s.arg1 = (r0);\n s.tmp_4 = msgpack_tagFormat__P109_mk(s);\n r0 = pxsim.BufferMethods.getByte(s.arg0, s.tmp_3);\n s.tmp_4.arg0 = r0;\n s.pc = 12; return s.tmp_4;\n case 12:\n r0 = s.retval;\n s.fmt___4065 = (r0);\n r0 = (s.fmt___4065 === null);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 6; continue; }\n s.tmp_1 = r0 = s.arg0;\n r0 = (s.arg1 - 1);\n s.tmp_2 = r0;\n r0 = pxsim.BufferMethods.getNumber(s.tmp_1, 6, s.tmp_2);\n s.v___4073 = (r0);\n r0 = (-31 <= s.v___4073);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 2; continue; }\n r0 = s.tmp_0;\n { step = 3; continue; }\n case 2:\n r0 = (s.v___4073 <= 127);\n case 3:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 4; continue; }\n r0 = pxsim_Array__push(s.res___4059, s.v___4073);\n { step = 5; continue; }\n case 4:\n r0 = null;\n { step = 11; continue; }\n case 5:\n { step = 7; continue; }\n case 6:\n s.tmp_0 = r0 = s.res___4059;\n r0 = pxsim.BufferMethods.getNumber(s.arg0, s.fmt___4065, s.arg1);\n s.tmp_1 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_1);\n s.tmp_0 = r0 = s.arg1;\n s.tmp_2 = pins_sizeOf__P100_mk(s);\n s.tmp_2.arg0 = s.fmt___4065;\n s.pc = 13; return s.tmp_2;\n case 13:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n s.arg1 = (r0);\n case 7:\n case 8:\n r0 = pxsim.BufferMethods.getByte(s.arg0, s.arg1);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 === 193);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 9; continue; }\n r0 = (s.arg1 + 1);\n s.arg1 = (r0);\n { step = 8; continue; }\n case 9:\n { step = 1; continue; }\n case 10:\n r0 = s.res___4059;\n case 11:\n return leave(s, r0)\n default: oops()\n} } }\nmsgpack_unpackNumberArray__P111.info = {"start":6107,"length":669,"line":193,"column":4,"endLine":213,"endColumn":5,"fileName":"pxt_modules/base/buffer.ts","functionName":"unpackNumberArray","argumentNames":["buf","offset"]}\n\nfunction msgpack_unpackNumberArray__P111_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: msgpack_unpackNumberArray__P111, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n res___4059: undefined,\n fmt___4065: undefined,\n v___4073: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction msgpack_tagFormat__P109(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_pxtcore.switch_eq(203, s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = pxsim_pxtcore.switch_eq(204, s.tmp_0);\n if (r0) { step = 2; continue; }\n r0 = pxsim_pxtcore.switch_eq(205, s.tmp_0);\n if (r0) { step = 3; continue; }\n r0 = pxsim_pxtcore.switch_eq(206, s.tmp_0);\n if (r0) { step = 4; continue; }\n r0 = pxsim_pxtcore.switch_eq(208, s.tmp_0);\n if (r0) { step = 5; continue; }\n r0 = pxsim_pxtcore.switch_eq(209, s.tmp_0);\n if (r0) { step = 6; continue; }\n r0 = pxsim_pxtcore.switch_eq(210, s.tmp_0);\n if (r0) { step = 7; continue; }\n r0 = s.tmp_0;\n { step = 8; continue; }\n case 1:\n r0 = 16;\n { step = 9; continue; }\n case 2:\n r0 = 7;\n { step = 9; continue; }\n case 3:\n r0 = 9;\n { step = 9; continue; }\n case 4:\n r0 = 12;\n { step = 9; continue; }\n case 5:\n r0 = 6;\n { step = 9; continue; }\n case 6:\n r0 = 8;\n { step = 9; continue; }\n case 7:\n r0 = 10;\n { step = 9; continue; }\n case 8:\n r0 = null;\n { step = 9; continue; }\n r0 = undefined;\n case 9:\n return leave(s, r0)\n default: oops()\n} } }\nmsgpack_tagFormat__P109.info = {"start":4602,"length":481,"line":144,"column":4,"endLine":156,"endColumn":5,"fileName":"pxt_modules/base/buffer.ts","functionName":"tagFormat","argumentNames":["tag"]}\n\nfunction msgpack_tagFormat__P109_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: msgpack_tagFormat__P109, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction pins_sizeOf__P100(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_pxtcore.switch_eq(1, s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = pxsim_pxtcore.switch_eq(2, s.tmp_0);\n if (r0) { step = 2; continue; }\n r0 = pxsim_pxtcore.switch_eq(6, s.tmp_0);\n if (r0) { step = 3; continue; }\n r0 = pxsim_pxtcore.switch_eq(7, s.tmp_0);\n if (r0) { step = 4; continue; }\n r0 = pxsim_pxtcore.switch_eq(3, s.tmp_0);\n if (r0) { step = 5; continue; }\n r0 = pxsim_pxtcore.switch_eq(4, s.tmp_0);\n if (r0) { step = 6; continue; }\n r0 = pxsim_pxtcore.switch_eq(8, s.tmp_0);\n if (r0) { step = 7; continue; }\n r0 = pxsim_pxtcore.switch_eq(9, s.tmp_0);\n if (r0) { step = 8; continue; }\n r0 = pxsim_pxtcore.switch_eq(5, s.tmp_0);\n if (r0) { step = 9; continue; }\n r0 = pxsim_pxtcore.switch_eq(10, s.tmp_0);\n if (r0) { step = 10; continue; }\n r0 = pxsim_pxtcore.switch_eq(12, s.tmp_0);\n if (r0) { step = 11; continue; }\n r0 = pxsim_pxtcore.switch_eq(11, s.tmp_0);\n if (r0) { step = 12; continue; }\n r0 = pxsim_pxtcore.switch_eq(15, s.tmp_0);\n if (r0) { step = 13; continue; }\n r0 = pxsim_pxtcore.switch_eq(13, s.tmp_0);\n if (r0) { step = 14; continue; }\n r0 = pxsim_pxtcore.switch_eq(16, s.tmp_0);\n if (r0) { step = 15; continue; }\n r0 = pxsim_pxtcore.switch_eq(14, s.tmp_0);\n if (r0) { step = 16; continue; }\n r0 = s.tmp_0;\n { step = 17; continue; }\n case 1:\n case 2:\n case 3:\n case 4:\n r0 = 1;\n { step = 18; continue; }\n case 5:\n case 6:\n case 7:\n case 8:\n r0 = 2;\n { step = 18; continue; }\n case 9:\n case 10:\n case 11:\n case 12:\n case 13:\n case 14:\n r0 = 4;\n { step = 18; continue; }\n case 15:\n case 16:\n r0 = 8;\n { step = 18; continue; }\n case 17:\n r0 = 0;\n case 18:\n return leave(s, r0)\n default: oops()\n} } }\npins_sizeOf__P100.info = {"start":102,"length":844,"line":5,"column":4,"endLine":29,"endColumn":5,"fileName":"pxt_modules/base/buffer.ts","functionName":"sizeOf","argumentNames":["format"]}\n\nfunction pins_sizeOf__P100_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: pins_sizeOf__P100, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction info_saveHighScore__P797(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.hs___3879 = undefined;\n s.curr___3895 = undefined;\n r0 = pxsim_numops_toBoolDecr(globals.players___746);\n if (!r0) { step = 5; continue; }\n r0 = pxsim_pxtrt.mklocRef();\n s.hs___3879 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.hs___3879, 0);\n r0 = pxsim_pxtcore_mkAction(1, inline__P3888);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.hs___3879);\n s.tmp_1 = helpers_arrayForEach__P47_mk(s);\n s.tmp_2 = helpers_arrayFilter__P48_mk(s);\n s.tmp_2.arg0 = globals.players___746;\n s.tmp_2.arg1 = inline__P3883;\n s.pc = 8; return s.tmp_2;\n case 8:\n r0 = s.retval;\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = s.tmp_0;\n s.pc = 7; return s.tmp_1;\n case 7:\n r0 = s.retval;\n s.tmp_0 = settings_readNumber__P500_mk(s);\n s.tmp_0.arg0 = "high-score";\n s.pc = 9; return s.tmp_0;\n case 9:\n r0 = s.retval;\n s.curr___3895 = (r0);\n r0 = (s.curr___3895 == null);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = pxsim_pxtrt_ldlocRef(s.hs___3879);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > s.curr___3895);\n case 2:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 3; continue; }\n s.tmp_3 = settings_writeNumber__P496_mk(s);\n s.tmp_3.arg0 = "high-score";\n r0 = pxsim_pxtrt_ldlocRef(s.hs___3879);\n s.tmp_3.arg1 = r0;\n s.pc = 10; return s.tmp_3;\n case 10:\n r0 = s.retval;\n case 3:\n case 4:\n case 5:\n case 6:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_saveHighScore__P797.info = {"start":6212,"length":383,"line":205,"column":4,"endLine":215,"endColumn":5,"fileName":"pxt_modules/game/info.ts","functionName":"saveHighScore","argumentNames":[]}\n\nfunction info_saveHighScore__P797_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_saveHighScore__P797, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n hs___3879: undefined,\n curr___3895: undefined,\n} }\n\n\n\n\n\nfunction inline__P3883(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n s.tmp_1 = info_PlayerInfo_hasScore__P830_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n case 2:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = s.tmp_2;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P3883.info = {"start":6337,"length":22,"line":209,"column":24,"endLine":209,"endColumn":46,"fileName":"pxt_modules/game/info.ts","functionName":"inline","argumentNames":["p"]}\n\nfunction inline__P3883_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P3883, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P3888(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = r0 = s.caps[0];\n s.tmp_2 = Math_max__P61_mk(s);\n r0 = pxsim_pxtrt_ldlocRef(s.caps[0]);\n s.tmp_2.arg0 = r0;\n s.tmp_3 = info_PlayerInfo_score__P827_mk(s);\n s.tmp_3.arg0 = s.arg0;\n s.pc = 2; return s.tmp_3;\n case 2:\n r0 = s.retval;\n s.tmp_2.arg1 = r0;\n s.pc = 1; return s.tmp_2;\n case 1:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1);\n r0 = s.tmp_1;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P3888.info = {"start":6386,"length":33,"line":210,"column":25,"endLine":210,"endColumn":58,"fileName":"pxt_modules/game/info.ts","functionName":"inline","argumentNames":["p"]}\n\nfunction inline__P3888_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P3888, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction settings_writeNumber__P496(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_Array__mk();\n s.tmp_0 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.arg1);\n s.tmp_1 = settings_writeBuffer__P494_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.tmp_2 = msgpack_packNumberArray__P112_mk(s);\n s.tmp_2.arg0 = s.tmp_0;\n s.pc = 2; return s.tmp_2;\n case 2:\n r0 = s.retval;\n s.tmp_1.arg1 = r0;\n s.pc = 1; return s.tmp_1;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsettings_writeNumber__P496.info = {"start":1942,"length":122,"line":77,"column":4,"endLine":79,"endColumn":5,"fileName":"pxt_modules/settings/settings.ts","functionName":"writeNumber","argumentNames":["key","value"]}\n\nfunction settings_writeNumber__P496_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: settings_writeNumber__P496, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction settings_writeBuffer__P494(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim.settings._set(s.arg0, s.arg1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim.settings._userClean();\n r0 = pxsim_pxtrt.panic(920);\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsettings_writeBuffer__P494.info = {"start":1393,"length":290,"line":58,"column":4,"endLine":65,"endColumn":5,"fileName":"pxt_modules/settings/settings.ts","functionName":"writeBuffer","argumentNames":["key","value"]}\n\nfunction settings_writeBuffer__P494_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: settings_writeBuffer__P494, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction msgpack_packNumberArray__P112(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.off___3912 = undefined;\n s.n___3914 = undefined;\n s.unnamed40___U2 = undefined;\n s.unnamed41___U3 = undefined;\n s.buf___3923 = undefined;\n s.n___3929 = undefined;\n s.unnamed42___U6 = undefined;\n s.unnamed43___U7 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.off___3912 = (0);\n s.n___3914 = (undefined);\n s.n___3914 = (undefined);\n s.unnamed40___U2 = (s.arg0);\n s.unnamed41___U3 = (0);\n case 1:\n s.tmp_0 = r0 = s.unnamed41___U3;\n r0 = pxsim_Array__length(s.unnamed40___U2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 2; continue; }\n r0 = pxsim_Array__getAt(s.unnamed40___U2, s.unnamed41___U3);\n s.n___3914 = (r0);\n s.tmp_2 = r0 = s.off___3912;\n s.tmp_4 = msgpack_packNumberCore__P110_mk(s);\n s.tmp_4.arg0 = null;\n s.tmp_4.arg1 = s.off___3912;\n s.tmp_4.arg2 = s.n___3914;\n s.pc = 5; return s.tmp_4;\n case 5:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_2 + s.tmp_3);\n s.off___3912 = (r0);\n r0 = (s.unnamed41___U3 + 1);\n s.unnamed41___U3 = (r0);\n { step = 1; continue; }\n case 2:\n s.unnamed40___U2 = (undefined);\n r0 = pxsim.control.createBuffer(s.off___3912);\n s.buf___3923 = (r0);\n s.off___3912 = (0);\n s.n___3929 = (undefined);\n s.n___3929 = (undefined);\n s.unnamed42___U6 = (s.arg0);\n s.unnamed43___U7 = (0);\n case 3:\n s.tmp_0 = r0 = s.unnamed43___U7;\n r0 = pxsim_Array__length(s.unnamed42___U6);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 4; continue; }\n r0 = pxsim_Array__getAt(s.unnamed42___U6, s.unnamed43___U7);\n s.n___3929 = (r0);\n s.tmp_2 = r0 = s.off___3912;\n s.tmp_4 = msgpack_packNumberCore__P110_mk(s);\n s.tmp_4.arg0 = s.buf___3923;\n s.tmp_4.arg1 = s.off___3912;\n s.tmp_4.arg2 = s.n___3929;\n s.pc = 6; return s.tmp_4;\n case 6:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_2 + s.tmp_3);\n s.off___3912 = (r0);\n r0 = (s.unnamed43___U7 + 1);\n s.unnamed43___U7 = (r0);\n { step = 3; continue; }\n case 4:\n s.unnamed42___U6 = (undefined);\n r0 = s.buf___3923;\n return leave(s, r0)\n default: oops()\n} } }\nmsgpack_packNumberArray__P112.info = {"start":6884,"length":337,"line":219,"column":4,"endLine":230,"endColumn":5,"fileName":"pxt_modules/base/buffer.ts","functionName":"packNumberArray","argumentNames":["nums"]}\n\nfunction msgpack_packNumberArray__P112_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: msgpack_packNumberArray__P112, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n off___3912: undefined,\n n___3914: undefined,\n unnamed40___U2: undefined,\n unnamed41___U3: undefined,\n buf___3923: undefined,\n n___3929: undefined,\n unnamed42___U6: undefined,\n unnamed43___U7: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction msgpack_packNumberCore__P110(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tag___3942 = undefined;\n s.fmt___3970 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n s.tag___3942 = (203);\n s.tmp_1 = r0 = s.arg2;\n r0 = (s.arg2 << 0);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 == s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n s.tmp_3 = r0 = s.arg2;\n r0 = (s.arg2 >>> 0);\n s.tmp_4 = r0;\n r0 = (s.tmp_3 == s.tmp_4);\n case 2:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_5);\n if (!r0) { step = 19; continue; }\n r0 = (-31 <= s.arg2);\n s.tmp_6 = r0;\n r0 = pxsim_numops_toBool(s.tmp_6);\n if (r0) { step = 3; continue; }\n r0 = s.tmp_6;\n { step = 4; continue; }\n case 3:\n r0 = (s.arg2 <= 127);\n case 4:\n // jmp value (already in r0)\n s.tmp_7 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_7);\n if (!r0) { step = 7; continue; }\n r0 = pxsim_numops_toBoolDecr(s.arg0);\n if (!r0) { step = 5; continue; }\n r0 = pxsim.BufferMethods.setByte(s.arg0, s.arg1, s.arg2);\n case 5:\n case 6:\n r0 = 1;\n { step = 23; continue; }\n { step = 18; continue; }\n case 7:\n r0 = (0 <= s.arg2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 12; continue; }\n r0 = (s.arg2 <= 255);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 8; continue; }\n s.tag___3942 = (204);\n { step = 11; continue; }\n case 8:\n r0 = (s.arg2 <= 65535);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 9; continue; }\n s.tag___3942 = (205);\n { step = 10; continue; }\n case 9:\n s.tag___3942 = (206);\n case 10:\n case 11:\n { step = 17; continue; }\n case 12:\n r0 = (-127 <= s.arg2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 13; continue; }\n s.tag___3942 = (208);\n { step = 16; continue; }\n case 13:\n r0 = (-32767 <= s.arg2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 14; continue; }\n s.tag___3942 = (209);\n { step = 15; continue; }\n case 14:\n s.tag___3942 = (210);\n case 15:\n case 16:\n case 17:\n case 18:\n case 19:\n case 20:\n s.tmp_0 = msgpack_tagFormat__P109_mk(s);\n s.tmp_0.arg0 = s.tag___3942;\n s.pc = 24; return s.tmp_0;\n case 24:\n r0 = s.retval;\n s.fmt___3970 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.arg0);\n if (!r0) { step = 21; continue; }\n r0 = pxsim.BufferMethods.setByte(s.arg0, s.arg1, s.tag___3942);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_1 = r0 = s.fmt___3970;\n r0 = (s.arg1 + 1);\n s.tmp_2 = r0;\n r0 = pxsim.BufferMethods.setNumber(s.tmp_0, s.tmp_1, s.tmp_2, s.arg2);\n case 21:\n case 22:\n s.tmp_1 = pins_sizeOf__P100_mk(s);\n s.tmp_1.arg0 = s.fmt___3970;\n s.pc = 25; return s.tmp_1;\n case 25:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = (s.tmp_0 + 1);\n case 23:\n return leave(s, r0)\n default: oops()\n} } }\nmsgpack_packNumberCore__P110.info = {"start":5089,"length":951,"line":158,"column":4,"endLine":188,"endColumn":5,"fileName":"pxt_modules/base/buffer.ts","functionName":"packNumberCore","argumentNames":["buf","offset","num"]}\n\nfunction msgpack_packNumberCore__P110_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: msgpack_packNumberCore__P110, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tag___3942: undefined,\n fmt___3970: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction music_Melody_play__P357(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, music_Melody__C349_VT)) failedCast(r0);\n s.tmp_0 = music_Melody_playCore__P355_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.tmp_0.arg2 = false;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nmusic_Melody_play__P357.info = {"start":8825,"length":71,"line":277,"column":8,"endLine":279,"endColumn":9,"fileName":"pxt_modules/mixer/melody.ts","functionName":"play","argumentNames":["this","volume"]}\n\nfunction music_Melody_play__P357_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_Melody_play__P357, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction music_Melody_playCore__P355(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.p___3352 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, music_Melody__C349_VT)) failedCast(r0);\n s.tmp_0 = music_Melody_stop__P352_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkClassInstance(music_MelodyPlayer__C363_VT);\n s.tmp_0 = r0;\n s.tmp_1 = music_MelodyPlayer_constructor__P366_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = s.arg0;\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n r0 = (s.arg0).fields["_player"] = (s.tmp_0);\n s.p___3352 = (s.tmp_0);\n s.tmp_0 = music_Melody_registerMelody__P353_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkAction(4, inline__P3361);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.p___3352);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 2, s.arg1);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 3, s.arg2);\n r0 = pxsim.control.runInParallel(s.tmp_0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nmusic_Melody_playCore__P355.info = {"start":7649,"length":434,"line":241,"column":8,"endLine":253,"endColumn":9,"fileName":"pxt_modules/mixer/melody.ts","functionName":"playCore","argumentNames":["this","volume","loop"]}\n\nfunction music_Melody_playCore__P355_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_Melody_playCore__P355, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n p___3352: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction inline__P3361(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n case 1:\n r0 = s.caps[0].fields["_player"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 == s.caps[1]);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 4; continue; }\n s.tmp_2 = music_MelodyPlayer_play__P365_mk(s);\n s.tmp_2.arg0 = s.caps[1];\n s.tmp_2.arg1 = s.caps[2];\n s.pc = 5; return s.tmp_2;\n case 5:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(s.caps[3]);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n { step = 4; continue; }\n case 2:\n case 3:\n { step = 1; continue; }\n case 4:\n s.tmp_2 = music_Melody_unregisterMelody__P354_mk(s);\n s.tmp_2.arg0 = s.caps[0];\n s.pc = 6; return s.tmp_2;\n case 6:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P3361.info = {"start":7852,"length":220,"line":245,"column":34,"endLine":252,"endColumn":13,"fileName":"pxt_modules/mixer/melody.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P3361_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P3361, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n} }\n\n\n\n\n\nfunction music_MelodyPlayer_constructor__P366(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, music_MelodyPlayer__C363_VT)) failedCast(r0);\n r0 = (s.arg0).fields["melody"] = (s.arg1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nmusic_MelodyPlayer_constructor__P366.info = {"start":10674,"length":62,"line":328,"column":8,"endLine":330,"endColumn":9,"fileName":"pxt_modules/mixer/melody.ts","functionName":"inline","argumentNames":["this","m"]}\n\nfunction music_MelodyPlayer_constructor__P366_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_MelodyPlayer_constructor__P366, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction music_MelodyPlayer_play__P365(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.notes___3385 = undefined;\n s.pos___3389 = undefined;\n s.duration___3390 = undefined;\n s.octave___3391 = undefined;\n s.tempo___3392 = undefined;\n s.hz___3393 = undefined;\n s.endHz___3394 = undefined;\n s.ms___3396 = undefined;\n s.timePos___3397 = undefined;\n s.startTime___3398 = undefined;\n s.now___3401 = undefined;\n s.envA___3402 = undefined;\n s.envD___3403 = undefined;\n s.envS___3404 = undefined;\n s.envR___3405 = undefined;\n s.soundWave___3406 = undefined;\n s.sndInstr___3407 = undefined;\n s.sndInstrPtr___3411 = undefined;\n s.addForm___3412 = undefined;\n s.scanNextWord___3461 = undefined;\n s.token___3505 = undefined;\n s.tokenKind___3506 = undefined;\n s.consumeToken___3509 = undefined;\n s.currNote___3580 = undefined;\n s.prevNote___3582 = undefined;\n s.timeLeft___3584 = undefined;\n s.note___3597 = undefined;\n s.i___3601 = undefined;\n s.noteChar___3606 = undefined;\n s.keyNumber___3678 = undefined;\n s.currMs___3688 = undefined;\n s.beat___3691 = undefined;\n s.timeLeft___3738 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, music_MelodyPlayer__C363_VT)) failedCast(r0);\n r0 = pxsim_pxtrt.mklocRef();\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.arg1);\n s.arg1 = (s.tmp_0);\n r0 = s.arg0.fields["melody"];\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 1; continue; }\n { step = 59; continue; }\n case 1:\n case 2:\n s.tmp_4 = r0 = s.arg1;\n s.tmp_6 = Math_clamp__P58_mk(s);\n s.tmp_6.arg0 = 0;\n s.tmp_6.arg1 = 255;\n r0 = pxsim_pxtrt_ldlocRef(s.arg1);\n s.tmp_8 = r0;\n s.tmp_10 = music_volume__P342_mk(s);\n s.pc = 61; return s.tmp_10;\n case 61:\n r0 = s.retval;\n s.tmp_9 = r0;\n r0 = (s.tmp_8 * s.tmp_9);\n s.tmp_7 = r0;\n r0 = (s.tmp_7 >> 8);\n s.tmp_6.arg2 = r0;\n s.pc = 60; return s.tmp_6;\n case 60:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_4, s.tmp_5);\n r0 = s.arg0.fields["melody"];\n r0 = r0.fields["_text"];\n s.notes___3385 = (r0);\n r0 = pxsim_pxtrt.mklocRef();\n s.pos___3389 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.pos___3389, 0);\n r0 = pxsim_pxtrt.mklocRef();\n s.duration___3390 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.duration___3390, 4);\n r0 = pxsim_pxtrt.mklocRef();\n s.octave___3391 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.octave___3391, 4);\n r0 = pxsim_pxtrt.mklocRef();\n s.tempo___3392 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.tempo___3392, 120);\n r0 = pxsim_pxtrt.mklocRef();\n s.hz___3393 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.hz___3393, 0);\n r0 = pxsim_pxtrt.mklocRef();\n s.endHz___3394 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.endHz___3394, -1);\n r0 = pxsim_pxtrt.mklocRef();\n s.ms___3396 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.ms___3396, 0);\n s.timePos___3397 = (0);\n r0 = pxsim.control.millis();\n s.startTime___3398 = (r0);\n s.now___3401 = (0);\n r0 = pxsim_pxtrt.mklocRef();\n s.envA___3402 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.envA___3402, 0);\n r0 = pxsim_pxtrt.mklocRef();\n s.envD___3403 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.envD___3403, 0);\n r0 = pxsim_pxtrt.mklocRef();\n s.envS___3404 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.envS___3404, 255);\n r0 = pxsim_pxtrt.mklocRef();\n s.envR___3405 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.envR___3405, 0);\n r0 = pxsim_pxtrt.mklocRef();\n s.soundWave___3406 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.soundWave___3406, 1);\n r0 = (5 * 12);\n s.tmp_0 = r0;\n r0 = pxsim.control.createBuffer(s.tmp_0);\n s.sndInstr___3407 = (r0);\n r0 = pxsim_pxtrt.mklocRef();\n s.sndInstrPtr___3411 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.sndInstrPtr___3411, 0);\n r0 = pxsim_pxtcore_mkAction(10, inline__P3413);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.hz___3393);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.endHz___3394);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 2, s.ms___3396);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 3, s.duration___3390);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 4, s.tempo___3392);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 5, s.envR___3405);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 6, s.sndInstrPtr___3411);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 7, s.sndInstr___3407);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 8, s.soundWave___3406);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 9, s.arg1);\n s.addForm___3412 = (s.tmp_0);\n r0 = pxsim_pxtcore_mkAction(3, inline__P3462);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.pos___3389);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 2, s.notes___3385);\n s.scanNextWord___3461 = (s.tmp_0);\n r0 = pxsim_pxtrt.mklocRef();\n s.token___3505 = (r0);\n s.tmp_0 = r0 = s.token___3505;\n r0 = pxsim_String_.mkEmpty();\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1);\n r0 = pxsim_pxtrt.mklocRef();\n s.tokenKind___3506 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.tokenKind___3506, 0);\n r0 = pxsim_pxtcore_mkAction(13, inline__P3510);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.token___3505);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.tokenKind___3506);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 2, s.octave___3391);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 3, s.duration___3390);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 4, s.ms___3396);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 5, s.tempo___3392);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 6, s.hz___3393);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 7, s.soundWave___3406);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 8, s.envA___3402);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 9, s.envD___3403);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 10, s.envS___3404);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 11, s.envR___3405);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 12, s.endHz___3394);\n s.consumeToken___3509 = (s.tmp_0);\n case 3:\n r0 = pxsim_numops_toBoolDecr(true);\n if (!r0) { step = 58; continue; }\n s.tmp_0 = lambda_1_mk(s);\n s.tmp_0.argL = s.scanNextWord___3461;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 62; return s.tmp_0;\n case 62:\n r0 = s.retval;\n s.currNote___3580 = (r0);\n s.prevNote___3582 = (false);\n r0 = pxsim_numops_toBoolDecr(s.currNote___3580);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 8; continue; }\n r0 = (s.timePos___3397 - s.now___3401);\n s.timeLeft___3584 = (r0);\n r0 = (s.timeLeft___3584 > 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 4; continue; }\n s.tmp_1 = pause__P241_mk(s);\n s.tmp_1.arg0 = s.timeLeft___3584;\n s.pc = 63; return s.tmp_1;\n case 63:\n r0 = s.retval;\n case 4:\n case 5:\n r0 = s.arg0.fields["onPlayFinished"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 6; continue; }\n s.tmp_1 = lambda_1_mk(s);\n r0 = s.arg0.fields["onPlayFinished"];\n s.tmp_1.argL = r0;\n setupLambda(s.tmp_1, s.tmp_1.argL);\n s.pc = 64; return s.tmp_1;\n case 64:\n r0 = s.retval;\n case 6:\n case 7:\n { step = 59; continue; }\n case 8:\n case 9:\n r0 = pxsim_pxtrt_stlocRef(s.hz___3393, -1);\n s.note___3597 = (0);\n s.tmp_0 = r0 = s.token___3505;\n r0 = pxsim_String_.mkEmpty();\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1);\n r0 = pxsim_pxtrt_stlocRef(s.tokenKind___3506, 0);\n s.i___3601 = (0);\n case 10:\n s.tmp_1 = r0 = s.i___3601;\n r0 = pxsim_String_.length(s.currNote___3580);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 41; continue; }\n r0 = pxsim_String_.charAt(s.currNote___3580, s.i___3601);\n s.noteChar___3606 = (r0);\n s.tmp_0 = r0 = s.noteChar___3606;\n r0 = pxsim_pxtcore.switch_eq("c", s.tmp_0);\n if (r0) { step = 11; continue; }\n r0 = pxsim_pxtcore.switch_eq("C", s.tmp_0);\n if (r0) { step = 12; continue; }\n r0 = pxsim_pxtcore.switch_eq("d", s.tmp_0);\n if (r0) { step = 13; continue; }\n r0 = pxsim_pxtcore.switch_eq("D", s.tmp_0);\n if (r0) { step = 14; continue; }\n r0 = pxsim_pxtcore.switch_eq("e", s.tmp_0);\n if (r0) { step = 15; continue; }\n r0 = pxsim_pxtcore.switch_eq("E", s.tmp_0);\n if (r0) { step = 16; continue; }\n r0 = pxsim_pxtcore.switch_eq("f", s.tmp_0);\n if (r0) { step = 17; continue; }\n r0 = pxsim_pxtcore.switch_eq("F", s.tmp_0);\n if (r0) { step = 18; continue; }\n r0 = pxsim_pxtcore.switch_eq("g", s.tmp_0);\n if (r0) { step = 19; continue; }\n r0 = pxsim_pxtcore.switch_eq("G", s.tmp_0);\n if (r0) { step = 20; continue; }\n r0 = pxsim_pxtcore.switch_eq("a", s.tmp_0);\n if (r0) { step = 21; continue; }\n r0 = pxsim_pxtcore.switch_eq("A", s.tmp_0);\n if (r0) { step = 22; continue; }\n r0 = pxsim_pxtcore.switch_eq("B", s.tmp_0);\n if (r0) { step = 23; continue; }\n r0 = pxsim_pxtcore.switch_eq("r", s.tmp_0);\n if (r0) { step = 24; continue; }\n r0 = pxsim_pxtcore.switch_eq("R", s.tmp_0);\n if (r0) { step = 25; continue; }\n r0 = pxsim_pxtcore.switch_eq("#", s.tmp_0);\n if (r0) { step = 26; continue; }\n r0 = pxsim_pxtcore.switch_eq("b", s.tmp_0);\n if (r0) { step = 27; continue; }\n r0 = pxsim_pxtcore.switch_eq(",", s.tmp_0);\n if (r0) { step = 30; continue; }\n r0 = pxsim_pxtcore.switch_eq("!", s.tmp_0);\n if (r0) { step = 31; continue; }\n r0 = pxsim_pxtcore.switch_eq("@", s.tmp_0);\n if (r0) { step = 32; continue; }\n r0 = pxsim_pxtcore.switch_eq("~", s.tmp_0);\n if (r0) { step = 33; continue; }\n r0 = pxsim_pxtcore.switch_eq(":", s.tmp_0);\n if (r0) { step = 34; continue; }\n r0 = pxsim_pxtcore.switch_eq("-", s.tmp_0);\n if (r0) { step = 35; continue; }\n r0 = pxsim_pxtcore.switch_eq("^", s.tmp_0);\n if (r0) { step = 36; continue; }\n r0 = s.tmp_0;\n { step = 37; continue; }\n case 11:\n case 12:\n s.note___3597 = (1);\n s.prevNote___3582 = (true);\n { step = 40; continue; }\n case 13:\n case 14:\n s.note___3597 = (3);\n s.prevNote___3582 = (true);\n { step = 40; continue; }\n case 15:\n case 16:\n s.note___3597 = (5);\n s.prevNote___3582 = (true);\n { step = 40; continue; }\n case 17:\n case 18:\n s.note___3597 = (6);\n s.prevNote___3582 = (true);\n { step = 40; continue; }\n case 19:\n case 20:\n s.note___3597 = (8);\n s.prevNote___3582 = (true);\n { step = 40; continue; }\n case 21:\n case 22:\n s.note___3597 = (10);\n s.prevNote___3582 = (true);\n { step = 40; continue; }\n case 23:\n s.note___3597 = (12);\n s.prevNote___3582 = (true);\n { step = 40; continue; }\n case 24:\n case 25:\n r0 = pxsim_pxtrt_stlocRef(s.hz___3393, 0);\n s.prevNote___3582 = (false);\n { step = 40; continue; }\n case 26:\n r0 = (s.note___3597 + 1);\n s.note___3597 = (r0);\n s.prevNote___3582 = (false);\n { step = 40; continue; }\n case 27:\n r0 = pxsim_numops_toBoolDecr(s.prevNote___3582);\n if (!r0) { step = 28; continue; }\n r0 = (s.note___3597 - 1);\n s.note___3597 = (r0);\n { step = 29; continue; }\n case 28:\n s.note___3597 = (12);\n s.prevNote___3582 = (true);\n case 29:\n { step = 40; continue; }\n case 30:\n s.tmp_0 = lambda_1_mk(s);\n s.tmp_0.argL = s.consumeToken___3509;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 65; return s.tmp_0;\n case 65:\n r0 = s.retval;\n s.prevNote___3582 = (false);\n { step = 40; continue; }\n case 31:\n r0 = pxsim_pxtrt_stlocRef(s.tokenKind___3506, 4);\n s.prevNote___3582 = (false);\n { step = 40; continue; }\n case 32:\n s.tmp_0 = lambda_1_mk(s);\n s.tmp_0.argL = s.consumeToken___3509;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 66; return s.tmp_0;\n case 66:\n r0 = s.retval;\n r0 = pxsim_pxtrt_stlocRef(s.tokenKind___3506, 8);\n s.prevNote___3582 = (false);\n { step = 40; continue; }\n case 33:\n s.tmp_0 = lambda_1_mk(s);\n s.tmp_0.argL = s.consumeToken___3509;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 67; return s.tmp_0;\n case 67:\n r0 = s.retval;\n r0 = pxsim_pxtrt_stlocRef(s.tokenKind___3506, 7);\n s.prevNote___3582 = (false);\n { step = 40; continue; }\n case 34:\n s.tmp_0 = lambda_1_mk(s);\n s.tmp_0.argL = s.consumeToken___3509;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 68; return s.tmp_0;\n case 68:\n r0 = s.retval;\n r0 = pxsim_pxtrt_stlocRef(s.tokenKind___3506, 2);\n s.prevNote___3582 = (false);\n { step = 40; continue; }\n case 35:\n s.tmp_0 = lambda_1_mk(s);\n s.tmp_0.argL = s.consumeToken___3509;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 69; return s.tmp_0;\n case 69:\n r0 = s.retval;\n r0 = pxsim_pxtrt_stlocRef(s.tokenKind___3506, 3);\n s.prevNote___3582 = (false);\n { step = 40; continue; }\n case 36:\n s.tmp_0 = lambda_1_mk(s);\n s.tmp_0.argL = s.consumeToken___3509;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 70; return s.tmp_0;\n case 70:\n r0 = s.retval;\n r0 = pxsim_pxtrt_stlocRef(s.tokenKind___3506, 5);\n { step = 40; continue; }\n case 37:\n r0 = pxsim_pxtrt_ldlocRef(s.tokenKind___3506);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 == 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 38; continue; }\n r0 = pxsim_pxtrt_stlocRef(s.tokenKind___3506, 1);\n case 38:\n case 39:\n s.tmp_0 = r0 = s.token___3505;\n r0 = pxsim_pxtrt_ldlocRef(s.token___3505);\n s.tmp_3 = r0;\n if ((s.tmp_3) && (s.tmp_3).vtable) {\n setupResume(s, 71);\n pxsim_String__stringConv(s.tmp_3);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_3) + ""; }\n case 71:\n r0 = s.retval;\n s.tmp_2 = r0;\n if ((s.noteChar___3606) && (s.noteChar___3606).vtable) {\n setupResume(s, 72);\n pxsim_String__stringConv(s.noteChar___3606);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.noteChar___3606) + ""; }\n case 72:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = pxsim_String__concat(s.tmp_2, s.tmp_4);\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1);\n s.prevNote___3582 = (false);\n case 40:\n r0 = (s.i___3601 + 1);\n s.i___3601 = (r0);\n { step = 10; continue; }\n case 41:\n s.tmp_0 = lambda_1_mk(s);\n s.tmp_0.argL = s.consumeToken___3509;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 73; return s.tmp_0;\n case 73:\n r0 = s.retval;\n s.tmp_0 = r0 = s.note___3597;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 42; continue; }\n r0 = s.tmp_0;\n { step = 43; continue; }\n case 42:\n r0 = pxsim_pxtrt_ldlocRef(s.hz___3393);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 < 0);\n case 43:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 46; continue; }\n s.tmp_3 = r0 = s.note___3597;\n r0 = pxsim_pxtrt_ldlocRef(s.octave___3391);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 - 1);\n s.tmp_5 = r0;\n r0 = (12 * s.tmp_5);\n s.tmp_4 = r0;\n r0 = (s.tmp_3 + s.tmp_4);\n s.keyNumber___3678 = (r0);\n s.tmp_1 = r0 = globals.freqs___333;\n r0 = (s.keyNumber___3678 * 2);\n s.tmp_2 = r0;\n r0 = pxsim.BufferMethods.getNumber(s.tmp_1, 4, s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 44; continue; }\n r0 = s.tmp_0;\n { step = 45; continue; }\n case 44:\n r0 = 0;\n case 45:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.hz___3393, s.tmp_3);\n case 46:\n case 47:\n r0 = pxsim_pxtrt_ldlocRef(s.ms___3396);\n s.currMs___3688 = (r0);\n r0 = (s.currMs___3688 <= 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 48; continue; }\n r0 = pxsim_pxtrt_ldlocRef(s.tempo___3392);\n s.tmp_1 = r0;\n r0 = pxsim.Math_.idiv(15000, s.tmp_1);\n s.beat___3691 = (r0);\n r0 = pxsim_pxtrt_ldlocRef(s.duration___3390);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 * s.beat___3691);\n s.currMs___3688 = (r0);\n case 48:\n case 49:\n r0 = pxsim_pxtrt_ldlocRef(s.hz___3393);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 50; continue; }\n { step = 55; continue; }\n case 50:\n r0 = pxsim_pxtrt_ldlocRef(s.hz___3393);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 == 0);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 51; continue; }\n r0 = (s.timePos___3397 + s.currMs___3688);\n s.timePos___3397 = (r0);\n { step = 54; continue; }\n case 51:\n r0 = pxsim_pxtrt_ldlocRef(s.endHz___3394);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 52; continue; }\n s.tmp_2 = r0 = s.endHz___3394;\n r0 = pxsim_pxtrt_ldlocRef(s.hz___3393);\n s.tmp_3 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_2, s.tmp_3);\n case 52:\n case 53:\n r0 = pxsim_pxtrt_stlocRef(s.sndInstrPtr___3411, 0);\n s.tmp_0 = lambda_5_mk(s);\n s.tmp_0.argL = s.addForm___3412;\n r0 = pxsim_pxtrt_ldlocRef(s.envA___3402);\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = 0;\n s.tmp_0.arg2 = 255;\n s.tmp_0.arg3 = 0;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 74; return s.tmp_0;\n case 74:\n r0 = s.retval;\n s.tmp_0 = lambda_5_mk(s);\n s.tmp_0.argL = s.addForm___3412;\n r0 = pxsim_pxtrt_ldlocRef(s.envD___3403);\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = 255;\n r0 = pxsim_pxtrt_ldlocRef(s.envS___3404);\n s.tmp_0.arg2 = r0;\n r0 = pxsim_pxtrt_ldlocRef(s.envA___3402);\n s.tmp_0.arg3 = r0;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 75; return s.tmp_0;\n case 75:\n r0 = s.retval;\n s.tmp_0 = lambda_5_mk(s);\n s.tmp_0.argL = s.addForm___3412;\n s.tmp_1 = r0 = s.currMs___3688;\n r0 = pxsim_pxtrt_ldlocRef(s.envA___3402);\n s.tmp_3 = r0;\n r0 = pxsim_pxtrt_ldlocRef(s.envD___3403);\n s.tmp_4 = r0;\n r0 = (s.tmp_3 + s.tmp_4);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 - s.tmp_2);\n s.tmp_0.arg0 = r0;\n r0 = pxsim_pxtrt_ldlocRef(s.envS___3404);\n s.tmp_0.arg1 = r0;\n r0 = pxsim_pxtrt_ldlocRef(s.envS___3404);\n s.tmp_0.arg2 = r0;\n r0 = pxsim_pxtrt_ldlocRef(s.envD___3403);\n s.tmp_5 = r0;\n r0 = pxsim_pxtrt_ldlocRef(s.envA___3402);\n s.tmp_6 = r0;\n r0 = (s.tmp_5 + s.tmp_6);\n s.tmp_0.arg3 = r0;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 76; return s.tmp_0;\n case 76:\n r0 = s.retval;\n s.tmp_0 = lambda_5_mk(s);\n s.tmp_0.argL = s.addForm___3412;\n r0 = pxsim_pxtrt_ldlocRef(s.envR___3405);\n s.tmp_0.arg0 = r0;\n r0 = pxsim_pxtrt_ldlocRef(s.envS___3404);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = 0;\n s.tmp_0.arg3 = s.currMs___3688;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 77; return s.tmp_0;\n case 77:\n r0 = s.retval;\n r0 = (s.timePos___3397 - s.now___3401);\n s.tmp_0 = r0;\n s.tmp_2 = r0 = s.sndInstr___3407;\n r0 = pxsim_pxtrt_ldlocRef(s.sndInstrPtr___3411);\n s.tmp_3 = r0;\n r0 = pxsim.BufferMethods.slice(s.tmp_2, 0, s.tmp_3);\n s.tmp_1 = r0;\n r0 = pxsim.music.queuePlayInstructions(s.tmp_0, s.tmp_1);\n r0 = pxsim_pxtrt_stlocRef(s.endHz___3394, -1);\n r0 = (s.timePos___3397 + s.currMs___3688);\n s.timePos___3397 = (r0);\n case 54:\n case 55:\n r0 = (s.timePos___3397 - s.now___3401);\n s.timeLeft___3738 = (r0);\n r0 = (s.timeLeft___3738 > 200);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 56; continue; }\n s.tmp_1 = pause__P241_mk(s);\n r0 = (s.timeLeft___3738 - 100);\n s.tmp_1.arg0 = r0;\n s.pc = 78; return s.tmp_1;\n case 78:\n r0 = s.retval;\n r0 = pxsim.control.millis();\n s.tmp_0 = r0;\n r0 = (s.tmp_0 - s.startTime___3398);\n s.now___3401 = (r0);\n case 56:\n case 57:\n { step = 3; continue; }\n case 58:\n case 59:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nmusic_MelodyPlayer_play__P365.info = {"start":10805,"length":9001,"line":336,"column":8,"endLine":567,"endColumn":9,"fileName":"pxt_modules/mixer/melody.ts","functionName":"play","argumentNames":["this","volume"]}\n\nfunction music_MelodyPlayer_play__P365_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_MelodyPlayer_play__P365, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n notes___3385: undefined,\n pos___3389: undefined,\n duration___3390: undefined,\n octave___3391: undefined,\n tempo___3392: undefined,\n hz___3393: undefined,\n endHz___3394: undefined,\n ms___3396: undefined,\n timePos___3397: undefined,\n startTime___3398: undefined,\n now___3401: undefined,\n envA___3402: undefined,\n envD___3403: undefined,\n envS___3404: undefined,\n envR___3405: undefined,\n soundWave___3406: undefined,\n sndInstr___3407: undefined,\n sndInstrPtr___3411: undefined,\n addForm___3412: undefined,\n scanNextWord___3461: undefined,\n token___3505: undefined,\n tokenKind___3506: undefined,\n consumeToken___3509: undefined,\n currNote___3580: undefined,\n prevNote___3582: undefined,\n timeLeft___3584: undefined,\n note___3597: undefined,\n i___3601: undefined,\n noteChar___3606: undefined,\n keyNumber___3678: undefined,\n currMs___3688: undefined,\n beat___3691: undefined,\n timeLeft___3738: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction inline__P3413(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.freqStart___3418 = undefined;\n s.freqEnd___3420 = undefined;\n s.envelopeWidth___3422 = undefined;\n s.slope___3435 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_pxtrt_ldlocRef(s.caps[0]);\n s.freqStart___3418 = (r0);\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.freqEnd___3420 = (r0);\n r0 = pxsim_pxtrt_ldlocRef(s.caps[2]);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_pxtrt_ldlocRef(s.caps[2]);\n { step = 2; continue; }\n case 1:\n r0 = pxsim_pxtrt_ldlocRef(s.caps[3]);\n s.tmp_3 = r0;\n r0 = pxsim_pxtrt_ldlocRef(s.caps[4]);\n s.tmp_5 = r0;\n r0 = pxsim.Math_.idiv(15000, s.tmp_5);\n s.tmp_4 = r0;\n r0 = (s.tmp_3 * s.tmp_4);\n s.tmp_2 = r0;\n r0 = pxsim_pxtrt_ldlocRef(s.caps[5]);\n s.tmp_6 = r0;\n r0 = (s.tmp_2 + s.tmp_6);\n case 2:\n // jmp value (already in r0)\n s.tmp_7 = r0;\n s.envelopeWidth___3422 = (s.tmp_7);\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_ldlocRef(s.caps[0]);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 != s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 3; continue; }\n r0 = s.tmp_0;\n { step = 4; continue; }\n case 3:\n r0 = (s.envelopeWidth___3422 != 0);\n case 4:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 5; continue; }\n r0 = (s.freqEnd___3420 - s.freqStart___3418);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 / s.envelopeWidth___3422);\n s.slope___3435 = (r0);\n r0 = pxsim_pxtrt_ldlocRef(s.caps[0]);\n s.tmp_0 = r0;\n r0 = (s.slope___3435 * s.arg3);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n s.freqStart___3418 = (r0);\n r0 = pxsim_pxtrt_ldlocRef(s.caps[0]);\n s.tmp_0 = r0;\n s.tmp_2 = r0 = s.slope___3435;\n r0 = (s.arg3 + s.arg0);\n s.tmp_3 = r0;\n r0 = (s.tmp_2 * s.tmp_3);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n s.freqEnd___3420 = (r0);\n case 5:\n case 6:\n s.tmp_0 = r0 = s.caps[6];\n s.tmp_2 = music_addNote__P362_mk(s);\n s.tmp_2.arg0 = s.caps[7];\n r0 = pxsim_pxtrt_ldlocRef(s.caps[6]);\n s.tmp_2.arg1 = r0;\n s.tmp_2.arg2 = s.arg0;\n s.tmp_2.arg3 = s.arg1;\n s.tmp_2.arg4 = s.arg2;\n r0 = pxsim_pxtrt_ldlocRef(s.caps[8]);\n s.tmp_2.arg5 = r0;\n s.tmp_2.arg6 = s.freqStart___3418;\n r0 = pxsim_pxtrt_ldlocRef(s.caps[9]);\n s.tmp_2.arg7 = r0;\n s.tmp_2.arg8 = s.freqEnd___3420;\n s.pc = 7; return s.tmp_2;\n case 7:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P3413.info = {"start":11613,"length":643,"line":362,"column":28,"endLine":373,"endColumn":13,"fileName":"pxt_modules/mixer/melody.ts","functionName":"inline","argumentNames":["formDuration","beg","end","msOff"]}\n\nfunction inline__P3413_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P3413, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n freqStart___3418: undefined,\n freqEnd___3420: undefined,\n envelopeWidth___3422: undefined,\n slope___3435: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction inline__P3462(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.c___3469 = undefined;\n s.note___3481 = undefined;\n s.c___3486 = undefined;\n r0 = s.caps[0].fields["melody"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_String_.mkEmpty();\n { step = 23; continue; }\n case 1:\n case 2:\n case 3:\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_4 = r0;\n r0 = pxsim_String_.length(s.caps[2]);\n s.tmp_5 = r0;\n r0 = (s.tmp_4 < s.tmp_5);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 12; continue; }\n s.tmp_6 = r0 = s.caps[2];\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_7 = r0;\n r0 = pxsim_String_.charAt(s.tmp_6, s.tmp_7);\n s.c___3469 = (r0);\n r0 = (s.c___3469 != " ");\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 4; continue; }\n r0 = s.tmp_0;\n { step = 5; continue; }\n case 4:\n r0 = (s.c___3469 != "\\r");\n case 5:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBool(s.tmp_1);\n if (r0) { step = 6; continue; }\n r0 = s.tmp_1;\n { step = 7; continue; }\n case 6:\n r0 = (s.c___3469 != "\\n");\n case 7:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBool(s.tmp_2);\n if (r0) { step = 8; continue; }\n r0 = s.tmp_2;\n { step = 9; continue; }\n case 8:\n r0 = (s.c___3469 != "\\t");\n case 9:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 10; continue; }\n { step = 12; continue; }\n case 10:\n case 11:\n s.tmp_4 = r0 = s.caps[1];\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 + 1);\n s.tmp_5 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_4, s.tmp_5);\n { step = 3; continue; }\n case 12:\n r0 = pxsim_String_.mkEmpty();\n s.note___3481 = (r0);\n case 13:\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_1 = r0;\n r0 = pxsim_String_.length(s.caps[2]);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 22; continue; }\n s.tmp_3 = r0 = s.caps[2];\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_4 = r0;\n r0 = pxsim_String_.charAt(s.tmp_3, s.tmp_4);\n s.c___3486 = (r0);\n r0 = (s.c___3486 == " ");\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 14; continue; }\n r0 = s.tmp_0;\n { step = 15; continue; }\n case 14:\n r0 = (s.c___3486 == "\\r");\n case 15:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBool(s.tmp_1);\n if (!r0) { step = 16; continue; }\n r0 = s.tmp_1;\n { step = 17; continue; }\n case 16:\n r0 = (s.c___3486 == "\\n");\n case 17:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBool(s.tmp_2);\n if (!r0) { step = 18; continue; }\n r0 = s.tmp_2;\n { step = 19; continue; }\n case 18:\n r0 = (s.c___3486 == "\\t");\n case 19:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 20; continue; }\n { step = 22; continue; }\n case 20:\n case 21:\n if ((s.note___3481) && (s.note___3481).vtable) {\n setupResume(s, 24);\n pxsim_String__stringConv(s.note___3481);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.note___3481) + ""; }\n case 24:\n r0 = s.retval;\n s.tmp_4 = r0;\n if ((s.c___3486) && (s.c___3486).vtable) {\n setupResume(s, 25);\n pxsim_String__stringConv(s.c___3486);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.c___3486) + ""; }\n case 25:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = pxsim_String__concat(s.tmp_4, s.tmp_5);\n s.note___3481 = (r0);\n s.tmp_0 = r0 = s.caps[1];\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + 1);\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1);\n { step = 13; continue; }\n case 22:\n r0 = s.note___3481;\n case 23:\n return leave(s, r0)\n default: oops()\n} } }\ninline__P3462.info = {"start":12291,"length":708,"line":375,"column":33,"endLine":397,"endColumn":13,"fileName":"pxt_modules/mixer/melody.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P3462_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P3462, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n c___3469: undefined,\n note___3481: undefined,\n c___3486: undefined,\n} }\n\n\n\n\n\nfunction inline__P3510(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.d___3514 = undefined;\n r0 = pxsim_pxtrt_ldlocRef(s.caps[0]);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 != 0);\n case 2:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 15; continue; }\n r0 = pxsim_pxtrt_ldlocRef(s.caps[0]);\n s.tmp_3 = r0;\n r0 = pxsim_String_.toNumber(s.tmp_3);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 >> 0);\n s.d___3514 = (r0);\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_0 = r0;\n r0 = pxsim_pxtcore.switch_eq(1, s.tmp_0);\n if (r0) { step = 3; continue; }\n r0 = pxsim_pxtcore.switch_eq(2, s.tmp_0);\n if (r0) { step = 4; continue; }\n r0 = pxsim_pxtcore.switch_eq(3, s.tmp_0);\n if (r0) { step = 5; continue; }\n r0 = pxsim_pxtcore.switch_eq(4, s.tmp_0);\n if (r0) { step = 6; continue; }\n r0 = pxsim_pxtcore.switch_eq(6, s.tmp_0);\n if (r0) { step = 7; continue; }\n r0 = pxsim_pxtcore.switch_eq(7, s.tmp_0);\n if (r0) { step = 8; continue; }\n r0 = pxsim_pxtcore.switch_eq(8, s.tmp_0);\n if (r0) { step = 9; continue; }\n r0 = pxsim_pxtcore.switch_eq(9, s.tmp_0);\n if (r0) { step = 10; continue; }\n r0 = pxsim_pxtcore.switch_eq(10, s.tmp_0);\n if (r0) { step = 11; continue; }\n r0 = pxsim_pxtcore.switch_eq(11, s.tmp_0);\n if (r0) { step = 12; continue; }\n r0 = pxsim_pxtcore.switch_eq(5, s.tmp_0);\n if (r0) { step = 13; continue; }\n r0 = s.tmp_0;\n { step = 14; continue; }\n case 3:\n r0 = pxsim_pxtrt_stlocRef(s.caps[2], s.d___3514);\n { step = 14; continue; }\n case 4:\n s.tmp_0 = r0 = s.caps[3];\n s.tmp_2 = Math_max__P61_mk(s);\n s.tmp_2.arg0 = 1;\n s.tmp_3 = Math_min__P62_mk(s);\n s.tmp_3.arg0 = 16;\n s.tmp_3.arg1 = s.d___3514;\n s.pc = 18; return s.tmp_3;\n case 18:\n r0 = s.retval;\n s.tmp_2.arg1 = r0;\n s.pc = 17; return s.tmp_2;\n case 17:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1);\n r0 = pxsim_pxtrt_stlocRef(s.caps[4], -1);\n { step = 14; continue; }\n case 5:\n s.tmp_0 = r0 = s.caps[5];\n s.tmp_2 = Math_max__P61_mk(s);\n s.tmp_2.arg0 = 1;\n s.tmp_2.arg1 = s.d___3514;\n s.pc = 19; return s.tmp_2;\n case 19:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1);\n { step = 14; continue; }\n case 6:\n r0 = pxsim_pxtrt_stlocRef(s.caps[6], s.d___3514);\n r0 = pxsim_pxtrt_stlocRef(s.caps[1], 6);\n { step = 14; continue; }\n case 7:\n r0 = pxsim_pxtrt_stlocRef(s.caps[4], s.d___3514);\n { step = 14; continue; }\n case 8:\n s.tmp_0 = r0 = s.caps[7];\n s.tmp_2 = Math_clamp__P58_mk(s);\n s.tmp_2.arg0 = 1;\n s.tmp_2.arg1 = 15;\n s.tmp_2.arg2 = s.d___3514;\n s.pc = 20; return s.tmp_2;\n case 20:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1);\n { step = 14; continue; }\n case 9:\n r0 = pxsim_pxtrt_stlocRef(s.caps[8], s.d___3514);\n r0 = pxsim_pxtrt_stlocRef(s.caps[1], 9);\n { step = 14; continue; }\n case 10:\n r0 = pxsim_pxtrt_stlocRef(s.caps[9], s.d___3514);\n r0 = pxsim_pxtrt_stlocRef(s.caps[1], 10);\n { step = 14; continue; }\n case 11:\n s.tmp_0 = r0 = s.caps[10];\n s.tmp_2 = Math_clamp__P58_mk(s);\n s.tmp_2.arg0 = 0;\n s.tmp_2.arg1 = 255;\n s.tmp_2.arg2 = s.d___3514;\n s.pc = 21; return s.tmp_2;\n case 21:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1);\n r0 = pxsim_pxtrt_stlocRef(s.caps[1], 11);\n { step = 14; continue; }\n case 12:\n r0 = pxsim_pxtrt_stlocRef(s.caps[11], s.d___3514);\n { step = 14; continue; }\n case 13:\n r0 = pxsim_pxtrt_stlocRef(s.caps[12], s.d___3514);\n case 14:\n s.tmp_0 = r0 = s.caps[0];\n r0 = pxsim_String_.mkEmpty();\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1);\n case 15:\n case 16:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P3510.info = {"start":14032,"length":1189,"line":433,"column":33,"endLine":454,"endColumn":13,"fileName":"pxt_modules/mixer/melody.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P3510_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P3510, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n d___3514: undefined,\n} }\n\n\n\n\n\nfunction music_addNote__P362(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.arg5 = (s.lambdaArgs[5]);\n s.arg6 = (s.lambdaArgs[6]);\n s.arg7 = (s.lambdaArgs[7]);\n s.arg8 = (s.lambdaArgs[8]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg2 > 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim.BufferMethods.setNumber(s.arg0, 2, s.arg1, s.arg5);\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg1 + 1);\n s.tmp_1 = r0;\n r0 = pxsim.BufferMethods.setNumber(s.tmp_0, 2, s.tmp_1, 0);\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg1 + 2);\n s.tmp_1 = r0;\n r0 = pxsim.BufferMethods.setNumber(s.tmp_0, 4, s.tmp_1, s.arg6);\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg1 + 4);\n s.tmp_1 = r0;\n r0 = pxsim.BufferMethods.setNumber(s.tmp_0, 4, s.tmp_1, s.arg2);\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg1 + 6);\n s.tmp_1 = r0;\n r0 = (s.arg3 * s.arg7);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 >> 6);\n s.tmp_2 = r0;\n r0 = pxsim.BufferMethods.setNumber(s.tmp_0, 4, s.tmp_1, s.tmp_2);\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg1 + 8);\n s.tmp_1 = r0;\n r0 = (s.arg4 * s.arg7);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 >> 6);\n s.tmp_2 = r0;\n r0 = pxsim.BufferMethods.setNumber(s.tmp_0, 4, s.tmp_1, s.tmp_2);\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg1 + 10);\n s.tmp_1 = r0;\n r0 = pxsim.BufferMethods.setNumber(s.tmp_0, 4, s.tmp_1, s.arg8);\n r0 = (s.arg1 + 12);\n s.arg1 = (r0);\n case 1:\n case 2:\n r0 = pxsim.BufferMethods.setNumber(s.arg0, 2, s.arg1, 0);\n r0 = s.arg1;\n return leave(s, r0)\n default: oops()\n} } }\nmusic_addNote__P362.info = {"start":9672,"length":904,"line":307,"column":4,"endLine":320,"endColumn":5,"fileName":"pxt_modules/mixer/melody.ts","functionName":"addNote","argumentNames":["sndInstr","sndInstrPtr","ms","beg","end","soundWave","hz","volume","endHz"]}\n\nfunction music_addNote__P362_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_addNote__P362, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n arg5: undefined,\n arg6: undefined,\n arg7: undefined,\n arg8: undefined,\n} }\n\n\n\n\n\nfunction music_volume__P342(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = music_initVolume__P340_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = globals.globalVolume___337;\n return leave(s, r0)\n default: oops()\n} } }\nmusic_volume__P342.info = {"start":1781,"length":90,"line":61,"column":4,"endLine":64,"endColumn":5,"fileName":"pxt_modules/mixer/melody.ts","functionName":"volume","argumentNames":[]}\n\nfunction music_volume__P342_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_volume__P342, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction music_initVolume__P340(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = (globals.globalVolume___337 === null);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n globals.globalVolume___337 = (0);\n s.tmp_0 = music_setVolume__P341_mk(s);\n r0 = pxsim_pxtcore.getConfig(59, 128);\n s.tmp_0.arg0 = r0;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nmusic_initVolume__P340.info = {"start":1014,"length":180,"line":33,"column":4,"endLine":38,"endColumn":5,"fileName":"pxt_modules/mixer/melody.ts","functionName":"initVolume","argumentNames":[]}\n\nfunction music_initVolume__P340_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_initVolume__P340, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction music_setVolume__P341(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = Math_clamp__P58_mk(s);\n s.tmp_0.arg0 = 0;\n s.tmp_0.arg1 = 255;\n r0 = (s.arg0 | 0);\n s.tmp_0.arg2 = r0;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n globals.globalVolume___337 = (r0);\n r0 = (globals.globalVolume___337 > 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = 1;\n { step = 2; continue; }\n case 1:\n r0 = 0;\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = undefined;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nmusic_setVolume__P341.info = {"start":1533,"length":153,"line":51,"column":4,"endLine":54,"endColumn":5,"fileName":"pxt_modules/mixer/melody.ts","functionName":"setVolume","argumentNames":["volume"]}\n\nfunction music_setVolume__P341_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_setVolume__P341, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction music_enableAmp__P339(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nmusic_enableAmp__P339.info = {"start":944,"length":64,"line":29,"column":4,"endLine":31,"endColumn":5,"fileName":"pxt_modules/mixer/melody.ts","functionName":"enableAmp","argumentNames":["en"]}\n\nfunction music_enableAmp__P339_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_enableAmp__P339, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction parseInt__P34(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_String_.toNumber(s.arg0);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 >> 0);\n return leave(s, r0)\n default: oops()\n} } }\nparseInt__P34.info = {"start":394,"length":77,"line":17,"column":0,"endLine":19,"endColumn":1,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"parseInt","argumentNames":["text"]}\n\nfunction parseInt__P34_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: parseInt__P34, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction music_Melody_unregisterMelody__P354(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, music_Melody__C349_VT)) failedCast(r0);\n r0 = pxsim_numops_toBoolDecr(globals.music_Melody_playingMelodies___360);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_Array_.removeElement(globals.music_Melody_playingMelodies___360, s.arg0);\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nmusic_Melody_unregisterMelody__P354.info = {"start":7438,"length":201,"line":234,"column":8,"endLine":239,"endColumn":9,"fileName":"pxt_modules/mixer/melody.ts","functionName":"unregisterMelody","argumentNames":["this"]}\n\nfunction music_Melody_unregisterMelody__P354_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_Melody_unregisterMelody__P354, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction music_Melody_registerMelody__P353(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, music_Melody__C349_VT)) failedCast(r0);\n r0 = pxsim_numops_toBoolDecr(globals.music_Melody_playingMelodies___360);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_Array__mk();\n globals.music_Melody_playingMelodies___360 = (r0);\n case 1:\n case 2:\n r0 = pxsim_Array__length(globals.music_Melody_playingMelodies___360);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > 4);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.tmp_2 = music_Melody_stop__P352_mk(s);\n s.tmp_3 = r0 = globals.music_Melody_playingMelodies___360;\n r0 = pxsim_Array__length(globals.music_Melody_playingMelodies___360);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 - 1);\n s.tmp_4 = r0;\n r0 = pxsim_Array__getAt(s.tmp_3, s.tmp_4);\n s.tmp_2.arg0 = r0;\n s.pc = 5; return s.tmp_2;\n case 5:\n r0 = s.retval;\n case 3:\n case 4:\n r0 = pxsim_Array_.removeElement(globals.music_Melody_playingMelodies___360, s.arg0);\n r0 = pxsim_Array__push(globals.music_Melody_playingMelodies___360, s.arg0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nmusic_Melody_registerMelody__P353.info = {"start":6856,"length":573,"line":222,"column":8,"endLine":233,"endColumn":9,"fileName":"pxt_modules/mixer/melody.ts","functionName":"registerMelody","argumentNames":["this"]}\n\nfunction music_Melody_registerMelody__P353_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_Melody_registerMelody__P353, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction music_Melody_stop__P352(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, music_Melody__C349_VT)) failedCast(r0);\n r0 = s.arg0.fields["_player"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_1 = music_MelodyPlayer_stop__P364_mk(s);\n r0 = s.arg0.fields["_player"];\n s.tmp_1.arg0 = r0;\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n r0 = (s.arg0).fields["_player"] = (null);\n case 1:\n case 2:\n s.tmp_0 = music_Melody_unregisterMelody__P354_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nmusic_Melody_stop__P352.info = {"start":6673,"length":173,"line":214,"column":8,"endLine":220,"endColumn":9,"fileName":"pxt_modules/mixer/melody.ts","functionName":"stop","argumentNames":["this"]}\n\nfunction music_Melody_stop__P352_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_Melody_stop__P352, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction music_MelodyPlayer_stop__P364(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, music_MelodyPlayer__C363_VT)) failedCast(r0);\n r0 = (s.arg0).fields["melody"] = (null);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nmusic_MelodyPlayer_stop__P364.info = {"start":10746,"length":49,"line":332,"column":8,"endLine":334,"endColumn":9,"fileName":"pxt_modules/mixer/melody.ts","functionName":"stop","argumentNames":["this"]}\n\nfunction music_MelodyPlayer_stop__P364_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_MelodyPlayer_stop__P364, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_Scene_millis__P926(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Scene__C923_VT)) failedCast(r0);\n r0 = s.arg0.fields["_millis"];\n return leave(s, r0)\n default: oops()\n} } }\nscene_Scene_millis__P926.info = {"start":5724,"length":61,"line":164,"column":8,"endLine":166,"endColumn":9,"fileName":"pxt_modules/game/scene.ts","functionName":"millis","argumentNames":["this"]}\n\nfunction scene_Scene_millis__P926_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Scene_millis__P926, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_createRenderable__P896(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.renderable___7425 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_pxtcore_mkClassInstance(scene_Renderable__C890_VT);\n s.tmp_0 = r0;\n s.tmp_1 = r0 = s.arg2;\n r0 = pxsim_numops_toBool(s.tmp_1);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_1;\n { step = 2; continue; }\n case 1:\n r0 = inline__P7430;\n case 2:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n s.tmp_3 = scene_Renderable_constructor__P895_mk(s);\n s.tmp_3.arg0 = s.tmp_0;\n s.tmp_3.arg1 = s.arg1;\n s.tmp_3.arg2 = s.tmp_2;\n s.tmp_3.arg3 = s.arg0;\n s.pc = 3; return s.tmp_3;\n case 3:\n r0 = s.retval;\n s.renderable___7425 = (s.tmp_0);\n r0 = s.renderable___7425;\n return leave(s, r0)\n default: oops()\n} } }\nscene_createRenderable__P896.info = {"start":608,"length":339,"line":24,"column":4,"endLine":36,"endColumn":5,"fileName":"pxt_modules/game/renderable.ts","functionName":"createRenderable","argumentNames":["z","handler","shouldBeVisible"]}\n\nfunction scene_createRenderable__P896_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_createRenderable__P896, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n renderable___7425: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction inline__P7430(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = true;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P7430.info = {"start":875,"length":10,"line":31,"column":32,"endLine":31,"endColumn":42,"fileName":"pxt_modules/game/renderable.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P7430_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P7430, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n} }\n\n\n\n\n\nfunction scene_Renderable_constructor__P895(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Renderable__C890_VT)) failedCast(r0);\n r0 = (s.arg0).fields["handler"] = (s.arg1);\n r0 = (s.arg0).fields["shouldBeVisible"] = (s.arg2);\n s.tmp_0 = sprites_BaseSprite_constructor__P516_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg3;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_Renderable_constructor__P895.info = {"start":83,"length":212,"line":2,"column":8,"endLine":8,"endColumn":9,"fileName":"pxt_modules/game/renderable.ts","functionName":"inline","argumentNames":["this","handler","shouldBeVisible","z"]}\n\nfunction scene_Renderable_constructor__P895_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Renderable_constructor__P895, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction info_PlayerInfo_drawLives__P839(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.state___6913 = undefined;\n s.font___6918 = undefined;\n s.i___6954 = undefined;\n s.num___6973 = undefined;\n s.textWidth___6980 = undefined;\n s.mult___7026 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, info_PlayerInfo__C823_VT)) failedCast(r0);\n s.tmp_0 = info_PlayerInfo_getState__P825_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 8; return s.tmp_0;\n case 8:\n r0 = s.retval;\n s.state___6913 = (r0);\n r0 = s.state___6913.fields["life"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 7; continue; }\n case 1:\n case 2:\n s.font___6918 = (globals.font8___423);\n r0 = s.state___6913.fields["life"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 <= 4);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n s.tmp_2 = helpers_imageFillRect__P411_mk(s);\n s.tmp_2.arg0 = globals.screen___464;\n s.tmp_2.arg1 = 0;\n s.tmp_2.arg2 = 0;\n r0 = s.state___6913.fields["life"];\n s.tmp_4 = r0;\n r0 = globals.infoState___745.fields["heartImage"];\n s.tmp_7 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_7);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 + 1);\n s.tmp_5 = r0;\n r0 = (s.tmp_4 * s.tmp_5);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 + 3);\n s.tmp_2.arg3 = r0;\n r0 = globals.infoState___745.fields["heartImage"];\n s.tmp_9 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_9);\n s.tmp_8 = r0;\n r0 = (s.tmp_8 + 4);\n s.tmp_2.arg4 = r0;\n r0 = globals.infoState___745.fields["borderColor"];\n s.tmp_2.arg5 = r0;\n s.pc = 9; return s.tmp_2;\n case 9:\n r0 = s.retval;\n s.tmp_0 = helpers_imageFillRect__P411_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_0.arg1 = 0;\n s.tmp_0.arg2 = 0;\n r0 = s.state___6913.fields["life"];\n s.tmp_2 = r0;\n r0 = globals.infoState___745.fields["heartImage"];\n s.tmp_5 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_5);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 + 1);\n s.tmp_3 = r0;\n r0 = (s.tmp_2 * s.tmp_3);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 + 2);\n s.tmp_0.arg3 = r0;\n r0 = globals.infoState___745.fields["heartImage"];\n s.tmp_7 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_7);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 + 3);\n s.tmp_0.arg4 = r0;\n r0 = globals.infoState___745.fields["bgColor"];\n s.tmp_0.arg5 = r0;\n s.pc = 10; return s.tmp_0;\n case 10:\n r0 = s.retval;\n s.i___6954 = (0);\n case 3:\n r0 = s.state___6913.fields["life"];\n s.tmp_1 = r0;\n r0 = (s.i___6954 < s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 4; continue; }\n s.tmp_2 = r0 = globals.screen___464;\n r0 = globals.infoState___745.fields["heartImage"];\n s.tmp_3 = r0;\n s.tmp_6 = r0 = s.i___6954;\n r0 = globals.infoState___745.fields["heartImage"];\n s.tmp_9 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_9);\n s.tmp_8 = r0;\n r0 = (s.tmp_8 + 1);\n s.tmp_7 = r0;\n r0 = (s.tmp_6 * s.tmp_7);\n s.tmp_5 = r0;\n r0 = (1 + s.tmp_5);\n s.tmp_4 = r0;\n r0 = pxsim_ImageMethods.drawTransparentImage(s.tmp_2, s.tmp_3, s.tmp_4, 1);\n r0 = (s.i___6954 + 1);\n s.i___6954 = (r0);\n { step = 3; continue; }\n case 4:\n { step = 6; continue; }\n case 5:\n r0 = s.state___6913.fields["life"];\n s.tmp_1 = r0;\n if ((s.tmp_1) && (s.tmp_1).vtable) {\n setupResume(s, 11);\n pxsim_String__stringConv(s.tmp_1);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_1) + ""; }\n case 11:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_String_.mkEmpty();\n s.tmp_2 = r0;\n r0 = pxsim_String__concat(s.tmp_0, s.tmp_2);\n s.num___6973 = (r0);\n r0 = pxsim_String_.length(s.num___6973);\n s.tmp_1 = r0;\n s.tmp_3 = if_charWidth_1_mk(s);\n s.tmp_3.arg0 = s.font___6918;\n if (!s.tmp_3.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, "charWidth");\n } else {\n s.tmp_3.fn = s.tmp_3.arg0.vtable.iface["charWidth"];\n if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields["charWidth"]; }\n else { s.pc = 12; return s.tmp_3; }\n }\n case 12:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (s.tmp_1 * s.tmp_2);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 - 1);\n s.textWidth___6980 = (r0);\n s.tmp_0 = helpers_imageFillRect__P411_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_0.arg1 = 0;\n s.tmp_0.arg2 = 0;\n r0 = globals.infoState___745.fields["heartImage"];\n s.tmp_4 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_4);\n s.tmp_3 = r0;\n r0 = globals.infoState___745.fields["multiplierImage"];\n s.tmp_6 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_6);\n s.tmp_5 = r0;\n r0 = (s.tmp_3 + s.tmp_5);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.textWidth___6980);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 + 5);\n s.tmp_0.arg3 = r0;\n r0 = globals.infoState___745.fields["heartImage"];\n s.tmp_8 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_8);\n s.tmp_7 = r0;\n r0 = (s.tmp_7 + 4);\n s.tmp_0.arg4 = r0;\n r0 = globals.infoState___745.fields["borderColor"];\n s.tmp_0.arg5 = r0;\n s.pc = 13; return s.tmp_0;\n case 13:\n r0 = s.retval;\n s.tmp_0 = helpers_imageFillRect__P411_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_0.arg1 = 0;\n s.tmp_0.arg2 = 0;\n r0 = globals.infoState___745.fields["heartImage"];\n s.tmp_4 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_4);\n s.tmp_3 = r0;\n r0 = globals.infoState___745.fields["multiplierImage"];\n s.tmp_6 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_6);\n s.tmp_5 = r0;\n r0 = (s.tmp_3 + s.tmp_5);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.textWidth___6980);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 + 4);\n s.tmp_0.arg3 = r0;\n r0 = globals.infoState___745.fields["heartImage"];\n s.tmp_8 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_8);\n s.tmp_7 = r0;\n r0 = (s.tmp_7 + 3);\n s.tmp_0.arg4 = r0;\n r0 = globals.infoState___745.fields["bgColor"];\n s.tmp_0.arg5 = r0;\n s.pc = 14; return s.tmp_0;\n case 14:\n r0 = s.retval;\n r0 = globals.infoState___745.fields["heartImage"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.drawTransparentImage(globals.screen___464, s.tmp_0, 1, 1);\n r0 = globals.infoState___745.fields["multiplierImage"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.clone(s.tmp_0);\n s.mult___7026 = (r0);\n r0 = globals.infoState___745.fields["fontColor"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.replace(s.mult___7026, 1, s.tmp_0);\n s.tmp_0 = r0 = globals.screen___464;\n s.tmp_1 = r0 = s.mult___7026;\n r0 = globals.infoState___745.fields["heartImage"];\n s.tmp_4 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_4);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 + 2);\n s.tmp_2 = r0;\n s.tmp_8 = if_charHeight_1_mk(s);\n s.tmp_8.arg0 = s.font___6918;\n if (!s.tmp_8.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_8.arg0, "charHeight");\n } else {\n s.tmp_8.fn = s.tmp_8.arg0.vtable.iface["charHeight"];\n if (s.tmp_8.fn == null) { s.retval = s.tmp_8.arg0.fields["charHeight"]; }\n else { s.pc = 15; return s.tmp_8; }\n }\n case 15:\n r0 = s.retval;\n s.tmp_7 = r0;\n r0 = globals.infoState___745.fields["multiplierImage"];\n s.tmp_10 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_10);\n s.tmp_9 = r0;\n r0 = (s.tmp_7 - s.tmp_9);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 - 1);\n s.tmp_5 = r0;\n r0 = pxsim_ImageMethods.drawTransparentImage(s.tmp_0, s.tmp_1, s.tmp_2, s.tmp_5);\n s.tmp_0 = helpers_imagePrint__P432_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_0.arg1 = s.num___6973;\n r0 = globals.infoState___745.fields["heartImage"];\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + 3);\n s.tmp_1 = r0;\n r0 = globals.infoState___745.fields["multiplierImage"];\n s.tmp_5 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_5);\n s.tmp_4 = r0;\n r0 = (s.tmp_1 + s.tmp_4);\n s.tmp_0.arg2 = r0;\n s.tmp_0.arg3 = 1;\n r0 = globals.infoState___745.fields["fontColor"];\n s.tmp_0.arg4 = r0;\n s.tmp_0.arg5 = s.font___6918;\n s.tmp_0.arg6 = undefined;\n s.pc = 16; return s.tmp_0;\n case 16:\n r0 = s.retval;\n case 6:\n case 7:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_PlayerInfo_drawLives__P839.info = {"start":25972,"length":2458,"line":848,"column":8,"endLine":914,"endColumn":9,"fileName":"pxt_modules/game/info.ts","functionName":"drawLives","argumentNames":["this"]}\n\nfunction info_PlayerInfo_drawLives__P839_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_PlayerInfo_drawLives__P839, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n state___6913: undefined,\n font___6918: undefined,\n i___6954: undefined,\n num___6973: undefined,\n textWidth___6980: undefined,\n mult___7026: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction info_PlayerInfo_drawScore__P838(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.s___7076 = undefined;\n s.font___7078 = undefined;\n s.offsetY___7079 = undefined;\n s.num___7087 = undefined;\n s.width___7091 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, info_PlayerInfo__C823_VT)) failedCast(r0);\n s.tmp_1 = info_PlayerInfo_score__P827_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = (s.tmp_0 | 0);\n s.s___7076 = (r0);\n r0 = (s.s___7076 >= 1000000);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.offsetY___7079 = (2);\n s.font___7078 = (globals.font5___428);\n { step = 2; continue; }\n case 1:\n s.offsetY___7079 = (1);\n s.font___7078 = (globals.font8___423);\n case 2:\n r0 = pxsim_numops.toString(s.s___7076);\n s.num___7087 = (r0);\n r0 = pxsim_String_.length(s.num___7087);\n s.tmp_0 = r0;\n s.tmp_2 = if_charWidth_1_mk(s);\n s.tmp_2.arg0 = s.font___7078;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "charWidth");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["charWidth"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["charWidth"]; }\n else { s.pc = 4; return s.tmp_2; }\n }\n case 4:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0 * s.tmp_1);\n s.width___7091 = (r0);\n s.tmp_0 = helpers_imageFillRect__P411_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - s.width___7091);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - 2);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = 0;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_0.arg3 = r0;\n s.tmp_4 = if_charHeight_1_mk(s);\n s.tmp_4.arg0 = globals.font8___423;\n if (!s.tmp_4.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_4.arg0, "charHeight");\n } else {\n s.tmp_4.fn = s.tmp_4.arg0.vtable.iface["charHeight"];\n if (s.tmp_4.fn == null) { s.retval = s.tmp_4.arg0.fields["charHeight"]; }\n else { s.pc = 6; return s.tmp_4; }\n }\n case 6:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_3 + 3);\n s.tmp_0.arg4 = r0;\n r0 = globals.infoState___745.fields["borderColor"];\n s.tmp_0.arg5 = r0;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n s.tmp_0 = helpers_imageFillRect__P411_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - s.width___7091);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - 1);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = 0;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_0.arg3 = r0;\n s.tmp_4 = if_charHeight_1_mk(s);\n s.tmp_4.arg0 = globals.font8___423;\n if (!s.tmp_4.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_4.arg0, "charHeight");\n } else {\n s.tmp_4.fn = s.tmp_4.arg0.vtable.iface["charHeight"];\n if (s.tmp_4.fn == null) { s.retval = s.tmp_4.arg0.fields["charHeight"]; }\n else { s.pc = 8; return s.tmp_4; }\n }\n case 8:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_3 + 2);\n s.tmp_0.arg4 = r0;\n r0 = globals.infoState___745.fields["bgColor"];\n s.tmp_0.arg5 = r0;\n s.pc = 7; return s.tmp_0;\n case 7:\n r0 = s.retval;\n s.tmp_0 = helpers_imagePrint__P432_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_0.arg1 = s.num___7087;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - s.width___7091);\n s.tmp_0.arg2 = r0;\n s.tmp_0.arg3 = s.offsetY___7079;\n r0 = globals.infoState___745.fields["fontColor"];\n s.tmp_0.arg4 = r0;\n s.tmp_0.arg5 = s.font___7078;\n s.tmp_0.arg6 = undefined;\n s.pc = 9; return s.tmp_0;\n case 9:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_PlayerInfo_drawScore__P838.info = {"start":24914,"length":1048,"line":808,"column":8,"endLine":846,"endColumn":9,"fileName":"pxt_modules/game/info.ts","functionName":"drawScore","argumentNames":["this"]}\n\nfunction info_PlayerInfo_drawScore__P838_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_PlayerInfo_drawScore__P838, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n s___7076: undefined,\n font___7078: undefined,\n offsetY___7079: undefined,\n num___7087: undefined,\n width___7091: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction info_PlayerInfo_drawPlayer__P837(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.state___7153 = undefined;\n s.font___7155 = undefined;\n s.score___7157 = undefined;\n s.life___7158 = undefined;\n s.height___7159 = undefined;\n s.scoreWidth___7160 = undefined;\n s.lifeWidth___7161 = undefined;\n s.offsetX___7162 = undefined;\n s.offsetY___7163 = undefined;\n s.showScore___7164 = undefined;\n s.showLife___7170 = undefined;\n s.width___7230 = undefined;\n s.x___7238 = undefined;\n s.y___7244 = undefined;\n s.bump___7271 = undefined;\n s.xLoc___7292 = undefined;\n s.mult___7301 = undefined;\n s.pNum___7356 = undefined;\n s.iconWidth___7363 = undefined;\n s.iconHeight___7370 = undefined;\n s.iconX___7376 = undefined;\n s.iconY___7385 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, info_PlayerInfo__C823_VT)) failedCast(r0);\n s.tmp_0 = info_PlayerInfo_getState__P825_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 43; return s.tmp_0;\n case 43:\n r0 = s.retval;\n s.state___7153 = (r0);\n s.font___7155 = (globals.font5___428);\n s.height___7159 = (4);\n s.scoreWidth___7160 = (0);\n s.lifeWidth___7161 = (0);\n s.offsetX___7162 = (1);\n s.offsetY___7163 = (2);\n r0 = s.arg0.fields["showScore"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = s.state___7153.fields["score"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 !== undefined);\n case 2:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n s.showScore___7164 = (s.tmp_2);\n r0 = s.arg0.fields["showLife"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 3; continue; }\n r0 = s.tmp_0;\n { step = 4; continue; }\n case 3:\n r0 = s.state___7153.fields["life"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 !== undefined);\n case 4:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n s.showLife___7170 = (s.tmp_2);\n r0 = pxsim_numops_toBoolDecr(s.showScore___7164);\n if (!r0) { step = 5; continue; }\n r0 = pxsim_String_.mkEmpty();\n s.tmp_0 = r0;\n r0 = s.state___7153.fields["score"];\n s.tmp_2 = r0;\n if ((s.tmp_2) && (s.tmp_2).vtable) {\n setupResume(s, 44);\n pxsim_String__stringConv(s.tmp_2);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_2) + ""; }\n case 44:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_String__concat(s.tmp_0, s.tmp_1);\n s.score___7157 = (r0);\n r0 = pxsim_String_.length(s.score___7157);\n s.tmp_1 = r0;\n s.tmp_3 = if_charWidth_1_mk(s);\n s.tmp_3.arg0 = s.font___7155;\n if (!s.tmp_3.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, "charWidth");\n } else {\n s.tmp_3.fn = s.tmp_3.arg0.vtable.iface["charWidth"];\n if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields["charWidth"]; }\n else { s.pc = 45; return s.tmp_3; }\n }\n case 45:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (s.tmp_1 * s.tmp_2);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 + 3);\n s.scoreWidth___7160 = (r0);\n s.tmp_0 = r0 = s.height___7159;\n s.tmp_2 = if_charHeight_1_mk(s);\n s.tmp_2.arg0 = s.font___7155;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "charHeight");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["charHeight"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["charHeight"]; }\n else { s.pc = 46; return s.tmp_2; }\n }\n case 46:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n s.height___7159 = (r0);\n s.tmp_0 = r0 = s.offsetY___7163;\n s.tmp_3 = if_charHeight_1_mk(s);\n s.tmp_3.arg0 = s.font___7155;\n if (!s.tmp_3.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, "charHeight");\n } else {\n s.tmp_3.fn = s.tmp_3.arg0.vtable.iface["charHeight"];\n if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields["charHeight"]; }\n else { s.pc = 47; return s.tmp_3; }\n }\n case 47:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + 1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n s.offsetY___7163 = (r0);\n case 5:\n case 6:\n r0 = pxsim_numops_toBoolDecr(s.showLife___7170);\n if (!r0) { step = 9; continue; }\n r0 = s.state___7153.fields["life"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 7; continue; }\n r0 = s.tmp_0;\n { step = 8; continue; }\n case 7:\n r0 = 0;\n case 8:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_String_.mkEmpty();\n s.tmp_2 = r0;\n if ((s.tmp_1) && (s.tmp_1).vtable) {\n setupResume(s, 48);\n pxsim_String__stringConv(s.tmp_1);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_1) + ""; }\n case 48:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = pxsim_String__concat(s.tmp_2, s.tmp_3);\n s.life___7158 = (r0);\n r0 = globals.infoState___745.fields["heartImage"];\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_3);\n s.tmp_2 = r0;\n r0 = globals.infoState___745.fields["multiplierImage"];\n s.tmp_5 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_5);\n s.tmp_4 = r0;\n r0 = (s.tmp_2 + s.tmp_4);\n s.tmp_1 = r0;\n r0 = pxsim_String_.length(s.life___7158);\n s.tmp_7 = r0;\n s.tmp_9 = if_charWidth_1_mk(s);\n s.tmp_9.arg0 = s.font___7155;\n if (!s.tmp_9.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_9.arg0, "charWidth");\n } else {\n s.tmp_9.fn = s.tmp_9.arg0.vtable.iface["charWidth"];\n if (s.tmp_9.fn == null) { s.retval = s.tmp_9.arg0.fields["charWidth"]; }\n else { s.pc = 49; return s.tmp_9; }\n }\n case 49:\n r0 = s.retval;\n s.tmp_8 = r0;\n r0 = (s.tmp_7 * s.tmp_8);\n s.tmp_6 = r0;\n r0 = (s.tmp_1 + s.tmp_6);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 + 3);\n s.lifeWidth___7161 = (r0);\n s.tmp_0 = r0 = s.height___7159;\n r0 = globals.infoState___745.fields["heartImage"];\n s.tmp_2 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n s.height___7159 = (r0);\n case 9:\n case 10:\n s.tmp_0 = Math_max__P61_mk(s);\n s.tmp_0.arg0 = s.scoreWidth___7160;\n s.tmp_0.arg1 = s.lifeWidth___7161;\n s.pc = 50; return s.tmp_0;\n case 50:\n r0 = s.retval;\n s.width___7230 = (r0);\n s.tmp_0 = r0 = s.showScore___7164;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 11; continue; }\n r0 = s.tmp_0;\n { step = 12; continue; }\n case 11:\n r0 = s.showLife___7170;\n case 12:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 13; continue; }\n r0 = (s.height___7159 + 1);\n s.height___7159 = (r0);\n case 13:\n case 14:\n r0 = s.arg0.fields["left"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 15; continue; }\n r0 = s.width___7230;\n { step = 16; continue; }\n case 15:\n r0 = 0;\n case 16:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = s.arg0.fields["x"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - s.tmp_1);\n s.x___7238 = (r0);\n r0 = s.arg0.fields["up"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 17; continue; }\n r0 = s.height___7159;\n { step = 18; continue; }\n case 17:\n r0 = 0;\n case 18:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = s.arg0.fields["y"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - s.tmp_1);\n s.y___7244 = (r0);\n s.tmp_0 = r0 = s.showScore___7164;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 19; continue; }\n r0 = s.tmp_0;\n { step = 20; continue; }\n case 19:\n r0 = s.showLife___7170;\n case 20:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 21; continue; }\n s.tmp_2 = helpers_imageFillRect__P411_mk(s);\n s.tmp_2.arg0 = globals.screen___464;\n s.tmp_2.arg1 = s.x___7238;\n s.tmp_2.arg2 = s.y___7244;\n s.tmp_2.arg3 = s.width___7230;\n s.tmp_2.arg4 = s.height___7159;\n r0 = s.arg0.fields["border"];\n s.tmp_2.arg5 = r0;\n s.pc = 51; return s.tmp_2;\n case 51:\n r0 = s.retval;\n s.tmp_0 = helpers_imageFillRect__P411_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n r0 = (s.x___7238 + 1);\n s.tmp_0.arg1 = r0;\n r0 = (s.y___7244 + 1);\n s.tmp_0.arg2 = r0;\n r0 = (s.width___7230 - 2);\n s.tmp_0.arg3 = r0;\n r0 = (s.height___7159 - 2);\n s.tmp_0.arg4 = r0;\n r0 = s.arg0.fields["bg"];\n s.tmp_0.arg5 = r0;\n s.pc = 52; return s.tmp_0;\n case 52:\n r0 = s.retval;\n case 21:\n case 22:\n r0 = pxsim_numops_toBoolDecr(s.showScore___7164);\n if (!r0) { step = 25; continue; }\n r0 = s.arg0.fields["left"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 23; continue; }\n r0 = (s.width___7230 - s.scoreWidth___7160);\n { step = 24; continue; }\n case 23:\n r0 = 0;\n case 24:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n s.bump___7271 = (s.tmp_1);\n s.tmp_0 = helpers_imagePrint__P432_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_0.arg1 = s.score___7157;\n r0 = (s.x___7238 + s.offsetX___7162);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.bump___7271);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 + 1);\n s.tmp_0.arg2 = r0;\n r0 = (s.y___7244 + 2);\n s.tmp_0.arg3 = r0;\n r0 = s.arg0.fields["fc"];\n s.tmp_0.arg4 = r0;\n s.tmp_0.arg5 = s.font___7155;\n s.tmp_0.arg6 = undefined;\n s.pc = 53; return s.tmp_0;\n case 53:\n r0 = s.retval;\n case 25:\n case 26:\n r0 = pxsim_numops_toBoolDecr(s.showLife___7170);\n if (!r0) { step = 29; continue; }\n r0 = s.arg0.fields["left"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 27; continue; }\n r0 = (s.width___7230 - s.lifeWidth___7161);\n { step = 28; continue; }\n case 27:\n r0 = 0;\n case 28:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = (s.x___7238 + s.offsetX___7162);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.tmp_1);\n s.xLoc___7292 = (r0);\n r0 = globals.infoState___745.fields["multiplierImage"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.clone(s.tmp_0);\n s.mult___7301 = (r0);\n r0 = s.arg0.fields["fc"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.replace(s.mult___7301, 1, s.tmp_0);\n s.tmp_0 = r0 = globals.screen___464;\n r0 = globals.infoState___745.fields["heartImage"];\n s.tmp_1 = r0;\n s.tmp_2 = r0 = s.xLoc___7292;\n r0 = (s.y___7244 + s.offsetY___7163);\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.drawTransparentImage(s.tmp_0, s.tmp_1, s.tmp_2, s.tmp_3);\n s.tmp_0 = r0 = globals.screen___464;\n s.tmp_1 = r0 = s.mult___7301;\n s.tmp_3 = r0 = s.xLoc___7292;\n r0 = globals.infoState___745.fields["heartImage"];\n s.tmp_5 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_5);\n s.tmp_4 = r0;\n r0 = (s.tmp_3 + s.tmp_4);\n s.tmp_2 = r0;\n r0 = (s.y___7244 + s.offsetY___7163);\n s.tmp_9 = r0;\n s.tmp_11 = if_charHeight_1_mk(s);\n s.tmp_11.arg0 = s.font___7155;\n if (!s.tmp_11.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_11.arg0, "charHeight");\n } else {\n s.tmp_11.fn = s.tmp_11.arg0.vtable.iface["charHeight"];\n if (s.tmp_11.fn == null) { s.retval = s.tmp_11.arg0.fields["charHeight"]; }\n else { s.pc = 54; return s.tmp_11; }\n }\n case 54:\n r0 = s.retval;\n s.tmp_10 = r0;\n r0 = (s.tmp_9 + s.tmp_10);\n s.tmp_8 = r0;\n r0 = globals.infoState___745.fields["multiplierImage"];\n s.tmp_13 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_13);\n s.tmp_12 = r0;\n r0 = (s.tmp_8 - s.tmp_12);\n s.tmp_7 = r0;\n r0 = (s.tmp_7 - 1);\n s.tmp_6 = r0;\n r0 = pxsim_ImageMethods.drawTransparentImage(s.tmp_0, s.tmp_1, s.tmp_2, s.tmp_6);\n s.tmp_0 = helpers_imagePrint__P432_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_0.arg1 = s.life___7158;\n s.tmp_3 = r0 = s.xLoc___7292;\n r0 = globals.infoState___745.fields["heartImage"];\n s.tmp_5 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_5);\n s.tmp_4 = r0;\n r0 = (s.tmp_3 + s.tmp_4);\n s.tmp_2 = r0;\n r0 = globals.infoState___745.fields["multiplierImage"];\n s.tmp_7 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_7);\n s.tmp_6 = r0;\n r0 = (s.tmp_2 + s.tmp_6);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 + 1);\n s.tmp_0.arg2 = r0;\n r0 = (s.y___7244 + s.offsetY___7163);\n s.tmp_0.arg3 = r0;\n r0 = s.arg0.fields["fc"];\n s.tmp_0.arg4 = r0;\n s.tmp_0.arg5 = s.font___7155;\n s.tmp_0.arg6 = undefined;\n s.pc = 55; return s.tmp_0;\n case 55:\n r0 = s.retval;\n case 29:\n case 30:\n r0 = s.arg0.fields["showPlayer"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 41; continue; }\n r0 = pxsim_String_.mkEmpty();\n s.tmp_1 = r0;\n r0 = s.arg0.fields["_player"];\n s.tmp_3 = r0;\n if ((s.tmp_3) && (s.tmp_3).vtable) {\n setupResume(s, 56);\n pxsim_String__stringConv(s.tmp_3);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_3) + ""; }\n case 56:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = pxsim_String__concat(s.tmp_1, s.tmp_2);\n s.pNum___7356 = (r0);\n r0 = pxsim_String_.length(s.pNum___7356);\n s.tmp_1 = r0;\n s.tmp_3 = if_charWidth_1_mk(s);\n s.tmp_3.arg0 = s.font___7155;\n if (!s.tmp_3.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, "charWidth");\n } else {\n s.tmp_3.fn = s.tmp_3.arg0.vtable.iface["charWidth"];\n if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields["charWidth"]; }\n else { s.pc = 57; return s.tmp_3; }\n }\n case 57:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (s.tmp_1 * s.tmp_2);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 + 1);\n s.iconWidth___7363 = (r0);\n s.tmp_0 = Math_max__P61_mk(s);\n s.tmp_0.arg0 = s.height___7159;\n s.tmp_2 = if_charHeight_1_mk(s);\n s.tmp_2.arg0 = s.font___7155;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "charHeight");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["charHeight"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["charHeight"]; }\n else { s.pc = 59; return s.tmp_2; }\n }\n case 59:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 + 2);\n s.tmp_0.arg1 = r0;\n s.pc = 58; return s.tmp_0;\n case 58:\n r0 = s.retval;\n s.iconHeight___7370 = (r0);\n r0 = s.arg0.fields["left"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 31; continue; }\n r0 = (s.x___7238 - s.iconWidth___7363);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 + 1);\n { step = 32; continue; }\n case 31:\n r0 = (s.x___7238 + s.width___7230);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - 1);\n case 32:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n s.iconX___7376 = (s.tmp_3);\n s.iconY___7385 = (s.y___7244);\n r0 = pxsim_numops_toBoolDecr(s.showScore___7164);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 33; continue; }\n r0 = s.tmp_0;\n { step = 34; continue; }\n case 33:\n r0 = pxsim_numops_toBoolDecr(s.showLife___7170);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n case 34:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 39; continue; }\n r0 = s.arg0.fields["left"];\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n if (!r0) { step = 35; continue; }\n r0 = -1;\n { step = 36; continue; }\n case 35:\n r0 = 1;\n case 36:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n r0 = (s.iconX___7376 + s.tmp_5);\n s.iconX___7376 = (r0);\n r0 = s.arg0.fields["up"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 37; continue; }\n r0 = (s.iconY___7385 - 3);\n s.iconY___7385 = (r0);\n case 37:\n case 38:\n case 39:\n case 40:\n s.tmp_0 = helpers_imageFillRect__P411_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_0.arg1 = s.iconX___7376;\n s.tmp_0.arg2 = s.iconY___7385;\n s.tmp_0.arg3 = s.iconWidth___7363;\n s.tmp_0.arg4 = s.iconHeight___7370;\n r0 = s.arg0.fields["border"];\n s.tmp_0.arg5 = r0;\n s.pc = 60; return s.tmp_0;\n case 60:\n r0 = s.retval;\n s.tmp_0 = helpers_imagePrint__P432_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_0.arg1 = s.pNum___7356;\n r0 = (s.iconX___7376 + 1);\n s.tmp_0.arg2 = r0;\n s.tmp_2 = r0 = s.iconY___7385;\n r0 = (s.iconHeight___7370 >> 1);\n s.tmp_3 = r0;\n r0 = (s.tmp_2 + s.tmp_3);\n s.tmp_1 = r0;\n s.tmp_6 = if_charHeight_1_mk(s);\n s.tmp_6.arg0 = s.font___7155;\n if (!s.tmp_6.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_6.arg0, "charHeight");\n } else {\n s.tmp_6.fn = s.tmp_6.arg0.vtable.iface["charHeight"];\n if (s.tmp_6.fn == null) { s.retval = s.tmp_6.arg0.fields["charHeight"]; }\n else { s.pc = 62; return s.tmp_6; }\n }\n case 62:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = (s.tmp_5 >> 1);\n s.tmp_4 = r0;\n r0 = (s.tmp_1 - s.tmp_4);\n s.tmp_0.arg3 = r0;\n r0 = s.arg0.fields["bg"];\n s.tmp_0.arg4 = r0;\n s.tmp_0.arg5 = s.font___7155;\n s.tmp_0.arg6 = undefined;\n s.pc = 61; return s.tmp_0;\n case 61:\n r0 = s.retval;\n case 41:\n case 42:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_PlayerInfo_drawPlayer__P837.info = {"start":21269,"length":3635,"line":703,"column":8,"endLine":806,"endColumn":9,"fileName":"pxt_modules/game/info.ts","functionName":"drawPlayer","argumentNames":["this"]}\n\nfunction info_PlayerInfo_drawPlayer__P837_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_PlayerInfo_drawPlayer__P837, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n tmp_12: undefined,\n tmp_13: undefined,\n state___7153: undefined,\n font___7155: undefined,\n score___7157: undefined,\n life___7158: undefined,\n height___7159: undefined,\n scoreWidth___7160: undefined,\n lifeWidth___7161: undefined,\n offsetX___7162: undefined,\n offsetY___7163: undefined,\n showScore___7164: undefined,\n showLife___7170: undefined,\n width___7230: undefined,\n x___7238: undefined,\n y___7244: undefined,\n bump___7271: undefined,\n xLoc___7292: undefined,\n mult___7301: undefined,\n pNum___7356: undefined,\n iconWidth___7363: undefined,\n iconHeight___7370: undefined,\n iconX___7376: undefined,\n iconY___7385: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction info_PlayerInfo_raiseLifeZero__P836(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.state___7133 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, info_PlayerInfo__C823_VT)) failedCast(r0);\n s.tmp_0 = info_PlayerInfo_getState__P825_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 9; return s.tmp_0;\n case 9:\n r0 = s.retval;\n s.state___7133 = (r0);\n r0 = s.state___7133.fields["life"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 !== null);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = s.state___7133.fields["life"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 <= 0);\n case 2:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 7; continue; }\n r0 = (s.state___7133).fields["life"] = (null);\n r0 = s.state___7133.fields["lifeZeroHandler"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.tmp_1 = lambda_1_mk(s);\n r0 = s.state___7133.fields["lifeZeroHandler"];\n s.tmp_1.argL = r0;\n setupLambda(s.tmp_1, s.tmp_1.argL);\n s.pc = 10; return s.tmp_1;\n case 10:\n r0 = s.retval;\n { step = 6; continue; }\n case 3:\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n if (!r0) { step = 4; continue; }\n s.tmp_0 = game_over__P1026_mk(s);\n s.tmp_0.arg0 = false;\n s.tmp_0.arg1 = undefined;\n s.pc = 11; return s.tmp_0;\n case 11:\n r0 = s.retval;\n case 4:\n case 5:\n case 6:\n case 7:\n case 8:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_PlayerInfo_raiseLifeZero__P836.info = {"start":20885,"length":374,"line":691,"column":8,"endLine":701,"endColumn":9,"fileName":"pxt_modules/game/info.ts","functionName":"raiseLifeZero","argumentNames":["this","gameOver"]}\n\nfunction info_PlayerInfo_raiseLifeZero__P836_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_PlayerInfo_raiseLifeZero__P836, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n state___7133: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction info_PlayerInfo_hasLife__P834(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.state___7066 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, info_PlayerInfo__C823_VT)) failedCast(r0);\n s.tmp_0 = info_PlayerInfo_getState__P825_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.state___7066 = (r0);\n r0 = s.state___7066.fields["life"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 !== undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = s.state___7066.fields["life"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 !== null);\n case 2:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = s.tmp_3;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_PlayerInfo_hasLife__P834.info = {"start":20361,"length":141,"line":674,"column":8,"endLine":677,"endColumn":9,"fileName":"pxt_modules/game/info.ts","functionName":"hasLife","argumentNames":["this"]}\n\nfunction info_PlayerInfo_hasLife__P834_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_PlayerInfo_hasLife__P834, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n state___7066: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction info_PlayerInfo_hasScore__P830(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.state___4134 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, info_PlayerInfo__C823_VT)) failedCast(r0);\n s.tmp_0 = info_PlayerInfo_getState__P825_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.state___4134 = (r0);\n r0 = s.state___4134.fields["score"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 !== undefined);\n return leave(s, r0)\n default: oops()\n} } }\ninfo_PlayerInfo_hasScore__P830.info = {"start":18633,"length":111,"line":617,"column":8,"endLine":620,"endColumn":9,"fileName":"pxt_modules/game/info.ts","functionName":"hasScore","argumentNames":["this"]}\n\nfunction info_PlayerInfo_hasScore__P830_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_PlayerInfo_hasScore__P830, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n state___4134: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction info_drawTimer__P822(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.font___6779 = undefined;\n s.smallFont___6781 = undefined;\n s.seconds___6783 = undefined;\n s.width___6787 = undefined;\n s.left___6790 = undefined;\n s.color1___6796 = undefined;\n s.color2___6800 = undefined;\n s.temp___6810 = undefined;\n s.top___6837 = undefined;\n s.remainder___6838 = undefined;\n s.decimalLeft___6856 = undefined;\n s.minutes___6871 = undefined;\n s.remainder___6875 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.arg0 = (0);\n case 1:\n case 2:\n r0 = (s.arg0 | 0);\n s.arg0 = (r0);\n s.font___6779 = (globals.font8___423);\n s.smallFont___6781 = (globals.font5___428);\n r0 = pxsim.Math_.idiv(s.arg0, 1000);\n s.seconds___6783 = (r0);\n s.tmp_2 = if_charWidth_1_mk(s);\n s.tmp_2.arg0 = s.font___6779;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "charWidth");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["charWidth"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["charWidth"]; }\n else { s.pc = 11; return s.tmp_2; }\n }\n case 11:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 * 5);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 - 2);\n s.width___6787 = (r0);\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 >> 1);\n s.tmp_1 = r0;\n r0 = (s.width___6787 >> 1);\n s.tmp_3 = r0;\n r0 = (s.tmp_1 - s.tmp_3);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 + 1);\n s.left___6790 = (r0);\n r0 = globals.infoState___745.fields["fontColor"];\n s.color1___6796 = (r0);\n r0 = globals.infoState___745.fields["bgColor"];\n s.color2___6800 = (r0);\n r0 = (s.seconds___6783 < 10);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 3; continue; }\n r0 = s.tmp_0;\n { step = 4; continue; }\n case 3:\n r0 = (s.seconds___6783 & 1);\n case 4:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBool(s.tmp_1);\n if (r0) { step = 5; continue; }\n r0 = s.tmp_1;\n { step = 6; continue; }\n case 5:\n r0 = pxsim_ImageMethods.isMono(globals.screen___464);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n case 6:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n if (!r0) { step = 7; continue; }\n s.temp___6810 = (s.color1___6796);\n s.color1___6796 = (s.color2___6800);\n s.color2___6800 = (s.temp___6810);\n case 7:\n case 8:\n s.tmp_0 = helpers_imageFillRect__P411_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n r0 = (s.left___6790 - 3);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = 0;\n r0 = (s.width___6787 + 6);\n s.tmp_0.arg3 = r0;\n s.tmp_2 = if_charHeight_1_mk(s);\n s.tmp_2.arg0 = s.font___6779;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "charHeight");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["charHeight"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["charHeight"]; }\n else { s.pc = 13; return s.tmp_2; }\n }\n case 13:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 + 3);\n s.tmp_0.arg4 = r0;\n r0 = globals.infoState___745.fields["borderColor"];\n s.tmp_0.arg5 = r0;\n s.pc = 12; return s.tmp_0;\n case 12:\n r0 = s.retval;\n s.tmp_0 = helpers_imageFillRect__P411_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n r0 = (s.left___6790 - 2);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = 0;\n r0 = (s.width___6787 + 4);\n s.tmp_0.arg3 = r0;\n s.tmp_2 = if_charHeight_1_mk(s);\n s.tmp_2.arg0 = s.font___6779;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "charHeight");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["charHeight"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["charHeight"]; }\n else { s.pc = 15; return s.tmp_2; }\n }\n case 15:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 + 2);\n s.tmp_0.arg4 = r0;\n s.tmp_0.arg5 = s.color2___6800;\n s.pc = 14; return s.tmp_0;\n case 14:\n r0 = s.retval;\n r0 = (s.seconds___6783 < 60);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 9; continue; }\n s.top___6837 = (1);\n r0 = (s.arg0 % 1000);\n s.tmp_0 = r0;\n r0 = pxsim.Math_.idiv(s.tmp_0, 10);\n s.remainder___6838 = (r0);\n s.tmp_0 = helpers_imagePrint__P432_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_3 = info_formatDecimal__P841_mk(s);\n s.tmp_3.arg0 = s.seconds___6783;\n s.pc = 17; return s.tmp_3;\n case 17:\n r0 = s.retval;\n s.tmp_2 = r0;\n if ((s.tmp_2) && (s.tmp_2).vtable) {\n setupResume(s, 18);\n pxsim_String__stringConv(s.tmp_2);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_2) + ""; }\n case 18:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_String__concat(s.tmp_1, ".");\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = s.left___6790;\n s.tmp_0.arg3 = s.top___6837;\n s.tmp_0.arg4 = s.color1___6796;\n s.tmp_0.arg5 = s.font___6779;\n s.tmp_0.arg6 = undefined;\n s.pc = 16; return s.tmp_0;\n case 16:\n r0 = s.retval;\n s.tmp_0 = r0 = s.left___6790;\n s.tmp_3 = if_charWidth_1_mk(s);\n s.tmp_3.arg0 = s.font___6779;\n if (!s.tmp_3.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, "charWidth");\n } else {\n s.tmp_3.fn = s.tmp_3.arg0.vtable.iface["charWidth"];\n if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields["charWidth"]; }\n else { s.pc = 19; return s.tmp_3; }\n }\n case 19:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (3 * s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n s.decimalLeft___6856 = (r0);\n s.tmp_0 = helpers_imagePrint__P432_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_1 = info_formatDecimal__P841_mk(s);\n s.tmp_1.arg0 = s.remainder___6838;\n s.pc = 21; return s.tmp_1;\n case 21:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = s.decimalLeft___6856;\n r0 = (s.top___6837 + 2);\n s.tmp_0.arg3 = r0;\n s.tmp_0.arg4 = s.color1___6796;\n s.tmp_0.arg5 = s.smallFont___6781;\n s.tmp_0.arg6 = undefined;\n s.pc = 20; return s.tmp_0;\n case 20:\n r0 = s.retval;\n { step = 10; continue; }\n case 9:\n r0 = pxsim.Math_.idiv(s.seconds___6783, 60);\n s.minutes___6871 = (r0);\n r0 = (s.seconds___6783 % 60);\n s.remainder___6875 = (r0);\n s.tmp_0 = helpers_imagePrint__P432_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_5 = info_formatDecimal__P841_mk(s);\n s.tmp_5.arg0 = s.minutes___6871;\n s.pc = 23; return s.tmp_5;\n case 23:\n r0 = s.retval;\n s.tmp_4 = r0;\n if ((s.tmp_4) && (s.tmp_4).vtable) {\n setupResume(s, 24);\n pxsim_String__stringConv(s.tmp_4);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_4) + ""; }\n case 24:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = pxsim_String__concat(s.tmp_3, ":");\n s.tmp_2 = r0;\n if ((s.tmp_2) && (s.tmp_2).vtable) {\n setupResume(s, 25);\n pxsim_String__stringConv(s.tmp_2);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_2) + ""; }\n case 25:\n r0 = s.retval;\n s.tmp_1 = r0;\n s.tmp_8 = info_formatDecimal__P841_mk(s);\n s.tmp_8.arg0 = s.remainder___6875;\n s.pc = 26; return s.tmp_8;\n case 26:\n r0 = s.retval;\n s.tmp_7 = r0;\n if ((s.tmp_7) && (s.tmp_7).vtable) {\n setupResume(s, 27);\n pxsim_String__stringConv(s.tmp_7);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_7) + ""; }\n case 27:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = pxsim_String__concat(s.tmp_1, s.tmp_6);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = s.left___6790;\n s.tmp_0.arg3 = 1;\n s.tmp_0.arg4 = s.color1___6796;\n s.tmp_0.arg5 = s.font___6779;\n s.tmp_0.arg6 = undefined;\n s.pc = 22; return s.tmp_0;\n case 22:\n r0 = s.retval;\n case 10:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_drawTimer__P822.info = {"start":13501,"length":1328,"line":463,"column":4,"endLine":498,"endColumn":5,"fileName":"pxt_modules/game/info.ts","functionName":"drawTimer","argumentNames":["millis"]}\n\nfunction info_drawTimer__P822_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_drawTimer__P822, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n font___6779: undefined,\n smallFont___6781: undefined,\n seconds___6783: undefined,\n width___6787: undefined,\n left___6790: undefined,\n color1___6796: undefined,\n color2___6800: undefined,\n temp___6810: undefined,\n top___6837: undefined,\n remainder___6838: undefined,\n decimalLeft___6856: undefined,\n minutes___6871: undefined,\n remainder___6875: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction info_formatDecimal__P841(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 | 0);\n s.arg0 = (r0);\n r0 = (s.arg0 < 10);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n if ((s.arg0) && (s.arg0).vtable) {\n setupResume(s, 4);\n pxsim_String__stringConv(s.arg0);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.arg0) + ""; }\n case 4:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_String__concat("0", s.tmp_1);\n { step = 3; continue; }\n case 1:\n case 2:\n r0 = pxsim_numops.toString(s.arg0);\n case 3:\n return leave(s, r0)\n default: oops()\n} } }\ninfo_formatDecimal__P841.info = {"start":28442,"length":156,"line":917,"column":4,"endLine":923,"endColumn":5,"fileName":"pxt_modules/game/info.ts","functionName":"formatDecimal","argumentNames":["val"]}\n\nfunction info_formatDecimal__P841_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_formatDecimal__P841, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction info_InfoState_constructor__P743(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, info_InfoState__C742_VT)) failedCast(r0);\n r0 = (s.arg0).fields["visibilityFlag"] = (8);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["playerStates"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_2 = info_defaultHeartImage__P795_mk(s);\n s.pc = 7; return s.tmp_2;\n case 7:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["heartImage"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim.image.ofBuffer(_hex7488);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["multiplierImage"] = (s.tmp_1);\n r0 = pxsim_ImageMethods.isMono(globals.screen___464);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = 0;\n { step = 2; continue; }\n case 1:\n r0 = 1;\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = (s.arg0).fields["bgColor"] = (s.tmp_1);\n r0 = pxsim_ImageMethods.isMono(globals.screen___464);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = 1;\n { step = 4; continue; }\n case 3:\n r0 = 3;\n case 4:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = (s.arg0).fields["borderColor"] = (s.tmp_1);\n r0 = pxsim_ImageMethods.isMono(globals.screen___464);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = 1;\n { step = 6; continue; }\n case 5:\n r0 = 3;\n case 6:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = (s.arg0).fields["fontColor"] = (s.tmp_1);\n r0 = (s.arg0).fields["countdownExpired"] = (undefined);\n r0 = (s.arg0).fields["countdownEndHandler"] = (undefined);\n r0 = (s.arg0).fields["gameEnd"] = (undefined);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["playerStates"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_InfoState_constructor__P743.info = {"start":1038,"length":674,"line":43,"column":8,"endLine":61,"endColumn":9,"fileName":"pxt_modules/game/info.ts","functionName":"inline","argumentNames":["this"]}\n\nfunction info_InfoState_constructor__P743_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_InfoState_constructor__P743, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\nconst _hex7488 = pxsim.BufferMethods.createBufferFromHex("87040500050000000100010010100000000100001010000001000100")\n\n\n\n\nfunction info_defaultHeartImage__P795(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_ImageMethods.isMono(globals.screen___464);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim.image.ofBuffer(_hex7516);\n { step = 2; continue; }\n case 1:\n r0 = pxsim.image.ofBuffer(_hex7518);\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = s.tmp_1;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_defaultHeartImage__P795.info = {"start":5105,"length":592,"line":163,"column":4,"endLine":184,"endColumn":5,"fileName":"pxt_modules/game/info.ts","functionName":"defaultHeartImage","argumentNames":[]}\n\nfunction info_defaultHeartImage__P795_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_defaultHeartImage__P795, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n} }\n\nconst _hex7516 = pxsim.BufferMethods.createBufferFromHex("87040800070000001011000001000100010010001000000101001000010001001011000000000000")\nconst _hex7518 = pxsim.BufferMethods.createBufferFromHex("8704080007000000c0cc00002c220c002222c2002222220c20222202222422004222020020220000")\n\n\n\n\nfunction helpers_arrayFilter__P48(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.res___2828 = undefined;\n s.len___2830 = undefined;\n s.i___2833 = undefined;\n s.v___2837 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_Array__mk();\n s.res___2828 = (r0);\n r0 = pxsim_Array__length(s.arg0);\n s.len___2830 = (r0);\n s.i___2833 = (0);\n case 1:\n r0 = (s.i___2833 < s.len___2830);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 4; continue; }\n r0 = pxsim_Array__getAt(s.arg0, s.i___2833);\n s.v___2837 = (r0);\n s.tmp_1 = lambda_3_mk(s);\n s.tmp_1.argL = s.arg1;\n s.tmp_1.arg0 = s.v___2837;\n s.tmp_1.arg1 = s.i___2833;\n setupLambda(s.tmp_1, s.tmp_1.argL);\n s.pc = 5; return s.tmp_1;\n case 5:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n r0 = pxsim_Array__push(s.res___2828, s.v___2837);\n case 2:\n case 3:\n r0 = (s.i___2833 + 1);\n s.i___2833 = (r0);\n { step = 1; continue; }\n case 4:\n r0 = s.res___2828;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_arrayFilter__P48.info = {"start":5412,"length":317,"line":177,"column":4,"endLine":185,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"arrayFilter","argumentNames":["arr","callbackfn"]}\n\nfunction helpers_arrayFilter__P48_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_arrayFilter__P48, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n res___2828: undefined,\n len___2830: undefined,\n i___2833: undefined,\n v___2837: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction info_PlayerState_constructor__P741(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, info_PlayerState__C740_VT)) failedCast(r0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_PlayerState_constructor__P741.info = {"start":601,"length":17,"line":27,"column":8,"endLine":27,"endColumn":25,"fileName":"pxt_modules/game/info.ts","functionName":"inline","argumentNames":["this"]}\n\nfunction info_PlayerState_constructor__P741_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_PlayerState_constructor__P741, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction info_changeScoreBy__P802(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = info_PlayerInfo_changeScoreBy__P829_mk(s);\n s.tmp_0.arg0 = globals.player1___845;\n s.tmp_0.arg1 = s.arg0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_changeScoreBy__P802.info = {"start":7719,"length":90,"line":264,"column":4,"endLine":266,"endColumn":5,"fileName":"pxt_modules/game/info.ts","functionName":"changeScoreBy","argumentNames":["value"]}\n\nfunction info_changeScoreBy__P802_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_changeScoreBy__P802, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction info_PlayerInfo_changeScoreBy__P829(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, info_PlayerInfo__C823_VT)) failedCast(r0);\n s.tmp_0 = info_PlayerInfo_setScore__P828_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_2 = info_PlayerInfo_score__P827_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 2; return s.tmp_2;\n case 2:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 + s.arg1);\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_PlayerInfo_changeScoreBy__P829.info = {"start":18528,"length":95,"line":613,"column":8,"endLine":615,"endColumn":9,"fileName":"pxt_modules/game/info.ts","functionName":"changeScoreBy","argumentNames":["this","value"]}\n\nfunction info_PlayerInfo_changeScoreBy__P829_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_PlayerInfo_changeScoreBy__P829, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction info_PlayerInfo_setScore__P828(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.state___8150 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, info_PlayerInfo__C823_VT)) failedCast(r0);\n s.tmp_0 = info_PlayerInfo_getState__P825_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.state___8150 = (r0);\n s.tmp_0 = info_updateFlag__P815_mk(s);\n s.tmp_0.arg0 = 2;\n s.tmp_0.arg1 = true;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n s.tmp_0 = info_PlayerInfo_score__P827_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.tmp_0 = r0 = s.state___8150;\n r0 = (s.arg1 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["score"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_PlayerInfo_setScore__P828.info = {"start":18041,"length":220,"line":597,"column":8,"endLine":603,"endColumn":9,"fileName":"pxt_modules/game/info.ts","functionName":"setScore","argumentNames":["this","value"]}\n\nfunction info_PlayerInfo_setScore__P828_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_PlayerInfo_setScore__P828, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n state___8150: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction info_updateFlag__P815(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = info_initHUD__P793_mk(s);\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n if (!r0) { step = 1; continue; }\n s.tmp_0 = r0 = globals.infoState___745;\n r0 = s.tmp_0.fields["visibilityFlag"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | s.arg0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["visibilityFlag"] = (s.tmp_1);\n { step = 2; continue; }\n case 1:\n s.tmp_0 = r0 = globals.infoState___745;\n r0 = globals.infoState___745.fields["visibilityFlag"];\n s.tmp_4 = r0;\n r0 = (~ s.tmp_4);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 | s.arg0);\n s.tmp_2 = r0;\n r0 = (~ s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["visibilityFlag"] = (s.tmp_1);\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_updateFlag__P815.info = {"start":11468,"length":204,"line":394,"column":4,"endLine":398,"endColumn":5,"fileName":"pxt_modules/game/info.ts","functionName":"updateFlag","argumentNames":["flag","on"]}\n\nfunction info_updateFlag__P815_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_updateFlag__P815, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Math_percentChance__P1154(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 >= 100);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = true;\n { step = 5; continue; }\n { step = 4; continue; }\n case 1:\n r0 = (s.arg0 <= 0);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 2; continue; }\n r0 = false;\n { step = 5; continue; }\n case 2:\n case 3:\n case 4:\n r0 = pxsim.Math_.randomRange(0, 99);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 < s.arg0);\n case 5:\n return leave(s, r0)\n default: oops()\n} } }\nMath_percentChance__P1154.info = {"start":336,"length":259,"line":8,"column":4,"endLine":16,"endColumn":5,"fileName":"pxt_modules/game/mathUtil.ts","functionName":"percentChance","argumentNames":["percentage"]}\n\nfunction Math_percentChance__P1154_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Math_percentChance__P1154, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Sprite_setKind__P638(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.spritesByKind___8186 = undefined;\n s.overlapMap___8212 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = (s.arg1 == undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = s.arg0.fields["_kind"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 === s.arg1);\n case 2:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 3; continue; }\n { step = 15; continue; }\n case 3:\n case 4:\n s.tmp_3 = game_currentScene__P769_mk(s);\n s.pc = 16; return s.tmp_3;\n case 16:\n r0 = s.retval;\n r0 = r0.fields["spritesByKind"];\n s.spritesByKind___8186 = (r0);\n r0 = s.arg0.fields["_kind"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 >= 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 5; continue; }\n r0 = s.tmp_0;\n { step = 6; continue; }\n case 5:\n r0 = s.arg0.fields["_kind"];\n s.tmp_2 = r0;\n r0 = pxsim_pxtrt.mapGetGeneric(s.spritesByKind___8186, s.tmp_2);\n case 6:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 7; continue; }\n s.tmp_4 = SpriteSet_remove__P682_mk(s);\n r0 = s.arg0.fields["_kind"];\n s.tmp_5 = r0;\n r0 = pxsim_pxtrt.mapGetGeneric(s.spritesByKind___8186, s.tmp_5);\n s.tmp_4.arg0 = r0;\n s.tmp_4.arg1 = s.arg0;\n s.pc = 17; return s.tmp_4;\n case 17:\n r0 = s.retval;\n case 7:\n case 8:\n r0 = (s.arg1 >= 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 11; continue; }\n r0 = pxsim_pxtrt.mapGetGeneric(s.spritesByKind___8186, s.arg1);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 9; continue; }\n r0 = pxsim_pxtcore_mkClassInstance(SpriteSet__C676_VT);\n s.tmp_4 = r0;\n s.tmp_5 = SpriteSet_constructor__P687_mk(s);\n s.tmp_5.arg0 = s.tmp_4;\n s.pc = 18; return s.tmp_5;\n case 18:\n r0 = s.retval;\n r0 = pxsim_pxtrt.mapSetGeneric(s.spritesByKind___8186, s.arg1, s.tmp_4);\n case 9:\n case 10:\n s.tmp_0 = SpriteSet_add__P680_mk(s);\n r0 = pxsim_pxtrt.mapGetGeneric(s.spritesByKind___8186, s.arg1);\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = s.arg0;\n s.pc = 19; return s.tmp_0;\n case 19:\n r0 = s.retval;\n case 11:\n case 12:\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 20; return s.tmp_0;\n case 20:\n r0 = s.retval;\n r0 = r0.fields["overlapMap"];\n s.overlapMap___8212 = (r0);\n r0 = pxsim_pxtrt.mapGetGeneric(s.overlapMap___8212, s.arg1);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 13; continue; }\n s.tmp_3 = r0 = s.overlapMap___8212;\n s.tmp_4 = r0 = s.arg1;\n r0 = pxsim_Array__mk();\n s.tmp_5 = r0;\n r0 = pxsim_pxtrt.mapSetGeneric(s.tmp_3, s.tmp_4, s.tmp_5);\n case 13:\n case 14:\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_pxtrt.mapGetGeneric(s.overlapMap___8212, s.arg1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["_kindsOverlappedWith"] = (s.tmp_1);\n r0 = (s.arg0).fields["_kind"] = (s.arg1);\n case 15:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_setKind__P638.info = {"start":9666,"length":655,"line":349,"column":4,"endLine":369,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"setKind","argumentNames":["this","value"]}\n\nfunction Sprite_setKind__P638_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_setKind__P638, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n spritesByKind___8186: undefined,\n overlapMap___8212: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction SpriteSet_constructor__P687(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, SpriteSet__C676_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["_sprites"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSpriteSet_constructor__P687.info = {"start":392,"length":49,"line":18,"column":4,"endLine":20,"endColumn":5,"fileName":"pxt_modules/game/spriteset.ts","functionName":"inline","argumentNames":["this"]}\n\nfunction SpriteSet_constructor__P687_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: SpriteSet_constructor__P687, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction SpriteSet_remove__P682(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.i___2869 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, SpriteSet__C676_VT)) failedCast(r0);\n r0 = s.arg0.fields["_sprites"];\n s.tmp_0 = r0;\n r0 = pxsim_Array_.indexOf(s.tmp_0, s.arg1, undefined);\n s.i___2869 = (r0);\n r0 = (s.i___2869 > -1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_1 = helpers_arraySplice__P36_mk(s);\n r0 = s.arg0.fields["_sprites"];\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = s.i___2869;\n s.tmp_1.arg2 = 1;\n s.pc = 4; return s.tmp_1;\n case 4:\n r0 = s.retval;\n r0 = true;\n { step = 3; continue; }\n case 1:\n case 2:\n r0 = false;\n case 3:\n return leave(s, r0)\n default: oops()\n} } }\nSpriteSet_remove__P682.info = {"start":1556,"length":207,"line":65,"column":4,"endLine":72,"endColumn":5,"fileName":"pxt_modules/game/spriteset.ts","functionName":"remove","argumentNames":["this","sprite"]}\n\nfunction SpriteSet_remove__P682_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: SpriteSet_remove__P682, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n i___2869: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction helpers_arraySplice__P36(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.i___2889 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg1 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 5; continue; }\n case 1:\n case 2:\n s.i___2889 = (0);\n case 3:\n r0 = (s.i___2889 < s.arg2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 4; continue; }\n r0 = pxsim_Array_.removeAt(s.arg0, s.arg1);\n r0 = (s.i___2889 + 1);\n s.i___2889 = (r0);\n { step = 3; continue; }\n case 4:\n case 5:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_arraySplice__P36.info = {"start":1359,"length":213,"line":53,"column":4,"endLine":60,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"arraySplice","argumentNames":["arr","start","len"]}\n\nfunction helpers_arraySplice__P36_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_arraySplice__P36, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n i___2889: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction SpriteSet_add__P680(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, SpriteSet__C676_VT)) failedCast(r0);\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = false;\n { step = 5; continue; }\n case 1:\n case 2:\n r0 = s.arg0.fields["_sprites"];\n s.tmp_4 = r0;\n r0 = pxsim_Array_.indexOf(s.tmp_4, s.arg1, undefined);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 > -1);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 3; continue; }\n r0 = false;\n { step = 5; continue; }\n case 3:\n case 4:\n r0 = s.arg0.fields["_sprites"];\n s.tmp_5 = r0;\n r0 = pxsim_Array__push(s.tmp_5, s.arg1);\n r0 = true;\n case 5:\n return leave(s, r0)\n default: oops()\n} } }\nSpriteSet_add__P680.info = {"start":855,"length":235,"line":40,"column":4,"endLine":48,"endColumn":5,"fileName":"pxt_modules/game/spriteset.ts","functionName":"add","argumentNames":["this","sprite"]}\n\nfunction SpriteSet_add__P680_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: SpriteSet_add__P680, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction SpriteSet_contains__P683(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, SpriteSet__C676_VT)) failedCast(r0);\n r0 = s.arg0.fields["_sprites"];\n s.tmp_1 = r0;\n r0 = pxsim_Array_.indexOf(s.tmp_1, s.arg1, undefined);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 > -1);\n return leave(s, r0)\n default: oops()\n} } }\nSpriteSet_contains__P683.info = {"start":1854,"length":92,"line":78,"column":4,"endLine":80,"endColumn":5,"fileName":"pxt_modules/game/spriteset.ts","functionName":"contains","argumentNames":["this","sprite"]}\n\nfunction SpriteSet_contains__P683_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: SpriteSet_contains__P683, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction sprites_createProjectileFromSide__P604(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = sprites_createProjectile__P606_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.tmp_0.arg2 = s.arg2;\n s.tmp_0.arg3 = 1;\n s.tmp_0.arg4 = undefined;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_createProjectileFromSide__P604.info = {"start":2403,"length":153,"line":74,"column":4,"endLine":76,"endColumn":5,"fileName":"pxt_modules/game/sprites.ts","functionName":"createProjectileFromSide","argumentNames":["img","vx","vy"]}\n\nfunction sprites_createProjectileFromSide__P604_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_createProjectileFromSide__P604, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction sprites_createProjectile__P606(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.s___8560 = undefined;\n s.sc___8565 = undefined;\n s.xOff___8573 = undefined;\n s.yOff___8581 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = r0 = s.arg3;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = 1;\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n s.tmp_2 = sprites_create__P602_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.tmp_2.arg1 = s.tmp_1;\n s.pc = 21; return s.tmp_2;\n case 21:\n r0 = s.retval;\n s.s___8560 = (r0);\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 22; return s.tmp_0;\n case 22:\n r0 = s.retval;\n s.sc___8565 = (r0);\n s.tmp_0 = Sprite_vx__P614_mk(s);\n s.tmp_0.arg0 = s.s___8560;\n s.tmp_0.arg1 = s.arg1;\n s.pc = 23; return s.tmp_0;\n case 23:\n r0 = s.retval;\n s.tmp_0 = Sprite_vy__P616_mk(s);\n s.tmp_0.arg0 = s.s___8560;\n s.tmp_0.arg1 = s.arg2;\n s.pc = 24; return s.tmp_0;\n case 24:\n r0 = s.retval;\n r0 = s.sc___8565.fields["tileMap"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = s.s___8560.fields["_image"];\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 >> 1);\n s.tmp_1 = r0;\n r0 = (0 - s.tmp_1);\n { step = 4; continue; }\n case 3:\n r0 = s.s___8560.fields["_image"];\n s.tmp_6 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_6);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 >> 1);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 - 1);\n case 4:\n // jmp value (already in r0)\n s.tmp_7 = r0;\n s.xOff___8573 = (s.tmp_7);\n r0 = s.sc___8565.fields["tileMap"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = s.s___8560.fields["_image"];\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 >> 1);\n s.tmp_1 = r0;\n r0 = (0 - s.tmp_1);\n { step = 6; continue; }\n case 5:\n r0 = s.s___8560.fields["_image"];\n s.tmp_6 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_6);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 >> 1);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 - 1);\n case 6:\n // jmp value (already in r0)\n s.tmp_7 = r0;\n s.yOff___8581 = (s.tmp_7);\n case 7:\n r0 = (s.arg1 == 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 8; continue; }\n r0 = s.tmp_0;\n { step = 9; continue; }\n case 8:\n r0 = (s.arg2 == 0);\n case 9:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 10; continue; }\n r0 = pxsim.Math_.randomRange(-100, 100);\n s.arg1 = (r0);\n r0 = pxsim.Math_.randomRange(-100, 100);\n s.arg2 = (r0);\n { step = 7; continue; }\n case 10:\n r0 = (s.arg1 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 11; continue; }\n s.tmp_1 = Sprite_x__P610_mk(s);\n s.tmp_1.arg0 = s.s___8560;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.xOff___8573);\n s.tmp_1.arg1 = r0;\n s.pc = 25; return s.tmp_1;\n case 25:\n r0 = s.retval;\n { step = 14; continue; }\n case 11:\n r0 = (s.arg1 > 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 12; continue; }\n s.tmp_1 = Sprite_x__P610_mk(s);\n s.tmp_1.arg0 = s.s___8560;\n r0 = (0 - s.xOff___8573);\n s.tmp_1.arg1 = r0;\n s.pc = 26; return s.tmp_1;\n case 26:\n r0 = s.retval;\n case 12:\n case 13:\n case 14:\n r0 = (s.arg2 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 15; continue; }\n s.tmp_1 = Sprite_y__P612_mk(s);\n s.tmp_1.arg0 = s.s___8560;\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.yOff___8581);\n s.tmp_1.arg1 = r0;\n s.pc = 27; return s.tmp_1;\n case 27:\n r0 = s.retval;\n { step = 18; continue; }\n case 15:\n r0 = (s.arg2 > 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 16; continue; }\n s.tmp_1 = Sprite_y__P612_mk(s);\n s.tmp_1.arg0 = s.s___8560;\n r0 = (0 - s.yOff___8581);\n s.tmp_1.arg1 = r0;\n s.pc = 28; return s.tmp_1;\n case 28:\n r0 = s.retval;\n case 16:\n case 17:\n case 18:\n s.tmp_0 = r0 = s.s___8560;\n r0 = s.tmp_0.fields["flags"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 4);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["flags"] = (s.tmp_1);\n s.tmp_0 = r0 = s.s___8560;\n r0 = s.tmp_0.fields["flags"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 16);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["flags"] = (s.tmp_1);\n r0 = pxsim_numops_toBoolDecr(s.arg4);\n if (!r0) { step = 19; continue; }\n s.tmp_0 = Sprite_x__P610_mk(s);\n s.tmp_0.arg0 = s.s___8560;\n s.tmp_1 = Sprite_x__P609_mk(s);\n s.tmp_1.arg0 = s.arg4;\n s.pc = 30; return s.tmp_1;\n case 30:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.pc = 29; return s.tmp_0;\n case 29:\n r0 = s.retval;\n s.tmp_0 = Sprite_y__P612_mk(s);\n s.tmp_0.arg0 = s.s___8560;\n s.tmp_1 = Sprite_y__P611_mk(s);\n s.tmp_1.arg0 = s.arg4;\n s.pc = 32; return s.tmp_1;\n case 32:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.pc = 31; return s.tmp_0;\n case 31:\n r0 = s.retval;\n case 19:\n case 20:\n r0 = s.s___8560;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_createProjectile__P606.info = {"start":4034,"length":1115,"line":106,"column":4,"endLine":142,"endColumn":5,"fileName":"pxt_modules/game/sprites.ts","functionName":"createProjectile","argumentNames":["img","vx","vy","kind","sprite"]}\n\nfunction sprites_createProjectile__P606_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_createProjectile__P606, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n s___8560: undefined,\n sc___8565: undefined,\n xOff___8573: undefined,\n yOff___8581: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n} }\n\n\n\n\n\nfunction Sprite_height__P628(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields["_image"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\nSprite_height__P628.info = {"start":7461,"length":54,"line":265,"column":4,"endLine":267,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"height","argumentNames":["this"]}\n\nfunction Sprite_height__P628_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_height__P628, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Sprite_width__P627(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields["_image"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\nSprite_width__P627.info = {"start":7316,"length":52,"line":260,"column":4,"endLine":262,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"width","argumentNames":["this"]}\n\nfunction Sprite_width__P627_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_width__P627, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Sprite_y__P612(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_0 = Sprite_top__P634_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_1 = r0 = s.arg1;\n r0 = s.arg0.fields["_image"];\n s.tmp_4 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_4);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 >> 1);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 - s.tmp_2);\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_y__P612.info = {"start":1677,"length":73,"line":69,"column":4,"endLine":71,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"y","argumentNames":["this","v"]}\n\nfunction Sprite_y__P612_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_y__P612, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_top__P634(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.physics___2382 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = r0.fields["physicsEngine"];\n s.physics___2382 = (r0);\n s.tmp_0 = PhysicsEngine__C708_v2_4_mk(s);\n s.tmp_0.arg0 = s.physics___2382;\n s.tmp_0.arg1 = s.arg0;\n s.tmp_0.arg2 = globals.zeroFx8___79;\n r0 = (s.arg1 * 256);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_1 = r0;\n r0 = s.arg0.fields["_y"];\n s.tmp_3 = r0;\n r0 = (s.tmp_1 - s.tmp_3);\n s.tmp_0.arg3 = r0;\n if (!checkSubtype(s.tmp_0.arg0, PhysicsEngine__C708_VT)) failedCast(s.tmp_0.arg0);\n s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.moveSprite;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_top__P634.info = {"start":8527,"length":256,"line":306,"column":4,"endLine":316,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"top","argumentNames":["this","value"]}\n\nfunction Sprite_top__P634_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_top__P634, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n physics___2382: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction PhysicsEngine_moveSprite__P711(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, PhysicsEngine__C708_VT)) failedCast(r0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nPhysicsEngine_moveSprite__P711.info = {"start":230,"length":43,"line":13,"column":4,"endLine":13,"endColumn":47,"fileName":"pxt_modules/game/physics.ts","functionName":"moveSprite","argumentNames":["this","s","dx","dy"]}\n\nfunction PhysicsEngine_moveSprite__P711_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: PhysicsEngine_moveSprite__P711, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction Fx_sub__P88(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 - s.arg1);\n return leave(s, r0)\n default: oops()\n} } }\nFx_sub__P88.info = {"start":736,"length":118,"line":26,"column":4,"endLine":28,"endColumn":5,"fileName":"pxt_modules/base/fixed.ts","functionName":"sub","argumentNames":["a","b"]}\n\nfunction Fx_sub__P88_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Fx_sub__P88, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_top__P633(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields["_y"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 + 128);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 >> 8);\n return leave(s, r0)\n default: oops()\n} } }\nSprite_top__P633.info = {"start":8398,"length":51,"line":301,"column":4,"endLine":303,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"top","argumentNames":["this"]}\n\nfunction Sprite_top__P633_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_top__P633, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_runtime__P1033(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_1 = game_currentScene__P769_mk(s);\n s.pc = 1; return s.tmp_1;\n case 1:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = s.tmp_0.fields["_millis"];\n return leave(s, r0)\n default: oops()\n} } }\ngame_runtime__P1033.info = {"start":10222,"length":81,"line":331,"column":4,"endLine":333,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"runtime","argumentNames":[]}\n\nfunction game_runtime__P1033_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_runtime__P1033, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n} }\n\n\n\n\n\nfunction forever__P505(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = game_forever__P1030_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nforever__P505.info = {"start":264,"length":62,"line":6,"column":0,"endLine":8,"endColumn":1,"fileName":"pxt_modules/game/gameoverrides.ts","functionName":"forever","argumentNames":["a"]}\n\nfunction forever__P505_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: forever__P505, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_forever__P1030(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_numops_toBoolDecr(globals.foreverRunning___1029);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n globals.foreverRunning___1029 = (true);\n r0 = pxsim.control.runInParallel(inline__P8262);\n case 1:\n case 2:\n r0 = pxsim_pxtcore_mkClassInstance(scene_GameForeverHandler__C902_VT);\n s.tmp_0 = r0;\n s.tmp_1 = scene_GameForeverHandler_constructor__P903_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = s.arg0;\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n s.tmp_3 = game_currentScene__P769_mk(s);\n s.pc = 4; return s.tmp_3;\n case 4:\n r0 = s.retval;\n r0 = r0.fields["gameForeverHandlers"];\n s.tmp_2 = r0;\n r0 = pxsim_Array__push(s.tmp_2, s.tmp_0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_forever__P1030.info = {"start":8541,"length":820,"line":276,"column":4,"endLine":299,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"forever","argumentNames":["action"]}\n\nfunction game_forever__P1030_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_forever__P1030, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P8262(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.handlers___8264 = undefined;\n case 1:\n r0 = pxsim_numops_toBoolDecr(1);\n if (!r0) { step = 2; continue; }\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n r0 = r0.fields["gameForeverHandlers"];\n s.handlers___8264 = (r0);\n s.tmp_0 = helpers_arrayForEach__P47_mk(s);\n s.tmp_0.arg0 = s.handlers___8264;\n s.tmp_0.arg1 = inline__P8270;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n s.tmp_0 = pause__P241_mk(s);\n s.tmp_0.arg0 = 20;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n { step = 1; continue; }\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P8262.info = {"start":8693,"length":535,"line":279,"column":34,"endLine":293,"endColumn":13,"fileName":"pxt_modules/game/game.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P8262_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P8262, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n handlers___8264: undefined,\n} }\n\n\n\n\n\nfunction inline__P8270(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0.fields["lock"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = (s.arg0).fields["lock"] = (true);\n r0 = pxsim_pxtcore_mkAction(1, inline__P8279);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n r0 = pxsim.control.runInParallel(s.tmp_0);\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P8270.info = {"start":8844,"length":319,"line":282,"column":37,"endLine":290,"endColumn":21,"fileName":"pxt_modules/game/game.ts","functionName":"inline","argumentNames":["h"]}\n\nfunction inline__P8270_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P8270, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P8279(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = lambda_1_mk(s);\n r0 = s.caps[0].fields["handler"];\n s.tmp_0.argL = r0;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = (s.caps[0]).fields["lock"] = (false);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P8279.info = {"start":8983,"length":130,"line":285,"column":50,"endLine":288,"endColumn":29,"fileName":"pxt_modules/game/game.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P8279_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P8279, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction scene_GameForeverHandler_constructor__P903(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_GameForeverHandler__C902_VT)) failedCast(r0);\n r0 = (s.arg0).fields["handler"] = (s.arg1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_GameForeverHandler_constructor__P903.info = {"start":643,"length":65,"line":29,"column":8,"endLine":31,"endColumn":13,"fileName":"pxt_modules/game/scene.ts","functionName":"inline","argumentNames":["this","handler"]}\n\nfunction scene_GameForeverHandler_constructor__P903_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_GameForeverHandler_constructor__P903, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction game_onUpdateInterval__P1028(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.timer___8301 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = game_init__P1018_mk(s);\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = (s.arg0 < 0);\n case 2:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 3; continue; }\n { step = 5; continue; }\n case 3:\n case 4:\n r0 = pxsim_pxtrt.mklocRef();\n s.timer___8301 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.timer___8301, 0);\n r0 = pxsim_pxtcore_mkAction(3, inline__P8305);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.timer___8301);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.arg0);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 2, s.arg1);\n s.tmp_1 = control_EventContext_registerFrameHandler__P226_mk(s);\n s.tmp_2 = game_eventContext__P1017_mk(s);\n s.pc = 8; return s.tmp_2;\n case 8:\n r0 = s.retval;\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = 19;\n s.tmp_1.arg2 = s.tmp_0;\n s.pc = 7; return s.tmp_1;\n case 7:\n r0 = s.retval;\n case 5:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_onUpdateInterval__P1028.info = {"start":7860,"length":417,"line":255,"column":4,"endLine":266,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"onUpdateInterval","argumentNames":["period","a"]}\n\nfunction game_onUpdateInterval__P1028_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_onUpdateInterval__P1028, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n timer___8301: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction inline__P8305(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.time___8306 = undefined;\n s.tmp_1 = game_currentScene__P769_mk(s);\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = s.tmp_0.fields["_millis"];\n s.time___8306 = (r0);\n r0 = pxsim_pxtrt_ldlocRef(s.caps[0]);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 <= s.time___8306);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_2 = r0 = s.caps[0];\n r0 = (s.time___8306 + s.caps[1]);\n s.tmp_3 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_2, s.tmp_3);\n s.tmp_0 = lambda_1_mk(s);\n s.tmp_0.argL = s.caps[2];\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P8305.info = {"start":8090,"length":179,"line":259,"column":81,"endLine":265,"endColumn":9,"fileName":"pxt_modules/game/game.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P8305_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P8305, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n time___8306: undefined,\n} }\n\n\n\n\n\nfunction Sprite_bottom__P636(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_0 = Sprite_top__P634_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_1 = r0 = s.arg1;\n r0 = s.arg0.fields["_image"];\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 - s.tmp_2);\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_bottom__P636.info = {"start":9029,"length":73,"line":325,"column":4,"endLine":327,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"bottom","argumentNames":["this","value"]}\n\nfunction Sprite_bottom__P636_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_bottom__P636, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_bottom__P635(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_1 = Sprite_top__P633_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.pc = 1; return s.tmp_1;\n case 1:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = s.arg0.fields["_image"];\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_0 + s.tmp_2);\n return leave(s, r0)\n default: oops()\n} } }\nSprite_bottom__P635.info = {"start":8877,"length":59,"line":320,"column":4,"endLine":322,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"bottom","argumentNames":["this"]}\n\nfunction Sprite_bottom__P635_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_bottom__P635, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_onUpdate__P1027(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = game_init__P1018_mk(s);\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(s.arg0);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 3; continue; }\n case 1:\n case 2:\n s.tmp_2 = control_EventContext_registerFrameHandler__P226_mk(s);\n s.tmp_3 = game_eventContext__P1017_mk(s);\n s.pc = 6; return s.tmp_3;\n case 6:\n r0 = s.retval;\n s.tmp_2.arg0 = r0;\n s.tmp_2.arg1 = 20;\n s.tmp_2.arg2 = s.arg0;\n s.pc = 5; return s.tmp_2;\n case 5:\n r0 = s.retval;\n case 3:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_onUpdate__P1027.info = {"start":7358,"length":169,"line":241,"column":4,"endLine":245,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"onUpdate","argumentNames":["a"]}\n\nfunction game_onUpdate__P1027_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_onUpdate__P1027, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction setupFrames__P22748(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_Array__mk();\n s.tmp_0 = r0;\n r0 = pxsim.image.ofBuffer(_hex22949);\n s.tmp_1 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_1);\n r0 = pxsim.image.ofBuffer(_hex22951);\n s.tmp_2 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_2);\n r0 = pxsim.image.ofBuffer(_hex22953);\n s.tmp_3 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_3);\n r0 = pxsim.image.ofBuffer(_hex22955);\n s.tmp_4 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_4);\n r0 = pxsim.image.ofBuffer(_hex22957);\n s.tmp_5 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_5);\n r0 = pxsim.image.ofBuffer(_hex22959);\n s.tmp_6 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_6);\n r0 = pxsim.image.ofBuffer(_hex22961);\n s.tmp_7 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_7);\n r0 = pxsim.image.ofBuffer(_hex22963);\n s.tmp_8 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_8);\n r0 = pxsim.image.ofBuffer(_hex22965);\n s.tmp_9 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_9);\n r0 = pxsim.image.ofBuffer(_hex22967);\n s.tmp_10 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_10);\n globals.birdFrames___22771 = (s.tmp_0);\n s.tmp_0 = animation_runImageAnimation__P1553_mk(s);\n s.tmp_0.arg0 = globals.bird___22772;\n s.tmp_0.arg1 = globals.birdFrames___22771;\n s.tmp_0.arg2 = 40;\n s.tmp_0.arg3 = true;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = pxsim_Array__mk();\n s.tmp_0 = r0;\n r0 = pxsim.image.ofBuffer(_hex22974);\n s.tmp_1 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_1);\n r0 = pxsim.image.ofBuffer(_hex22976);\n s.tmp_2 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_2);\n globals.obstacles___22770 = (s.tmp_0);\n r0 = pxsim_Array__mk();\n s.tmp_0 = r0;\n r0 = pxsim.image.ofBuffer(_hex22980);\n s.tmp_1 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_1);\n r0 = pxsim.image.ofBuffer(_hex22982);\n s.tmp_2 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_2);\n r0 = pxsim.image.ofBuffer(_hex22984);\n s.tmp_3 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_3);\n globals.trees___22769 = (s.tmp_0);\n r0 = pxsim_Array__mk();\n s.tmp_0 = r0;\n r0 = pxsim.image.ofBuffer(_hex22988);\n s.tmp_1 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_1);\n r0 = pxsim.image.ofBuffer(_hex22990);\n s.tmp_2 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_2);\n r0 = pxsim.image.ofBuffer(_hex22992);\n s.tmp_3 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_3);\n r0 = pxsim.image.ofBuffer(_hex22994);\n s.tmp_4 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_4);\n r0 = pxsim.image.ofBuffer(_hex22996);\n s.tmp_5 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_5);\n r0 = pxsim.image.ofBuffer(_hex22998);\n s.tmp_6 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_6);\n globals.grassImages___22768 = (s.tmp_0);\n r0 = pxsim_Array__mk();\n s.tmp_0 = r0;\n r0 = pxsim.image.ofBuffer(_hex23002);\n s.tmp_1 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_1);\n r0 = pxsim.image.ofBuffer(_hex23004);\n s.tmp_2 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_2);\n r0 = pxsim.image.ofBuffer(_hex23006);\n s.tmp_3 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_3);\n r0 = pxsim.image.ofBuffer(_hex23008);\n s.tmp_4 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_4);\n r0 = pxsim.image.ofBuffer(_hex23010);\n s.tmp_5 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_5);\n globals.clouds___22767 = (s.tmp_0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsetupFrames__P22748.info = {"start":250,"length":32035,"line":10,"column":0,"endLine":535,"endColumn":1,"fileName":"main.ts","functionName":"setupFrames","argumentNames":[]}\n\nfunction setupFrames__P22748_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: setupFrames__P22748, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n} }\n\nconst _hex22949 = pxsim.BufferMethods.createBufferFromHex("87040c000c000000000000000000000000000000000000000000000100000000000000010000000000111101000000001011110100000000101111010000000010010001000000001000000000000000000000000000000000000000000000000000000000000000")\nconst _hex22951 = pxsim.BufferMethods.createBufferFromHex("87040c000c000000000000000000000000000000000000000000000100000000000011010000000000101101000000000010110100000000001011010000000000100101000000000010000000000000001000000000000000000000000000000000000000000000")\nconst _hex22953 = pxsim.BufferMethods.createBufferFromHex("87040c000c000000000000000000000000000000000000000000000100000000000010110000000000001011000000000000101100000000000010110000000000000011000000000000001000000000000000100000000000000010000000000000000000000000")\nconst _hex22955 = pxsim.BufferMethods.createBufferFromHex("87040c000c000000000000000000000000000000000000000000000100000000000000110100000000000011110000000000001111000000000000111100000000000001110000000000000011000000000000001000000000000000100000000000000000000000")\nconst _hex22957 = pxsim.BufferMethods.createBufferFromHex("87040c000c000000000000000000000000000000000000000000000100000000000000110100000000000011110000000000001111010000000000111101000000000001100100000000000010010000000000000001000000000000000000000000000000000000")\nconst _hex22959 = pxsim.BufferMethods.createBufferFromHex("87040c000c000000000000000000000000000000000000000000000100000000000000110100000000000011110000000000001111010000000000111101000000000001100100000000000010010000000000000001000000000000000000000000000000000000")\nconst _hex22961 = pxsim.BufferMethods.createBufferFromHex("87040c000c000000000000000000000000000000000000000000000100000000000000110100000000000011110000000000001111000000000000111100000000000001110000000000000011000000000000001000000000000000100000000000000000000000")\nconst _hex22963 = pxsim.BufferMethods.createBufferFromHex("87040c000c000000000000000000000000000000000000000000000100000000000010110000000000001011000000000000101100000000000010110000000000000011000000000000001000000000000000100000000000000010000000000000000000000000")\nconst _hex22965 = pxsim.BufferMethods.createBufferFromHex("87040c000c000000000000000000000000000000000000000000000100000000000011010000000000101101000000000010110100000000001011010000000000100101000000000010000000000000001000000000000000000000000000000000000000000000")\nconst _hex22967 = pxsim.BufferMethods.createBufferFromHex("87040c000c000000000000000000000000000000000000000000000100000000000000010000000000111101000000001011110100000000101111010000000010010001000000001000000000000000000000000000000000000000000000000000000000000000")\nconst _hex22974 = pxsim.BufferMethods.createBufferFromHex("8704160020000000000000000000000000006006000000000000000000000000000060060000000000000000000000600000600600000000000000000000006006006667000060060000000000000060060076670000600000000000000000600600766706006006000000000600666606607767060000000000006006606676066077670600060000006666666666776776776706000000006066766766777767767777eeeeee0e707777776766777767767777eeeeee0e007777776766777767777777eeeeee0e000077776770777777777777eeeeee0e000000770770777776777777070000000000000000007777067077770700600000000000000070770600777707000600000000000000007706007777070000000000000000000070060070770700000000000000000000700000007706000000000000000000000000000077060000000000000000000000000000670600000000000000000000000000000600000000")\nconst _hex22976 = pxsim.BufferMethods.createBufferFromHex("87040f0020000000000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000e00e00000000000000000000eee0eeeeee0e000000000000000000e0eebeeebbbe0e000000000000000000eebbeeebeeee0e000000000000000000beeeebebeebbee000000000000000000beeeebebebeeee000000000000000000bebeeeebeebe0e000000000000000000eebbbeeebbee0e000000000000000000e0eebeeeeeee0e00000000000000000000eee00ee0e00e000000000000000000000000000e000e000000000000000000000000e00000000000000000000000000000000e0e0000")\nconst _hex22980 = pxsim.BufferMethods.createBufferFromHex("8704240030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b00000000000000000000000000000000000000000000b00b0000000000000000000000000000000000000000000bbb0b00000000000000000000000000000000000b0000b00bbb0b0000000000000000000000000000b00000bb0000bb00bb0b0000000000000000000000000000b000b0bb00b0bb00bb0b0000000000000000000000000000bb00b0bb00b0bbb0bb0b0000000000000000000000000000bb00b0bb00bb0bb0bb0b00000000000000000000b00000b0bb00bbbb00bbbbbbbb0000000000000000000000bb0000bb0bb0bb00b0bbbbbbbb0000000000000000000bb00b00b0bb00bbbb00bbbbbbbbbb0000000000000000b00bbb0b0bbbbbbbbbbbbbbbbbbbbbbb0b000000000000b0bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb00000000bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb0000000000b0b00bbbbb0bbbb0bbbbb0bbbbbbbbbbbbbbbb000000000000000bb0bb00b0bbbbbbbb00bbbbbbbbbb0b00000000000000000000bb0000bb0bb0bb0bbbb00bbbbb0b00000000000000000000b00b00b0bb00b00bb0b00bb0bb0b00000000000000000000000b0000b000000b00b00bb0bb0b00000000000000000000000b0000b00b000000b00b00bb0b0000000000000000000000000000b00b000000b00b00bb000000000000000000000000000000000b000000b00000bb0000000000000000000000000000000000000000000000b00000000000000000000000000000000000000000000000b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")\nconst _hex22982 = pxsim.BufferMethods.createBufferFromHex("870424003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b0000b000b00000000000000000000000000000000000000bb000bb00b000000000000000000000000000000000000000b000bb00000000000000000000000000000000b00b000000b000bb00b00000000000000000000000b00b0bb00b000bb0bb000b00000000000000000000000b00b00bb0b00bbb0bbbbb00bbb0000000000000000000000b00bb0bb0bb0bbb0bbbbbb00bb00000000000000000b0b00b00bb00b00bb0bbbbbbbbb000b00000000000000000bbb00b00bb00bbbbbbbbbbbbb0bb00bbb00000000000bb00bbb00bb00bbbbbbbbbbbbbbbbbbbbbbbb00000000b0bbb0b0bbbbbbbbbbbbbbbbbbbbbbbbbbbbb0bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb00b00bbbb0bbb00bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb00000bbb00bb0bbb00bbbbbb0bbbb0bbbbbb0b0b0000000000000bbb00b00bbb0000bbbbbbbbbb0b0bbb0b0b00000000000000b000b00bb00000b0bbbb0bbb0b00bbbbbb000000000000000000000bb00000b0b0bb0bb0bb00bbb0bb0000000000000000000000000000000bbb0b00bb0b00b0bb00000000000000000000000000000000000b00b00b00b0bb0b000000000000000000000000000000000b00000b0000b00b000000000000000000000000000000000000000b0000000b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")\nconst _hex22984 = pxsim.BufferMethods.createBufferFromHex("87042400300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b00b00000000000000000000000000000000000000000000b00b00000000000000000000000000000000000000000000b00b00b0000000000000000000000000000000000000000bb00bb0b00000000000000000000000000000000b00000b0bb00bb0b00000000000000000000000000000000b00000b0bb00bb0b00000000000000000000000000000000bb0000b0bbb0bb0b000000000000000000000000000b0000bb0000bbbbb0bb00000000000000000000000000000b00b00b00bbbbbbbbbb00000000000000000000000000b00bbbbb0bbbbbbbbbbbbb000000000000000000000000b0bbbbbbbbbbbbbbbbbbbbbbbbbbbb00000000000000b0bbbbbbbbbbbbbbbbbbbbbbbbbbbb00bb00000000000000000000bb00bbbbbbbbbbbbbbbbbbbbbbbb00000000000000000000000000bbbb00bbbbbbbbbb0b000000000000000000000000000000b0bb0000bbbbbbbb0000000000000000000000000000000000bb0000b0bbb0bb0000000000000000000000000000000000b00000b0bbbbbb000000000000000000000000000000000000000000bbb0bb000000000000000000000000000000000000000000bbb0bb0000000000000000000000000000000000000000000bb00b00000000000000000000000000000000000000000000b00b00000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")\nconst _hex22988 = pxsim.BufferMethods.createBufferFromHex("8704080008000000000000000000000000000000000000bb0000bbbb000000000000000000000000")\nconst _hex22990 = pxsim.BufferMethods.createBufferFromHex("87040800080000000000000000000000000000000000bbbb000000bb00000000000000bb00000000")\nconst _hex22992 = pxsim.BufferMethods.createBufferFromHex("870408000800000000bbbbbb000000b00000b0bb00b0bbbb0000bbbb00000000000000bb00000000")\nconst _hex22994 = pxsim.BufferMethods.createBufferFromHex("87040800080000000000000000000000000000000000bbbb000000bb00000000000000bb00b0bbbb")\nconst _hex22996 = pxsim.BufferMethods.createBufferFromHex("870408000800000000000000000000000000bbbb00bbbbbb0000b0bb000000000000000000000000")\nconst _hex22998 = pxsim.BufferMethods.createBufferFromHex("87040800080000000000000000b0bbbb0000b0bb0000000000000000000000000000b0bb00000000")\nconst _hex23002 = pxsim.BufferMethods.createBufferFromHex("8704330017000000000000000000000000001100000000000000000000101100000000000000000000111100000000000000000010111100000000000000000011111100000000000000000011111101000000000000001011111101000000000010111111111101000000000011111111111101000000001011111111111101000000001111111111111101000000001111111111111101000000001111111111111101000000001111111111111101000000001111111111111101000000101111111111111101000000101111111111111101000000101111111111111101000000111111111111111101000000111111111111111101000000111111111111111101000010111111111111111101000011111111111111111101001011111111111111111101001111111111111111111101101111111111111111111101101111111111111111111101101111111111111111111101111111111111111111111101111111111111111111111101101111111111111111111101101111111111111111111101001111111111111111111101001111111111111111111101001111111111111111111101001111111111111111111101001011111111111111111101000011111111111111111101000000111111111111111101000000101111111111111101000000001111111111111101000000001011111111111101000000000011111111111101000000000011111111111101000000000010111111111101000000000010111111111100000000000000111111111100000000000000101111111100000000000000001111111100000000000000000010111100000000000000000000100100")\nconst _hex23004 = pxsim.BufferMethods.createBufferFromHex("87042e0018000000000000000000000000000011000000000000000000001011000000000000000000001111000000000000000011111111000000000000001011111111000000000000001111111111000000000000101111111111000000000000101111111111000000000000101111111111000000000000101111111111000000000000101111111111000000000000111111111111000000001011111111111111000000111111111111111111000010111111111111111111000011111111111111111111000011111111111111111111000011111111111111111101001011111111111111111101001011111111111111111101001011111111111111111101001011111111111111111101001111111111111111111101001111111111111111111101101111111111111111111101111111111111111111111101111111111111111111111101111111111111111111111101111111111111111111111101111111111111111111111101101111111111111111111101001111111111111111111101001011111111111111111101000010111111111111111101000010111111111111111101000010111111111111111111000010111111111111111111000010111111111111111111000010111111111111111111000000111111111111111111000000001111111111111111000000000011111111111111000000000000111111111111000000000000101111111111000000000000001111111101000000000000000011111100")\nconst _hex23006 = pxsim.BufferMethods.createBufferFromHex("8704210010000000000000001100000000000011111100000000111111110100001011111111010000111111111101000011111111111100001111111111110110111111111111011111111111111101111111111111110111111111111111011111111111111101111111111111110111111111111111011111111111111101111111111111110110111111111111010011111111111101001011111111110100001111111111010000111111111101000011111111110100001111111111010000111111111101000011111111110100001011111111010000001111111101000000101111110100000000101111010000000010111101000000000011110000000000001011000000000000001100")\nconst _hex23008 = pxsim.BufferMethods.createBufferFromHex("870447001e0000000000000000000000000000001101000000000000000000000000001011110000000000000000000011111111111101000000000000000011111111111111010000000000000010111111111111110100000000000000101111111111111101000000000000001111111111111111010000000000001011111111111111110100000000000010111111111111111101000000000010111111111111111111010000000010111111111111111111110100000000111111111111111111111101000000101111111111111111111111010000001011111111111111111111110100000011111111111111111111111101000000111111111111111111111111110000101111111111111111111111111100001111111111111111111111111111001011111111111111111111111111110011111111111111111111111111111100111111111111111111111111111111001111111111111111111111111111110011111111111111111111111111111100101111111111111111111111111111000011111111111111111111111111110000111111111111111111111111111100001111111111111111111111111111000011111111111111111111111111110000111111111111111111111111111100001111111111111111111111111111000011111111111111111111111111110000101111111111111111111111111100000011111111111111111111111111000000101111111111111111111111110000000000111111111111111111111100000000000011111111111111111111000000000000111111111111111111110000000000001111111111111111111100000000001011111111111111111111000000000010111111111111111111110000000000101111111111111111111100000000001111111111111111111111000000000011111111111111111111110000000000111111111111111111111100000000001111111111111111111111000000000011111111111111111111110000000000101111111111111111110100000000000011111111111111111101000000000000101111111111111111010000000000000011111111111111110100000000000000111111111111111101000000000000001111111111111111010000000000000010111111111111110100000000000000101111111111111101000000000000000011111111111111010000000000000000101111111111110100000000000000000011111111111111000000000000000000001111111111110000000000000000000010111111111100000000000000000000001111111111000000000000000000000011111111110000000000000000000000101111111100000000000000000000001011111111000000000000000000000000111111110000000000000000000000001111110100000000000000000000000011111101000000000000000000000000111111010000000000000000000000001111110100000000000000000000000010111101000000000000000000000000001111010000000000000000000000000000110000")\nconst _hex23010 = pxsim.BufferMethods.createBufferFromHex("8704270012000000000000000000000011000000000000000000001011000000000000000000001111000000000000000000001111000000000000000010111111000000000000001011111111000000000000001111111111000000000000101111111111000000000000111111111111000000000010111111111111000000000010111111111111000000000010111111111111000000000011111111111111000000001011111111111111000000001011111111111111000000001111111111111111000000001111111111111111000000101111111111111111000000101111111111111101000000101111111111111101000000101111111111111101000000001111111111111101000000001111111111111101000000101111111111111101000000111111111111111101000000111111111111111101000000111111111111111101000000111111111111111101000000101111111111111101000000001111111111111101000000001011111111111101000000000011111111111101000000000010111111111101000000000000101111111101000000000000101111111101000000000000001111111101000000000000001011111101000000000000000011111100000000000000000000110100000000")\n\n\n\n\nfunction animation_runImageAnimation__P1553(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.anim___8656 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_pxtcore_mkClassInstance(animation_ImageAnimation__C1545_VT);\n s.tmp_0 = r0;\n s.tmp_1 = r0 = s.arg2;\n r0 = pxsim_numops_toBool(s.tmp_1);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_1;\n { step = 2; continue; }\n case 1:\n r0 = 500;\n case 2:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n s.tmp_3 = animation_ImageAnimation_constructor__P1548_mk(s);\n s.tmp_3.arg0 = s.tmp_0;\n s.tmp_3.arg1 = s.arg0;\n s.tmp_3.arg2 = s.arg1;\n s.tmp_3.arg3 = s.tmp_2;\n r0 = pxsim_numops_toBoolDecr(s.arg3);\n s.tmp_6 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_6);\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_5);\n s.tmp_4 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_4);\n s.tmp_3.arg4 = r0;\n s.pc = 3; return s.tmp_3;\n case 3:\n r0 = s.retval;\n s.anim___8656 = (s.tmp_0);\n s.tmp_0 = animation_SpriteAnimation_init__P1542_mk(s);\n s.tmp_0.arg0 = s.anim___8656;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nanimation_runImageAnimation__P1553.info = {"start":19924,"length":222,"line":510,"column":4,"endLine":513,"endColumn":5,"fileName":"pxt_modules/animation/animation.ts","functionName":"runImageAnimation","argumentNames":["sprite","frames","frameInterval","loop"]}\n\nfunction animation_runImageAnimation__P1553_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: animation_runImageAnimation__P1553, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n anim___8656: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction animation_ImageAnimation_constructor__P1548(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, animation_ImageAnimation__C1545_VT)) failedCast(r0);\n r0 = (s.arg0).fields["frames"] = (s.arg2);\n r0 = (s.arg0).fields["frameInterval"] = (s.arg3);\n s.tmp_0 = animation_SpriteAnimation_constructor__P1544_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.tmp_0.arg2 = s.arg4;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = (s.arg0).fields["lastFrame"] = (-1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nanimation_ImageAnimation_constructor__P1548.info = {"start":17589,"length":178,"line":450,"column":8,"endLine":454,"endColumn":9,"fileName":"pxt_modules/animation/animation.ts","functionName":"inline","argumentNames":["this","sprite","frames","frameInterval","loop"]}\n\nfunction animation_ImageAnimation_constructor__P1548_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: animation_ImageAnimation_constructor__P1548, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n} }\n\n\n\n\n\nfunction animation_SpriteAnimation_constructor__P1544(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, animation_SpriteAnimation__C1541_VT)) failedCast(r0);\n r0 = (s.arg0).fields["sprite"] = (s.arg1);\n r0 = (s.arg0).fields["loop"] = (s.arg2);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nanimation_SpriteAnimation_constructor__P1544.info = {"start":16085,"length":71,"line":412,"column":8,"endLine":413,"endColumn":9,"fileName":"pxt_modules/animation/animation.ts","functionName":"inline","argumentNames":["this","sprite","loop"]}\n\nfunction animation_SpriteAnimation_constructor__P1544_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: animation_SpriteAnimation_constructor__P1544, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction animation_SpriteAnimation_init__P1542(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.state___8667 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, animation_SpriteAnimation__C1541_VT)) failedCast(r0);\n r0 = pxsim_pxtrt.mklocRef();\n s.state___8667 = (r0);\n s.tmp_0 = r0 = s.state___8667;\n s.tmp_4 = game_currentScene__P769_mk(s);\n s.pc = 3; return s.tmp_4;\n case 3:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = s.tmp_3.fields["_data"];\n s.tmp_2 = r0;\n r0 = pxsim_pxtrt.mapGetGeneric(s.tmp_2, "__animation");\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1);\n r0 = pxsim_pxtrt_ldlocRef(s.state___8667);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_pxtrt.mkMap();\n s.tmp_3 = r0;\n r0 = pxsim_Array__mk();\n s.tmp_4 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_3, "animations", s.tmp_4);\n s.tmp_7 = game_currentScene__P769_mk(s);\n s.pc = 4; return s.tmp_7;\n case 4:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = s.tmp_6.fields["_data"];\n s.tmp_5 = r0;\n r0 = pxsim_pxtrt.mapSetGeneric(s.tmp_5, "__animation", s.tmp_3);\n r0 = pxsim_pxtrt_stlocRef(s.state___8667, s.tmp_3);\n r0 = pxsim_pxtcore_mkAction(1, inline__P8681);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.state___8667);\n s.tmp_1 = control_EventContext_registerFrameHandler__P226_mk(s);\n s.tmp_2 = game_eventContext__P1017_mk(s);\n s.pc = 6; return s.tmp_2;\n case 6:\n r0 = s.retval;\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = 15;\n s.tmp_1.arg2 = s.tmp_0;\n s.pc = 5; return s.tmp_1;\n case 5:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = pxsim_pxtcore_mkAction(1, inline__P8698);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n s.tmp_1 = if_animations_2_mk(s);\n r0 = pxsim_pxtrt_ldlocRef(s.state___8667);\n s.tmp_1.arg0 = r0;\n s.tmp_2 = helpers_arrayFilter__P48_mk(s);\n s.tmp_3 = if_animations_1_mk(s);\n r0 = pxsim_pxtrt_ldlocRef(s.state___8667);\n s.tmp_3.arg0 = r0;\n if (!s.tmp_3.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, "animations");\n } else {\n s.tmp_3.fn = s.tmp_3.arg0.vtable.iface["animations"];\n if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields["animations"]; }\n else { s.pc = 9; return s.tmp_3; }\n }\n case 9:\n r0 = s.retval;\n s.tmp_2.arg0 = r0;\n s.tmp_2.arg1 = s.tmp_0;\n s.pc = 8; return s.tmp_2;\n case 8:\n r0 = s.retval;\n s.tmp_1.arg1 = r0;\n if (!s.tmp_1.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapSetByString(s.tmp_1.arg0, "animations", s.tmp_1.arg1);\n } else {\n s.tmp_1.fn = s.tmp_1.arg0.vtable.iface["set/animations"];\n if (s.tmp_1.fn === null) { s.tmp_1.arg0.fields["animations"] = s.tmp_1.arg1; }\n else if (s.tmp_1.fn === undefined) { failedCast(s.tmp_1.arg0) }\n else { s.pc = 7; return s.tmp_1; }\n }\n case 7:\n r0 = s.retval;\n s.tmp_1 = if_animations_1_mk(s);\n r0 = pxsim_pxtrt_ldlocRef(s.state___8667);\n s.tmp_1.arg0 = r0;\n if (!s.tmp_1.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, "animations");\n } else {\n s.tmp_1.fn = s.tmp_1.arg0.vtable.iface["animations"];\n if (s.tmp_1.fn == null) { s.retval = s.tmp_1.arg0.fields["animations"]; }\n else { s.pc = 10; return s.tmp_1; }\n }\n case 10:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.arg0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nanimation_SpriteAnimation_init__P1542.info = {"start":16166,"length":1185,"line":415,"column":8,"endLine":439,"endColumn":9,"fileName":"pxt_modules/animation/animation.ts","functionName":"init","argumentNames":["this"]}\n\nfunction animation_SpriteAnimation_init__P1542_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: animation_SpriteAnimation_init__P1542, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n state___8667: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P8681(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = if_animations_2_mk(s);\n r0 = pxsim_pxtrt_ldlocRef(s.caps[0]);\n s.tmp_0.arg0 = r0;\n s.tmp_1 = helpers_arrayFilter__P48_mk(s);\n s.tmp_2 = if_animations_1_mk(s);\n r0 = pxsim_pxtrt_ldlocRef(s.caps[0]);\n s.tmp_2.arg0 = r0;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "animations");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["animations"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["animations"]; }\n else { s.pc = 3; return s.tmp_2; }\n }\n case 3:\n r0 = s.retval;\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = inline__P8688;\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n if (!s.tmp_0.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapSetByString(s.tmp_0.arg0, "animations", s.tmp_0.arg1);\n } else {\n s.tmp_0.fn = s.tmp_0.arg0.vtable.iface["set/animations"];\n if (s.tmp_0.fn === null) { s.tmp_0.arg0.fields["animations"] = s.tmp_0.arg1; }\n else if (s.tmp_0.fn === undefined) { failedCast(s.tmp_0.arg0) }\n else { s.pc = 1; return s.tmp_0; }\n }\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P8681.info = {"start":16598,"length":257,"line":424,"column":90,"endLine":428,"endColumn":17,"fileName":"pxt_modules/animation/animation.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P8681_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P8681, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n} }\n\n\n\n\n\nfunction inline__P8688(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_2 = animation_SpriteAnimation__C1541_v0_1_mk(s);\n s.tmp_2.arg0 = s.arg0;\n if (!checkSubtype(s.tmp_2.arg0, animation_SpriteAnimation__C1541_VT)) failedCast(s.tmp_2.arg0);\n s.tmp_2.fn = s.tmp_2.arg0.vtable.methods.update;\n s.pc = 1; return s.tmp_2;\n case 1:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\ninline__P8688.info = {"start":16669,"length":166,"line":425,"column":63,"endLine":427,"endColumn":21,"fileName":"pxt_modules/animation/animation.ts","functionName":"inline","argumentNames":["anim"]}\n\nfunction inline__P8688_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P8688, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P8698(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0.fields["sprite"];\n s.tmp_1 = r0;\n r0 = s.caps[0].fields["sprite"];\n s.tmp_2 = r0;\n r0 = (s.tmp_1 === s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 8; continue; }\n case 1:\n r0 = s.arg0;\n r0 = checkSubtype(r0, animation_ImageAnimation__C1545_VT);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBool(s.tmp_3);\n if (r0) { step = 2; continue; }\n r0 = s.tmp_3;\n { step = 3; continue; }\n case 2:\n r0 = s.caps[0];\n r0 = checkSubtype(r0, animation_ImageAnimation__C1545_VT);\n case 3:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBool(s.tmp_4);\n if (!r0) { step = 4; continue; }\n r0 = s.tmp_4;\n { step = 7; continue; }\n case 4:\n r0 = s.arg0;\n r0 = checkSubtype(r0, animation_MovementAnimation__C1549_VT);\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBool(s.tmp_5);\n if (r0) { step = 5; continue; }\n r0 = s.tmp_5;\n { step = 6; continue; }\n case 5:\n r0 = s.caps[0];\n r0 = checkSubtype(r0, animation_MovementAnimation__C1549_VT);\n case 6:\n // jmp value (already in r0)\n s.tmp_6 = r0;\n r0 = s.tmp_6;\n case 7:\n // jmp value (already in r0)\n s.tmp_7 = r0;\n r0 = s.tmp_7;\n case 8:\n // jmp value (already in r0)\n s.tmp_8 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_8);\n s.tmp_9 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_9);\n return leave(s, r0)\n default: oops()\n} } }\ninline__P8698.info = {"start":17012,"length":285,"line":432,"column":55,"endLine":436,"endColumn":13,"fileName":"pxt_modules/animation/animation.ts","functionName":"inline","argumentNames":["anim"]}\n\nfunction inline__P8698_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P8698, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction animation_SpriteAnimation_update__P1543(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, animation_SpriteAnimation__C1541_VT)) failedCast(r0);\n r0 = false;\n return leave(s, r0)\n default: oops()\n} } }\nanimation_SpriteAnimation_update__P1543.info = {"start":17361,"length":118,"line":441,"column":8,"endLine":444,"endColumn":9,"fileName":"pxt_modules/animation/animation.ts","functionName":"update","argumentNames":["this"]}\n\nfunction animation_SpriteAnimation_update__P1543_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: animation_SpriteAnimation_update__P1543, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_Scene_data__P925(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Scene__C923_VT)) failedCast(r0);\n r0 = s.arg0.fields["_data"];\n return leave(s, r0)\n default: oops()\n} } }\nscene_Scene_data__P925.info = {"start":5591,"length":53,"line":157,"column":8,"endLine":159,"endColumn":9,"fileName":"pxt_modules/game/scene.ts","functionName":"data","argumentNames":["this"]}\n\nfunction scene_Scene_data__P925_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Scene_data__P925, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Sprite_setVelocity__P640(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_0 = Sprite_vx__P614_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.tmp_0 = Sprite_vy__P616_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg2;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_setVelocity__P640.info = {"start":11311,"length":93,"line":401,"column":4,"endLine":404,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"setVelocity","argumentNames":["this","vx","vy"]}\n\nfunction Sprite_setVelocity__P640_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_setVelocity__P640, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction Sprite_setPosition__P639(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.physics___8332 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = r0.fields["physicsEngine"];\n s.physics___8332 = (r0);\n s.tmp_0 = PhysicsEngine__C708_v2_4_mk(s);\n s.tmp_0.arg0 = s.physics___8332;\n s.tmp_0.arg1 = s.arg0;\n s.tmp_2 = r0 = s.arg1;\n s.tmp_4 = Sprite_x__P609_mk(s);\n s.tmp_4.arg0 = s.arg0;\n s.pc = 3; return s.tmp_4;\n case 3:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_2 - s.tmp_3);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 * 256);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 | 0);\n s.tmp_0.arg2 = r0;\n s.tmp_7 = r0 = s.arg2;\n s.tmp_9 = Sprite_y__P611_mk(s);\n s.tmp_9.arg0 = s.arg0;\n s.pc = 4; return s.tmp_9;\n case 4:\n r0 = s.retval;\n s.tmp_8 = r0;\n r0 = (s.tmp_7 - s.tmp_8);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 * 256);\n s.tmp_10 = r0;\n r0 = (s.tmp_10 | 0);\n s.tmp_0.arg3 = r0;\n if (!checkSubtype(s.tmp_0.arg0, PhysicsEngine__C708_VT)) failedCast(s.tmp_0.arg0);\n s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.moveSprite;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_setPosition__P639.info = {"start":10748,"length":220,"line":381,"column":4,"endLine":388,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"setPosition","argumentNames":["this","x","y"]}\n\nfunction Sprite_setPosition__P639_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_setPosition__P639, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n physics___8332: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction Sprite_x__P610(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_0 = Sprite_left__P630_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_1 = r0 = s.arg1;\n r0 = s.arg0.fields["_image"];\n s.tmp_4 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_4);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 >> 1);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 - s.tmp_2);\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_x__P610.info = {"start":1328,"length":73,"line":58,"column":4,"endLine":60,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"x","argumentNames":["this","v"]}\n\nfunction Sprite_x__P610_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_x__P610, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_left__P630(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.physics___8353 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = r0.fields["physicsEngine"];\n s.physics___8353 = (r0);\n s.tmp_0 = PhysicsEngine__C708_v2_4_mk(s);\n s.tmp_0.arg0 = s.physics___8353;\n s.tmp_0.arg1 = s.arg0;\n r0 = (s.arg1 * 256);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_1 = r0;\n r0 = s.arg0.fields["_x"];\n s.tmp_3 = r0;\n r0 = (s.tmp_1 - s.tmp_3);\n s.tmp_0.arg2 = r0;\n s.tmp_0.arg3 = globals.zeroFx8___79;\n if (!checkSubtype(s.tmp_0.arg0, PhysicsEngine__C708_VT)) failedCast(s.tmp_0.arg0);\n s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.moveSprite;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_left__P630.info = {"start":7749,"length":257,"line":276,"column":4,"endLine":286,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"left","argumentNames":["this","value"]}\n\nfunction Sprite_left__P630_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_left__P630, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n physics___8353: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_left__P629(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields["_x"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 + 128);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 >> 8);\n return leave(s, r0)\n default: oops()\n} } }\nSprite_left__P629.info = {"start":7607,"length":51,"line":271,"column":4,"endLine":273,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"left","argumentNames":["this"]}\n\nfunction Sprite_left__P629_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_left__P629, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Sprite_x__P609(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields["_x"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 + 128);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 >> 8);\n s.tmp_0 = r0;\n r0 = s.arg0.fields["_image"];\n s.tmp_5 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_5);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 >> 1);\n s.tmp_3 = r0;\n r0 = (s.tmp_0 + s.tmp_3);\n return leave(s, r0)\n default: oops()\n} } }\nSprite_x__P609.info = {"start":1157,"length":83,"line":53,"column":4,"endLine":55,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"x","argumentNames":["this"]}\n\nfunction Sprite_x__P609_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_x__P609, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction sprites_create__P602(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.scene___8381 = undefined;\n s.sprite___8383 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.scene___8381 = (r0);\n r0 = pxsim_pxtcore_mkClassInstance(Sprite__C607_VT);\n s.tmp_0 = r0;\n s.tmp_1 = Sprite_constructor__P657_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = s.arg0;\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n s.sprite___8383 = (s.tmp_0);\n s.tmp_0 = Sprite_setKind__P638_mk(s);\n s.tmp_0.arg0 = s.sprite___8383;\n s.tmp_0.arg1 = s.arg1;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.tmp_0 = PhysicsEngine__C708_v0_2_mk(s);\n r0 = s.scene___8381.fields["physicsEngine"];\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = s.sprite___8383;\n if (!checkSubtype(s.tmp_0.arg0, PhysicsEngine__C708_VT)) failedCast(s.tmp_0.arg0);\n s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.addSprite;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkAction(1, inline__P8398);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg1);\n r0 = pxsim_pxtcore_mkAction(1, inline__P8403);\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_1, 0, s.sprite___8383);\n s.tmp_2 = helpers_arrayForEach__P47_mk(s);\n s.tmp_3 = helpers_arrayFilter__P48_mk(s);\n r0 = s.scene___8381.fields["createdHandlers"];\n s.tmp_3.arg0 = r0;\n s.tmp_3.arg1 = s.tmp_0;\n s.pc = 6; return s.tmp_3;\n case 6:\n r0 = s.retval;\n s.tmp_2.arg0 = r0;\n s.tmp_2.arg1 = s.tmp_1;\n s.pc = 5; return s.tmp_2;\n case 5:\n r0 = s.retval;\n r0 = s.sprite___8383;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_create__P602.info = {"start":890,"length":400,"line":35,"column":4,"endLine":47,"endColumn":5,"fileName":"pxt_modules/game/sprites.ts","functionName":"create","argumentNames":["img","kind"]}\n\nfunction sprites_create__P602_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_create__P602, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n scene___8381: undefined,\n sprite___8383: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction inline__P8398(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0.fields["kind"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 == s.caps[0]);\n return leave(s, r0)\n default: oops()\n} } }\ninline__P8398.info = {"start":1195,"length":19,"line":43,"column":20,"endLine":43,"endColumn":39,"fileName":"pxt_modules/game/sprites.ts","functionName":"inline","argumentNames":["h"]}\n\nfunction inline__P8398_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P8398, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P8403(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = lambda_2_mk(s);\n r0 = s.arg0.fields["handler"];\n s.tmp_0.argL = r0;\n s.tmp_0.arg0 = s.caps[0];\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P8403.info = {"start":1237,"length":22,"line":44,"column":21,"endLine":44,"endColumn":43,"fileName":"pxt_modules/game/sprites.ts","functionName":"inline","argumentNames":["h"]}\n\nfunction inline__P8403_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P8403, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction PhysicsEngine_addSprite__P709(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, PhysicsEngine__C708_VT)) failedCast(r0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nPhysicsEngine_addSprite__P709.info = {"start":124,"length":29,"line":8,"column":4,"endLine":8,"endColumn":33,"fileName":"pxt_modules/game/physics.ts","functionName":"addSprite","argumentNames":["this","sprite"]}\n\nfunction PhysicsEngine_addSprite__P709_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: PhysicsEngine_addSprite__P709, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_constructor__P657(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_0 = sprites_BaseSprite_constructor__P516_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = 0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_4 = r0;\n r0 = pxsim_ImageMethods.width(s.arg1);\n s.tmp_5 = r0;\n r0 = (s.tmp_4 - s.tmp_5);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 >> 1);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 * 256);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["_x"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n s.tmp_4 = r0;\n r0 = pxsim_ImageMethods.height(s.arg1);\n s.tmp_5 = r0;\n r0 = (s.tmp_4 - s.tmp_5);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 >> 1);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 * 256);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["_y"] = (s.tmp_1);\n r0 = s.arg0.fields["_x"];\n s.tmp_0 = r0;\n r0 = (s.arg0).fields["_lastX"] = (s.tmp_0);\n r0 = s.arg0.fields["_y"];\n s.tmp_0 = r0;\n r0 = (s.arg0).fields["_lastY"] = (s.tmp_0);\n s.tmp_0 = Sprite_vx__P614_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = 0;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n s.tmp_0 = Sprite_vy__P616_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = 0;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.tmp_0 = Sprite_ax__P618_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = 0;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n s.tmp_0 = Sprite_ay__P620_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = 0;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n r0 = (s.arg0).fields["flags"] = (0);\n s.tmp_0 = Sprite_setImage__P625_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n s.tmp_0 = Sprite_setKind__P638_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = -1;\n s.pc = 7; return s.tmp_0;\n case 7:\n r0 = s.retval;\n r0 = (s.arg0).fields["layer"] = (1);\n r0 = (s.arg0).fields["lifespan"] = (undefined);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["_overlappers"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["_obstacles"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_constructor__P657.info = {"start":4147,"length":578,"line":164,"column":4,"endLine":182,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"inline","argumentNames":["this","img"]}\n\nfunction Sprite_constructor__P657_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_constructor__P657, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_setImage__P625(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.oMinX___3091 = undefined;\n s.oMinY___3092 = undefined;\n s.oMaxX___3093 = undefined;\n s.oMaxY___3094 = undefined;\n s.nMinX___3131 = undefined;\n s.nMinY___3135 = undefined;\n s.nMaxX___3139 = undefined;\n s.nMaxY___3146 = undefined;\n s.minXDiff___3153 = undefined;\n s.minYDiff___3156 = undefined;\n s.maxXDiff___3159 = undefined;\n s.maxYDiff___3162 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 13; continue; }\n case 1:\n case 2:\n s.oMinX___3091 = (0);\n s.oMinY___3092 = (0);\n s.oMaxX___3093 = (0);\n s.oMaxY___3094 = (0);\n r0 = s.arg0.fields["_hitbox"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = s.arg0.fields["_hitbox"];\n r0 = r0.fields["ox"];\n s.oMinX___3091 = (r0);\n r0 = s.arg0.fields["_hitbox"];\n r0 = r0.fields["oy"];\n s.oMinY___3092 = (r0);\n r0 = s.arg0.fields["_hitbox"];\n r0 = r0.fields["ox"];\n s.tmp_0 = r0;\n r0 = s.arg0.fields["_hitbox"];\n r0 = r0.fields["width"];\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n s.oMaxX___3093 = (r0);\n r0 = s.arg0.fields["_hitbox"];\n r0 = r0.fields["oy"];\n s.tmp_0 = r0;\n r0 = s.arg0.fields["_hitbox"];\n r0 = r0.fields["height"];\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n s.oMaxY___3094 = (r0);\n case 3:\n case 4:\n r0 = (s.arg0).fields["_image"] = (s.arg1);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_2 = game_calculateHitBox__P599_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 14; return s.tmp_2;\n case 14:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["_hitbox"] = (s.tmp_1);\n r0 = s.arg0.fields["_hitbox"];\n r0 = r0.fields["ox"];\n s.nMinX___3131 = (r0);\n r0 = s.arg0.fields["_hitbox"];\n r0 = r0.fields["oy"];\n s.nMinY___3135 = (r0);\n r0 = s.arg0.fields["_hitbox"];\n r0 = r0.fields["ox"];\n s.tmp_0 = r0;\n r0 = s.arg0.fields["_hitbox"];\n r0 = r0.fields["width"];\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n s.nMaxX___3139 = (r0);\n r0 = s.arg0.fields["_hitbox"];\n r0 = r0.fields["oy"];\n s.tmp_0 = r0;\n r0 = s.arg0.fields["_hitbox"];\n r0 = r0.fields["height"];\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n s.nMaxY___3146 = (r0);\n r0 = (s.oMinX___3091 - s.nMinX___3131);\n s.minXDiff___3153 = (r0);\n r0 = (s.oMinY___3092 - s.nMinY___3135);\n s.minYDiff___3156 = (r0);\n r0 = (s.oMaxX___3093 - s.nMaxX___3139);\n s.maxXDiff___3159 = (r0);\n r0 = (s.oMaxY___3094 - s.nMaxY___3146);\n s.maxYDiff___3162 = (r0);\n r0 = (s.oMaxX___3093 != s.oMinX___3091);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 5; continue; }\n r0 = s.tmp_0;\n { step = 6; continue; }\n case 5:\n s.tmp_3 = Math_abs__P59_mk(s);\n s.tmp_3.arg0 = s.minXDiff___3153;\n s.pc = 15; return s.tmp_3;\n case 15:\n r0 = s.retval;\n s.tmp_2 = r0;\n s.tmp_5 = Math_abs__P59_mk(s);\n s.tmp_5.arg0 = s.maxXDiff___3159;\n s.pc = 16; return s.tmp_5;\n case 16:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = (s.tmp_2 + s.tmp_4);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 <= 2);\n case 6:\n // jmp value (already in r0)\n s.tmp_6 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_6);\n if (!r0) { step = 7; continue; }\n r0 = s.arg0.fields["_hitbox"];\n s.tmp_7 = r0;\n r0 = (s.tmp_7).fields["ox"] = (s.oMinX___3091);\n r0 = s.arg0.fields["_hitbox"];\n s.tmp_0 = r0;\n r0 = (s.oMaxX___3093 - s.oMinX___3091);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["width"] = (s.tmp_1);\n case 7:\n case 8:\n r0 = (s.oMaxY___3094 != s.oMinY___3092);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 9; continue; }\n r0 = s.tmp_0;\n { step = 10; continue; }\n case 9:\n s.tmp_3 = Math_abs__P59_mk(s);\n s.tmp_3.arg0 = s.minYDiff___3156;\n s.pc = 17; return s.tmp_3;\n case 17:\n r0 = s.retval;\n s.tmp_2 = r0;\n s.tmp_5 = Math_abs__P59_mk(s);\n s.tmp_5.arg0 = s.maxYDiff___3162;\n s.pc = 18; return s.tmp_5;\n case 18:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = (s.tmp_2 + s.tmp_4);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 <= 2);\n case 10:\n // jmp value (already in r0)\n s.tmp_6 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_6);\n if (!r0) { step = 11; continue; }\n r0 = s.arg0.fields["_hitbox"];\n s.tmp_7 = r0;\n r0 = (s.tmp_7).fields["oy"] = (s.oMinY___3092);\n r0 = s.arg0.fields["_hitbox"];\n s.tmp_0 = r0;\n r0 = (s.oMaxY___3094 - s.oMinY___3092);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["height"] = (s.tmp_1);\n case 11:\n case 12:\n case 13:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_setImage__P625.info = {"start":5754,"length":1391,"line":212,"column":4,"endLine":252,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"setImage","argumentNames":["this","img"]}\n\nfunction Sprite_setImage__P625_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_setImage__P625, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n oMinX___3091: undefined,\n oMinY___3092: undefined,\n oMaxX___3093: undefined,\n oMaxY___3094: undefined,\n nMinX___3131: undefined,\n nMinY___3135: undefined,\n nMaxX___3139: undefined,\n nMaxY___3146: undefined,\n minXDiff___3153: undefined,\n minYDiff___3156: undefined,\n maxXDiff___3159: undefined,\n maxYDiff___3162: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction game_calculateHitBox__P599(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.i___3202 = undefined;\n s.minX___3205 = undefined;\n s.minY___3208 = undefined;\n s.maxX___3211 = undefined;\n s.maxY___3212 = undefined;\n s.c___3213 = undefined;\n s.r___3218 = undefined;\n s.width___3249 = undefined;\n s.height___3254 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0.fields["_image"];\n s.i___3202 = (r0);\n r0 = pxsim_ImageMethods.width(s.i___3202);\n s.minX___3205 = (r0);\n r0 = pxsim_ImageMethods.height(s.i___3202);\n s.minY___3208 = (r0);\n s.maxX___3211 = (0);\n s.maxY___3212 = (0);\n s.c___3213 = (0);\n case 1:\n s.tmp_1 = r0 = s.c___3213;\n r0 = pxsim_ImageMethods.width(s.i___3202);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 6; continue; }\n s.r___3218 = (0);\n case 2:\n s.tmp_1 = r0 = s.r___3218;\n r0 = pxsim_ImageMethods.height(s.i___3202);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = pxsim_ImageMethods.getPixel(s.i___3202, s.c___3213, s.r___3218);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 3; continue; }\n s.tmp_4 = Math_min__P62_mk(s);\n s.tmp_4.arg0 = s.minX___3205;\n s.tmp_4.arg1 = s.c___3213;\n s.pc = 7; return s.tmp_4;\n case 7:\n r0 = s.retval;\n s.minX___3205 = (r0);\n s.tmp_0 = Math_min__P62_mk(s);\n s.tmp_0.arg0 = s.minY___3208;\n s.tmp_0.arg1 = s.r___3218;\n s.pc = 8; return s.tmp_0;\n case 8:\n r0 = s.retval;\n s.minY___3208 = (r0);\n s.tmp_0 = Math_max__P61_mk(s);\n s.tmp_0.arg0 = s.maxX___3211;\n s.tmp_0.arg1 = s.c___3213;\n s.pc = 9; return s.tmp_0;\n case 9:\n r0 = s.retval;\n s.maxX___3211 = (r0);\n s.tmp_0 = Math_max__P61_mk(s);\n s.tmp_0.arg0 = s.maxY___3212;\n s.tmp_0.arg1 = s.r___3218;\n s.pc = 10; return s.tmp_0;\n case 10:\n r0 = s.retval;\n s.maxY___3212 = (r0);\n case 3:\n case 4:\n r0 = (s.r___3218 + 1);\n s.r___3218 = (r0);\n { step = 2; continue; }\n case 5:\n r0 = (s.c___3213 + 1);\n s.c___3213 = (r0);\n { step = 1; continue; }\n case 6:\n r0 = (s.maxX___3211 - s.minX___3205);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 + 1);\n s.width___3249 = (r0);\n r0 = (s.maxY___3212 - s.minY___3208);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 + 1);\n s.height___3254 = (r0);\n r0 = pxsim_pxtcore_mkClassInstance(game_Hitbox__C593_VT);\n s.tmp_0 = r0;\n s.tmp_1 = game_Hitbox_constructor__P598_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = s.arg0;\n s.tmp_1.arg2 = s.width___3249;\n s.tmp_1.arg3 = s.height___3254;\n s.tmp_1.arg4 = s.minX___3205;\n s.tmp_1.arg5 = s.minY___3208;\n s.pc = 11; return s.tmp_1;\n case 11:\n r0 = s.retval;\n r0 = s.tmp_0;\n return leave(s, r0)\n default: oops()\n} } }\ngame_calculateHitBox__P599.info = {"start":764,"length":692,"line":34,"column":4,"endLine":56,"endColumn":5,"fileName":"pxt_modules/game/hitbox.ts","functionName":"calculateHitBox","argumentNames":["s"]}\n\nfunction game_calculateHitBox__P599_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_calculateHitBox__P599, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n i___3202: undefined,\n minX___3205: undefined,\n minY___3208: undefined,\n maxX___3211: undefined,\n maxY___3212: undefined,\n c___3213: undefined,\n r___3218: undefined,\n width___3249: undefined,\n height___3254: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Sprite_image__P624(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields["_image"];\n return leave(s, r0)\n default: oops()\n} } }\nSprite_image__P624.info = {"start":5478,"length":54,"line":202,"column":4,"endLine":204,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"image","argumentNames":["this"]}\n\nfunction Sprite_image__P624_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_image__P624, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_Hitbox_constructor__P598(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.arg5 = (s.lambdaArgs[5]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_Hitbox__C593_VT)) failedCast(r0);\n r0 = (s.arg0).fields["width"] = (s.arg2);\n r0 = (s.arg0).fields["height"] = (s.arg3);\n r0 = (s.arg0).fields["parent"] = (s.arg1);\n r0 = (s.arg0).fields["ox"] = (s.arg4);\n r0 = (s.arg0).fields["oy"] = (s.arg5);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_Hitbox_constructor__P598.info = {"start":163,"length":246,"line":8,"column":8,"endLine":14,"endColumn":9,"fileName":"pxt_modules/game/hitbox.ts","functionName":"inline","argumentNames":["this","parent","width","height","ox","oy"]}\n\nfunction game_Hitbox_constructor__P598_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_Hitbox_constructor__P598, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n arg5: undefined,\n} }\n\n\n\n\n\nfunction Sprite_ax__P618(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg1 * 256);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["_ax"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_ax__P618.info = {"start":2700,"length":51,"line":102,"column":4,"endLine":104,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"ax","argumentNames":["this","v"]}\n\nfunction Sprite_ax__P618_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_ax__P618, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_ax__P617(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields["_ax"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 / 256);\n return leave(s, r0)\n default: oops()\n} } }\nSprite_ax__P617.info = {"start":2534,"length":60,"line":97,"column":4,"endLine":99,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"ax","argumentNames":["this"]}\n\nfunction Sprite_ax__P617_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_ax__P617, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_setBackgroundColor__P935(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.scene___8475 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.scene___8475 = (r0);\n r0 = s.scene___8475.fields["background"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0).fields["color"] = (s.arg0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_setBackgroundColor__P935.info = {"start":1004,"length":140,"line":37,"column":4,"endLine":40,"endColumn":5,"fileName":"pxt_modules/game/scenes.ts","functionName":"setBackgroundColor","argumentNames":["color"]}\n\nfunction scene_setBackgroundColor__P935_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_setBackgroundColor__P935, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n scene___8475: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction gameover__P22758(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.scoreInfo___23014 = undefined;\n s.highScore___23017 = undefined;\n s.c___23066 = undefined;\n globals.over___22733 = (true);\n s.tmp_0 = info_PlayerInfo_getState__P825_mk(s);\n s.tmp_0.arg0 = globals.player1___845;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.scoreInfo___23014 = (r0);\n s.tmp_0 = info_highScore__P800_mk(s);\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n s.highScore___23017 = (r0);\n r0 = s.scoreInfo___23014.fields["score"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > s.highScore___23017);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_2 = info_saveHighScore__P797_mk(s);\n s.pc = 5; return s.tmp_2;\n case 5:\n r0 = s.retval;\n case 1:\n case 2:\n s.tmp_0 = music_setVolume__P341_mk(s);\n s.tmp_0.arg0 = 12;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n s.tmp_0 = music_Melody_play__P357_mk(s);\n s.tmp_0.arg0 = globals.wawawawaa___368;\n s.tmp_0.arg1 = 255;\n s.pc = 7; return s.tmp_0;\n case 7:\n r0 = s.retval;\n s.tmp_0 = Sprite_destroy__P653_mk(s);\n s.tmp_0.arg0 = globals.bunny___22740;\n s.tmp_0.arg1 = undefined;\n s.tmp_0.arg2 = undefined;\n s.pc = 8; return s.tmp_0;\n case 8:\n r0 = s.retval;\n s.tmp_0 = game_onShade__P1032_mk(s);\n s.tmp_0.arg0 = inline__P23031;\n s.pc = 9; return s.tmp_0;\n case 9:\n r0 = s.retval;\n s.tmp_0 = pause__P241_mk(s);\n s.tmp_0.arg0 = 500;\n s.pc = 10; return s.tmp_0;\n case 10:\n r0 = s.retval;\n s.tmp_0 = sprites_create__P602_mk(s);\n r0 = pxsim.image.ofBuffer(_hex23069);\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = 99;\n s.pc = 11; return s.tmp_0;\n case 11:\n r0 = s.retval;\n s.c___23066 = (r0);\n s.tmp_0 = if_z_2_mk(s);\n s.tmp_0.arg0 = s.c___23066;\n s.tmp_0.arg1 = 101;\n if (!s.tmp_0.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapSetByString(s.tmp_0.arg0, "z", s.tmp_0.arg1);\n } else {\n s.tmp_0.fn = s.tmp_0.arg0.vtable.iface["set/z"];\n if (s.tmp_0.fn === null) { s.tmp_0.arg0.fields["z"] = s.tmp_0.arg1; }\n else if (s.tmp_0.fn === undefined) { failedCast(s.tmp_0.arg0) }\n else { s.pc = 12; return s.tmp_0; }\n }\n case 12:\n r0 = s.retval;\n s.tmp_0 = Sprite_setPosition__P639_mk(s);\n s.tmp_0.arg0 = s.c___23066;\n s.tmp_0.arg1 = 145;\n s.tmp_0.arg2 = 70;\n s.pc = 13; return s.tmp_0;\n case 13:\n r0 = s.retval;\n s.tmp_0 = game_waitAnyButton__P1016_mk(s);\n s.pc = 14; return s.tmp_0;\n case 14:\n r0 = s.retval;\n setupResume(s, 15);\n pxsim.control.reset();\n checkResumeConsumed();\n return;\n case 15:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngameover__P22758.info = {"start":36166,"length":1631,"line":664,"column":0,"endLine":719,"endColumn":1,"fileName":"main.ts","functionName":"gameover","argumentNames":[]}\n\nfunction gameover__P22758_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: gameover__P22758, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n scoreInfo___23014: undefined,\n highScore___23017: undefined,\n c___23066: undefined,\n} }\n\nconst _hex23069 = pxsim.BufferMethods.createBufferFromHex("87040b000b00000000606686080000006076776686000000607777676608000076171111670800007671177766080000767117776608000076711777660800007617111167080000607777676608000060767766860000000060668608000000")\n\n\n\n\nfunction inline__P23031(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = helpers_imageFillRect__P411_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_0.arg1 = 0;\n s.tmp_0.arg2 = 35;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_0.arg3 = r0;\n s.tmp_0.arg4 = 1;\n s.tmp_0.arg5 = 1;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.tmp_0 = helpers_imageFillRect__P411_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_0.arg1 = 0;\n s.tmp_0.arg2 = 36;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_0.arg3 = r0;\n s.tmp_0.arg4 = 48;\n s.tmp_0.arg5 = 15;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n s.tmp_0 = helpers_imageFillRect__P411_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_0.arg1 = 0;\n s.tmp_0.arg2 = 85;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_0.arg3 = r0;\n s.tmp_0.arg4 = 1;\n s.tmp_0.arg5 = 1;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.tmp_0 = helpers_imagePrintCenter__P431_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_0.arg1 = "Game Over!";\n s.tmp_0.arg2 = 46;\n s.tmp_0.arg3 = 5;\n s.tmp_0.arg4 = undefined;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n s.tmp_0 = helpers_imagePrintCenter__P431_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_3 = info_score__P798_mk(s);\n s.pc = 6; return s.tmp_3;\n case 6:\n r0 = s.retval;\n s.tmp_2 = r0;\n if ((s.tmp_2) && (s.tmp_2).vtable) {\n setupResume(s, 7);\n pxsim_String__stringConv(s.tmp_2);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_2) + ""; }\n case 7:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_String__concat("Score: ", s.tmp_1);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = 58;\n s.tmp_0.arg3 = 2;\n s.tmp_0.arg4 = undefined;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n s.tmp_0 = helpers_imagePrintCenter__P431_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_3 = info_highScore__P800_mk(s);\n s.pc = 9; return s.tmp_3;\n case 9:\n r0 = s.retval;\n s.tmp_2 = r0;\n if ((s.tmp_2) && (s.tmp_2).vtable) {\n setupResume(s, 10);\n pxsim_String__stringConv(s.tmp_2);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_2) + ""; }\n case 10:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_String__concat("HI: ", s.tmp_1);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = 70;\n s.tmp_0.arg3 = 2;\n s.tmp_0.arg4 = undefined;\n s.pc = 8; return s.tmp_0;\n case 8:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P23031.info = {"start":36453,"length":340,"line":676,"column":17,"endLine":683,"endColumn":5,"fileName":"main.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P23031_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P23031, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n} }\n\n\n\n\n\nfunction game_onShade__P1032(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = game_init__P1018_mk(s);\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(s.arg0);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 3; continue; }\n case 1:\n case 2:\n s.tmp_2 = scene_createRenderable__P896_mk(s);\n s.tmp_2.arg0 = 80;\n s.tmp_2.arg1 = s.arg0;\n s.tmp_2.arg2 = undefined;\n s.pc = 5; return s.tmp_2;\n case 5:\n r0 = s.retval;\n case 3:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_onShade__P1032.info = {"start":9865,"length":145,"line":319,"column":4,"endLine":323,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"onShade","argumentNames":["a"]}\n\nfunction game_onShade__P1032_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_onShade__P1032, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Sprite_destroy__P653(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields["flags"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 & 2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 5; continue; }\n case 1:\n case 2:\n s.tmp_2 = r0 = s.arg0;\n r0 = s.tmp_2.fields["flags"];\n s.tmp_4 = r0;\n r0 = (s.tmp_4 | 2);\n s.tmp_3 = r0;\n r0 = (s.tmp_2).fields["flags"] = (s.tmp_3);\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n if (!r0) { step = 3; continue; }\n s.tmp_0 = effects_ParticleEffect_destroy__P1406_mk(s);\n s.tmp_0.arg0 = s.arg1;\n s.tmp_0.arg1 = s.arg0;\n s.tmp_0.arg2 = s.arg2;\n s.tmp_0.arg3 = undefined;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n { step = 4; continue; }\n case 3:\n s.tmp_0 = Sprite__destroyCore__P654_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 7; return s.tmp_0;\n case 7:\n r0 = s.retval;\n case 4:\n case 5:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_destroy__P653.info = {"start":24607,"length":293,"line":752,"column":4,"endLine":761,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"destroy","argumentNames":["this","effect","duration"]}\n\nfunction Sprite_destroy__P653_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_destroy__P653, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction effects_ParticleEffect_destroy__P1406(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, effects_ParticleEffect__C1404_VT)) failedCast(r0);\n s.tmp_0 = Sprite_setFlag__P646_mk(s);\n s.tmp_0.arg0 = s.arg1;\n s.tmp_0.arg1 = 1;\n s.tmp_0.arg2 = true;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.tmp_0 = effects_ParticleEffect_start__P1405_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.tmp_0.arg2 = s.arg3;\n s.tmp_0.arg3 = undefined;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(s.arg2);\n if (!r0) { step = 1; continue; }\n r0 = s.arg2;\n { step = 2; continue; }\n case 1:\n r0 = s.arg0.fields["defaultLifespan"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 >> 2);\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = (s.arg1).fields["lifespan"] = (s.tmp_1);\n s.tmp_0 = effects_ImageEffect_applyTo__P1439_mk(s);\n s.tmp_0.arg0 = globals.dissolve___1443;\n s.tmp_0.arg1 = s.arg1;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\neffects_ParticleEffect_destroy__P1406.info = {"start":1652,"length":312,"line":40,"column":8,"endLine":45,"endColumn":9,"fileName":"pxt_modules/game/particleeffects.ts","functionName":"destroy","argumentNames":["this","anchor","duration","particlesPerSecond"]}\n\nfunction effects_ParticleEffect_destroy__P1406_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: effects_ParticleEffect_destroy__P1406, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction inline__P2929(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.i___2932 = undefined;\n s.x___2939 = undefined;\n s.y___2944 = undefined;\n s.w___2949 = undefined;\n s.h___2952 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_ImageMethods.width(s.arg0);\n s.tmp_1 = r0;\n r0 = pxsim_ImageMethods.height(s.arg0);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 * s.tmp_2);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 >> 5);\n s.i___2932 = (r0);\n case 1:\n r0 = (s.i___2932 > 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n s.tmp_1 = Math_FastRandom_randomRange__P1158_mk(s);\n s.tmp_1.arg0 = s.arg1;\n s.tmp_1.arg1 = 0;\n r0 = pxsim_ImageMethods.width(s.arg0);\n s.tmp_1.arg2 = r0;\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n s.x___2939 = (r0);\n s.tmp_0 = Math_FastRandom_randomRange__P1158_mk(s);\n s.tmp_0.arg0 = s.arg1;\n s.tmp_0.arg1 = 0;\n r0 = pxsim_ImageMethods.height(s.arg0);\n s.tmp_0.arg2 = r0;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n s.y___2944 = (r0);\n s.tmp_0 = Math_FastRandom_randomRange__P1158_mk(s);\n s.tmp_0.arg0 = s.arg1;\n s.tmp_0.arg1 = 1;\n s.tmp_0.arg2 = 3;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n s.w___2949 = (r0);\n s.tmp_0 = Math_FastRandom_randomRange__P1158_mk(s);\n s.tmp_0.arg0 = s.arg1;\n s.tmp_0.arg1 = 1;\n s.tmp_0.arg2 = 3;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n s.h___2952 = (r0);\n s.tmp_0 = helpers_imageDrawRect__P414_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.x___2939;\n s.tmp_0.arg2 = s.y___2944;\n s.tmp_0.arg3 = s.w___2949;\n s.tmp_0.arg4 = s.h___2952;\n s.tmp_0.arg5 = 0;\n s.pc = 7; return s.tmp_0;\n case 7:\n r0 = s.retval;\n r0 = (s.i___2932 - 1);\n s.i___2932 = (r0);\n { step = 1; continue; }\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P2929.info = {"start":2199,"length":360,"line":60,"column":49,"endLine":69,"endColumn":5,"fileName":"pxt_modules/game/effects.ts","functionName":"inline","argumentNames":["input","r"]}\n\nfunction inline__P2929_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P2929, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n i___2932: undefined,\n x___2939: undefined,\n y___2944: undefined,\n w___2949: undefined,\n h___2952: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction helpers_imageDrawRect__P414(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.arg5 = (s.lambdaArgs[5]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg3 == 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = (s.arg4 == 0);\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 3; continue; }\n { step = 5; continue; }\n case 3:\n case 4:\n r0 = (s.arg3 - 1);\n s.arg3 = (r0);\n r0 = (s.arg4 - 1);\n s.arg4 = (r0);\n s.tmp_0 = helpers_imageDrawLine__P413_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.tmp_0.arg2 = s.arg2;\n r0 = (s.arg1 + s.arg3);\n s.tmp_0.arg3 = r0;\n s.tmp_0.arg4 = s.arg2;\n s.tmp_0.arg5 = s.arg5;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n s.tmp_0 = helpers_imageDrawLine__P413_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.tmp_0.arg2 = s.arg2;\n s.tmp_0.arg3 = s.arg1;\n r0 = (s.arg2 + s.arg4);\n s.tmp_0.arg4 = r0;\n s.tmp_0.arg5 = s.arg5;\n s.pc = 7; return s.tmp_0;\n case 7:\n r0 = s.retval;\n s.tmp_0 = helpers_imageDrawLine__P413_mk(s);\n s.tmp_0.arg0 = s.arg0;\n r0 = (s.arg1 + s.arg3);\n s.tmp_0.arg1 = r0;\n r0 = (s.arg2 + s.arg4);\n s.tmp_0.arg2 = r0;\n r0 = (s.arg1 + s.arg3);\n s.tmp_0.arg3 = r0;\n s.tmp_0.arg4 = s.arg2;\n s.tmp_0.arg5 = s.arg5;\n s.pc = 8; return s.tmp_0;\n case 8:\n r0 = s.retval;\n s.tmp_0 = helpers_imageDrawLine__P413_mk(s);\n s.tmp_0.arg0 = s.arg0;\n r0 = (s.arg1 + s.arg3);\n s.tmp_0.arg1 = r0;\n r0 = (s.arg2 + s.arg4);\n s.tmp_0.arg2 = r0;\n s.tmp_0.arg3 = s.arg1;\n r0 = (s.arg2 + s.arg4);\n s.tmp_0.arg4 = r0;\n s.tmp_0.arg5 = s.arg5;\n s.pc = 9; return s.tmp_0;\n case 9:\n r0 = s.retval;\n case 5:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_imageDrawRect__P414.info = {"start":4139,"length":370,"line":140,"column":4,"endLine":148,"endColumn":5,"fileName":"pxt_modules/screen/image.ts","functionName":"imageDrawRect","argumentNames":["img","x","y","w","h","c"]}\n\nfunction helpers_imageDrawRect__P414_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_imageDrawRect__P414, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n arg5: undefined,\n} }\n\n\n\n\n\nfunction helpers_imageDrawLine__P413(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.arg5 = (s.lambdaArgs[5]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = r0 = s.arg0;\n s.tmp_2 = helpers_pack__P408_mk(s);\n s.tmp_2.arg0 = s.arg1;\n s.tmp_2.arg1 = s.arg2;\n s.pc = 1; return s.tmp_2;\n case 1:\n r0 = s.retval;\n s.tmp_1 = r0;\n s.tmp_4 = helpers_pack__P408_mk(s);\n s.tmp_4.arg0 = s.arg3;\n s.tmp_4.arg1 = s.arg4;\n s.pc = 2; return s.tmp_4;\n case 2:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods._drawLine(s.tmp_0, s.tmp_1, s.tmp_3, s.arg5);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_imageDrawLine__P413.info = {"start":3975,"length":159,"line":137,"column":4,"endLine":139,"endColumn":5,"fileName":"pxt_modules/screen/image.ts","functionName":"imageDrawLine","argumentNames":["img","x","y","w","h","c"]}\n\nfunction helpers_imageDrawLine__P413_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_imageDrawLine__P413, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n arg5: undefined,\n} }\n\n\n\n\n\nfunction effects_ImageEffect_applyTo__P1439(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.clonedImage___3077 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, effects_ImageEffect__C1438_VT)) failedCast(r0);\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = s.arg1.fields["_image"];\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n case 2:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n if (!r0) { step = 3; continue; }\n { step = 5; continue; }\n case 3:\n case 4:\n r0 = s.arg1.fields["_image"];\n s.tmp_5 = r0;\n r0 = pxsim_ImageMethods.clone(s.tmp_5);\n s.clonedImage___3077 = (r0);\n s.tmp_0 = effects_ImageEffect_change__P1440_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.clonedImage___3077;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n s.tmp_0 = Sprite_setImage__P625_mk(s);\n s.tmp_0.arg0 = s.arg1;\n s.tmp_0.arg1 = s.clonedImage___3077;\n s.pc = 7; return s.tmp_0;\n case 7:\n r0 = s.retval;\n case 5:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\neffects_ImageEffect_applyTo__P1439.info = {"start":823,"length":218,"line":21,"column":8,"endLine":26,"endColumn":9,"fileName":"pxt_modules/game/effects.ts","functionName":"applyTo","argumentNames":["this","sprite"]}\n\nfunction effects_ImageEffect_applyTo__P1439_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: effects_ImageEffect_applyTo__P1439, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n clonedImage___3077: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction effects_ImageEffect_change__P1440(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, effects_ImageEffect__C1438_VT)) failedCast(r0);\n s.tmp_0 = lambda_3_mk(s);\n r0 = s.arg0.fields["effect"];\n s.tmp_0.argL = r0;\n s.tmp_0.arg0 = s.arg1;\n r0 = s.arg0.fields["fastRandom"];\n s.tmp_0.arg1 = r0;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\neffects_ImageEffect_change__P1440.info = {"start":1151,"length":81,"line":32,"column":8,"endLine":34,"endColumn":9,"fileName":"pxt_modules/game/effects.ts","functionName":"change","argumentNames":["this","input"]}\n\nfunction effects_ImageEffect_change__P1440_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: effects_ImageEffect_change__P1440, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction effects_ParticleEffect_start__P1405(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.src___3305 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, effects_ParticleEffect__C1404_VT)) failedCast(r0);\n r0 = s.arg0.fields["sourceFactory"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 9; continue; }\n case 1:\n case 2:\n r0 = pxsim_numops_toBoolDecr(s.arg3);\n if (!r0) { step = 3; continue; }\n r0 = s.arg3;\n { step = 4; continue; }\n case 3:\n r0 = s.arg0.fields["defaultRate"];\n case 4:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n s.tmp_4 = lambda_3_mk(s);\n r0 = s.arg0.fields["sourceFactory"];\n s.tmp_4.argL = r0;\n s.tmp_4.arg0 = s.arg1;\n s.tmp_4.arg1 = s.tmp_3;\n setupLambda(s.tmp_4, s.tmp_4.argL);\n s.pc = 10; return s.tmp_4;\n case 10:\n r0 = s.retval;\n s.src___3305 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.arg2);\n if (!r0) { step = 7; continue; }\n r0 = (s.arg2 > 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = s.arg2;\n { step = 6; continue; }\n case 5:\n r0 = s.arg0.fields["defaultLifespan"];\n case 6:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = (s.src___3305).fields["lifespan"] = (s.tmp_1);\n case 7:\n case 8:\n case 9:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\neffects_ParticleEffect_start__P1405.info = {"start":968,"length":367,"line":26,"column":8,"endLine":31,"endColumn":9,"fileName":"pxt_modules/game/particleeffects.ts","functionName":"start","argumentNames":["this","anchor","duration","particlesPerSecond"]}\n\nfunction effects_ParticleEffect_start__P1405_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: effects_ParticleEffect_start__P1405, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n src___3305: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction Sprite_setFlag__P646(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = pxsim_numops_toBoolDecr(s.arg2);\n if (!r0) { step = 1; continue; }\n s.tmp_0 = r0 = s.arg0;\n r0 = s.tmp_0.fields["flags"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | s.arg1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["flags"] = (s.tmp_1);\n { step = 2; continue; }\n case 1:\n s.tmp_0 = r0 = s.arg0;\n r0 = s.arg0.fields["flags"];\n s.tmp_4 = r0;\n r0 = (~ s.tmp_4);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 | s.arg1);\n s.tmp_2 = r0;\n r0 = (~ s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["flags"] = (s.tmp_1);\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_setFlag__P646.info = {"start":21999,"length":130,"line":673,"column":4,"endLine":676,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"setFlag","argumentNames":["this","flag","on"]}\n\nfunction Sprite_setFlag__P646_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_setFlag__P646, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction Sprite__destroyCore__P654(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.scene___2774 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.tmp_0.fields["flags"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["flags"] = (s.tmp_1);\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 9; return s.tmp_0;\n case 9:\n r0 = s.retval;\n s.scene___2774 = (r0);\n r0 = s.arg0.fields["sayBubbleSprite"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_1 = Sprite_destroy__P653_mk(s);\n r0 = s.arg0.fields["sayBubbleSprite"];\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = undefined;\n s.tmp_1.arg2 = undefined;\n s.pc = 10; return s.tmp_1;\n case 10:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = s.scene___2774.fields["allSprites"];\n s.tmp_0 = r0;\n r0 = pxsim_Array_.removeElement(s.tmp_0, s.arg0);\n r0 = s.arg0.fields["_kind"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 >= 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 3; continue; }\n r0 = s.tmp_0;\n { step = 4; continue; }\n case 3:\n r0 = s.scene___2774.fields["spritesByKind"];\n s.tmp_2 = r0;\n r0 = s.arg0.fields["_kind"];\n s.tmp_3 = r0;\n r0 = pxsim_pxtrt.mapGetGeneric(s.tmp_2, s.tmp_3);\n case 4:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n if (!r0) { step = 5; continue; }\n s.tmp_5 = SpriteSet_remove__P682_mk(s);\n r0 = s.scene___2774.fields["spritesByKind"];\n s.tmp_6 = r0;\n r0 = s.arg0.fields["_kind"];\n s.tmp_7 = r0;\n r0 = pxsim_pxtrt.mapGetGeneric(s.tmp_6, s.tmp_7);\n s.tmp_5.arg0 = r0;\n s.tmp_5.arg1 = s.arg0;\n s.pc = 11; return s.tmp_5;\n case 11:\n r0 = s.retval;\n case 5:\n case 6:\n s.tmp_0 = PhysicsEngine__C708_v1_2_mk(s);\n r0 = s.scene___2774.fields["physicsEngine"];\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = s.arg0;\n if (!checkSubtype(s.tmp_0.arg0, PhysicsEngine__C708_VT)) failedCast(s.tmp_0.arg0);\n s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.removeSprite;\n s.pc = 12; return s.tmp_0;\n case 12:\n r0 = s.retval;\n r0 = s.arg0.fields["destroyHandler"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 7; continue; }\n s.tmp_1 = lambda_1_mk(s);\n r0 = s.arg0.fields["destroyHandler"];\n s.tmp_1.argL = r0;\n setupLambda(s.tmp_1, s.tmp_1.argL);\n s.pc = 13; return s.tmp_1;\n case 13:\n r0 = s.retval;\n case 7:\n case 8:\n r0 = pxsim_pxtcore_mkAction(1, inline__P2815);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n r0 = pxsim_pxtcore_mkAction(1, inline__P2821);\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_1, 0, s.arg0);\n s.tmp_2 = helpers_arrayForEach__P47_mk(s);\n s.tmp_3 = helpers_arrayFilter__P48_mk(s);\n r0 = s.scene___2774.fields["destroyedHandlers"];\n s.tmp_3.arg0 = r0;\n s.tmp_3.arg1 = s.tmp_0;\n s.pc = 15; return s.tmp_3;\n case 15:\n r0 = s.retval;\n s.tmp_2.arg0 = r0;\n s.tmp_2.arg1 = s.tmp_1;\n s.pc = 14; return s.tmp_2;\n case 14:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite__destroyCore__P654.info = {"start":24906,"length":693,"line":763,"column":4,"endLine":779,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"_destroyCore","argumentNames":["this"]}\n\nfunction Sprite__destroyCore__P654_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite__destroyCore__P654, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n scene___2774: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P2815(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0.fields["kind"];\n s.tmp_0 = r0;\n r0 = s.caps[0].fields["_kind"];\n s.tmp_1 = r0;\n r0 = (s.tmp_0 == s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\ninline__P2815.info = {"start":25522,"length":26,"line":777,"column":20,"endLine":777,"endColumn":46,"fileName":"pxt_modules/game/sprite.ts","functionName":"inline","argumentNames":["h"]}\n\nfunction inline__P2815_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P2815, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P2821(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = lambda_2_mk(s);\n r0 = s.arg0.fields["handler"];\n s.tmp_0.argL = r0;\n s.tmp_0.arg0 = s.caps[0];\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P2821.info = {"start":25571,"length":20,"line":778,"column":21,"endLine":778,"endColumn":41,"fileName":"pxt_modules/game/sprite.ts","functionName":"inline","argumentNames":["h"]}\n\nfunction inline__P2821_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P2821, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction PhysicsEngine_removeSprite__P710(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, PhysicsEngine__C708_VT)) failedCast(r0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nPhysicsEngine_removeSprite__P710.info = {"start":159,"length":32,"line":10,"column":4,"endLine":10,"endColumn":36,"fileName":"pxt_modules/game/physics.ts","functionName":"removeSprite","argumentNames":["this","sprite"]}\n\nfunction PhysicsEngine_removeSprite__P710_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: PhysicsEngine_removeSprite__P710, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_kind__P637(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields["_kind"];\n return leave(s, r0)\n default: oops()\n} } }\nSprite_kind__P637.info = {"start":9398,"length":41,"line":338,"column":4,"endLine":340,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"kind","argumentNames":["this"]}\n\nfunction Sprite_kind__P637_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_kind__P637, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction sprites_onOverlap__P674(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.sc___8491 = undefined;\n s.overlapHandlers___8493 = undefined;\n s.overlapMap___8496 = undefined;\n s.associate___8499 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 == undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = (s.arg1 == undefined);\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBool(s.tmp_1);\n if (!r0) { step = 3; continue; }\n r0 = s.tmp_1;\n { step = 4; continue; }\n case 3:\n r0 = pxsim_numops_toBoolDecr(s.arg2);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n case 4:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 5; continue; }\n { step = 7; continue; }\n case 5:\n case 6:\n s.tmp_4 = game_currentScene__P769_mk(s);\n s.pc = 8; return s.tmp_4;\n case 8:\n r0 = s.retval;\n s.sc___8491 = (r0);\n r0 = s.sc___8491.fields["overlapHandlers"];\n s.overlapHandlers___8493 = (r0);\n r0 = s.sc___8491.fields["overlapMap"];\n s.overlapMap___8496 = (r0);\n r0 = pxsim_pxtcore_mkAction(1, associate__P8499);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.overlapMap___8496);\n s.associate___8499 = (s.tmp_0);\n s.tmp_1 = lambda_3_mk(s);\n s.tmp_1.argL = s.associate___8499;\n s.tmp_1.arg0 = s.arg0;\n s.tmp_1.arg1 = s.arg1;\n setupLambda(s.tmp_1, s.tmp_1.argL);\n s.pc = 9; return s.tmp_1;\n case 9:\n r0 = s.retval;\n s.tmp_0 = lambda_3_mk(s);\n s.tmp_0.argL = s.associate___8499;\n s.tmp_0.arg0 = s.arg1;\n s.tmp_0.arg1 = s.arg0;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 10; return s.tmp_0;\n case 10:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkClassInstance(scene_OverlapHandler__C900_VT);\n s.tmp_0 = r0;\n s.tmp_1 = scene_OverlapHandler_constructor__P901_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = s.arg0;\n s.tmp_1.arg2 = s.arg1;\n s.tmp_1.arg3 = s.arg2;\n s.pc = 11; return s.tmp_1;\n case 11:\n r0 = s.retval;\n r0 = pxsim_Array__push(s.overlapHandlers___8493, s.tmp_0);\n case 7:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_onOverlap__P674.info = {"start":1605,"length":755,"line":50,"column":4,"endLine":74,"endColumn":5,"fileName":"pxt_modules/game/spriteevents.ts","functionName":"onOverlap","argumentNames":["kind","otherKind","handler"]}\n\nfunction sprites_onOverlap__P674_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_onOverlap__P674, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n sc___8491: undefined,\n overlapHandlers___8493: undefined,\n overlapMap___8496: undefined,\n associate___8499: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction associate__P8499(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_pxtrt.mapGetGeneric(s.caps[0], s.arg0);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_3 = r0 = s.caps[0];\n s.tmp_4 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_5 = r0;\n r0 = pxsim_pxtrt.mapSetGeneric(s.tmp_3, s.tmp_4, s.tmp_5);\n case 1:\n case 2:\n r0 = pxsim_pxtrt.mapGetGeneric(s.caps[0], s.arg0);\n s.tmp_0 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.arg1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nassociate__P8499.info = {"start":1942,"length":172,"line":56,"column":8,"endLine":62,"endColumn":9,"fileName":"pxt_modules/game/spriteevents.ts","functionName":"associate","argumentNames":["a","b"]}\n\nfunction associate__P8499_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: associate__P8499, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction scene_OverlapHandler_constructor__P901(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_OverlapHandler__C900_VT)) failedCast(r0);\n r0 = (s.arg0).fields["kind"] = (s.arg1);\n r0 = (s.arg0).fields["otherKind"] = (s.arg2);\n r0 = (s.arg0).fields["handler"] = (s.arg3);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_OverlapHandler_constructor__P901.info = {"start":388,"length":171,"line":20,"column":8,"endLine":24,"endColumn":13,"fileName":"pxt_modules/game/scene.ts","functionName":"inline","argumentNames":["this","kind","otherKind","handler"]}\n\nfunction scene_OverlapHandler_constructor__P901_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_OverlapHandler_constructor__P901, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction Sprite_ay__P620(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg1 * 256);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["_ay"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_ay__P620.info = {"start":3039,"length":51,"line":113,"column":4,"endLine":115,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"ay","argumentNames":["this","v"]}\n\nfunction Sprite_ay__P620_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_ay__P620, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_vy__P616(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg1 * 256);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["_vy"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_vy__P616.info = {"start":2361,"length":51,"line":91,"column":4,"endLine":93,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"vy","argumentNames":["this","v"]}\n\nfunction Sprite_vy__P616_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_vy__P616, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_vy__P615(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields["_vy"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 / 256);\n return leave(s, r0)\n default: oops()\n} } }\nSprite_vy__P615.info = {"start":2199,"length":60,"line":86,"column":4,"endLine":88,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"vy","argumentNames":["this"]}\n\nfunction Sprite_vy__P615_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_vy__P615, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Sprite_ay__P619(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields["_ay"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 / 256);\n return leave(s, r0)\n default: oops()\n} } }\nSprite_ay__P619.info = {"start":2873,"length":60,"line":108,"column":4,"endLine":110,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"ay","argumentNames":["this"]}\n\nfunction Sprite_ay__P619_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_ay__P619, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller_Button_onEvent__P543(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Button__C538_VT)) failedCast(r0);\n s.tmp_0 = control_onEvent__P213_mk(s);\n s.tmp_0.arg0 = s.arg1;\n r0 = s.arg0.fields["id"];\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = s.arg2;\n s.tmp_0.arg3 = 16;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Button_onEvent__P543.info = {"start":3475,"length":124,"line":108,"column":8,"endLine":110,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"onEvent","argumentNames":["this","event","handler"]}\n\nfunction controller_Button_onEvent__P543_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Button_onEvent__P543, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction control_onEvent__P213(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.ctx___8772 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = control_eventContext__P235_mk(s);\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.ctx___8772 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.ctx___8772);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim.control.internalOnEvent(s.arg0, s.arg1, s.arg2, s.arg3);\n { step = 2; continue; }\n case 1:\n s.tmp_0 = control_EventContext_registerHandler__P227_mk(s);\n s.tmp_0.arg0 = s.ctx___8772;\n s.tmp_0.arg1 = s.arg0;\n s.tmp_0.arg2 = s.arg1;\n s.tmp_0.arg3 = s.arg2;\n s.tmp_0.arg4 = s.arg3;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_onEvent__P213.info = {"start":336,"length":325,"line":9,"column":4,"endLine":15,"endColumn":5,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"onEvent","argumentNames":["src","value","handler","flags"]}\n\nfunction control_onEvent__P213_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_onEvent__P213, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n ctx___8772: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction control_EventContext_registerHandler__P227(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.h___8793 = undefined;\n s.unnamed50___U1 = undefined;\n s.unnamed51___U2 = undefined;\n s.hn___8809 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, control_EventContext__C220_VT)) failedCast(r0);\n s.h___8793 = (undefined);\n s.h___8793 = (undefined);\n r0 = s.arg0.fields["handlers"];\n s.unnamed50___U1 = (r0);\n s.unnamed51___U2 = (0);\n case 1:\n s.tmp_0 = r0 = s.unnamed51___U2;\n r0 = pxsim_Array__length(s.unnamed50___U1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 6; continue; }\n r0 = pxsim_Array__getAt(s.unnamed50___U1, s.unnamed51___U2);\n s.h___8793 = (r0);\n r0 = s.h___8793.fields["src"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 == s.arg1);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBool(s.tmp_2);\n if (r0) { step = 2; continue; }\n r0 = s.tmp_2;\n { step = 3; continue; }\n case 2:\n r0 = s.h___8793.fields["value"];\n s.tmp_4 = r0;\n r0 = (s.tmp_4 == s.arg2);\n case 3:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_5);\n if (!r0) { step = 4; continue; }\n r0 = (s.h___8793).fields["flags"] = (s.arg4);\n r0 = (s.h___8793).fields["handler"] = (s.arg3);\n { step = 7; continue; }\n case 4:\n case 5:\n r0 = (s.unnamed51___U2 + 1);\n s.unnamed51___U2 = (r0);\n { step = 1; continue; }\n case 6:\n s.unnamed50___U1 = (undefined);\n r0 = pxsim_pxtcore_mkClassInstance(control_EventHandler__C215_VT);\n s.tmp_0 = r0;\n s.tmp_1 = control_EventHandler_constructor__P218_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = s.arg1;\n s.tmp_1.arg2 = s.arg2;\n s.tmp_1.arg3 = s.arg3;\n s.tmp_1.arg4 = s.arg4;\n s.pc = 8; return s.tmp_1;\n case 8:\n r0 = s.retval;\n s.hn___8809 = (s.tmp_0);\n r0 = s.arg0.fields["handlers"];\n s.tmp_0 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.hn___8809);\n s.tmp_0 = control_EventHandler_register__P216_mk(s);\n s.tmp_0.arg0 = s.hn___8809;\n s.pc = 9; return s.tmp_0;\n case 9:\n r0 = s.retval;\n case 7:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_EventContext_registerHandler__P227.info = {"start":4832,"length":525,"line":150,"column":8,"endLine":163,"endColumn":9,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"registerHandler","argumentNames":["this","src","value","handler","flags"]}\n\nfunction control_EventContext_registerHandler__P227_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_EventContext_registerHandler__P227, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n h___8793: undefined,\n unnamed50___U1: undefined,\n unnamed51___U2: undefined,\n hn___8809: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n} }\n\n\n\n\n\nfunction control_EventHandler_constructor__P218(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, control_EventHandler__C215_VT)) failedCast(r0);\n r0 = (s.arg0).fields["src"] = (s.arg1);\n r0 = (s.arg0).fields["value"] = (s.arg2);\n r0 = (s.arg0).fields["handler"] = (s.arg3);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_EventHandler_constructor__P218.info = {"start":876,"length":183,"line":28,"column":8,"endLine":32,"endColumn":9,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"inline","argumentNames":["this","src","value","handler","flags"]}\n\nfunction control_EventHandler_constructor__P218_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_EventHandler_constructor__P218, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n} }\n\n\n\n\n\nfunction game_eventContext__P1017(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = game_init__P1018_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = globals._scene___1008.fields["eventContext"];\n return leave(s, r0)\n default: oops()\n} } }\ngame_eventContext__P1017.info = {"start":1084,"length":112,"line":40,"column":4,"endLine":43,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"eventContext","argumentNames":[]}\n\nfunction game_eventContext__P1017_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_eventContext__P1017, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction controller_pauseUntilAnyButtonIsPressed__P585(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n setupResume(s, 1);\n pxsim.control.waitForEvent(2049, 0);\n checkResumeConsumed();\n return;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_pauseUntilAnyButtonIsPressed__P585.info = {"start":17360,"length":96,"line":537,"column":4,"endLine":539,"endColumn":5,"fileName":"pxt_modules/game/controller.ts","functionName":"pauseUntilAnyButtonIsPressed","argumentNames":[]}\n\nfunction controller_pauseUntilAnyButtonIsPressed__P585_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_pauseUntilAnyButtonIsPressed__P585, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n} }\n\n\n\n\n\nfunction game_setWaitAnyButton__P1015(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n globals.__waitAnyButton___1012 = (s.arg0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_setWaitAnyButton__P1015.info = {"start":878,"length":83,"line":31,"column":4,"endLine":33,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"setWaitAnyButton","argumentNames":["f"]}\n\nfunction game_setWaitAnyButton__P1015_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_setWaitAnyButton__P1015, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Math_abs__P59(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = (0 - s.arg0);\n { step = 2; continue; }\n case 1:\n r0 = s.arg0;\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = s.tmp_1;\n return leave(s, r0)\n default: oops()\n} } }\nMath_abs__P59.info = {"start":10354,"length":77,"line":348,"column":4,"endLine":350,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"abs","argumentNames":["x"]}\n\nfunction Math_abs__P59_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Math_abs__P59, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Math_sign__P60(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 == 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = 0;\n { step = 5; continue; }\n case 1:\n case 2:\n r0 = (s.arg0 > 0);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 3; continue; }\n r0 = 1;\n { step = 5; continue; }\n case 3:\n case 4:\n r0 = -1;\n case 5:\n return leave(s, r0)\n default: oops()\n} } }\nMath_sign__P60.info = {"start":10589,"length":125,"line":356,"column":4,"endLine":360,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"sign","argumentNames":["x"]}\n\nfunction Math_sign__P60_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Math_sign__P60, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction texteffects_TextEffect_constructor__P1449(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, texteffects_TextEffect__C1448_VT)) failedCast(r0);\n r0 = (s.arg0).fields["getState"] = (s.arg1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ntexteffects_TextEffect_constructor__P1449.info = {"start":657,"length":133,"line":25,"column":8,"endLine":27,"endColumn":9,"fileName":"pxt_modules/game/texteffects.ts","functionName":"inline","argumentNames":["this","getState"]}\n\nfunction texteffects_TextEffect_constructor__P1449_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: texteffects_TextEffect_constructor__P1449, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Math_FastRandom_constructor__P1163(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Math_FastRandom__C1156_VT)) failedCast(r0);\n r0 = (s.arg1 === undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim.Math_.randomRange(1, 65535);\n s.arg1 = (r0);\n case 1:\n case 2:\n r0 = (s.arg0).fields["seed"] = (s.arg1);\n r0 = (s.arg0).fields["lfsr"] = (s.arg1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nMath_FastRandom_constructor__P1163.info = {"start":1392,"length":175,"line":43,"column":8,"endLine":47,"endColumn":9,"fileName":"pxt_modules/game/mathUtil.ts","functionName":"inline","argumentNames":["this","seed"]}\n\nfunction Math_FastRandom_constructor__P1163_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Math_FastRandom_constructor__P1163, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction control_ramSize__P179(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_pxtcore.getConfig(205, 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = (32 * 1024);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 * 1024);\n case 2:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = s.tmp_2;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_ramSize__P179.info = {"start":7962,"length":100,"line":265,"column":4,"endLine":267,"endColumn":5,"fileName":"pxt_modules/base/control.ts","functionName":"ramSize","argumentNames":[]}\n\nfunction control_ramSize__P179_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_ramSize__P179, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n} }\n\n\n\n\n\nfunction control__ramSize__P178(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = (32 * 1024);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 * 1024);\n return leave(s, r0)\n default: oops()\n} } }\ncontrol__ramSize__P178.info = {"start":7842,"length":60,"line":260,"column":4,"endLine":262,"endColumn":5,"fileName":"pxt_modules/base/control.ts","functionName":"_ramSize","argumentNames":[]}\n\nfunction control__ramSize__P178_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control__ramSize__P178, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction game_consoleOverlay_listener__P1267(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_numops_toBoolDecr(globals.consoleStrings___1239);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n case 2:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 3; continue; }\n { step = 7; continue; }\n case 3:\n case 4:\n s.tmp_4 = helpers_arrayForEach__P47_mk(s);\n s.tmp_5 = helpers_arrayFilter__P48_mk(s);\n s.tmp_6 = helpers_stringSplit__P55_mk(s);\n s.tmp_6.arg0 = s.arg1;\n s.tmp_6.arg1 = "\\n";\n s.tmp_6.arg2 = undefined;\n s.pc = 10; return s.tmp_6;\n case 10:\n r0 = s.retval;\n s.tmp_5.arg0 = r0;\n s.tmp_5.arg1 = inline__P8889;\n s.pc = 9; return s.tmp_5;\n case 9:\n r0 = s.retval;\n s.tmp_4.arg0 = r0;\n s.tmp_4.arg1 = inline__P8893;\n s.pc = 8; return s.tmp_4;\n case 8:\n r0 = s.retval;\n r0 = pxsim_Array__length(globals.consoleStrings___1239);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > globals.consoleLines___1245);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n s.tmp_2 = helpers_arraySplice__P36_mk(s);\n s.tmp_2.arg0 = globals.consoleStrings___1239;\n s.tmp_2.arg1 = 0;\n r0 = pxsim_Array__length(globals.consoleStrings___1239);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 - globals.consoleLines___1245);\n s.tmp_2.arg2 = r0;\n s.pc = 11; return s.tmp_2;\n case 11:\n r0 = s.retval;\n case 5:\n case 6:\n case 7:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_consoleOverlay_listener__P1267.info = {"start":787,"length":571,"line":26,"column":4,"endLine":42,"endColumn":5,"fileName":"pxt_modules/game/console.ts","functionName":"listener","argumentNames":["priority","text"]}\n\nfunction game_consoleOverlay_listener__P1267_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_consoleOverlay_listener__P1267, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction inline__P8889(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_numops_toBoolDecr(s.arg0);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\ninline__P8889.info = {"start":985,"length":14,"line":32,"column":20,"endLine":32,"endColumn":34,"fileName":"pxt_modules/game/console.ts","functionName":"inline","argumentNames":["line"]}\n\nfunction inline__P8889_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P8889, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P8893(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.j___8895 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.j___8895 = (0);\n case 1:\n s.tmp_1 = r0 = s.j___8895;\n r0 = pxsim_String_.length(s.arg0);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n s.tmp_3 = r0 = globals.consoleStrings___1239;\n s.tmp_5 = helpers_stringSlice__P53_mk(s);\n s.tmp_5.arg0 = s.arg0;\n s.tmp_5.arg1 = s.j___8895;\n r0 = (s.j___8895 + globals.consoleColumns___1255);\n s.tmp_5.arg2 = r0;\n s.pc = 3; return s.tmp_5;\n case 3:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = pxsim_Array__push(s.tmp_3, s.tmp_4);\n r0 = (s.j___8895 + globals.consoleColumns___1255);\n s.j___8895 = (r0);\n { step = 1; continue; }\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P8893.info = {"start":1022,"length":189,"line":33,"column":21,"endLine":37,"endColumn":13,"fileName":"pxt_modules/game/console.ts","functionName":"inline","argumentNames":["line"]}\n\nfunction inline__P8893_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P8893, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n j___8895: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction console_addListener__P194(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_numops_toBoolDecr(s.arg0);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = pxsim_Array_.indexOf(globals.listeners___186, s.arg0, undefined);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 > -1);\n case 2:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 3; continue; }\n { step = 5; continue; }\n case 3:\n case 4:\n r0 = pxsim_Array__push(globals.listeners___186, s.arg0);\n case 5:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nconsole_addListener__P194.info = {"start":3460,"length":197,"line":118,"column":4,"endLine":121,"endColumn":5,"fileName":"pxt_modules/base/console.ts","functionName":"addListener","argumentNames":["listener"]}\n\nfunction console_addListener__P194_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: console_addListener__P194, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P8934(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim.control.__log(s.arg0, s.arg1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P8934.info = {"start":534,"length":85,"line":25,"column":8,"endLine":25,"endColumn":93,"fileName":"pxt_modules/base/console.ts","functionName":"inline","argumentNames":["priority","text"]}\n\nfunction inline__P8934_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P8934, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_register__P1196(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals.instance___1164);\n if (!r0) { step = 1; continue; }\n { step = 3; continue; }\n case 1:\n case 2:\n s.tmp_0 = controller_Button_onEvent__P543_mk(s);\n s.tmp_0.arg0 = globals.menu___531;\n s.tmp_0.arg1 = 2049;\n s.tmp_0.arg2 = scene_systemMenu_showSystemMenu__P1197;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n case 3:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_register__P1196.info = {"start":12112,"length":193,"line":365,"column":4,"endLine":369,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"register","argumentNames":[]}\n\nfunction scene_systemMenu_register__P1196_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_register__P1196, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_showSystemMenu__P1197(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals.instance___1164);\n if (!r0) { step = 1; continue; }\n { step = 3; continue; }\n case 1:\n case 2:\n s.tmp_0 = game_pushScene__P1019_mk(s);\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_PauseMenu__C1176_VT);\n s.tmp_0 = r0;\n s.tmp_1 = scene_systemMenu_PauseMenu_constructor__P1183_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = scene_systemMenu_buildOptionList__P1193;\n s.tmp_1.arg2 = undefined;\n s.pc = 5; return s.tmp_1;\n case 5:\n r0 = s.retval;\n globals.instance___1164 = (s.tmp_0);\n s.tmp_0 = scene_systemMenu_PauseMenu_show__P1177_mk(s);\n s.tmp_0.arg0 = globals.instance___1164;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n case 3:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_showSystemMenu__P1197.info = {"start":12311,"length":172,"line":371,"column":4,"endLine":376,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"showSystemMenu","argumentNames":[]}\n\nfunction scene_systemMenu_showSystemMenu__P1197_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_showSystemMenu__P1197, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_buildOptionList__P1193(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.options___9511 = undefined;\n r0 = pxsim_Array__mk();\n s.options___9511 = (r0);\n r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_MenuOption__C1167_VT);\n s.tmp_0 = r0;\n s.tmp_1 = scene_systemMenu_MenuOption_constructor__P1175_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = globals.VOLUME_DOWN_ICON___1223;\n s.tmp_1.arg2 = inline__P9519;\n s.tmp_1.arg3 = scene_systemMenu_volumeDown__P1186;\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n r0 = pxsim_Array__push(s.options___9511, s.tmp_0);\n r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_MenuOption__C1167_VT);\n s.tmp_0 = r0;\n s.tmp_1 = scene_systemMenu_MenuOption_constructor__P1175_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = globals.VOLUME_UP_ICON___1214;\n s.tmp_1.arg2 = inline__P9533;\n s.tmp_1.arg3 = scene_systemMenu_volumeUp__P1185;\n s.pc = 4; return s.tmp_1;\n case 4:\n r0 = s.retval;\n r0 = pxsim_Array__push(s.options___9511, s.tmp_0);\n r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_MenuOption__C1167_VT);\n s.tmp_0 = r0;\n s.tmp_1 = scene_systemMenu_MenuOption_constructor__P1175_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = globals.BRIGHTNESS_DOWN_ICON___1217;\n s.tmp_1.arg2 = inline__P9547;\n s.tmp_1.arg3 = scene_systemMenu_brightnessDown__P1188;\n s.pc = 5; return s.tmp_1;\n case 5:\n r0 = s.retval;\n r0 = pxsim_Array__push(s.options___9511, s.tmp_0);\n r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_MenuOption__C1167_VT);\n s.tmp_0 = r0;\n s.tmp_1 = scene_systemMenu_MenuOption_constructor__P1175_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = globals.BRIGHTNESS_UP_ICON___1232;\n s.tmp_1.arg2 = inline__P9563;\n s.tmp_1.arg3 = scene_systemMenu_brightnessUp__P1187;\n s.pc = 6; return s.tmp_1;\n case 6:\n r0 = s.retval;\n r0 = pxsim_Array__push(s.options___9511, s.tmp_0);\n r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_MenuOption__C1167_VT);\n s.tmp_0 = r0;\n s.tmp_1 = scene_systemMenu_MenuOption_constructor__P1175_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = globals.STATS_ICON___1235;\n s.tmp_1.arg2 = inline__P9578;\n s.tmp_1.arg3 = scene_systemMenu_toggleStats__P1189;\n s.pc = 7; return s.tmp_1;\n case 7:\n r0 = s.retval;\n r0 = pxsim_Array__push(s.options___9511, s.tmp_0);\n r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_MenuOption__C1167_VT);\n s.tmp_0 = r0;\n s.tmp_1 = scene_systemMenu_MenuOption_constructor__P1175_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = globals.CONSOLE_ICON___1229;\n s.tmp_1.arg2 = inline__P9587;\n s.tmp_1.arg3 = scene_systemMenu_toggleConsole__P1190;\n s.pc = 8; return s.tmp_1;\n case 8:\n r0 = s.retval;\n r0 = pxsim_Array__push(s.options___9511, s.tmp_0);\n r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_MenuOption__C1167_VT);\n s.tmp_0 = r0;\n s.tmp_1 = scene_systemMenu_MenuOption_constructor__P1175_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = globals.SLEEP_ICON___1226;\n s.tmp_1.arg2 = inline__P9596;\n s.tmp_1.arg3 = scene_systemMenu_sleep__P1191;\n s.pc = 9; return s.tmp_1;\n case 9:\n r0 = s.retval;\n r0 = pxsim_Array__push(s.options___9511, s.tmp_0);\n r0 = pxsim_numops_toBoolDecr(globals.customMenuOptions___1165);\n if (!r0) { step = 1; continue; }\n s.tmp_0 = helpers_arrayConcat__P51_mk(s);\n s.tmp_0.arg0 = s.options___9511;\n s.tmp_0.arg1 = globals.customMenuOptions___1165;\n s.pc = 10; return s.tmp_0;\n case 10:\n r0 = s.retval;\n s.options___9511 = (r0);\n case 1:\n case 2:\n r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_MenuOption__C1167_VT);\n s.tmp_0 = r0;\n s.tmp_1 = scene_systemMenu_MenuOption_constructor__P1175_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = globals.CLOSE_MENU_ICON___1220;\n s.tmp_1.arg2 = inline__P9610;\n s.tmp_1.arg3 = scene_systemMenu_closeMenu__P1192;\n s.pc = 11; return s.tmp_1;\n case 11:\n r0 = s.retval;\n r0 = pxsim_Array__push(s.options___9511, s.tmp_0);\n r0 = s.options___9511;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_buildOptionList__P1193.info = {"start":9882,"length":1085,"line":319,"column":4,"endLine":337,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"buildOptionList","argumentNames":[]}\n\nfunction scene_systemMenu_buildOptionList__P1193_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_buildOptionList__P1193, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n options___9511: undefined,\n} }\n\n\n\n\n\nfunction inline__P9519(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_3 = music_volume__P342_mk(s);\n s.pc = 1; return s.tmp_3;\n case 1:\n r0 = s.retval;\n s.tmp_2 = r0;\n if ((s.tmp_2) && (s.tmp_2).vtable) {\n setupResume(s, 2);\n pxsim_String__stringConv(s.tmp_2);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_2) + ""; }\n case 2:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_String__concat("VOLUME DOWN (", s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_String__concat(s.tmp_0, ")");\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9519.info = {"start":10027,"length":39,"line":322,"column":54,"endLine":322,"endColumn":93,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P9519_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9519, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n} }\n\n\n\n\n\nfunction inline__P9533(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_3 = music_volume__P342_mk(s);\n s.pc = 1; return s.tmp_3;\n case 1:\n r0 = s.retval;\n s.tmp_2 = r0;\n if ((s.tmp_2) && (s.tmp_2).vtable) {\n setupResume(s, 2);\n pxsim_String__stringConv(s.tmp_2);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_2) + ""; }\n case 2:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_String__concat("VOLUME UP (", s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_String__concat(s.tmp_0, ")");\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9533.info = {"start":10134,"length":37,"line":323,"column":52,"endLine":323,"endColumn":89,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P9533_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9533, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n} }\n\n\n\n\n\nfunction inline__P9547(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = globals.brightness___401;\n s.tmp_2 = r0;\n if ((s.tmp_2) && (s.tmp_2).vtable) {\n setupResume(s, 1);\n pxsim_String__stringConv(s.tmp_2);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_2) + ""; }\n case 1:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_String__concat("BRIGHTNESS DOWN (", s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_String__concat(s.tmp_0, ")");\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9547.info = {"start":10243,"length":48,"line":324,"column":58,"endLine":324,"endColumn":106,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P9547_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9547, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n} }\n\n\n\n\n\nfunction inline__P9563(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = globals.brightness___401;\n s.tmp_2 = r0;\n if ((s.tmp_2) && (s.tmp_2).vtable) {\n setupResume(s, 1);\n pxsim_String__stringConv(s.tmp_2);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_2) + ""; }\n case 1:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_String__concat("BRIGHTNESS UP (", s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_String__concat(s.tmp_0, ")");\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9563.info = {"start":10367,"length":46,"line":325,"column":56,"endLine":325,"endColumn":102,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P9563_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9563, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n} }\n\n\n\n\n\nfunction inline__P9578(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals.stats___999);\n if (!r0) { step = 1; continue; }\n r0 = "HIDE STATS";\n { step = 2; continue; }\n case 1:\n r0 = "SHOW STATS";\n case 2:\n // jmp value (already in r0)\n s.tmp_0 = r0;\n r0 = s.tmp_0;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9578.info = {"start":10479,"length":46,"line":326,"column":48,"endLine":326,"endColumn":94,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P9578_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9578, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction inline__P9587(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals.consoleStrings___1239);\n s.tmp_3 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = "HIDE CONSOLE";\n { step = 2; continue; }\n case 1:\n r0 = "SHOW CONSOLE";\n case 2:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n r0 = s.tmp_4;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9587.info = {"start":10592,"length":71,"line":327,"column":50,"endLine":327,"endColumn":121,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P9587_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9587, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n} }\n\n\n\n\n\nfunction inline__P9596(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = "SLEEP";\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9596.info = {"start":10730,"length":13,"line":328,"column":48,"endLine":328,"endColumn":61,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P9596_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9596, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n} }\n\n\n\n\n\nfunction inline__P9610(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = "CLOSE";\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9610.info = {"start":10909,"length":13,"line":334,"column":53,"endLine":334,"endColumn":66,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P9610_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9610, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n} }\n\n\n\n\n\nfunction game_consoleOverlay_isVisible__P1268(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals.consoleStrings___1239);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\ngame_consoleOverlay_isVisible__P1268.info = {"start":422,"length":68,"line":11,"column":4,"endLine":13,"endColumn":5,"fileName":"pxt_modules/game/console.ts","functionName":"isVisible","argumentNames":[]}\n\nfunction game_consoleOverlay_isVisible__P1268_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_consoleOverlay_isVisible__P1268, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_closeMenu__P1192(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals.instance___1164);\n if (!r0) { step = 1; continue; }\n s.tmp_0 = scene_systemMenu_PauseMenu_dispose__P1181_mk(s);\n s.tmp_0.arg0 = globals.instance___1164;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n globals.instance___1164 = (undefined);\n s.tmp_0 = controller__setUserEventsEnabled__P586_mk(s);\n s.tmp_0.arg0 = true;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n s.tmp_0 = game_popScene__P1020_mk(s);\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_closeMenu__P1192.info = {"start":9667,"length":209,"line":310,"column":4,"endLine":317,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"closeMenu","argumentNames":[]}\n\nfunction scene_systemMenu_closeMenu__P1192_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_closeMenu__P1192, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_PauseMenu_dispose__P1181(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_systemMenu_PauseMenu__C1176_VT)) failedCast(r0);\n r0 = s.arg0.fields["options"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_1 = helpers_arrayForEach__P47_mk(s);\n r0 = s.arg0.fields["options"];\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = inline__P9370;\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n r0 = (s.arg0).fields["options"] = (undefined);\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_PauseMenu_dispose__P1181.info = {"start":7732,"length":165,"line":243,"column":8,"endLine":248,"endColumn":9,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"dispose","argumentNames":["this"]}\n\nfunction scene_systemMenu_PauseMenu_dispose__P1181_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_PauseMenu_dispose__P1181, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P9370(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = scene_systemMenu_MenuOption_dispose__P1173_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9370.info = {"start":7813,"length":16,"line":245,"column":37,"endLine":245,"endColumn":53,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":["o"]}\n\nfunction inline__P9370_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9370, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_MenuOption_dispose__P1173(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_systemMenu_MenuOption__C1167_VT)) failedCast(r0);\n r0 = s.arg0.fields["card"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_1 = Sprite_destroy__P653_mk(s);\n r0 = s.arg0.fields["card"];\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = undefined;\n s.tmp_1.arg2 = undefined;\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n s.tmp_0 = Sprite_destroy__P653_mk(s);\n r0 = s.arg0.fields["icon"];\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = undefined;\n s.tmp_0.arg2 = undefined;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n r0 = (s.arg0).fields["card"] = (undefined);\n r0 = (s.arg0).fields["icon"] = (undefined);\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_MenuOption_dispose__P1173.info = {"start":1812,"length":216,"line":77,"column":8,"endLine":84,"endColumn":9,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"dispose","argumentNames":["this"]}\n\nfunction scene_systemMenu_MenuOption_dispose__P1173_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_MenuOption_dispose__P1173, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller__setUserEventsEnabled__P586(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n globals._userEventsEnabled___535 = (s.arg0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller__setUserEventsEnabled__P586.info = {"start":17462,"length":101,"line":541,"column":4,"endLine":543,"endColumn":5,"fileName":"pxt_modules/game/controller.ts","functionName":"_setUserEventsEnabled","argumentNames":["enabled"]}\n\nfunction controller__setUserEventsEnabled__P586_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller__setUserEventsEnabled__P586, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_sleep__P1191(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_pxtcore.deepSleep();\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_sleep__P1191.info = {"start":9610,"length":51,"line":306,"column":4,"endLine":308,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"sleep","argumentNames":[]}\n\nfunction scene_systemMenu_sleep__P1191_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_sleep__P1191, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n} }\n\n\n\n\n\nfunction scene_systemMenu_toggleConsole__P1190(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals.consoleStrings___1239);\n s.tmp_3 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_4 = game_consoleOverlay_setVisible__P1270_mk(s);\n s.tmp_4.arg0 = false;\n s.tmp_4.arg1 = undefined;\n s.pc = 3; return s.tmp_4;\n case 3:\n r0 = s.retval;\n { step = 2; continue; }\n case 1:\n s.tmp_0 = game_consoleOverlay_setVisible__P1270_mk(s);\n s.tmp_0.arg0 = true;\n s.tmp_0.arg1 = undefined;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n s.tmp_0 = console_log__P191_mk(s);\n s.tmp_0.arg0 = "console";\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_toggleConsole__P1190.info = {"start":9365,"length":239,"line":297,"column":4,"endLine":304,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"toggleConsole","argumentNames":[]}\n\nfunction scene_systemMenu_toggleConsole__P1190_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_toggleConsole__P1190, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n} }\n\n\n\n\n\nfunction game_consoleOverlay_setVisible__P1270(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n s.tmp_1 = r0 = s.arg0;\n r0 = pxsim_numops_toBoolDecr(globals.consoleStrings___1239);\n s.tmp_5 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_5);\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n s.tmp_3 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 != s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = pxsim_numops_toBoolDecr(s.arg0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_Array__mk();\n { step = 2; continue; }\n case 1:\n r0 = undefined;\n case 2:\n // jmp value (already in r0)\n s.tmp_6 = r0;\n globals.consoleStrings___1239 = (s.tmp_6);\n case 3:\n case 4:\n r0 = (s.arg1 !== undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n globals.consoleColor___1238 = (s.arg1);\n case 5:\n case 6:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_consoleOverlay_setVisible__P1270.info = {"start":562,"length":219,"line":19,"column":4,"endLine":24,"endColumn":5,"fileName":"pxt_modules/game/console.ts","functionName":"setVisible","argumentNames":["value","col"]}\n\nfunction game_consoleOverlay_setVisible__P1270_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_consoleOverlay_setVisible__P1270, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction console_log__P191(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = console_add__P187_mk(s);\n s.tmp_0.arg0 = 1;\n s.tmp_1 = console_inspect__P193_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.tmp_1.arg1 = 20;\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nconsole_log__P191.info = {"start":1422,"length":95,"line":57,"column":4,"endLine":59,"endColumn":5,"fileName":"pxt_modules/base/console.ts","functionName":"log","argumentNames":["value"]}\n\nfunction console_log__P191_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: console_log__P191, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction console_inspect__P193(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.asArr___9658 = undefined;\n s.asString___9675 = undefined;\n s.keys___9685 = undefined;\n s.snipped___9689 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_pxtcore.typeOf(s.arg0);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 == "string");\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.arg0;\n { step = 17; continue; }\n { step = 16; continue; }\n case 1:\n r0 = pxsim_pxtcore.typeOf(s.arg0);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 == "number");\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 2; continue; }\n r0 = pxsim_String_.mkEmpty();\n s.tmp_4 = r0;\n if ((s.arg0) && (s.arg0).vtable) {\n setupResume(s, 18);\n pxsim_String__stringConv(s.arg0);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.arg0) + ""; }\n case 18:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = pxsim_String__concat(s.tmp_4, s.tmp_5);\n { step = 17; continue; }\n { step = 15; continue; }\n case 2:\n r0 = pxsim_Array_.isArray(s.arg0);\n s.tmp_6 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_6);\n if (!r0) { step = 5; continue; }\n s.asArr___9658 = (s.arg0);\n r0 = pxsim_Array__length(s.asArr___9658);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 <= s.arg1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.tmp_2 = helpers_arrayJoin__P39_mk(s);\n s.tmp_2.arg0 = s.asArr___9658;\n s.tmp_2.arg1 = ",";\n s.pc = 19; return s.tmp_2;\n case 19:\n r0 = s.retval;\n { step = 17; continue; }\n { step = 4; continue; }\n case 3:\n r0 = pxsim_String_.mkEmpty();\n s.tmp_4 = r0;\n s.tmp_7 = helpers_arrayJoin__P39_mk(s);\n s.tmp_8 = helpers_arraySlice__P52_mk(s);\n s.tmp_8.arg0 = s.asArr___9658;\n s.tmp_8.arg1 = 0;\n s.tmp_8.arg2 = s.arg1;\n s.pc = 21; return s.tmp_8;\n case 21:\n r0 = s.retval;\n s.tmp_7.arg0 = r0;\n s.tmp_7.arg1 = ",";\n s.pc = 20; return s.tmp_7;\n case 20:\n r0 = s.retval;\n s.tmp_6 = r0;\n if ((s.tmp_6) && (s.tmp_6).vtable) {\n setupResume(s, 22);\n pxsim_String__stringConv(s.tmp_6);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_6) + ""; }\n case 22:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = pxsim_String__concat(s.tmp_4, s.tmp_5);\n s.tmp_3 = r0;\n r0 = pxsim_String__concat(s.tmp_3, "...");\n { step = 17; continue; }\n case 4:\n { step = 14; continue; }\n case 5:\n if ((s.arg0) && (s.arg0).vtable) {\n setupResume(s, 23);\n pxsim_String__stringConv(s.arg0);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.arg0) + ""; }\n case 23:\n r0 = s.retval;\n s.tmp_9 = r0;\n r0 = pxsim_String_.mkEmpty();\n s.tmp_10 = r0;\n r0 = pxsim_String__concat(s.tmp_9, s.tmp_10);\n s.asString___9675 = (r0);\n r0 = (s.asString___9675 != "[object Object]");\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 6; continue; }\n r0 = s.tmp_0;\n { step = 7; continue; }\n case 6:\n r0 = (s.asString___9675 != "[Object]");\n case 7:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 8; continue; }\n r0 = s.asString___9675;\n { step = 17; continue; }\n case 8:\n case 9:\n r0 = pxsim_pxtrt.keysOf(s.arg0);\n s.keys___9685 = (r0);\n r0 = pxsim_Array__length(s.keys___9685);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 > s.arg1);\n s.snipped___9689 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.snipped___9689);\n if (!r0) { step = 10; continue; }\n s.tmp_0 = helpers_arraySlice__P52_mk(s);\n s.tmp_0.arg0 = s.keys___9685;\n s.tmp_0.arg1 = 0;\n s.tmp_0.arg2 = s.arg1;\n s.pc = 24; return s.tmp_0;\n case 24:\n r0 = s.retval;\n s.keys___9685 = (r0);\n case 10:\n case 11:\n r0 = pxsim_pxtcore_mkAction(1, inline__P9706);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n r0 = pxsim_numops_toBoolDecr(s.snipped___9689);\n if (!r0) { step = 12; continue; }\n r0 = "\\n ...";\n { step = 13; continue; }\n case 12:\n r0 = pxsim_String_.mkEmpty();\n case 13:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n s.tmp_7 = helpers_arrayReduce__P50_mk(s);\n s.tmp_7.arg0 = s.keys___9685;\n s.tmp_7.arg1 = s.tmp_0;\n r0 = pxsim_String_.mkEmpty();\n s.tmp_7.arg2 = r0;\n s.pc = 25; return s.tmp_7;\n case 25:\n r0 = s.retval;\n s.tmp_6 = r0;\n if ((s.tmp_6) && (s.tmp_6).vtable) {\n setupResume(s, 26);\n pxsim_String__stringConv(s.tmp_6);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_6) + ""; }\n case 26:\n r0 = s.retval;\n s.tmp_5 = r0;\n if ((s.tmp_1) && (s.tmp_1).vtable) {\n setupResume(s, 27);\n pxsim_String__stringConv(s.tmp_1);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_1) + ""; }\n case 27:\n r0 = s.retval;\n s.tmp_8 = r0;\n r0 = pxsim_String__concat(s.tmp_5, s.tmp_8);\n s.tmp_4 = r0;\n if ((s.tmp_4) && (s.tmp_4).vtable) {\n setupResume(s, 28);\n pxsim_String__stringConv(s.tmp_4);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_4) + ""; }\n case 28:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = pxsim_String__concat("{", s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_String__concat(s.tmp_2, "\\n}");\n { step = 17; continue; }\n case 14:\n case 15:\n case 16:\n r0 = undefined;\n case 17:\n return leave(s, r0)\n default: oops()\n} } }\nconsole_inspect__P193.info = {"start":2173,"length":1190,"line":78,"column":4,"endLine":111,"endColumn":5,"fileName":"pxt_modules/base/console.ts","functionName":"inspect","argumentNames":["obj","maxElements"]}\n\nfunction console_inspect__P193_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: console_inspect__P193, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n asArr___9658: undefined,\n asString___9675: undefined,\n keys___9685: undefined,\n snipped___9689: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction inline__P9706(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n if ((s.arg0) && (s.arg0).vtable) {\n setupResume(s, 1);\n pxsim_String__stringConv(s.arg0);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.arg0) + ""; }\n case 1:\n r0 = s.retval;\n s.tmp_0 = r0;\n if ((s.arg1) && (s.arg1).vtable) {\n setupResume(s, 2);\n pxsim_String__stringConv(s.arg1);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.arg1) + ""; }\n case 2:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = pxsim_String__concat("\\n ", s.tmp_5);\n s.tmp_4 = r0;\n r0 = pxsim_String__concat(s.tmp_4, ": ");\n s.tmp_3 = r0;\n r0 = pxsim_pxtrt.mapGetGeneric(s.caps[0], s.arg1);\n s.tmp_7 = r0;\n if ((s.tmp_7) && (s.tmp_7).vtable) {\n setupResume(s, 3);\n pxsim_String__stringConv(s.tmp_7);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_7) + ""; }\n case 3:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = pxsim_String__concat(s.tmp_3, s.tmp_6);\n s.tmp_2 = r0;\n if ((s.tmp_2) && (s.tmp_2).vtable) {\n setupResume(s, 4);\n pxsim_String__stringConv(s.tmp_2);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_2) + ""; }\n case 4:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_String__concat(s.tmp_0, s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9706.info = {"start":3195,"length":61,"line":105,"column":20,"endLine":105,"endColumn":81,"fileName":"pxt_modules/base/console.ts","functionName":"inline","argumentNames":["prev","currKey"]}\n\nfunction inline__P9706_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9706, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction helpers_arrayReduce__P50(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.len___9733 = undefined;\n s.i___9736 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_Array__length(s.arg0);\n s.len___9733 = (r0);\n s.i___9736 = (0);\n case 1:\n r0 = (s.i___9736 < s.len___9733);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n s.tmp_1 = lambda_4_mk(s);\n s.tmp_1.argL = s.arg1;\n s.tmp_1.arg0 = s.arg2;\n r0 = pxsim_Array__getAt(s.arg0, s.i___9736);\n s.tmp_1.arg1 = r0;\n s.tmp_1.arg2 = s.i___9736;\n setupLambda(s.tmp_1, s.tmp_1.argL);\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n s.arg2 = (r0);\n r0 = (s.i___9736 + 1);\n s.i___9736 = (r0);\n { step = 1; continue; }\n case 2:\n r0 = s.arg2;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_arrayReduce__P50.info = {"start":6033,"length":317,"line":196,"column":4,"endLine":202,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"arrayReduce","argumentNames":["arr","callbackfn","initialValue"]}\n\nfunction helpers_arrayReduce__P50_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_arrayReduce__P50, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n len___9733: undefined,\n i___9736: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction helpers_arrayJoin__P39(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.r___9757 = undefined;\n s.len___9758 = undefined;\n s.i___9761 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg1 === undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = (s.arg1 === null);\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 3; continue; }\n s.arg1 = (",");\n case 3:\n case 4:\n r0 = pxsim_String_.mkEmpty();\n s.r___9757 = (r0);\n r0 = pxsim_Array__length(s.arg0);\n s.len___9758 = (r0);\n s.i___9761 = (0);\n case 5:\n r0 = (s.i___9761 < s.len___9758);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 14; continue; }\n r0 = (s.i___9761 > 0);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBool(s.tmp_1);\n if (r0) { step = 6; continue; }\n r0 = s.tmp_1;\n { step = 7; continue; }\n case 6:\n r0 = s.arg1;\n case 7:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 8; continue; }\n if ((s.r___9757) && (s.r___9757).vtable) {\n setupResume(s, 15);\n pxsim_String__stringConv(s.r___9757);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.r___9757) + ""; }\n case 15:\n r0 = s.retval;\n s.tmp_3 = r0;\n if ((s.arg1) && (s.arg1).vtable) {\n setupResume(s, 16);\n pxsim_String__stringConv(s.arg1);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.arg1) + ""; }\n case 16:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = pxsim_String__concat(s.tmp_3, s.tmp_4);\n s.r___9757 = (r0);\n case 8:\n case 9:\n r0 = pxsim_Array__getAt(s.arg0, s.i___9761);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 === undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 10; continue; }\n r0 = s.tmp_0;\n { step = 11; continue; }\n case 10:\n r0 = pxsim_Array__getAt(s.arg0, s.i___9761);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 === null);\n case 11:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 12; continue; }\n r0 = pxsim_String_.mkEmpty();\n { step = 13; continue; }\n case 12:\n r0 = pxsim_Array__getAt(s.arg0, s.i___9761);\n case 13:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n if ((s.r___9757) && (s.r___9757).vtable) {\n setupResume(s, 17);\n pxsim_String__stringConv(s.r___9757);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.r___9757) + ""; }\n case 17:\n r0 = s.retval;\n s.tmp_5 = r0;\n if ((s.tmp_4) && (s.tmp_4).vtable) {\n setupResume(s, 18);\n pxsim_String__stringConv(s.tmp_4);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_4) + ""; }\n case 18:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = pxsim_String__concat(s.tmp_5, s.tmp_6);\n s.r___9757 = (r0);\n r0 = (s.i___9761 + 1);\n s.i___9761 = (r0);\n { step = 5; continue; }\n case 14:\n r0 = s.r___9757;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_arrayJoin__P39.info = {"start":1850,"length":432,"line":73,"column":4,"endLine":86,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"arrayJoin","argumentNames":["arr","sep"]}\n\nfunction helpers_arrayJoin__P39_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_arrayJoin__P39, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n r___9757: undefined,\n len___9758: undefined,\n i___9761: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction console_add__P187(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.i___9802 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 < globals.minPriority___185);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 5; continue; }\n case 1:\n case 2:\n if ((s.arg1) && (s.arg1).vtable) {\n setupResume(s, 6);\n pxsim_String__stringConv(s.arg1);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.arg1) + ""; }\n case 6:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_String__concat(s.tmp_1, "\\n");\n s.arg1 = (r0);\n s.i___9802 = (0);\n case 3:\n s.tmp_1 = r0 = s.i___9802;\n r0 = pxsim_Array__length(globals.listeners___186);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 4; continue; }\n s.tmp_3 = lambda_3_mk(s);\n r0 = pxsim_Array__getAt(globals.listeners___186, s.i___9802);\n s.tmp_3.argL = r0;\n s.tmp_3.arg0 = s.arg0;\n s.tmp_3.arg1 = s.arg1;\n setupLambda(s.tmp_3, s.tmp_3.argL);\n s.pc = 7; return s.tmp_3;\n case 7:\n r0 = s.retval;\n r0 = (s.i___9802 + 1);\n s.i___9802 = (r0);\n { step = 3; continue; }\n case 4:\n case 5:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nconsole_add__P187.info = {"start":632,"length":280,"line":28,"column":4,"endLine":35,"endColumn":5,"fileName":"pxt_modules/base/console.ts","functionName":"add","argumentNames":["priority","text"]}\n\nfunction console_add__P187_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: console_add__P187, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n i___9802: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_toggleStats__P1189(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals.stats___999);\n s.tmp_0 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_0);\n globals.stats___999 = (r0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_toggleStats__P1189.info = {"start":9295,"length":64,"line":293,"column":4,"endLine":295,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"toggleStats","argumentNames":[]}\n\nfunction scene_systemMenu_toggleStats__P1189_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_toggleStats__P1189, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_brightnessDown__P1188(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = helpers_setScreenBrightness__P419_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n r0 = globals.brightness___401;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - 10);\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_brightnessDown__P1188.info = {"start":9200,"length":89,"line":289,"column":4,"endLine":291,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"brightnessDown","argumentNames":[]}\n\nfunction scene_systemMenu_brightnessDown__P1188_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_brightnessDown__P1188, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n} }\n\n\n\n\n\nfunction helpers_setScreenBrightness__P419(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = Math_clamp__P58_mk(s);\n s.tmp_0.arg0 = 10;\n s.tmp_0.arg1 = 100;\n r0 = (s.arg1 | 0);\n s.tmp_0.arg2 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.arg1 = (r0);\n globals.brightness___401 = (s.arg1);\n r0 = pxsim_pxtcore.setScreenBrightness(globals.brightness___401);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_setScreenBrightness__P419.info = {"start":7332,"length":210,"line":237,"column":4,"endLine":241,"endColumn":5,"fileName":"pxt_modules/screen/image.ts","functionName":"setScreenBrightness","argumentNames":["img","b"]}\n\nfunction helpers_setScreenBrightness__P419_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_setScreenBrightness__P419, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_brightnessUp__P1187(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = helpers_setScreenBrightness__P419_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n r0 = globals.brightness___401;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 + 10);\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_brightnessUp__P1187.info = {"start":9107,"length":87,"line":285,"column":4,"endLine":287,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"brightnessUp","argumentNames":[]}\n\nfunction scene_systemMenu_brightnessUp__P1187_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_brightnessUp__P1187, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_volumeDown__P1186(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.v___9937 = undefined;\n s.remainder___9939 = undefined;\n s.newVolume___9941 = undefined;\n s.tmp_0 = music_volume__P342_mk(s);\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.v___9937 = (r0);\n r0 = (s.v___9937 % 32);\n s.remainder___9939 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.remainder___9939);\n if (!r0) { step = 1; continue; }\n r0 = s.remainder___9939;\n { step = 2; continue; }\n case 1:\n r0 = 32;\n case 2:\n // jmp value (already in r0)\n s.tmp_0 = r0;\n r0 = (s.v___9937 - s.tmp_0);\n s.newVolume___9941 = (r0);\n s.tmp_0 = scene_systemMenu_setVolume__P1184_mk(s);\n s.tmp_0.arg0 = s.newVolume___9941;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_volumeDown__P1186.info = {"start":8914,"length":187,"line":278,"column":4,"endLine":283,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"volumeDown","argumentNames":[]}\n\nfunction scene_systemMenu_volumeDown__P1186_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_volumeDown__P1186, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n v___9937: undefined,\n remainder___9939: undefined,\n newVolume___9941: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_setVolume__P1184(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = music_setVolume__P341_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.tmp_0 = music_playTone__P344_mk(s);\n s.tmp_0.arg0 = 440;\n s.tmp_0.arg1 = 500;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n s.tmp_0 = settings_writeNumber__P496_mk(s);\n s.tmp_0.arg0 = "#volume";\n s.tmp_0.arg1 = s.arg0;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_setVolume__P1184.info = {"start":8565,"length":166,"line":265,"column":4,"endLine":269,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"setVolume","argumentNames":["newVolume"]}\n\nfunction scene_systemMenu_setVolume__P1184_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_setVolume__P1184, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction music_playTone__P344(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.id___9880 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_pxtrt.mklocRef();\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.arg1);\n s.arg1 = (s.tmp_0);\n r0 = pxsim_pxtrt_ldlocRef(s.arg1);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 == 0);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_pxtrt_stlocRef(s.arg1, 86400000);\n case 1:\n case 2:\n r0 = pxsim_pxtrt_ldlocRef(s.arg1);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 <= 2000);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.tmp_2 = music_playNoteCore__P343_mk(s);\n s.tmp_2.arg0 = 0;\n s.tmp_2.arg1 = s.arg0;\n r0 = pxsim_pxtrt_ldlocRef(s.arg1);\n s.tmp_2.arg2 = r0;\n s.pc = 5; return s.tmp_2;\n case 5:\n r0 = s.retval;\n s.tmp_0 = pause__P241_mk(s);\n r0 = pxsim_pxtrt_ldlocRef(s.arg1);\n s.tmp_0.arg0 = r0;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n { step = 4; continue; }\n case 3:\n r0 = (globals.playToneID___345 + 1);\n s.tmp_0 = r0;\n globals.playToneID___345 = (r0);\n s.id___9880 = (s.tmp_0);\n r0 = pxsim_pxtcore_mkAction(3, inline__P9885);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.id___9880);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.arg1);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 2, s.arg0);\n r0 = pxsim.control.runInParallel(s.tmp_0);\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nmusic_playTone__P344.info = {"start":2591,"length":831,"line":83,"column":4,"endLine":108,"endColumn":5,"fileName":"pxt_modules/mixer/melody.ts","functionName":"playTone","argumentNames":["frequency","ms"]}\n\nfunction music_playTone__P344_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_playTone__P344, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n id___9880: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction inline__P9885(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.pos___9886 = undefined;\n s.now___9894 = undefined;\n s.d___9897 = undefined;\n s.t___9900 = undefined;\n r0 = pxsim.control.millis();\n s.pos___9886 = (r0);\n case 1:\n r0 = (s.caps[0] == globals.playToneID___345);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 2; continue; }\n r0 = s.tmp_0;\n { step = 3; continue; }\n case 2:\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > 0);\n case 3:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 6; continue; }\n r0 = pxsim.control.millis();\n s.now___9894 = (r0);\n r0 = (s.pos___9886 - s.now___9894);\n s.d___9897 = (r0);\n s.tmp_0 = Math_min__P62_mk(s);\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = 500;\n s.pc = 7; return s.tmp_0;\n case 7:\n r0 = s.retval;\n s.t___9900 = (r0);\n s.tmp_0 = r0 = s.caps[1];\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - s.t___9900);\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1);\n r0 = (s.pos___9886 + s.t___9900);\n s.pos___9886 = (r0);\n s.tmp_0 = music_playNoteCore__P343_mk(s);\n r0 = (s.d___9897 - 1);\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = s.caps[2];\n s.tmp_0.arg2 = s.t___9900;\n s.pc = 8; return s.tmp_0;\n case 8:\n r0 = s.retval;\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 == 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 4; continue; }\n s.tmp_2 = pause__P241_mk(s);\n r0 = (s.d___9897 + s.t___9900);\n s.tmp_2.arg0 = r0;\n s.pc = 9; return s.tmp_2;\n case 9:\n r0 = s.retval;\n { step = 5; continue; }\n case 4:\n s.tmp_0 = pause__P241_mk(s);\n r0 = (s.d___9897 + s.t___9900);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - 100);\n s.tmp_0.arg0 = r0;\n s.pc = 10; return s.tmp_0;\n case 10:\n r0 = s.retval;\n case 5:\n { step = 1; continue; }\n case 6:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9885.info = {"start":2890,"length":515,"line":92,"column":34,"endLine":106,"endColumn":13,"fileName":"pxt_modules/mixer/melody.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P9885_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9885, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n pos___9886: undefined,\n now___9894: undefined,\n d___9897: undefined,\n t___9900: undefined,\n} }\n\n\n\n\n\nfunction music_playNoteCore__P343(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.buf___9923 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = pxsim.control.createBuffer(12);\n s.buf___9923 = (r0);\n s.tmp_0 = music_addNote__P362_mk(s);\n s.tmp_0.arg0 = s.buf___9923;\n s.tmp_0.arg1 = 0;\n s.tmp_0.arg2 = s.arg2;\n s.tmp_0.arg3 = 255;\n s.tmp_0.arg4 = 255;\n s.tmp_0.arg5 = 3;\n s.tmp_0.arg6 = s.arg1;\n s.tmp_1 = music_volume__P342_mk(s);\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n s.tmp_0.arg7 = r0;\n s.tmp_0.arg8 = s.arg1;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = pxsim.music.queuePlayInstructions(s.arg0, s.buf___9923);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nmusic_playNoteCore__P343.info = {"start":1877,"length":240,"line":66,"column":4,"endLine":70,"endColumn":5,"fileName":"pxt_modules/mixer/melody.ts","functionName":"playNoteCore","argumentNames":["when","frequency","ms"]}\n\nfunction music_playNoteCore__P343_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_playNoteCore__P343, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n buf___9923: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_volumeUp__P1185(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.v___9854 = undefined;\n s.remainder___9856 = undefined;\n s.newVolume___9858 = undefined;\n s.tmp_0 = music_volume__P342_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.v___9854 = (r0);\n r0 = (s.v___9854 % 32);\n s.remainder___9856 = (r0);\n r0 = (s.v___9854 + 32);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 - s.remainder___9856);\n s.newVolume___9858 = (r0);\n s.tmp_0 = scene_systemMenu_setVolume__P1184_mk(s);\n s.tmp_0.arg0 = s.newVolume___9858;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_volumeUp__P1185.info = {"start":8737,"length":171,"line":271,"column":4,"endLine":276,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"volumeUp","argumentNames":[]}\n\nfunction scene_systemMenu_volumeUp__P1185_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_volumeUp__P1185, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n v___9854: undefined,\n remainder___9856: undefined,\n newVolume___9858: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_MenuOption_constructor__P1175(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_systemMenu_MenuOption__C1167_VT)) failedCast(r0);\n r0 = (s.arg0).fields["iconImage"] = (s.arg1);\n r0 = (s.arg0).fields["getText"] = (s.arg2);\n r0 = (s.arg0).fields["action"] = (s.arg3);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_MenuOption_constructor__P1175.info = {"start":786,"length":108,"line":38,"column":8,"endLine":39,"endColumn":9,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":["this","iconImage","getText","action"]}\n\nfunction scene_systemMenu_MenuOption_constructor__P1175_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_MenuOption_constructor__P1175, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction helpers_screenBrightness__P420(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = globals.brightness___401;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_screenBrightness__P420.info = {"start":7548,"length":98,"line":243,"column":4,"endLine":245,"endColumn":5,"fileName":"pxt_modules/screen/image.ts","functionName":"screenBrightness","argumentNames":["img"]}\n\nfunction helpers_screenBrightness__P420_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_screenBrightness__P420, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction helpers_arrayConcat__P51(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.out___9615 = undefined;\n s.value___9618 = undefined;\n s.unnamed36___U2 = undefined;\n s.unnamed37___U3 = undefined;\n s.value___9625 = undefined;\n s.unnamed38___U5 = undefined;\n s.unnamed39___U6 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_Array__mk();\n s.out___9615 = (r0);\n s.value___9618 = (undefined);\n s.value___9618 = (undefined);\n s.unnamed36___U2 = (s.arg0);\n s.unnamed37___U3 = (0);\n case 1:\n s.tmp_0 = r0 = s.unnamed37___U3;\n r0 = pxsim_Array__length(s.unnamed36___U2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 2; continue; }\n r0 = pxsim_Array__getAt(s.unnamed36___U2, s.unnamed37___U3);\n s.value___9618 = (r0);\n r0 = pxsim_Array__push(s.out___9615, s.value___9618);\n r0 = (s.unnamed37___U3 + 1);\n s.unnamed37___U3 = (r0);\n { step = 1; continue; }\n case 2:\n s.unnamed36___U2 = (undefined);\n s.value___9625 = (undefined);\n s.value___9625 = (undefined);\n s.unnamed38___U5 = (s.arg1);\n s.unnamed39___U6 = (0);\n case 3:\n s.tmp_0 = r0 = s.unnamed39___U6;\n r0 = pxsim_Array__length(s.unnamed38___U5);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 4; continue; }\n r0 = pxsim_Array__getAt(s.unnamed38___U5, s.unnamed39___U6);\n s.value___9625 = (r0);\n r0 = pxsim_Array__push(s.out___9615, s.value___9625);\n r0 = (s.unnamed39___U6 + 1);\n s.unnamed39___U6 = (r0);\n { step = 3; continue; }\n case 4:\n s.unnamed38___U5 = (undefined);\n r0 = s.out___9615;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_arrayConcat__P51.info = {"start":6356,"length":264,"line":204,"column":4,"endLine":213,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"arrayConcat","argumentNames":["arr","otherArr"]}\n\nfunction helpers_arrayConcat__P51_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_arrayConcat__P51, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n out___9615: undefined,\n value___9618: undefined,\n unnamed36___U2: undefined,\n unnamed37___U3: undefined,\n value___9625: undefined,\n unnamed38___U5: undefined,\n unnamed39___U6: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_PauseMenu_constructor__P1183(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_systemMenu_PauseMenu__C1176_VT)) failedCast(r0);\n r0 = (s.arg0).fields["generator"] = (s.arg1);\n s.tmp_0 = r0 = s.arg2;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n s.tmp_1 = scene_systemMenu_buildMenuTheme__P1194_mk(s);\n r0 = pxsim_ImageMethods.width(globals.CARD_NORMAL___1205);\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = 3;\n s.tmp_1.arg2 = undefined;\n s.tmp_1.arg3 = undefined;\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n case 2:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = (s.arg0).fields["theme"] = (s.tmp_2);\n r0 = (s.arg0).fields["scrollRow"] = (0);\n r0 = (s.arg0).fields["scrollOffset"] = (0);\n r0 = (s.arg0).fields["scrollTarget"] = (0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_PauseMenu_constructor__P1183.info = {"start":3029,"length":257,"line":116,"column":8,"endLine":121,"endColumn":9,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":["this","generator","theme"]}\n\nfunction scene_systemMenu_PauseMenu_constructor__P1183_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_PauseMenu_constructor__P1183, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_buildMenuTheme__P1194(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.cardsPerRow___9968 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_0 = r0;\n r0 = (s.arg0 + s.arg1);\n s.tmp_1 = r0;\n r0 = pxsim.Math_.idiv(s.tmp_0, s.tmp_1);\n s.cardsPerRow___9968 = (r0);\n s.tmp_0 = r0 = s.arg2;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = globals.font8___423;\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n s.arg2 = (s.tmp_1);\n s.tmp_0 = r0 = s.arg3;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = s.tmp_0;\n { step = 4; continue; }\n case 3:\n s.tmp_1 = image_doubledFont__P426_mk(s);\n s.tmp_1.arg0 = s.arg2;\n s.pc = 5; return s.tmp_1;\n case 5:\n r0 = s.retval;\n case 4:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n s.arg3 = (s.tmp_2);\n r0 = pxsim_pxtrt.mkMap();\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "cardSpacing", s.arg1);\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "cardWidth", s.arg0);\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "cardsPerRow", s.cardsPerRow___9968);\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_3 = r0;\n r0 = (s.cardsPerRow___9968 * s.arg0);\n s.tmp_5 = r0;\n r0 = (s.cardsPerRow___9968 - 1);\n s.tmp_7 = r0;\n r0 = (s.tmp_7 * s.arg1);\n s.tmp_6 = r0;\n r0 = (s.tmp_5 + s.tmp_6);\n s.tmp_4 = r0;\n r0 = (s.tmp_3 - s.tmp_4);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 >> 1);\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "padding", s.tmp_1);\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "infoFont", s.arg2);\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "headerFont", s.arg3);\n s.tmp_11 = if_charHeight_1_mk(s);\n s.tmp_11.arg0 = s.arg3;\n if (!s.tmp_11.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_11.arg0, "charHeight");\n } else {\n s.tmp_11.fn = s.tmp_11.arg0.vtable.iface["charHeight"];\n if (s.tmp_11.fn == null) { s.retval = s.tmp_11.arg0.fields["charHeight"]; }\n else { s.pc = 6; return s.tmp_11; }\n }\n case 6:\n r0 = s.retval;\n s.tmp_10 = r0;\n r0 = (s.tmp_10 + 2);\n s.tmp_9 = r0;\n r0 = (s.tmp_9 + s.arg1);\n s.tmp_8 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "cardsTop", s.tmp_8);\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n s.tmp_14 = r0;\n s.tmp_16 = if_charHeight_1_mk(s);\n s.tmp_16.arg0 = s.arg2;\n if (!s.tmp_16.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_16.arg0, "charHeight");\n } else {\n s.tmp_16.fn = s.tmp_16.arg0.vtable.iface["charHeight"];\n if (s.tmp_16.fn == null) { s.retval = s.tmp_16.arg0.fields["charHeight"]; }\n else { s.pc = 7; return s.tmp_16; }\n }\n case 7:\n r0 = s.retval;\n s.tmp_15 = r0;\n r0 = (s.tmp_14 - s.tmp_15);\n s.tmp_13 = r0;\n r0 = (s.tmp_13 - 2);\n s.tmp_12 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "infoTop", s.tmp_12);\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "headerText", "PAUSED");\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "selectedCard", globals.CARD_SELECTED___1208);\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "activeCard", globals.CARD_ACTIVE___1211);\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "basicCard", globals.CARD_NORMAL___1205);\n r0 = s.tmp_0;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_buildMenuTheme__P1194.info = {"start":10973,"length":906,"line":339,"column":4,"endLine":358,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"buildMenuTheme","argumentNames":["cardWidth","cardSpacing","infoFont","headerFont"]}\n\nfunction scene_systemMenu_buildMenuTheme__P1194_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_buildMenuTheme__P1194, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n tmp_12: undefined,\n tmp_13: undefined,\n tmp_14: undefined,\n tmp_15: undefined,\n tmp_16: undefined,\n cardsPerRow___9968: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction image_doubledFont__P426(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = image_scaledFont__P427_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = 2;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n return leave(s, r0)\n default: oops()\n} } }\nimage_doubledFont__P426.info = {"start":12008,"length":82,"line":146,"column":4,"endLine":148,"endColumn":5,"fileName":"pxt_modules/screen/text.ts","functionName":"doubledFont","argumentNames":["f"]}\n\nfunction image_doubledFont__P426_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: image_doubledFont__P426, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction image_scaledFont__P427(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg1 | 0);\n s.arg1 = (r0);\n r0 = (s.arg1 < 2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.arg0;\n { step = 5; continue; }\n case 1:\n case 2:\n r0 = pxsim_pxtrt.mkMap();\n s.tmp_1 = r0;\n s.tmp_4 = if_charWidth_1_mk(s);\n s.tmp_4.arg0 = s.arg0;\n if (!s.tmp_4.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_4.arg0, "charWidth");\n } else {\n s.tmp_4.fn = s.tmp_4.arg0.vtable.iface["charWidth"];\n if (s.tmp_4.fn == null) { s.retval = s.tmp_4.arg0.fields["charWidth"]; }\n else { s.pc = 6; return s.tmp_4; }\n }\n case 6:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_3 * s.arg1);\n s.tmp_2 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_1, "charWidth", s.tmp_2);\n s.tmp_7 = if_charHeight_1_mk(s);\n s.tmp_7.arg0 = s.arg0;\n if (!s.tmp_7.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_7.arg0, "charHeight");\n } else {\n s.tmp_7.fn = s.tmp_7.arg0.vtable.iface["charHeight"];\n if (s.tmp_7.fn == null) { s.retval = s.tmp_7.arg0.fields["charHeight"]; }\n else { s.pc = 7; return s.tmp_7; }\n }\n case 7:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = (s.tmp_6 * s.arg1);\n s.tmp_5 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_1, "charHeight", s.tmp_5);\n s.tmp_9 = if_data_1_mk(s);\n s.tmp_9.arg0 = s.arg0;\n if (!s.tmp_9.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_9.arg0, "data");\n } else {\n s.tmp_9.fn = s.tmp_9.arg0.vtable.iface["data"];\n if (s.tmp_9.fn == null) { s.retval = s.tmp_9.arg0.fields["data"]; }\n else { s.pc = 8; return s.tmp_9; }\n }\n case 8:\n r0 = s.retval;\n s.tmp_8 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_1, "data", s.tmp_8);\n s.tmp_11 = if_multiplier_1_mk(s);\n s.tmp_11.arg0 = s.arg0;\n if (!s.tmp_11.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_11.arg0, "multiplier");\n } else {\n s.tmp_11.fn = s.tmp_11.arg0.vtable.iface["multiplier"];\n if (s.tmp_11.fn == null) { s.retval = s.tmp_11.arg0.fields["multiplier"]; }\n else { s.pc = 9; return s.tmp_11; }\n }\n case 9:\n r0 = s.retval;\n s.tmp_10 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_10);\n if (!r0) { step = 3; continue; }\n s.tmp_12 = r0 = s.arg1;\n s.tmp_14 = if_multiplier_1_mk(s);\n s.tmp_14.arg0 = s.arg0;\n if (!s.tmp_14.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_14.arg0, "multiplier");\n } else {\n s.tmp_14.fn = s.tmp_14.arg0.vtable.iface["multiplier"];\n if (s.tmp_14.fn == null) { s.retval = s.tmp_14.arg0.fields["multiplier"]; }\n else { s.pc = 10; return s.tmp_14; }\n }\n case 10:\n r0 = s.retval;\n s.tmp_13 = r0;\n r0 = (s.tmp_12 * s.tmp_13);\n { step = 4; continue; }\n case 3:\n r0 = s.arg1;\n case 4:\n // jmp value (already in r0)\n s.tmp_15 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_1, "multiplier", s.tmp_15);\n r0 = s.tmp_1;\n case 5:\n return leave(s, r0)\n default: oops()\n} } }\nimage_scaledFont__P427.info = {"start":12096,"length":331,"line":150,"column":4,"endLine":160,"endColumn":5,"fileName":"pxt_modules/screen/text.ts","functionName":"scaledFont","argumentNames":["f","size"]}\n\nfunction image_scaledFont__P427_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: image_scaledFont__P427, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n tmp_12: undefined,\n tmp_13: undefined,\n tmp_14: undefined,\n tmp_15: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_PauseMenu_show__P1177(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.current___8967 = undefined;\n s.i___8968 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_systemMenu_PauseMenu__C1176_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_2 = lambda_1_mk(s);\n r0 = s.arg0.fields["generator"];\n s.tmp_2.argL = r0;\n setupLambda(s.tmp_2, s.tmp_2.argL);\n s.pc = 3; return s.tmp_2;\n case 3:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["options"] = (s.tmp_1);\n r0 = (s.arg0).fields["selection"] = (0);\n s.i___8968 = (0);\n case 1:\n s.tmp_1 = r0 = s.i___8968;\n r0 = s.arg0.fields["options"];\n s.tmp_3 = r0;\n r0 = pxsim_Array__length(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n r0 = s.arg0.fields["options"];\n s.tmp_4 = r0;\n r0 = pxsim_Array__getAt(s.tmp_4, s.i___8968);\n s.current___8967 = (r0);\n s.tmp_0 = scene_systemMenu_MenuOption_show__P1168_mk(s);\n s.tmp_0.arg0 = s.current___8967;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n s.tmp_0 = scene_systemMenu_MenuOption_setTheme__P1171_mk(s);\n s.tmp_0.arg0 = s.current___8967;\n r0 = s.arg0.fields["theme"];\n s.tmp_0.arg1 = r0;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n s.tmp_0 = scene_systemMenu_MenuOption_position__P1169_mk(s);\n s.tmp_0.arg0 = s.current___8967;\n s.tmp_2 = if_padding_1_mk(s);\n r0 = s.arg0.fields["theme"];\n s.tmp_2.arg0 = r0;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "padding");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["padding"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["padding"]; }\n else { s.pc = 7; return s.tmp_2; }\n }\n case 7:\n r0 = s.retval;\n s.tmp_1 = r0;\n s.tmp_5 = r0 = s.i___8968;\n s.tmp_7 = if_cardsPerRow_1_mk(s);\n r0 = s.arg0.fields["theme"];\n s.tmp_7.arg0 = r0;\n if (!s.tmp_7.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_7.arg0, "cardsPerRow");\n } else {\n s.tmp_7.fn = s.tmp_7.arg0.vtable.iface["cardsPerRow"];\n if (s.tmp_7.fn == null) { s.retval = s.tmp_7.arg0.fields["cardsPerRow"]; }\n else { s.pc = 8; return s.tmp_7; }\n }\n case 8:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = (s.tmp_5 % s.tmp_6);\n s.tmp_4 = r0;\n s.tmp_10 = if_cardWidth_1_mk(s);\n r0 = s.arg0.fields["theme"];\n s.tmp_10.arg0 = r0;\n if (!s.tmp_10.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_10.arg0, "cardWidth");\n } else {\n s.tmp_10.fn = s.tmp_10.arg0.vtable.iface["cardWidth"];\n if (s.tmp_10.fn == null) { s.retval = s.tmp_10.arg0.fields["cardWidth"]; }\n else { s.pc = 9; return s.tmp_10; }\n }\n case 9:\n r0 = s.retval;\n s.tmp_9 = r0;\n s.tmp_12 = if_cardSpacing_1_mk(s);\n r0 = s.arg0.fields["theme"];\n s.tmp_12.arg0 = r0;\n if (!s.tmp_12.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_12.arg0, "cardSpacing");\n } else {\n s.tmp_12.fn = s.tmp_12.arg0.vtable.iface["cardSpacing"];\n if (s.tmp_12.fn == null) { s.retval = s.tmp_12.arg0.fields["cardSpacing"]; }\n else { s.pc = 10; return s.tmp_12; }\n }\n case 10:\n r0 = s.retval;\n s.tmp_11 = r0;\n r0 = (s.tmp_9 + s.tmp_11);\n s.tmp_8 = r0;\n r0 = (s.tmp_4 * s.tmp_8);\n s.tmp_3 = r0;\n r0 = (s.tmp_1 + s.tmp_3);\n s.tmp_0.arg1 = r0;\n s.tmp_14 = if_cardsTop_1_mk(s);\n r0 = s.arg0.fields["theme"];\n s.tmp_14.arg0 = r0;\n if (!s.tmp_14.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_14.arg0, "cardsTop");\n } else {\n s.tmp_14.fn = s.tmp_14.arg0.vtable.iface["cardsTop"];\n if (s.tmp_14.fn == null) { s.retval = s.tmp_14.arg0.fields["cardsTop"]; }\n else { s.pc = 11; return s.tmp_14; }\n }\n case 11:\n r0 = s.retval;\n s.tmp_13 = r0;\n s.tmp_17 = r0 = s.i___8968;\n s.tmp_19 = if_cardsPerRow_1_mk(s);\n r0 = s.arg0.fields["theme"];\n s.tmp_19.arg0 = r0;\n if (!s.tmp_19.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_19.arg0, "cardsPerRow");\n } else {\n s.tmp_19.fn = s.tmp_19.arg0.vtable.iface["cardsPerRow"];\n if (s.tmp_19.fn == null) { s.retval = s.tmp_19.arg0.fields["cardsPerRow"]; }\n else { s.pc = 12; return s.tmp_19; }\n }\n case 12:\n r0 = s.retval;\n s.tmp_18 = r0;\n r0 = pxsim.Math_.idiv(s.tmp_17, s.tmp_18);\n s.tmp_16 = r0;\n s.tmp_22 = if_cardWidth_1_mk(s);\n r0 = s.arg0.fields["theme"];\n s.tmp_22.arg0 = r0;\n if (!s.tmp_22.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_22.arg0, "cardWidth");\n } else {\n s.tmp_22.fn = s.tmp_22.arg0.vtable.iface["cardWidth"];\n if (s.tmp_22.fn == null) { s.retval = s.tmp_22.arg0.fields["cardWidth"]; }\n else { s.pc = 13; return s.tmp_22; }\n }\n case 13:\n r0 = s.retval;\n s.tmp_21 = r0;\n s.tmp_24 = if_cardSpacing_1_mk(s);\n r0 = s.arg0.fields["theme"];\n s.tmp_24.arg0 = r0;\n if (!s.tmp_24.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_24.arg0, "cardSpacing");\n } else {\n s.tmp_24.fn = s.tmp_24.arg0.vtable.iface["cardSpacing"];\n if (s.tmp_24.fn == null) { s.retval = s.tmp_24.arg0.fields["cardSpacing"]; }\n else { s.pc = 14; return s.tmp_24; }\n }\n case 14:\n r0 = s.retval;\n s.tmp_23 = r0;\n r0 = (s.tmp_21 + s.tmp_23);\n s.tmp_20 = r0;\n r0 = (s.tmp_16 * s.tmp_20);\n s.tmp_15 = r0;\n r0 = (s.tmp_13 + s.tmp_15);\n s.tmp_0.arg2 = r0;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n r0 = (s.i___8968 + 1);\n s.i___8968 = (r0);\n { step = 1; continue; }\n case 2:\n s.tmp_0 = controller__setUserEventsEnabled__P586_mk(s);\n s.tmp_0.arg0 = false;\n s.pc = 15; return s.tmp_0;\n case 15:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkAction(1, inline__P9028);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n s.tmp_1 = controller_Button_onEvent__P543_mk(s);\n s.tmp_1.arg0 = globals.A___525;\n s.tmp_1.arg1 = 2053;\n s.tmp_1.arg2 = s.tmp_0;\n s.pc = 16; return s.tmp_1;\n case 16:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkAction(1, inline__P9047);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n s.tmp_1 = controller_Button_onEvent__P543_mk(s);\n s.tmp_1.arg0 = globals.A___525;\n s.tmp_1.arg1 = 2052;\n s.tmp_1.arg2 = s.tmp_0;\n s.pc = 17; return s.tmp_1;\n case 17:\n r0 = s.retval;\n s.tmp_0 = controller_Button_onEvent__P543_mk(s);\n s.tmp_0.arg0 = globals.B___526;\n s.tmp_0.arg1 = 2053;\n s.tmp_0.arg2 = inline__P9075;\n s.pc = 18; return s.tmp_0;\n case 18:\n r0 = s.retval;\n s.tmp_0 = controller_Button_onEvent__P543_mk(s);\n s.tmp_0.arg0 = globals.menu___531;\n s.tmp_0.arg1 = 2053;\n s.tmp_0.arg2 = inline__P9080;\n s.pc = 19; return s.tmp_0;\n case 19:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkAction(1, inline__P9085);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n s.tmp_1 = controller_Button_onEvent__P543_mk(s);\n s.tmp_1.arg0 = globals.up___528;\n s.tmp_1.arg1 = 2053;\n s.tmp_1.arg2 = s.tmp_0;\n s.pc = 20; return s.tmp_1;\n case 20:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkAction(1, inline__P9096);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n s.tmp_1 = controller_Button_onEvent__P543_mk(s);\n s.tmp_1.arg0 = globals.left___527;\n s.tmp_1.arg1 = 2053;\n s.tmp_1.arg2 = s.tmp_0;\n s.pc = 21; return s.tmp_1;\n case 21:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkAction(1, inline__P9104);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n s.tmp_1 = controller_Button_onEvent__P543_mk(s);\n s.tmp_1.arg0 = globals.down___530;\n s.tmp_1.arg1 = 2053;\n s.tmp_1.arg2 = s.tmp_0;\n s.pc = 22; return s.tmp_1;\n case 22:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkAction(1, inline__P9118);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n s.tmp_1 = controller_Button_onEvent__P543_mk(s);\n s.tmp_1.arg0 = globals.right___529;\n s.tmp_1.arg1 = 2053;\n s.tmp_1.arg2 = s.tmp_0;\n s.pc = 23; return s.tmp_1;\n case 23:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkAction(1, inline__P9128);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n s.tmp_1 = game_onShade__P1032_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.pc = 24; return s.tmp_1;\n case 24:\n r0 = s.retval;\n s.tmp_0 = scene_systemMenu_PauseMenu_setSelection__P1179_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = 0;\n s.pc = 25; return s.tmp_0;\n case 25:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_PauseMenu_show__P1177.info = {"start":3296,"length":2241,"line":123,"column":8,"endLine":181,"endColumn":9,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"show","argumentNames":["this"]}\n\nfunction scene_systemMenu_PauseMenu_show__P1177_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_PauseMenu_show__P1177, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n tmp_12: undefined,\n tmp_13: undefined,\n tmp_14: undefined,\n tmp_15: undefined,\n tmp_16: undefined,\n tmp_17: undefined,\n tmp_18: undefined,\n tmp_19: undefined,\n tmp_20: undefined,\n tmp_21: undefined,\n tmp_22: undefined,\n tmp_23: undefined,\n tmp_24: undefined,\n current___8967: undefined,\n i___8968: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P9028(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = s.caps[0].fields["options"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = s.caps[0].fields["options"];\n s.tmp_5 = r0;\n r0 = s.caps[0].fields["selection"];\n s.tmp_6 = r0;\n r0 = pxsim_Array__getAt(s.tmp_5, s.tmp_6);\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n s.tmp_3 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_3);\n case 2:\n // jmp value (already in r0)\n s.tmp_7 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_7);\n if (!r0) { step = 3; continue; }\n { step = 5; continue; }\n case 3:\n case 4:\n s.tmp_8 = scene_systemMenu_MenuOption_setState__P1172_mk(s);\n r0 = s.caps[0].fields["options"];\n s.tmp_9 = r0;\n r0 = s.caps[0].fields["selection"];\n s.tmp_10 = r0;\n r0 = pxsim_Array__getAt(s.tmp_9, s.tmp_10);\n s.tmp_8.arg0 = r0;\n s.tmp_8.arg1 = 1;\n s.pc = 6; return s.tmp_8;\n case 6:\n r0 = s.retval;\n case 5:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9028.info = {"start":4025,"length":170,"line":140,"column":50,"endLine":143,"endColumn":13,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P9028_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9028, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n} }\n\n\n\n\n\nfunction inline__P9047(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = s.caps[0].fields["options"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = s.caps[0].fields["options"];\n s.tmp_5 = r0;\n r0 = s.caps[0].fields["selection"];\n s.tmp_6 = r0;\n r0 = pxsim_Array__getAt(s.tmp_5, s.tmp_6);\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n s.tmp_3 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_3);\n case 2:\n // jmp value (already in r0)\n s.tmp_7 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_7);\n if (!r0) { step = 3; continue; }\n { step = 5; continue; }\n case 3:\n case 4:\n s.tmp_8 = scene_systemMenu_MenuOption_setState__P1172_mk(s);\n r0 = s.caps[0].fields["options"];\n s.tmp_9 = r0;\n r0 = s.caps[0].fields["selection"];\n s.tmp_10 = r0;\n r0 = pxsim_Array__getAt(s.tmp_9, s.tmp_10);\n s.tmp_8.arg0 = r0;\n s.tmp_8.arg1 = 0;\n s.pc = 6; return s.tmp_8;\n case 6:\n r0 = s.retval;\n r0 = s.caps[0].fields["options"];\n s.tmp_1 = r0;\n r0 = s.caps[0].fields["selection"];\n s.tmp_2 = r0;\n r0 = pxsim_Array__getAt(s.tmp_1, s.tmp_2);\n r0 = r0.fields["action"];\n s.tmp_0 = r0;\n r0 = pxsim.control.runInParallel(s.tmp_0);\n case 5:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9047.info = {"start":4247,"length":247,"line":145,"column":48,"endLine":149,"endColumn":13,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P9047_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9047, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n} }\n\n\n\n\n\nfunction inline__P9075(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = scene_systemMenu_closeMenu__P1192_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9075.info = {"start":4548,"length":50,"line":151,"column":50,"endLine":153,"endColumn":13,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P9075_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9075, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction inline__P9080(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = scene_systemMenu_closeMenu__P1192_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9080.info = {"start":4655,"length":50,"line":155,"column":53,"endLine":157,"endColumn":13,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P9080_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9080, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction inline__P9085(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = scene_systemMenu_PauseMenu_setSelection__P1179_mk(s);\n s.tmp_0.arg0 = s.caps[0];\n s.tmp_1 = Math_max__P61_mk(s);\n s.tmp_1.arg0 = 0;\n r0 = s.caps[0].fields["selection"];\n s.tmp_2 = r0;\n s.tmp_4 = if_cardsPerRow_1_mk(s);\n r0 = s.caps[0].fields["theme"];\n s.tmp_4.arg0 = r0;\n if (!s.tmp_4.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_4.arg0, "cardsPerRow");\n } else {\n s.tmp_4.fn = s.tmp_4.arg0.vtable.iface["cardsPerRow"];\n if (s.tmp_4.fn == null) { s.retval = s.tmp_4.arg0.fields["cardsPerRow"]; }\n else { s.pc = 3; return s.tmp_4; }\n }\n case 3:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_2 - s.tmp_3);\n s.tmp_1.arg1 = r0;\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9085.info = {"start":4760,"length":110,"line":159,"column":51,"endLine":161,"endColumn":13,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P9085_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9085, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n} }\n\n\n\n\n\nfunction inline__P9096(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = scene_systemMenu_PauseMenu_setSelection__P1179_mk(s);\n s.tmp_0.arg0 = s.caps[0];\n s.tmp_1 = Math_max__P61_mk(s);\n s.tmp_1.arg0 = 0;\n r0 = s.caps[0].fields["selection"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - 1);\n s.tmp_1.arg1 = r0;\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9096.info = {"start":4927,"length":89,"line":163,"column":53,"endLine":165,"endColumn":13,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P9096_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9096, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n} }\n\n\n\n\n\nfunction inline__P9104(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = scene_systemMenu_PauseMenu_setSelection__P1179_mk(s);\n s.tmp_0.arg0 = s.caps[0];\n s.tmp_1 = Math_min__P62_mk(s);\n r0 = s.caps[0].fields["options"];\n s.tmp_3 = r0;\n r0 = pxsim_Array__length(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - 1);\n s.tmp_1.arg0 = r0;\n r0 = s.caps[0].fields["selection"];\n s.tmp_4 = r0;\n s.tmp_6 = if_cardsPerRow_1_mk(s);\n r0 = s.caps[0].fields["theme"];\n s.tmp_6.arg0 = r0;\n if (!s.tmp_6.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_6.arg0, "cardsPerRow");\n } else {\n s.tmp_6.fn = s.tmp_6.arg0.vtable.iface["cardsPerRow"];\n if (s.tmp_6.fn == null) { s.retval = s.tmp_6.arg0.fields["cardsPerRow"]; }\n else { s.pc = 3; return s.tmp_6; }\n }\n case 3:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = (s.tmp_4 + s.tmp_5);\n s.tmp_1.arg1 = r0;\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9104.info = {"start":5073,"length":132,"line":167,"column":53,"endLine":169,"endColumn":13,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P9104_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9104, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n} }\n\n\n\n\n\nfunction inline__P9118(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = scene_systemMenu_PauseMenu_setSelection__P1179_mk(s);\n s.tmp_0.arg0 = s.caps[0];\n s.tmp_1 = Math_min__P62_mk(s);\n r0 = s.caps[0].fields["options"];\n s.tmp_3 = r0;\n r0 = pxsim_Array__length(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - 1);\n s.tmp_1.arg0 = r0;\n r0 = s.caps[0].fields["selection"];\n s.tmp_4 = r0;\n r0 = (s.tmp_4 + 1);\n s.tmp_1.arg1 = r0;\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9118.info = {"start":5263,"length":111,"line":171,"column":54,"endLine":173,"endColumn":13,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P9118_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9118, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n} }\n\n\n\n\n\nfunction inline__P9128(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = scene_systemMenu_PauseMenu_onUpdate__P1178_mk(s);\n s.tmp_0.arg0 = s.caps[0];\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.tmp_0 = scene_systemMenu_PauseMenu_drawText__P1180_mk(s);\n s.tmp_0.arg0 = s.caps[0];\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9128.info = {"start":5403,"length":87,"line":175,"column":25,"endLine":178,"endColumn":13,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P9128_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9128, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_PauseMenu_drawText__P1180(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_systemMenu_PauseMenu__C1176_VT)) failedCast(r0);\n r0 = s.arg0.fields["options"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 3; continue; }\n case 1:\n case 2:\n s.tmp_3 = helpers_imageFillRect__P411_mk(s);\n s.tmp_3.arg0 = globals.screen___464;\n s.tmp_3.arg1 = 0;\n s.tmp_3.arg2 = 0;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_3.arg3 = r0;\n s.tmp_5 = if_cardsTop_1_mk(s);\n r0 = s.arg0.fields["theme"];\n s.tmp_5.arg0 = r0;\n if (!s.tmp_5.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_5.arg0, "cardsTop");\n } else {\n s.tmp_5.fn = s.tmp_5.arg0.vtable.iface["cardsTop"];\n if (s.tmp_5.fn == null) { s.retval = s.tmp_5.arg0.fields["cardsTop"]; }\n else { s.pc = 5; return s.tmp_5; }\n }\n case 5:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = (s.tmp_4 - 2);\n s.tmp_3.arg4 = r0;\n s.tmp_3.arg5 = 15;\n s.pc = 4; return s.tmp_3;\n case 4:\n r0 = s.retval;\n s.tmp_0 = helpers_imagePrintCenter__P431_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_1 = if_headerText_1_mk(s);\n r0 = s.arg0.fields["theme"];\n s.tmp_1.arg0 = r0;\n if (!s.tmp_1.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, "headerText");\n } else {\n s.tmp_1.fn = s.tmp_1.arg0.vtable.iface["headerText"];\n if (s.tmp_1.fn == null) { s.retval = s.tmp_1.arg0.fields["headerText"]; }\n else { s.pc = 7; return s.tmp_1; }\n }\n case 7:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = 2;\n s.tmp_0.arg3 = 1;\n s.tmp_2 = if_headerFont_1_mk(s);\n r0 = s.arg0.fields["theme"];\n s.tmp_2.arg0 = r0;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "headerFont");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["headerFont"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["headerFont"]; }\n else { s.pc = 8; return s.tmp_2; }\n }\n case 8:\n r0 = s.retval;\n s.tmp_0.arg4 = r0;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n s.tmp_0 = helpers_imageFillRect__P411_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_0.arg1 = 0;\n s.tmp_2 = if_infoTop_1_mk(s);\n r0 = s.arg0.fields["theme"];\n s.tmp_2.arg0 = r0;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "infoTop");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["infoTop"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["infoTop"]; }\n else { s.pc = 10; return s.tmp_2; }\n }\n case 10:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - 3);\n s.tmp_0.arg2 = r0;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_0.arg3 = r0;\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n s.tmp_4 = r0;\n s.tmp_6 = if_infoTop_1_mk(s);\n r0 = s.arg0.fields["theme"];\n s.tmp_6.arg0 = r0;\n if (!s.tmp_6.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_6.arg0, "infoTop");\n } else {\n s.tmp_6.fn = s.tmp_6.arg0.vtable.iface["infoTop"];\n if (s.tmp_6.fn == null) { s.retval = s.tmp_6.arg0.fields["infoTop"]; }\n else { s.pc = 11; return s.tmp_6; }\n }\n case 11:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = (s.tmp_4 - s.tmp_5);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 + 6);\n s.tmp_0.arg4 = r0;\n s.tmp_0.arg5 = 15;\n s.pc = 9; return s.tmp_0;\n case 9:\n r0 = s.retval;\n s.tmp_0 = helpers_imageFillRect__P411_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_1 = if_padding_1_mk(s);\n r0 = s.arg0.fields["theme"];\n s.tmp_1.arg0 = r0;\n if (!s.tmp_1.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, "padding");\n } else {\n s.tmp_1.fn = s.tmp_1.arg0.vtable.iface["padding"];\n if (s.tmp_1.fn == null) { s.retval = s.tmp_1.arg0.fields["padding"]; }\n else { s.pc = 13; return s.tmp_1; }\n }\n case 13:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.tmp_2 = if_infoTop_1_mk(s);\n r0 = s.arg0.fields["theme"];\n s.tmp_2.arg0 = r0;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "infoTop");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["infoTop"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["infoTop"]; }\n else { s.pc = 14; return s.tmp_2; }\n }\n case 14:\n r0 = s.retval;\n s.tmp_0.arg2 = r0;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_3 = r0;\n s.tmp_6 = if_padding_1_mk(s);\n r0 = s.arg0.fields["theme"];\n s.tmp_6.arg0 = r0;\n if (!s.tmp_6.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_6.arg0, "padding");\n } else {\n s.tmp_6.fn = s.tmp_6.arg0.vtable.iface["padding"];\n if (s.tmp_6.fn == null) { s.retval = s.tmp_6.arg0.fields["padding"]; }\n else { s.pc = 15; return s.tmp_6; }\n }\n case 15:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = (s.tmp_5 << 1);\n s.tmp_4 = r0;\n r0 = (s.tmp_3 - s.tmp_4);\n s.tmp_0.arg3 = r0;\n s.tmp_8 = if_charHeight_1_mk(s);\n s.tmp_9 = if_infoFont_1_mk(s);\n r0 = s.arg0.fields["theme"];\n s.tmp_9.arg0 = r0;\n if (!s.tmp_9.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_9.arg0, "infoFont");\n } else {\n s.tmp_9.fn = s.tmp_9.arg0.vtable.iface["infoFont"];\n if (s.tmp_9.fn == null) { s.retval = s.tmp_9.arg0.fields["infoFont"]; }\n else { s.pc = 17; return s.tmp_9; }\n }\n case 17:\n r0 = s.retval;\n s.tmp_8.arg0 = r0;\n if (!s.tmp_8.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_8.arg0, "charHeight");\n } else {\n s.tmp_8.fn = s.tmp_8.arg0.vtable.iface["charHeight"];\n if (s.tmp_8.fn == null) { s.retval = s.tmp_8.arg0.fields["charHeight"]; }\n else { s.pc = 16; return s.tmp_8; }\n }\n case 16:\n r0 = s.retval;\n s.tmp_7 = r0;\n r0 = (s.tmp_7 + 1);\n s.tmp_0.arg4 = r0;\n s.tmp_0.arg5 = 1;\n s.pc = 12; return s.tmp_0;\n case 12:\n r0 = s.retval;\n s.tmp_0 = helpers_imagePrintCenter__P431_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_1 = lambda_1_mk(s);\n r0 = s.arg0.fields["options"];\n s.tmp_2 = r0;\n r0 = s.arg0.fields["selection"];\n s.tmp_3 = r0;\n r0 = pxsim_Array__getAt(s.tmp_2, s.tmp_3);\n r0 = r0.fields["getText"];\n s.tmp_1.argL = r0;\n setupLambda(s.tmp_1, s.tmp_1.argL);\n s.pc = 19; return s.tmp_1;\n case 19:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.tmp_5 = if_infoTop_1_mk(s);\n r0 = s.arg0.fields["theme"];\n s.tmp_5.arg0 = r0;\n if (!s.tmp_5.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_5.arg0, "infoTop");\n } else {\n s.tmp_5.fn = s.tmp_5.arg0.vtable.iface["infoTop"];\n if (s.tmp_5.fn == null) { s.retval = s.tmp_5.arg0.fields["infoTop"]; }\n else { s.pc = 20; return s.tmp_5; }\n }\n case 20:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = (s.tmp_4 + 1);\n s.tmp_0.arg2 = r0;\n s.tmp_0.arg3 = 15;\n s.tmp_6 = if_infoFont_1_mk(s);\n r0 = s.arg0.fields["theme"];\n s.tmp_6.arg0 = r0;\n if (!s.tmp_6.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_6.arg0, "infoFont");\n } else {\n s.tmp_6.fn = s.tmp_6.arg0.vtable.iface["infoFont"];\n if (s.tmp_6.fn == null) { s.retval = s.tmp_6.arg0.fields["infoFont"]; }\n else { s.pc = 21; return s.tmp_6; }\n }\n case 21:\n r0 = s.retval;\n s.tmp_0.arg4 = r0;\n s.pc = 18; return s.tmp_0;\n case 18:\n r0 = s.retval;\n case 3:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_PauseMenu_drawText__P1180.info = {"start":6927,"length":795,"line":224,"column":8,"endLine":241,"endColumn":9,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"drawText","argumentNames":["this"]}\n\nfunction scene_systemMenu_PauseMenu_drawText__P1180_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_PauseMenu_drawText__P1180, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_PauseMenu_setSelection__P1179(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_systemMenu_PauseMenu__C1176_VT)) failedCast(r0);\n r0 = s.arg0.fields["options"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 9; continue; }\n case 1:\n case 2:\n r0 = s.arg0.fields["options"];\n s.tmp_4 = r0;\n r0 = s.arg0.fields["selection"];\n s.tmp_5 = r0;\n r0 = pxsim_Array__getAt(s.tmp_4, s.tmp_5);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 3; continue; }\n s.tmp_6 = scene_systemMenu_MenuOption_setState__P1172_mk(s);\n r0 = s.arg0.fields["options"];\n s.tmp_7 = r0;\n r0 = s.arg0.fields["selection"];\n s.tmp_8 = r0;\n r0 = pxsim_Array__getAt(s.tmp_7, s.tmp_8);\n s.tmp_6.arg0 = r0;\n s.tmp_6.arg1 = 2;\n s.pc = 10; return s.tmp_6;\n case 10:\n r0 = s.retval;\n case 3:\n case 4:\n r0 = (s.arg0).fields["selection"] = (s.arg1);\n r0 = s.arg0.fields["options"];\n s.tmp_1 = r0;\n r0 = s.arg0.fields["selection"];\n s.tmp_2 = r0;\n r0 = pxsim_Array__getAt(s.tmp_1, s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 7; continue; }\n r0 = globals.A___525.fields["_pressed"];\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 5; continue; }\n r0 = 1;\n { step = 6; continue; }\n case 5:\n r0 = 0;\n case 6:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n s.tmp_5 = scene_systemMenu_MenuOption_setState__P1172_mk(s);\n r0 = s.arg0.fields["options"];\n s.tmp_6 = r0;\n r0 = s.arg0.fields["selection"];\n s.tmp_7 = r0;\n r0 = pxsim_Array__getAt(s.tmp_6, s.tmp_7);\n s.tmp_5.arg0 = r0;\n s.tmp_5.arg1 = s.tmp_4;\n s.pc = 11; return s.tmp_5;\n case 11:\n r0 = s.retval;\n case 7:\n case 8:\n s.tmp_0 = scene_systemMenu_PauseMenu_updateScrollTarget__P1182_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 12; return s.tmp_0;\n case 12:\n r0 = s.retval;\n case 9:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_PauseMenu_setSelection__P1179.info = {"start":6436,"length":481,"line":208,"column":8,"endLine":222,"endColumn":9,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"setSelection","argumentNames":["this","selection"]}\n\nfunction scene_systemMenu_PauseMenu_setSelection__P1179_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_PauseMenu_setSelection__P1179, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_PauseMenu_updateScrollTarget__P1182(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.row___9322 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_systemMenu_PauseMenu__C1176_VT)) failedCast(r0);\n r0 = s.arg0.fields["selection"];\n s.tmp_0 = r0;\n s.tmp_2 = if_cardsPerRow_1_mk(s);\n r0 = s.arg0.fields["theme"];\n s.tmp_2.arg0 = r0;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "cardsPerRow");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["cardsPerRow"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["cardsPerRow"]; }\n else { s.pc = 8; return s.tmp_2; }\n }\n case 8:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim.Math_.idiv(s.tmp_0, s.tmp_1);\n s.row___9322 = (r0);\n r0 = s.arg0.fields["scrollRow"];\n s.tmp_1 = r0;\n r0 = (s.row___9322 === s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = (s.row___9322 - 1);\n s.tmp_2 = r0;\n r0 = s.arg0.fields["scrollRow"];\n s.tmp_3 = r0;\n r0 = (s.tmp_2 === s.tmp_3);\n case 2:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n if (!r0) { step = 3; continue; }\n { step = 7; continue; }\n case 3:\n case 4:\n r0 = s.arg0.fields["scrollRow"];\n s.tmp_6 = r0;\n r0 = (s.row___9322 > s.tmp_6);\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_5);\n if (!r0) { step = 5; continue; }\n s.tmp_7 = r0 = s.arg0;\n r0 = s.tmp_7.fields["scrollRow"];\n s.tmp_9 = r0;\n r0 = (s.tmp_9 + 1);\n s.tmp_8 = r0;\n r0 = (s.tmp_7).fields["scrollRow"] = (s.tmp_8);\n { step = 6; continue; }\n case 5:\n s.tmp_0 = r0 = s.arg0;\n r0 = s.tmp_0.fields["scrollRow"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - 1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["scrollRow"] = (s.tmp_1);\n case 6:\n s.tmp_0 = r0 = s.arg0;\n r0 = s.arg0.fields["scrollRow"];\n s.tmp_2 = r0;\n s.tmp_5 = if_cardSpacing_1_mk(s);\n r0 = s.arg0.fields["theme"];\n s.tmp_5.arg0 = r0;\n if (!s.tmp_5.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_5.arg0, "cardSpacing");\n } else {\n s.tmp_5.fn = s.tmp_5.arg0.vtable.iface["cardSpacing"];\n if (s.tmp_5.fn == null) { s.retval = s.tmp_5.arg0.fields["cardSpacing"]; }\n else { s.pc = 9; return s.tmp_5; }\n }\n case 9:\n r0 = s.retval;\n s.tmp_4 = r0;\n s.tmp_7 = if_cardWidth_1_mk(s);\n r0 = s.arg0.fields["theme"];\n s.tmp_7.arg0 = r0;\n if (!s.tmp_7.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_7.arg0, "cardWidth");\n } else {\n s.tmp_7.fn = s.tmp_7.arg0.vtable.iface["cardWidth"];\n if (s.tmp_7.fn == null) { s.retval = s.tmp_7.arg0.fields["cardWidth"]; }\n else { s.pc = 10; return s.tmp_7; }\n }\n case 10:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = (s.tmp_4 + s.tmp_6);\n s.tmp_3 = r0;\n r0 = (s.tmp_2 * s.tmp_3);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["scrollTarget"] = (s.tmp_1);\n case 7:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_PauseMenu_updateScrollTarget__P1182.info = {"start":7907,"length":458,"line":250,"column":8,"endLine":260,"endColumn":9,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"updateScrollTarget","argumentNames":["this"]}\n\nfunction scene_systemMenu_PauseMenu_updateScrollTarget__P1182_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_PauseMenu_updateScrollTarget__P1182, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n row___9322: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_PauseMenu_onUpdate__P1178(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.t___9203 = undefined;\n s.i___9206 = undefined;\n s.dt___9226 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_systemMenu_PauseMenu__C1176_VT)) failedCast(r0);\n r0 = pxsim.control.millis();\n s.tmp_0 = r0;\n r0 = (s.tmp_0 / 250);\n s.t___9203 = (r0);\n s.i___9206 = (0);\n case 1:\n s.tmp_1 = r0 = s.i___9206;\n r0 = s.arg0.fields["options"];\n s.tmp_3 = r0;\n r0 = pxsim_Array__length(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n s.tmp_4 = scene_systemMenu_MenuOption_setOffset__P1170_mk(s);\n r0 = s.arg0.fields["options"];\n s.tmp_5 = r0;\n r0 = pxsim_Array__getAt(s.tmp_5, s.i___9206);\n s.tmp_4.arg0 = r0;\n s.tmp_8 = r0 = s.t___9203;\n s.tmp_11 = r0 = s.i___9206;\n s.tmp_13 = if_cardsPerRow_1_mk(s);\n r0 = s.arg0.fields["theme"];\n s.tmp_13.arg0 = r0;\n if (!s.tmp_13.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_13.arg0, "cardsPerRow");\n } else {\n s.tmp_13.fn = s.tmp_13.arg0.vtable.iface["cardsPerRow"];\n if (s.tmp_13.fn == null) { s.retval = s.tmp_13.arg0.fields["cardsPerRow"]; }\n else { s.pc = 11; return s.tmp_13; }\n }\n case 11:\n r0 = s.retval;\n s.tmp_12 = r0;\n r0 = (s.tmp_11 % s.tmp_12);\n s.tmp_10 = r0;\n r0 = (3.141592653589793 / 2);\n s.tmp_14 = r0;\n r0 = (s.tmp_10 * s.tmp_14);\n s.tmp_9 = r0;\n r0 = (s.tmp_8 - s.tmp_9);\n s.tmp_7 = r0;\n r0 = pxsim.Math_.sin(s.tmp_7);\n s.tmp_6 = r0;\n r0 = (2 * s.tmp_6);\n s.tmp_4.arg1 = r0;\n s.pc = 10; return s.tmp_4;\n case 10:\n r0 = s.retval;\n r0 = (s.i___9206 + 1);\n s.i___9206 = (r0);\n { step = 1; continue; }\n case 2:\n s.tmp_1 = game_currentScene__P769_mk(s);\n s.pc = 12; return s.tmp_1;\n case 12:\n r0 = s.retval;\n r0 = r0.fields["eventContext"];\n s.tmp_0 = r0;\n r0 = s.tmp_0.fields["deltaTimeMillis"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 / 1000);\n s.dt___9226 = (r0);\n r0 = s.arg0.fields["scrollOffset"];\n s.tmp_1 = r0;\n r0 = s.arg0.fields["scrollTarget"];\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.tmp_3 = r0 = s.arg0;\n r0 = s.tmp_3.fields["scrollOffset"];\n s.tmp_5 = r0;\n r0 = (s.dt___9226 * 100);\n s.tmp_6 = r0;\n r0 = (s.tmp_5 + s.tmp_6);\n s.tmp_4 = r0;\n r0 = (s.tmp_3).fields["scrollOffset"] = (s.tmp_4);\n { step = 6; continue; }\n case 3:\n r0 = s.arg0.fields["scrollOffset"];\n s.tmp_1 = r0;\n r0 = s.arg0.fields["scrollTarget"];\n s.tmp_2 = r0;\n r0 = (s.tmp_1 > s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 4; continue; }\n s.tmp_3 = r0 = s.arg0;\n r0 = s.tmp_3.fields["scrollOffset"];\n s.tmp_5 = r0;\n r0 = (s.dt___9226 * 100);\n s.tmp_6 = r0;\n r0 = (s.tmp_5 - s.tmp_6);\n s.tmp_4 = r0;\n r0 = (s.tmp_3).fields["scrollOffset"] = (s.tmp_4);\n { step = 5; continue; }\n case 4:\n { step = 9; continue; }\n case 5:\n case 6:\n s.tmp_2 = Math_abs__P59_mk(s);\n r0 = s.arg0.fields["scrollOffset"];\n s.tmp_3 = r0;\n r0 = s.arg0.fields["scrollTarget"];\n s.tmp_4 = r0;\n r0 = (s.tmp_3 - s.tmp_4);\n s.tmp_2.arg0 = r0;\n s.pc = 13; return s.tmp_2;\n case 13:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 < 2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 7; continue; }\n r0 = s.arg0.fields["scrollTarget"];\n s.tmp_5 = r0;\n r0 = (s.arg0).fields["scrollOffset"] = (s.tmp_5);\n case 7:\n case 8:\n s.tmp_1 = game_currentScene__P769_mk(s);\n s.pc = 14; return s.tmp_1;\n case 14:\n r0 = s.retval;\n r0 = r0.fields["camera"];\n s.tmp_0 = r0;\n r0 = s.arg0.fields["scrollOffset"];\n s.tmp_2 = r0;\n r0 = (s.tmp_0).fields["offsetY"] = (s.tmp_2);\n case 9:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_PauseMenu_onUpdate__P1178.info = {"start":5547,"length":879,"line":183,"column":8,"endLine":206,"endColumn":9,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"onUpdate","argumentNames":["this"]}\n\nfunction scene_systemMenu_PauseMenu_onUpdate__P1178_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_PauseMenu_onUpdate__P1178, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n tmp_12: undefined,\n tmp_13: undefined,\n tmp_14: undefined,\n t___9203: undefined,\n i___9206: undefined,\n dt___9226: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_MenuOption_setOffset__P1170(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_systemMenu_MenuOption__C1167_VT)) failedCast(r0);\n s.tmp_0 = Sprite_top__P634_mk(s);\n r0 = s.arg0.fields["card"];\n s.tmp_0.arg0 = r0;\n r0 = s.arg0.fields["top"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 + s.arg1);\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.tmp_0 = Sprite_y__P612_mk(s);\n r0 = s.arg0.fields["icon"];\n s.tmp_0.arg0 = r0;\n s.tmp_1 = Sprite_y__P611_mk(s);\n r0 = s.arg0.fields["card"];\n s.tmp_1.arg0 = r0;\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_MenuOption_setOffset__P1170.info = {"start":1411,"length":123,"line":61,"column":8,"endLine":64,"endColumn":9,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"setOffset","argumentNames":["this","offset"]}\n\nfunction scene_systemMenu_MenuOption_setOffset__P1170_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_MenuOption_setOffset__P1170, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_MenuOption_setState__P1172(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_systemMenu_MenuOption__C1167_VT)) failedCast(r0);\n r0 = s.arg0.fields["state"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 === s.arg1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 3; continue; }\n case 1:\n case 2:\n r0 = (s.arg0).fields["state"] = (s.arg1);\n s.tmp_0 = scene_systemMenu_MenuOption_updateCard__P1174_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n case 3:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_MenuOption_setState__P1172.info = {"start":1655,"length":147,"line":71,"column":8,"endLine":75,"endColumn":9,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"setState","argumentNames":["this","state"]}\n\nfunction scene_systemMenu_MenuOption_setState__P1172_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_MenuOption_setState__P1172, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_MenuOption_updateCard__P1174(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_systemMenu_MenuOption__C1167_VT)) failedCast(r0);\n r0 = s.arg0.fields["theme"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 7; continue; }\n case 1:\n case 2:\n r0 = s.arg0.fields["state"];\n s.tmp_3 = r0;\n r0 = pxsim_pxtcore.switch_eq(2, s.tmp_3);\n if (r0) { step = 3; continue; }\n r0 = pxsim_pxtcore.switch_eq(0, s.tmp_3);\n if (r0) { step = 4; continue; }\n r0 = pxsim_pxtcore.switch_eq(1, s.tmp_3);\n if (r0) { step = 5; continue; }\n r0 = s.tmp_3;\n { step = 6; continue; }\n case 3:\n s.tmp_4 = Sprite_setImage__P625_mk(s);\n r0 = s.arg0.fields["card"];\n s.tmp_4.arg0 = r0;\n s.tmp_5 = if_basicCard_1_mk(s);\n r0 = s.arg0.fields["theme"];\n s.tmp_5.arg0 = r0;\n if (!s.tmp_5.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_5.arg0, "basicCard");\n } else {\n s.tmp_5.fn = s.tmp_5.arg0.vtable.iface["basicCard"];\n if (s.tmp_5.fn == null) { s.retval = s.tmp_5.arg0.fields["basicCard"]; }\n else { s.pc = 9; return s.tmp_5; }\n }\n case 9:\n r0 = s.retval;\n s.tmp_4.arg1 = r0;\n s.pc = 8; return s.tmp_4;\n case 8:\n r0 = s.retval;\n { step = 6; continue; }\n case 4:\n s.tmp_0 = Sprite_setImage__P625_mk(s);\n r0 = s.arg0.fields["card"];\n s.tmp_0.arg0 = r0;\n s.tmp_1 = if_selectedCard_1_mk(s);\n r0 = s.arg0.fields["theme"];\n s.tmp_1.arg0 = r0;\n if (!s.tmp_1.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, "selectedCard");\n } else {\n s.tmp_1.fn = s.tmp_1.arg0.vtable.iface["selectedCard"];\n if (s.tmp_1.fn == null) { s.retval = s.tmp_1.arg0.fields["selectedCard"]; }\n else { s.pc = 11; return s.tmp_1; }\n }\n case 11:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.pc = 10; return s.tmp_0;\n case 10:\n r0 = s.retval;\n { step = 6; continue; }\n case 5:\n s.tmp_0 = Sprite_setImage__P625_mk(s);\n r0 = s.arg0.fields["card"];\n s.tmp_0.arg0 = r0;\n s.tmp_1 = if_activeCard_1_mk(s);\n r0 = s.arg0.fields["theme"];\n s.tmp_1.arg0 = r0;\n if (!s.tmp_1.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, "activeCard");\n } else {\n s.tmp_1.fn = s.tmp_1.arg0.vtable.iface["activeCard"];\n if (s.tmp_1.fn == null) { s.retval = s.tmp_1.arg0.fields["activeCard"]; }\n else { s.pc = 13; return s.tmp_1; }\n }\n case 13:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.pc = 12; return s.tmp_0;\n case 12:\n r0 = s.retval;\n case 6:\n s.tmp_0 = Sprite_x__P610_mk(s);\n r0 = s.arg0.fields["icon"];\n s.tmp_0.arg0 = r0;\n s.tmp_1 = Sprite_x__P609_mk(s);\n r0 = s.arg0.fields["card"];\n s.tmp_1.arg0 = r0;\n s.pc = 15; return s.tmp_1;\n case 15:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.pc = 14; return s.tmp_0;\n case 14:\n r0 = s.retval;\n s.tmp_0 = Sprite_y__P612_mk(s);\n r0 = s.arg0.fields["icon"];\n s.tmp_0.arg0 = r0;\n s.tmp_1 = Sprite_y__P611_mk(s);\n r0 = s.arg0.fields["card"];\n s.tmp_1.arg0 = r0;\n s.pc = 17; return s.tmp_1;\n case 17:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.pc = 16; return s.tmp_0;\n case 16:\n r0 = s.retval;\n case 7:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_MenuOption_updateCard__P1174.info = {"start":2038,"length":497,"line":86,"column":8,"endLine":97,"endColumn":9,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"updateCard","argumentNames":["this"]}\n\nfunction scene_systemMenu_MenuOption_updateCard__P1174_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_MenuOption_updateCard__P1174, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_MenuOption_setTheme__P1171(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_systemMenu_MenuOption__C1167_VT)) failedCast(r0);\n r0 = (s.arg0).fields["theme"] = (s.arg1);\n s.tmp_0 = scene_systemMenu_MenuOption_updateCard__P1174_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_MenuOption_setTheme__P1171.info = {"start":1544,"length":101,"line":66,"column":8,"endLine":69,"endColumn":9,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"setTheme","argumentNames":["this","theme"]}\n\nfunction scene_systemMenu_MenuOption_setTheme__P1171_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_MenuOption_setTheme__P1171, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_MenuOption_position__P1169(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_systemMenu_MenuOption__C1167_VT)) failedCast(r0);\n r0 = (s.arg0).fields["top"] = (s.arg2);\n s.tmp_0 = Sprite_left__P630_mk(s);\n r0 = s.arg0.fields["card"];\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = s.arg1;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.tmp_0 = Sprite_top__P634_mk(s);\n r0 = s.arg0.fields["card"];\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = s.arg2;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n s.tmp_0 = Sprite_x__P610_mk(s);\n r0 = s.arg0.fields["icon"];\n s.tmp_0.arg0 = r0;\n s.tmp_1 = Sprite_x__P609_mk(s);\n r0 = s.arg0.fields["card"];\n s.tmp_1.arg0 = r0;\n s.pc = 4; return s.tmp_1;\n case 4:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.tmp_0 = Sprite_y__P612_mk(s);\n r0 = s.arg0.fields["icon"];\n s.tmp_0.arg0 = r0;\n s.tmp_1 = Sprite_y__P611_mk(s);\n r0 = s.arg0.fields["card"];\n s.tmp_1.arg0 = r0;\n s.pc = 6; return s.tmp_1;\n case 6:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_MenuOption_position__P1169.info = {"start":1178,"length":223,"line":51,"column":8,"endLine":59,"endColumn":9,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"position","argumentNames":["this","left","top"]}\n\nfunction scene_systemMenu_MenuOption_position__P1169_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_MenuOption_position__P1169, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_MenuOption_show__P1168(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_systemMenu_MenuOption__C1167_VT)) failedCast(r0);\n r0 = s.arg0.fields["theme"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_1 = if_basicCard_1_mk(s);\n r0 = s.arg0.fields["theme"];\n s.tmp_1.arg0 = r0;\n if (!s.tmp_1.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, "basicCard");\n } else {\n s.tmp_1.fn = s.tmp_1.arg0.vtable.iface["basicCard"];\n if (s.tmp_1.fn == null) { s.retval = s.tmp_1.arg0.fields["basicCard"]; }\n else { s.pc = 3; return s.tmp_1; }\n }\n case 3:\n r0 = s.retval;\n { step = 2; continue; }\n case 1:\n r0 = globals.CARD_NORMAL___1205;\n case 2:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n s.tmp_3 = r0 = s.arg0;\n s.tmp_5 = sprites_create__P602_mk(s);\n s.tmp_5.arg0 = s.tmp_2;\n s.tmp_5.arg1 = undefined;\n s.pc = 4; return s.tmp_5;\n case 4:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = (s.tmp_3).fields["card"] = (s.tmp_4);\n s.tmp_0 = if_z_2_mk(s);\n r0 = s.arg0.fields["card"];\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = 1;\n if (!s.tmp_0.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapSetByString(s.tmp_0.arg0, "z", s.tmp_0.arg1);\n } else {\n s.tmp_0.fn = s.tmp_0.arg0.vtable.iface["set/z"];\n if (s.tmp_0.fn === null) { s.tmp_0.arg0.fields["z"] = s.tmp_0.arg1; }\n else if (s.tmp_0.fn === undefined) { failedCast(s.tmp_0.arg0) }\n else { s.pc = 5; return s.tmp_0; }\n }\n case 5:\n r0 = s.retval;\n s.tmp_0 = r0 = s.arg0;\n s.tmp_2 = sprites_create__P602_mk(s);\n r0 = s.arg0.fields["iconImage"];\n s.tmp_2.arg0 = r0;\n s.tmp_2.arg1 = undefined;\n s.pc = 6; return s.tmp_2;\n case 6:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["icon"] = (s.tmp_1);\n s.tmp_0 = if_z_2_mk(s);\n r0 = s.arg0.fields["icon"];\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = 2;\n if (!s.tmp_0.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapSetByString(s.tmp_0.arg0, "z", s.tmp_0.arg1);\n } else {\n s.tmp_0.fn = s.tmp_0.arg0.vtable.iface["set/z"];\n if (s.tmp_0.fn === null) { s.tmp_0.arg0.fields["z"] = s.tmp_0.arg1; }\n else if (s.tmp_0.fn === undefined) { failedCast(s.tmp_0.arg0) }\n else { s.pc = 7; return s.tmp_0; }\n }\n case 7:\n r0 = s.retval;\n r0 = (s.arg0).fields["state"] = (2);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_MenuOption_show__P1168.info = {"start":904,"length":264,"line":41,"column":8,"endLine":49,"endColumn":9,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"show","argumentNames":["this"]}\n\nfunction scene_systemMenu_MenuOption_show__P1168_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_MenuOption_show__P1168, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_initVolume__P1199(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.vol___10031 = undefined;\n s.tmp_0 = settings_readNumber__P500_mk(s);\n s.tmp_0.arg0 = "#volume";\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.vol___10031 = (r0);\n r0 = (s.vol___10031 != null);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_1 = music_setVolume__P341_mk(s);\n s.tmp_1.arg0 = s.vol___10031;\n s.pc = 4; return s.tmp_1;\n case 4:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_initVolume__P1199.info = {"start":12557,"length":138,"line":382,"column":4,"endLine":386,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"initVolume","argumentNames":[]}\n\nfunction scene_systemMenu_initVolume__P1199_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_initVolume__P1199, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n vol___10031: undefined,\n} }\n\n\n\n\n\nfunction game_currentScene__P769(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = game_init__P1018_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = globals._scene___1008;\n return leave(s, r0)\n default: oops()\n} } }\ngame_currentScene__P769.info = {"start":667,"length":90,"line":22,"column":4,"endLine":25,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"currentScene","argumentNames":[]}\n\nfunction game_currentScene__P769_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_currentScene__P769, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction game_addScenePopHandler__P765(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_numops_toBoolDecr(globals._scenePopHandlers___1011);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_Array__mk();\n globals._scenePopHandlers___1011 = (r0);\n case 1:\n case 2:\n r0 = pxsim_Array_.indexOf(globals._scenePopHandlers___1011, s.arg0, undefined);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = pxsim_Array__push(globals._scenePopHandlers___1011, s.arg0);\n case 3:\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_addScenePopHandler__P765.info = {"start":11685,"length":237,"line":367,"column":4,"endLine":371,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"addScenePopHandler","argumentNames":["handler"]}\n\nfunction game_addScenePopHandler__P765_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_addScenePopHandler__P765, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_addScenePushHandler__P749(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_numops_toBoolDecr(globals._scenePushHandlers___1010);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_Array__mk();\n globals._scenePushHandlers___1010 = (r0);\n case 1:\n case 2:\n r0 = pxsim_Array_.indexOf(globals._scenePushHandlers___1010, s.arg0, undefined);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = pxsim_Array__push(globals._scenePushHandlers___1010, s.arg0);\n case 3:\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_addScenePushHandler__P749.info = {"start":10684,"length":242,"line":343,"column":4,"endLine":347,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"addScenePushHandler","argumentNames":["handler"]}\n\nfunction game_addScenePushHandler__P749_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_addScenePushHandler__P749, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction SpriteKind_create__P691(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = (globals.nextKind___690 === undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n globals.nextKind___690 = (1000);\n case 1:\n case 2:\n s.tmp_0 = r0 = globals.nextKind___690;\n r0 = (s.tmp_0 + 1);\n globals.nextKind___690 = (r0);\n r0 = s.tmp_0;\n return leave(s, r0)\n default: oops()\n} } }\nSpriteKind_create__P691.info = {"start":750,"length":112,"line":25,"column":4,"endLine":28,"endColumn":5,"fileName":"pxt_modules/game/spritekind.ts","functionName":"create","argumentNames":[]}\n\nfunction SpriteKind_create__P691_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: SpriteKind_create__P691, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction controller_Button_constructor__P548(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Button__C538_VT)) failedCast(r0);\n r0 = (s.arg0).fields["id"] = (s.arg1);\n r0 = (s.arg0).fields["_buttonId"] = (s.arg2);\n r0 = (s.arg0).fields["_pressed"] = (false);\n r0 = (s.arg0).fields["repeatDelay"] = (undefined);\n r0 = (s.arg0).fields["repeatInterval"] = (undefined);\n r0 = (s.arg0).fields["_repeatCount"] = (0);\n r0 = (s.arg1 > 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_pxtcore_mkAction(1, inline__P10117);\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_1, 0, s.arg0);\n r0 = s.arg0.fields["id"];\n s.tmp_2 = r0;\n r0 = pxsim.control.internalOnEvent(2050, s.tmp_2, s.tmp_1, 16);\n r0 = pxsim_pxtcore_mkAction(1, inline__P10124);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n r0 = s.arg0.fields["id"];\n s.tmp_1 = r0;\n r0 = pxsim.control.internalOnEvent(2051, s.tmp_1, s.tmp_0, 16);\n case 1:\n case 2:\n r0 = (s.arg2 > -1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = pxsim_pxtcore_mkAction(1, inline__P10133);\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_1, 0, s.arg0);\n r0 = pxsim.control.internalOnEvent(s.arg2, 2, s.tmp_1, 16);\n r0 = pxsim_pxtcore_mkAction(1, inline__P10144);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n r0 = pxsim.control.internalOnEvent(s.arg2, 1, s.tmp_0, 16);\n case 3:\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Button_constructor__P548.info = {"start":1354,"length":1205,"line":60,"column":8,"endLine":79,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"inline","argumentNames":["this","id","buttonId"]}\n\nfunction controller_Button_constructor__P548_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Button_constructor__P548, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction inline__P10117(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = controller_Button_setPressed__P546_mk(s);\n s.tmp_0.arg0 = s.caps[0];\n s.tmp_0.arg1 = false;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P10117.info = {"start":2015,"length":28,"line":71,"column":66,"endLine":71,"endColumn":94,"fileName":"pxt_modules/game/controller.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P10117_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P10117, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction inline__P10124(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = controller_Button_setPressed__P546_mk(s);\n s.tmp_0.arg0 = s.caps[0];\n s.tmp_0.arg1 = true;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P10124.info = {"start":2117,"length":27,"line":72,"column":68,"endLine":72,"endColumn":95,"fileName":"pxt_modules/game/controller.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P10124_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P10124, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction inline__P10133(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = s.caps[0].fields["id"];\n s.tmp_0 = r0;\n r0 = pxsim.control.raiseEvent(2050, s.tmp_0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P10133.info = {"start":2344,"length":50,"line":76,"column":76,"endLine":76,"endColumn":126,"fileName":"pxt_modules/game/controller.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P10133_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P10133, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction inline__P10144(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = s.caps[0].fields["id"];\n s.tmp_0 = r0;\n r0 = pxsim.control.raiseEvent(2051, s.tmp_0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P10144.info = {"start":2478,"length":52,"line":77,"column":78,"endLine":77,"endColumn":130,"fileName":"pxt_modules/game/controller.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P10144_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P10144, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction controller_Button_setPressed__P546(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Button__C538_VT)) failedCast(r0);\n r0 = s.arg0.fields["_pressed"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 != s.arg1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n s.tmp_2 = power_poke__P392_mk(s);\n s.pc = 7; return s.tmp_2;\n case 7:\n r0 = s.retval;\n r0 = s.arg0.fields["_owner"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_1 = controller_Controller_connected__P574_mk(s);\n r0 = s.arg0.fields["_owner"];\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = true;\n s.pc = 8; return s.tmp_1;\n case 8:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = (s.arg0).fields["_pressed"] = (s.arg1);\n r0 = s.arg0.fields["_pressed"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = (s.arg0).fields["_pressedElasped"] = (0);\n s.tmp_0 = controller_Button_raiseButtonDown__P541_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 9; return s.tmp_0;\n case 9:\n r0 = s.retval;\n { step = 4; continue; }\n case 3:\n r0 = (s.arg0).fields["_repeatCount"] = (0);\n s.tmp_0 = controller_Button_raiseButtonUp__P540_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 10; return s.tmp_0;\n case 10:\n r0 = s.retval;\n case 4:\n case 5:\n case 6:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Button_setPressed__P546.info = {"start":4302,"length":507,"line":132,"column":8,"endLine":146,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"setPressed","argumentNames":["this","pressed"]}\n\nfunction controller_Button_setPressed__P546_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Button_setPressed__P546, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction controller_Controller_connected__P574(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Controller__C557_VT)) failedCast(r0);\n r0 = s.arg0.fields["_connected"];\n s.tmp_1 = r0;\n r0 = (s.arg1 != s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = (s.arg0).fields["_connected"] = (s.arg1);\n r0 = s.arg0.fields["_connected"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = 1;\n { step = 2; continue; }\n case 1:\n r0 = 2;\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = s.arg0.fields["_id"];\n s.tmp_2 = r0;\n r0 = pxsim.control.raiseEvent(s.tmp_2, s.tmp_1);\n case 3:\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Controller_connected__P574.info = {"start":11936,"length":261,"line":376,"column":8,"endLine":381,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"connected","argumentNames":["this","value"]}\n\nfunction controller_Controller_connected__P574_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Controller_connected__P574, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction controller_Controller_id__P560(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Controller__C557_VT)) failedCast(r0);\n r0 = s.arg0.fields["_id"];\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Controller_id__P560.info = {"start":8221,"length":49,"line":247,"column":8,"endLine":249,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"id","argumentNames":["this"]}\n\nfunction controller_Controller_id__P560_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Controller_id__P560, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller_Controller_connected__P573(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Controller__C557_VT)) failedCast(r0);\n r0 = s.arg0.fields["_connected"];\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Controller_connected__P573.info = {"start":11863,"length":63,"line":372,"column":8,"endLine":374,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"connected","argumentNames":["this"]}\n\nfunction controller_Controller_connected__P573_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Controller_connected__P573, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller_Button_raiseButtonDown__P541(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Button__C538_VT)) failedCast(r0);\n r0 = pxsim_numops_toBoolDecr(globals._userEventsEnabled___535);\n if (!r0) { step = 1; continue; }\n r0 = s.arg0.fields["id"];\n s.tmp_0 = r0;\n r0 = pxsim.control.raiseEvent(2049, s.tmp_0);\n { step = 2; continue; }\n case 1:\n r0 = s.arg0.fields["id"];\n s.tmp_0 = r0;\n r0 = pxsim.control.raiseEvent(2053, s.tmp_0);\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Button_raiseButtonDown__P541.info = {"start":2779,"length":205,"line":88,"column":8,"endLine":93,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"raiseButtonDown","argumentNames":["this"]}\n\nfunction controller_Button_raiseButtonDown__P541_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Button_raiseButtonDown__P541, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller_Button_raiseButtonUp__P540(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Button__C538_VT)) failedCast(r0);\n r0 = pxsim_numops_toBoolDecr(globals._userEventsEnabled___535);\n if (!r0) { step = 1; continue; }\n r0 = s.arg0.fields["id"];\n s.tmp_0 = r0;\n r0 = pxsim.control.raiseEvent(2048, s.tmp_0);\n { step = 2; continue; }\n case 1:\n r0 = s.arg0.fields["id"];\n s.tmp_0 = r0;\n r0 = pxsim.control.raiseEvent(2052, s.tmp_0);\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Button_raiseButtonUp__P540.info = {"start":2569,"length":200,"line":81,"column":8,"endLine":86,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"raiseButtonUp","argumentNames":["this"]}\n\nfunction controller_Button_raiseButtonUp__P540_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Button_raiseButtonUp__P540, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction settings_initScopes__P491(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.rn___10219 = undefined;\n s.tmp_1 = settings_runNumber__P489_mk(s);\n s.pc = 1; return s.tmp_1;\n case 1:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = (s.tmp_0 + 1);\n s.rn___10219 = (r0);\n s.tmp_0 = settings_writeNumber__P496_mk(s);\n s.tmp_0.arg0 = "#run";\n s.tmp_0.arg1 = s.rn___10219;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n r0 = pxsim.control.deviceSerialNumber();\n s.tmp_1 = r0;\n r0 = (s.tmp_1 & 2147483647);\n s.tmp_0 = r0;\n r0 = pxsim_pxtcore.seedAddRandom(s.tmp_0);\n r0 = pxsim_pxtcore.seedAddRandom(s.rn___10219);\n s.tmp_0 = settings_setScope__P490_mk(s);\n r0 = pxsim_pxtcore.programName();\n s.tmp_0.arg0 = r0;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsettings_initScopes__P491.info = {"start":960,"length":229,"line":36,"column":4,"endLine":44,"endColumn":5,"fileName":"pxt_modules/settings/settings.ts","functionName":"initScopes","argumentNames":[]}\n\nfunction settings_initScopes__P491_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: settings_initScopes__P491, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n rn___10219: undefined,\n} }\n\n\n\n\n\nfunction settings_setScope__P490(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.currScope___10242 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_numops_toBoolDecr(s.arg0);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = pxsim_String_.length(s.arg0);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 > 100);\n case 2:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 3; continue; }\n r0 = pxsim_pxtrt.panic(922);\n case 3:\n case 4:\n s.tmp_0 = settings_readString__P499_mk(s);\n s.tmp_0.arg0 = "#scope";\n s.pc = 7; return s.tmp_0;\n case 7:\n r0 = s.retval;\n s.currScope___10242 = (r0);\n r0 = (s.currScope___10242 != s.arg0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = pxsim.settings._userClean();\n s.tmp_0 = settings_writeString__P495_mk(s);\n s.tmp_0.arg0 = "#scope";\n s.tmp_0.arg1 = s.arg0;\n s.pc = 8; return s.tmp_0;\n case 8:\n r0 = s.retval;\n case 5:\n case 6:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsettings_setScope__P490.info = {"start":684,"length":270,"line":26,"column":4,"endLine":34,"endColumn":5,"fileName":"pxt_modules/settings/settings.ts","functionName":"setScope","argumentNames":["scope"]}\n\nfunction settings_setScope__P490_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: settings_setScope__P490, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n currScope___10242: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction settings_readString__P499(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.buf___10258 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim.settings._get(s.arg0);\n s.buf___10258 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.buf___10258);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = undefined;\n { step = 3; continue; }\n { step = 2; continue; }\n case 1:\n r0 = pxsim.BufferMethods.toString(s.buf___10258);\n { step = 3; continue; }\n case 2:\n r0 = undefined;\n case 3:\n return leave(s, r0)\n default: oops()\n} } }\nsettings_readString__P499.info = {"start":2504,"length":177,"line":98,"column":4,"endLine":104,"endColumn":5,"fileName":"pxt_modules/settings/settings.ts","functionName":"readString","argumentNames":["key"]}\n\nfunction settings_readString__P499_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: settings_readString__P499, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n buf___10258: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction settings_writeString__P495(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = settings_writeBuffer__P494_mk(s);\n s.tmp_0.arg0 = s.arg0;\n r0 = pxsim.control.createBufferFromUTF8(s.arg1);\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsettings_writeString__P495.info = {"start":1750,"length":125,"line":70,"column":4,"endLine":72,"endColumn":5,"fileName":"pxt_modules/settings/settings.ts","functionName":"writeString","argumentNames":["key","value"]}\n\nfunction settings_writeString__P495_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: settings_writeString__P495, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction settings_runNumber__P489(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_1 = settings_readNumber__P500_mk(s);\n s.tmp_1.arg0 = "#run";\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = 0;\n case 2:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = s.tmp_2;\n return leave(s, r0)\n default: oops()\n} } }\nsettings_runNumber__P489.info = {"start":604,"length":74,"line":22,"column":4,"endLine":24,"endColumn":5,"fileName":"pxt_modules/settings/settings.ts","functionName":"runNumber","argumentNames":[]}\n\nfunction settings_runNumber__P489_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: settings_runNumber__P489, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n} }\n\n\n\n\n\nfunction control___screen_setupUpdate__P436(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n globals.__updated___434 = (true);\n globals.__update___433 = (s.arg0);\n s.tmp_0 = lambda_1_mk(s);\n s.tmp_0.argL = s.arg0;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol___screen_setupUpdate__P436.info = {"start":198,"length":125,"line":10,"column":4,"endLine":14,"endColumn":5,"fileName":"pxt_modules/screen/frame.ts","functionName":"setupUpdate","argumentNames":["update"]}\n\nfunction control___screen_setupUpdate__P436_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control___screen_setupUpdate__P436, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction control___screen_update__P435(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals.__update___433);\n if (!r0) { step = 1; continue; }\n s.tmp_0 = lambda_1_mk(s);\n s.tmp_0.argL = globals.__update___433;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n case 1:\n case 2:\n globals.__updated___434 = (true);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol___screen_update__P435.info = {"start":90,"length":102,"line":4,"column":4,"endLine":8,"endColumn":5,"fileName":"pxt_modules/screen/frame.ts","functionName":"update","argumentNames":[]}\n\nfunction control___screen_update__P435_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control___screen_update__P435, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction pause__P241(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n setupResume(s, 1);\n pxsim.loops.pause(s.arg0);\n checkResumeConsumed();\n return;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\npause__P241.info = {"start":246,"length":57,"line":7,"column":0,"endLine":9,"endColumn":1,"fileName":"pxt_modules/base/pause.ts","functionName":"pause","argumentNames":["ms"]}\n\nfunction pause__P241_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: pause__P241, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Fx8__P78(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 * 256);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 | 0);\n return leave(s, r0)\n default: oops()\n} } }\nFx8__P78.info = {"start":42,"length":68,"line":4,"column":0,"endLine":6,"endColumn":1,"fileName":"pxt_modules/base/fixed.ts","functionName":"Fx8","argumentNames":["v"]}\n\nfunction Fx8__P78_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Fx8__P78, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction animation_MovementAnimation_constructor__P1552(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, animation_MovementAnimation__C1549_VT)) failedCast(r0);\n r0 = (s.arg0).fields["path"] = (s.arg2);\n r0 = (s.arg0).fields["nodeInterval"] = (s.arg3);\n s.tmp_0 = animation_SpriteAnimation_constructor__P1544_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.tmp_0.arg2 = s.arg4;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = (s.arg0).fields["loop"] = (s.arg4);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nanimation_MovementAnimation_constructor__P1552.info = {"start":18785,"length":169,"line":480,"column":8,"endLine":484,"endColumn":9,"fileName":"pxt_modules/animation/animation.ts","functionName":"inline","argumentNames":["this","sprite","path","nodeInterval","loop"]}\n\nfunction animation_MovementAnimation_constructor__P1552_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: animation_MovementAnimation_constructor__P1552, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n} }\n\n\n\n\n\nfunction animation_MovementAnimation_update__P1551(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.result___10307 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, animation_MovementAnimation__C1549_VT)) failedCast(r0);\n r0 = s.arg0.fields["sprite"];\n r0 = r0.fields["flags"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 & 2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = true;\n { step = 9; continue; }\n case 1:\n case 2:\n r0 = s.arg0.fields["startedAt"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 == null);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 3; continue; }\n s.tmp_4 = r0 = s.arg0;\n r0 = pxsim.control.millis();\n s.tmp_5 = r0;\n r0 = (s.tmp_4).fields["startedAt"] = (s.tmp_5);\n case 3:\n case 4:\n s.tmp_0 = animation_Path_run__P1512_mk(s);\n r0 = s.arg0.fields["path"];\n s.tmp_0.arg0 = r0;\n r0 = s.arg0.fields["nodeInterval"];\n s.tmp_0.arg1 = r0;\n r0 = s.arg0.fields["sprite"];\n s.tmp_0.arg2 = r0;\n r0 = s.arg0.fields["startedAt"];\n s.tmp_0.arg3 = r0;\n s.pc = 10; return s.tmp_0;\n case 10:\n r0 = s.retval;\n s.result___10307 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.result___10307);\n if (!r0) { step = 7; continue; }\n r0 = s.arg0.fields["loop"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = true;\n { step = 9; continue; }\n case 5:\n case 6:\n s.tmp_3 = r0 = s.arg0;\n r0 = pxsim.control.millis();\n s.tmp_4 = r0;\n r0 = (s.tmp_3).fields["startedAt"] = (s.tmp_4);\n case 7:\n case 8:\n r0 = false;\n case 9:\n return leave(s, r0)\n default: oops()\n} } }\nanimation_MovementAnimation_update__P1551.info = {"start":18972,"length":460,"line":486,"column":8,"endLine":497,"endColumn":9,"fileName":"pxt_modules/animation/animation.ts","functionName":"update","argumentNames":["this"]}\n\nfunction animation_MovementAnimation_update__P1551_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: animation_MovementAnimation_update__P1551, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n result___10307: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction animation_Path_run__P1512(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.runningTime___10328 = undefined;\n s.nodeIndex___10332 = undefined;\n s.nodeTime___10337 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, animation_Path__C1506_VT)) failedCast(r0);\n r0 = pxsim.control.millis();\n s.tmp_0 = r0;\n r0 = (s.tmp_0 - s.arg3);\n s.runningTime___10328 = (r0);\n r0 = (s.runningTime___10328 / s.arg1);\n s.tmp_0 = r0;\n r0 = pxsim.Math_.floor(s.tmp_0);\n s.nodeIndex___10332 = (r0);\n r0 = (s.runningTime___10328 % s.arg1);\n s.nodeTime___10337 = (r0);\n r0 = s.arg0.fields["lastNode"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > -1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = s.arg0.fields["lastNode"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 < s.nodeIndex___10332);\n case 2:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBool(s.tmp_3);\n if (r0) { step = 3; continue; }\n r0 = s.tmp_3;\n { step = 4; continue; }\n case 3:\n r0 = s.arg0.fields["nodes"];\n s.tmp_4 = r0;\n r0 = pxsim_Array__length(s.tmp_4);\n case 4:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_5);\n if (!r0) { step = 7; continue; }\n s.tmp_6 = animation_PathNode__C1514_v0_4_mk(s);\n r0 = s.arg0.fields["nodes"];\n s.tmp_7 = r0;\n r0 = s.arg0.fields["lastNode"];\n s.tmp_8 = r0;\n r0 = pxsim_Array__getAt(s.tmp_7, s.tmp_8);\n s.tmp_6.arg0 = r0;\n s.tmp_6.arg1 = s.arg2;\n s.tmp_6.arg2 = s.arg1;\n s.tmp_6.arg3 = s.arg1;\n if (!checkSubtype(s.tmp_6.arg0, animation_PathNode__C1514_VT)) failedCast(s.tmp_6.arg0);\n s.tmp_6.fn = s.tmp_6.arg0.vtable.methods.apply;\n s.pc = 10; return s.tmp_6;\n case 10:\n r0 = s.retval;\n s.tmp_1 = r0 = s.nodeIndex___10332;\n r0 = s.arg0.fields["nodes"];\n s.tmp_3 = r0;\n r0 = pxsim_Array__length(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 >= s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = true;\n { step = 9; continue; }\n case 5:\n case 6:\n case 7:\n case 8:\n r0 = (s.arg0).fields["lastNode"] = (s.nodeIndex___10332);\n s.tmp_0 = animation_PathNode__C1514_v0_4_mk(s);\n r0 = s.arg0.fields["nodes"];\n s.tmp_1 = r0;\n r0 = pxsim_Array__getAt(s.tmp_1, s.nodeIndex___10332);\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = s.arg2;\n s.tmp_0.arg2 = s.nodeTime___10337;\n s.tmp_0.arg3 = s.arg1;\n if (!checkSubtype(s.tmp_0.arg0, animation_PathNode__C1514_VT)) failedCast(s.tmp_0.arg0);\n s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.apply;\n s.pc = 11; return s.tmp_0;\n case 11:\n r0 = s.retval;\n r0 = false;\n case 9:\n return leave(s, r0)\n default: oops()\n} } }\nanimation_Path_run__P1512.info = {"start":11979,"length":1002,"line":287,"column":8,"endLine":301,"endColumn":9,"fileName":"pxt_modules/animation/animation.ts","functionName":"run","argumentNames":["this","interval","target","startedAt"]}\n\nfunction animation_Path_run__P1512_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: animation_Path_run__P1512, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n runningTime___10328: undefined,\n nodeIndex___10332: undefined,\n nodeTime___10337: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction animation_PathNode_apply__P1515(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, animation_PathNode__C1514_VT)) failedCast(r0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nanimation_PathNode_apply__P1515.info = {"start":13131,"length":60,"line":310,"column":8,"endLine":310,"endColumn":68,"fileName":"pxt_modules/animation/animation.ts","functionName":"apply","argumentNames":["this","target","nodeTime","interval"]}\n\nfunction animation_PathNode_apply__P1515_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: animation_PathNode_apply__P1515, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction animation_ImageAnimation_update__P1547(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.runningTime___10391 = undefined;\n s.frameIndex___10396 = undefined;\n s.newImage___10413 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, animation_ImageAnimation__C1545_VT)) failedCast(r0);\n r0 = s.arg0.fields["sprite"];\n r0 = r0.fields["flags"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 & 2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = true;\n { step = 17; continue; }\n case 1:\n case 2:\n r0 = s.arg0.fields["startedAt"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 == null);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 3; continue; }\n s.tmp_4 = r0 = s.arg0;\n r0 = pxsim.control.millis();\n s.tmp_5 = r0;\n r0 = (s.tmp_4).fields["startedAt"] = (s.tmp_5);\n case 3:\n case 4:\n r0 = pxsim.control.millis();\n s.tmp_0 = r0;\n r0 = s.arg0.fields["startedAt"];\n s.tmp_1 = r0;\n r0 = (s.tmp_0 - s.tmp_1);\n s.runningTime___10391 = (r0);\n r0 = s.arg0.fields["frameInterval"];\n s.tmp_1 = r0;\n r0 = (s.runningTime___10391 / s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim.Math_.floor(s.tmp_0);\n s.frameIndex___10396 = (r0);\n r0 = s.arg0.fields["lastFrame"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > -1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 5; continue; }\n r0 = s.tmp_0;\n { step = 6; continue; }\n case 5:\n r0 = s.arg0.fields["lastFrame"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 < s.frameIndex___10396);\n case 6:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBool(s.tmp_3);\n if (r0) { step = 7; continue; }\n r0 = s.tmp_3;\n { step = 8; continue; }\n case 7:\n r0 = s.arg0.fields["frames"];\n s.tmp_4 = r0;\n r0 = pxsim_Array__length(s.tmp_4);\n case 8:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_5);\n if (!r0) { step = 15; continue; }\n r0 = s.arg0.fields["frames"];\n s.tmp_6 = r0;\n r0 = (s.frameIndex___10396 - 1);\n s.tmp_7 = r0;\n r0 = pxsim_Array__getAt(s.tmp_6, s.tmp_7);\n s.newImage___10413 = (r0);\n r0 = s.arg0.fields["sprite"];\n s.tmp_2 = r0;\n r0 = s.tmp_2.fields["_image"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 !== s.newImage___10413);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 9; continue; }\n s.tmp_3 = Sprite_setImage__P625_mk(s);\n r0 = s.arg0.fields["sprite"];\n s.tmp_3.arg0 = r0;\n s.tmp_3.arg1 = s.newImage___10413;\n s.pc = 18; return s.tmp_3;\n case 18:\n r0 = s.retval;\n case 9:\n case 10:\n s.tmp_1 = r0 = s.frameIndex___10396;\n r0 = s.arg0.fields["frames"];\n s.tmp_3 = r0;\n r0 = pxsim_Array__length(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 >= s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 13; continue; }\n r0 = s.arg0.fields["loop"];\n s.tmp_6 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_6);\n s.tmp_5 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_5);\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n if (!r0) { step = 11; continue; }\n r0 = true;\n { step = 17; continue; }\n case 11:\n case 12:\n s.tmp_7 = r0 = s.arg0;\n r0 = pxsim.control.millis();\n s.tmp_8 = r0;\n r0 = (s.tmp_7).fields["startedAt"] = (s.tmp_8);\n case 13:\n case 14:\n case 15:\n case 16:\n r0 = (s.arg0).fields["lastFrame"] = (s.frameIndex___10396);\n r0 = false;\n case 17:\n return leave(s, r0)\n default: oops()\n} } }\nanimation_ImageAnimation_update__P1547.info = {"start":17777,"length":931,"line":456,"column":8,"endLine":476,"endColumn":9,"fileName":"pxt_modules/animation/animation.ts","functionName":"update","argumentNames":["this"]}\n\nfunction animation_ImageAnimation_update__P1547_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: animation_ImageAnimation_update__P1547, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n runningTime___10391: undefined,\n frameIndex___10396: undefined,\n newImage___10413: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction SpriteSet_toString__P686(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, SpriteSet__C676_VT)) failedCast(r0);\n r0 = pxsim_String_.mkEmpty();\n s.tmp_1 = r0;\n r0 = s.arg0.fields["_sprites"];\n s.tmp_4 = r0;\n r0 = pxsim_Array__length(s.tmp_4);\n s.tmp_3 = r0;\n if ((s.tmp_3) && (s.tmp_3).vtable) {\n setupResume(s, 1);\n pxsim_String__stringConv(s.tmp_3);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_3) + ""; }\n case 1:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = pxsim_String__concat(s.tmp_1, s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_String__concat(s.tmp_0, " sprites");\n return leave(s, r0)\n default: oops()\n} } }\nSpriteSet_toString__P686.info = {"start":2209,"length":58,"line":96,"column":4,"endLine":98,"endColumn":5,"fileName":"pxt_modules/game/spriteset.ts","functionName":"toString","argumentNames":["this"]}\n\nfunction SpriteSet_toString__P686_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: SpriteSet_toString__P686, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction SpriteSet_length__P678(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, SpriteSet__C676_VT)) failedCast(r0);\n r0 = s.arg0.fields["_sprites"];\n s.tmp_0 = r0;\n r0 = pxsim_Array__length(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\nSpriteSet_length__P678.info = {"start":508,"length":57,"line":25,"column":4,"endLine":27,"endColumn":5,"fileName":"pxt_modules/game/spriteset.ts","functionName":"length","argumentNames":["this"]}\n\nfunction SpriteSet_length__P678_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: SpriteSet_length__P678, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction tiles_TileMap_constructor__P885(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, tiles_TileMap__C865_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["_tileSets"] = (s.tmp_1);\n r0 = (s.arg0).fields["_layer"] = (1);\n r0 = (s.arg0).fields["scale"] = (s.arg1);\n r0 = pxsim_pxtcore_mkAction(1, inline__P12163);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n s.tmp_1 = scene_createRenderable__P896_mk(s);\n s.tmp_1.arg0 = globals.TILE_MAP_Z___918;\n s.tmp_1.arg1 = s.tmp_0;\n s.tmp_1.arg2 = undefined;\n s.pc = 1; return s.tmp_1;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ntiles_TileMap_constructor__P885.info = {"start":2488,"length":283,"line":88,"column":8,"endLine":97,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"inline","argumentNames":["this","scale"]}\n\nfunction tiles_TileMap_constructor__P885_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: tiles_TileMap_constructor__P885, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction inline__P12163(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = tiles_TileMap_draw__P882_mk(s);\n s.tmp_0.arg0 = s.caps[0];\n s.tmp_0.arg1 = s.arg0;\n s.tmp_0.arg2 = s.arg1;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P12163.info = {"start":2721,"length":25,"line":95,"column":16,"endLine":95,"endColumn":41,"fileName":"pxt_modules/game/tilemap.ts","functionName":"inline","argumentNames":["t","c"]}\n\nfunction inline__P12163_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P12163, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction tiles_TileMap_draw__P882(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.bitmask___12173 = undefined;\n s.offsetX___12176 = undefined;\n s.offsetY___12180 = undefined;\n s.x0___12184 = undefined;\n s.xn___12190 = undefined;\n s.y0___12203 = undefined;\n s.yn___12209 = undefined;\n s.x___12222 = undefined;\n s.y___12227 = undefined;\n s.index___12232 = undefined;\n s.tile___12239 = undefined;\n s.x___12267 = undefined;\n s.xLine___12272 = undefined;\n s.y___12292 = undefined;\n s.yLine___12297 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, tiles_TileMap__C865_VT)) failedCast(r0);\n r0 = s.arg0.fields["_map"];\n s.tmp_6 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_6);\n s.tmp_5 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_5);\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n s.tmp_3 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 25; continue; }\n case 1:\n case 2:\n r0 = s.arg0.fields["scale"];\n s.tmp_8 = r0;\n r0 = (1 << s.tmp_8);\n s.tmp_7 = r0;\n r0 = (s.tmp_7 - 1);\n s.bitmask___12173 = (r0);\n r0 = s.arg2.fields["drawOffsetX"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 & s.bitmask___12173);\n s.offsetX___12176 = (r0);\n r0 = s.arg2.fields["drawOffsetY"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 & s.bitmask___12173);\n s.offsetY___12180 = (r0);\n s.tmp_0 = Math_max__P61_mk(s);\n s.tmp_0.arg0 = 0;\n r0 = s.arg2.fields["drawOffsetX"];\n s.tmp_1 = r0;\n r0 = s.arg0.fields["scale"];\n s.tmp_2 = r0;\n r0 = (s.tmp_1 >> s.tmp_2);\n s.tmp_0.arg1 = r0;\n s.pc = 26; return s.tmp_0;\n case 26:\n r0 = s.retval;\n s.x0___12184 = (r0);\n s.tmp_0 = Math_min__P62_mk(s);\n r0 = s.arg0.fields["_map"];\n s.tmp_1 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_1);\n s.tmp_0.arg0 = r0;\n r0 = s.arg2.fields["drawOffsetX"];\n s.tmp_4 = r0;\n r0 = pxsim_ImageMethods.width(s.arg1);\n s.tmp_5 = r0;\n r0 = (s.tmp_4 + s.tmp_5);\n s.tmp_3 = r0;\n r0 = s.arg0.fields["scale"];\n s.tmp_6 = r0;\n r0 = (s.tmp_3 >> s.tmp_6);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + 1);\n s.tmp_0.arg1 = r0;\n s.pc = 27; return s.tmp_0;\n case 27:\n r0 = s.retval;\n s.xn___12190 = (r0);\n s.tmp_0 = Math_max__P61_mk(s);\n s.tmp_0.arg0 = 0;\n r0 = s.arg2.fields["drawOffsetY"];\n s.tmp_1 = r0;\n r0 = s.arg0.fields["scale"];\n s.tmp_2 = r0;\n r0 = (s.tmp_1 >> s.tmp_2);\n s.tmp_0.arg1 = r0;\n s.pc = 28; return s.tmp_0;\n case 28:\n r0 = s.retval;\n s.y0___12203 = (r0);\n s.tmp_0 = Math_min__P62_mk(s);\n r0 = s.arg0.fields["_map"];\n s.tmp_1 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_1);\n s.tmp_0.arg0 = r0;\n r0 = s.arg2.fields["drawOffsetY"];\n s.tmp_4 = r0;\n r0 = pxsim_ImageMethods.height(s.arg1);\n s.tmp_5 = r0;\n r0 = (s.tmp_4 + s.tmp_5);\n s.tmp_3 = r0;\n r0 = s.arg0.fields["scale"];\n s.tmp_6 = r0;\n r0 = (s.tmp_3 >> s.tmp_6);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + 1);\n s.tmp_0.arg1 = r0;\n s.pc = 29; return s.tmp_0;\n case 29:\n r0 = s.retval;\n s.yn___12209 = (r0);\n s.x___12222 = (s.x0___12184);\n case 3:\n r0 = (s.x___12222 <= s.xn___12190);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 10; continue; }\n s.y___12227 = (s.y0___12203);\n case 4:\n r0 = (s.y___12227 <= s.yn___12209);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 9; continue; }\n r0 = s.arg0.fields["_map"];\n s.tmp_1 = r0;\n r0 = pxsim_ImageMethods.getPixel(s.tmp_1, s.x___12222, s.y___12227);\n s.index___12232 = (r0);\n r0 = s.arg0.fields["_tileSets"];\n s.tmp_1 = r0;\n r0 = pxsim_Array__getAt(s.tmp_1, s.index___12232);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = s.tmp_0;\n { step = 6; continue; }\n case 5:\n s.tmp_2 = tiles_TileMap_generateTile__P879_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.tmp_2.arg1 = s.index___12232;\n s.pc = 30; return s.tmp_2;\n case 30:\n r0 = s.retval;\n case 6:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n s.tile___12239 = (s.tmp_3);\n r0 = pxsim_numops_toBoolDecr(s.tile___12239);\n if (!r0) { step = 7; continue; }\n s.tmp_0 = r0 = s.arg1;\n s.tmp_2 = tiles_TileSet_image__P857_mk(s);\n s.tmp_2.arg0 = s.tile___12239;\n s.pc = 31; return s.tmp_2;\n case 31:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.x___12222 - s.x0___12184);\n s.tmp_5 = r0;\n r0 = s.arg0.fields["scale"];\n s.tmp_6 = r0;\n r0 = (s.tmp_5 << s.tmp_6);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 - s.offsetX___12176);\n s.tmp_3 = r0;\n r0 = (s.y___12227 - s.y0___12203);\n s.tmp_9 = r0;\n r0 = s.arg0.fields["scale"];\n s.tmp_10 = r0;\n r0 = (s.tmp_9 << s.tmp_10);\n s.tmp_8 = r0;\n r0 = (s.tmp_8 - s.offsetY___12180);\n s.tmp_7 = r0;\n r0 = pxsim_ImageMethods.drawTransparentImage(s.tmp_0, s.tmp_1, s.tmp_3, s.tmp_7);\n case 7:\n case 8:\n r0 = (s.y___12227 + 1);\n s.y___12227 = (r0);\n { step = 4; continue; }\n case 9:\n r0 = (s.x___12222 + 1);\n s.x___12222 = (r0);\n { step = 3; continue; }\n case 10:\n r0 = pxsim_numops_toBoolDecr(globals.debug___998);\n if (!r0) { step = 23; continue; }\n s.x___12267 = (s.x0___12184);\n case 11:\n r0 = (s.x___12267 <= s.xn___12190);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 16; continue; }\n r0 = (s.x___12267 - s.x0___12184);\n s.tmp_2 = r0;\n r0 = s.arg0.fields["scale"];\n s.tmp_3 = r0;\n r0 = (s.tmp_2 << s.tmp_3);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - s.offsetX___12176);\n s.xLine___12272 = (r0);\n r0 = (s.xLine___12272 >= 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 12; continue; }\n r0 = s.tmp_0;\n { step = 13; continue; }\n case 12:\n s.tmp_1 = r0 = s.xLine___12272;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 <= s.tmp_2);\n case 13:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 14; continue; }\n s.tmp_4 = helpers_imageDrawLine__P413_mk(s);\n s.tmp_4.arg0 = s.arg1;\n s.tmp_4.arg1 = s.xLine___12272;\n s.tmp_4.arg2 = 0;\n s.tmp_4.arg3 = s.xLine___12272;\n r0 = pxsim_ImageMethods.height(s.arg1);\n s.tmp_4.arg4 = r0;\n s.tmp_4.arg5 = 1;\n s.pc = 32; return s.tmp_4;\n case 32:\n r0 = s.retval;\n case 14:\n case 15:\n r0 = (s.x___12267 + 1);\n s.x___12267 = (r0);\n { step = 11; continue; }\n case 16:\n s.y___12292 = (s.y0___12203);\n case 17:\n r0 = (s.y___12292 <= s.yn___12209);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 22; continue; }\n r0 = (s.y___12292 - s.y0___12203);\n s.tmp_2 = r0;\n r0 = s.arg0.fields["scale"];\n s.tmp_3 = r0;\n r0 = (s.tmp_2 << s.tmp_3);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - s.offsetY___12180);\n s.yLine___12297 = (r0);\n r0 = (s.yLine___12297 >= 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 18; continue; }\n r0 = s.tmp_0;\n { step = 19; continue; }\n case 18:\n s.tmp_1 = r0 = s.yLine___12297;\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 <= s.tmp_2);\n case 19:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 20; continue; }\n s.tmp_4 = helpers_imageDrawLine__P413_mk(s);\n s.tmp_4.arg0 = s.arg1;\n s.tmp_4.arg1 = 0;\n s.tmp_4.arg2 = s.yLine___12297;\n r0 = pxsim_ImageMethods.width(s.arg1);\n s.tmp_4.arg3 = r0;\n s.tmp_4.arg4 = s.yLine___12297;\n s.tmp_4.arg5 = 1;\n s.pc = 33; return s.tmp_4;\n case 33:\n r0 = s.retval;\n case 20:\n case 21:\n r0 = (s.y___12292 + 1);\n s.y___12292 = (r0);\n { step = 17; continue; }\n case 22:\n case 23:\n case 24:\n case 25:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ntiles_TileMap_draw__P882.info = {"start":5334,"length":2251,"line":183,"column":8,"endLine":238,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"draw","argumentNames":["this","target","camera"]}\n\nfunction tiles_TileMap_draw__P882_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: tiles_TileMap_draw__P882, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n bitmask___12173: undefined,\n offsetX___12176: undefined,\n offsetY___12180: undefined,\n x0___12184: undefined,\n xn___12190: undefined,\n y0___12203: undefined,\n yn___12209: undefined,\n x___12222: undefined,\n y___12227: undefined,\n index___12232: undefined,\n tile___12239: undefined,\n x___12267: undefined,\n xLine___12272: undefined,\n y___12292: undefined,\n yLine___12297: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction tiles_TileMap_generateTile__P879(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.size___11138 = undefined;\n s.i___11141 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, tiles_TileMap__C865_VT)) failedCast(r0);\n r0 = s.arg0.fields["scale"];\n s.tmp_0 = r0;\n r0 = (1 << s.tmp_0);\n s.size___11138 = (r0);\n r0 = pxsim.image.create(s.size___11138, s.size___11138);\n s.i___11141 = (r0);\n r0 = pxsim_ImageMethods.fill(s.i___11141, s.arg1);\n r0 = pxsim_pxtcore_mkClassInstance(tiles_TileSet__C856_VT);\n s.tmp_0 = r0;\n s.tmp_1 = tiles_TileSet_constructor__P858_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = s.i___11141;\n s.tmp_1.arg2 = false;\n s.tmp_1.arg3 = s.arg0;\n s.pc = 1; return s.tmp_1;\n case 1:\n r0 = s.retval;\n r0 = s.arg0.fields["_tileSets"];\n s.tmp_2 = r0;\n r0 = pxsim_Array_.setAt(s.tmp_2, s.arg1, s.tmp_0);\n r0 = s.tmp_0;\n return leave(s, r0)\n default: oops()\n} } }\ntiles_TileMap_generateTile__P879.info = {"start":4764,"length":245,"line":166,"column":8,"endLine":172,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"generateTile","argumentNames":["this","index"]}\n\nfunction tiles_TileMap_generateTile__P879_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: tiles_TileMap_generateTile__P879, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n size___11138: undefined,\n i___11141: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction tiles_TileSet_constructor__P858(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, tiles_TileSet__C856_VT)) failedCast(r0);\n r0 = (s.arg0).fields["originalImage"] = (s.arg1);\n r0 = (s.arg0).fields["obstacle"] = (s.arg2);\n r0 = (s.arg0).fields["map"] = (s.arg3);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ntiles_TileSet_constructor__P858.info = {"start":312,"length":180,"line":16,"column":8,"endLine":20,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"inline","argumentNames":["this","image","collisions","map"]}\n\nfunction tiles_TileSet_constructor__P858_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: tiles_TileSet_constructor__P858, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction tiles_TileSet_image__P857(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.size___11065 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, tiles_TileSet__C856_VT)) failedCast(r0);\n r0 = s.arg0.fields["map"];\n r0 = r0.fields["scale"];\n s.tmp_0 = r0;\n r0 = (1 << s.tmp_0);\n s.size___11065 = (r0);\n r0 = s.arg0.fields["cachedImage"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = s.arg0.fields["cachedImage"];\n s.tmp_4 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_4);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 != s.size___11065);\n case 2:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBool(s.tmp_5);\n if (!r0) { step = 3; continue; }\n r0 = s.tmp_5;\n { step = 4; continue; }\n case 3:\n r0 = s.arg0.fields["cachedImage"];\n s.tmp_7 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_7);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 != s.size___11065);\n case 4:\n // jmp value (already in r0)\n s.tmp_8 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_8);\n if (!r0) { step = 9; continue; }\n r0 = s.arg0.fields["originalImage"];\n s.tmp_11 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_11);\n s.tmp_10 = r0;\n r0 = (s.tmp_10 == s.size___11065);\n s.tmp_9 = r0;\n r0 = pxsim_numops_toBool(s.tmp_9);\n if (r0) { step = 5; continue; }\n r0 = s.tmp_9;\n { step = 6; continue; }\n case 5:\n r0 = s.arg0.fields["originalImage"];\n s.tmp_13 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_13);\n s.tmp_12 = r0;\n r0 = (s.tmp_12 == s.size___11065);\n case 6:\n // jmp value (already in r0)\n s.tmp_14 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_14);\n if (!r0) { step = 7; continue; }\n r0 = s.arg0.fields["originalImage"];\n s.tmp_15 = r0;\n r0 = (s.arg0).fields["cachedImage"] = (s.tmp_15);\n { step = 8; continue; }\n case 7:\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim.image.create(s.size___11065, s.size___11065);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["cachedImage"] = (s.tmp_1);\n r0 = s.arg0.fields["cachedImage"];\n s.tmp_0 = r0;\n r0 = s.arg0.fields["originalImage"];\n s.tmp_1 = r0;\n r0 = pxsim_ImageMethods.drawImage(s.tmp_0, s.tmp_1, 0, 0);\n case 8:\n case 9:\n case 10:\n r0 = s.arg0.fields["cachedImage"];\n return leave(s, r0)\n default: oops()\n} } }\ntiles_TileSet_image__P857.info = {"start":502,"length":567,"line":22,"column":8,"endLine":33,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"image","argumentNames":["this"]}\n\nfunction tiles_TileSet_image__P857_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: tiles_TileSet_image__P857, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n tmp_12: undefined,\n tmp_13: undefined,\n tmp_14: undefined,\n tmp_15: undefined,\n size___11065: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_BackgroundLayer_constructor__P855(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_BackgroundLayer__C853_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_2 = Math_max__P61_mk(s);\n s.tmp_2.arg0 = 1;\n s.tmp_2.arg1 = s.arg1;\n s.pc = 7; return s.tmp_2;\n case 7:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["distance"] = (s.tmp_1);\n r0 = (s.arg0).fields["img"] = (s.arg3);\n s.tmp_0 = r0 = s.arg2;\n r0 = pxsim_pxtcore.switch_eq(5, s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = pxsim_pxtcore.switch_eq(1, s.tmp_0);\n if (r0) { step = 2; continue; }\n r0 = pxsim_pxtcore.switch_eq(2, s.tmp_0);\n if (r0) { step = 3; continue; }\n r0 = pxsim_pxtcore.switch_eq(3, s.tmp_0);\n if (r0) { step = 4; continue; }\n r0 = pxsim_pxtcore.switch_eq(4, s.tmp_0);\n if (r0) { step = 5; continue; }\n r0 = s.tmp_0;\n { step = 6; continue; }\n case 1:\n r0 = (s.arg0).fields["repeatX"] = (true);\n r0 = (s.arg0).fields["repeatY"] = (true);\n r0 = (s.arg0).fields["alignX"] = (5);\n r0 = (s.arg0).fields["alignY"] = (5);\n { step = 6; continue; }\n case 2:\n case 3:\n r0 = (s.arg0).fields["repeatX"] = (false);\n r0 = (s.arg0).fields["repeatY"] = (true);\n r0 = (s.arg0).fields["alignX"] = (s.arg2);\n r0 = (s.arg0).fields["alignY"] = (5);\n { step = 6; continue; }\n case 4:\n case 5:\n r0 = (s.arg0).fields["repeatX"] = (true);\n r0 = (s.arg0).fields["repeatY"] = (false);\n r0 = (s.arg0).fields["alignX"] = (5);\n r0 = (s.arg0).fields["alignY"] = (s.arg2);\n case 6:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_BackgroundLayer_constructor__P855.info = {"start":1936,"length":1117,"line":72,"column":8,"endLine":97,"endColumn":9,"fileName":"pxt_modules/game/background.ts","functionName":"inline","argumentNames":["this","distance","alignment","img"]}\n\nfunction scene_BackgroundLayer_constructor__P855_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_BackgroundLayer_constructor__P855, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction sprites_SpriteMap_toString__P670(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_SpriteMap__C659_VT)) failedCast(r0);\n r0 = pxsim_String_.mkEmpty();\n s.tmp_3 = r0;\n r0 = s.arg0.fields["buckets"];\n s.tmp_6 = r0;\n r0 = pxsim_Array__length(s.tmp_6);\n s.tmp_5 = r0;\n if ((s.tmp_5) && (s.tmp_5).vtable) {\n setupResume(s, 1);\n pxsim_String__stringConv(s.tmp_5);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_5) + ""; }\n case 1:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = pxsim_String__concat(s.tmp_3, s.tmp_4);\n s.tmp_2 = r0;\n r0 = pxsim_String__concat(s.tmp_2, " buckets, ");\n s.tmp_1 = r0;\n s.tmp_10 = helpers_arrayFilter__P48_mk(s);\n r0 = s.arg0.fields["buckets"];\n s.tmp_10.arg0 = r0;\n s.tmp_10.arg1 = inline__P10559;\n s.pc = 2; return s.tmp_10;\n case 2:\n r0 = s.retval;\n s.tmp_9 = r0;\n r0 = pxsim_Array__length(s.tmp_9);\n s.tmp_8 = r0;\n if ((s.tmp_8) && (s.tmp_8).vtable) {\n setupResume(s, 3);\n pxsim_String__stringConv(s.tmp_8);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_8) + ""; }\n case 3:\n r0 = s.retval;\n s.tmp_7 = r0;\n r0 = pxsim_String__concat(s.tmp_1, s.tmp_7);\n s.tmp_0 = r0;\n r0 = pxsim_String__concat(s.tmp_0, " filled");\n return leave(s, r0)\n default: oops()\n} } }\nsprites_SpriteMap_toString__P670.info = {"start":4629,"length":123,"line":126,"column":8,"endLine":128,"endColumn":9,"fileName":"pxt_modules/game/spritemap.ts","functionName":"toString","argumentNames":["this"]}\n\nfunction sprites_SpriteMap_toString__P670_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_SpriteMap_toString__P670, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P10559(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_numops_toBoolDecr(s.arg0);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\ninline__P10559.info = {"start":4716,"length":8,"line":127,"column":74,"endLine":127,"endColumn":82,"fileName":"pxt_modules/game/spritemap.ts","functionName":"inline","argumentNames":["b"]}\n\nfunction inline__P10559_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P10559, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction ArcadePhysicsEngine_moveSprite__P737(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tm___10594 = undefined;\n s.tileSize___10602 = undefined;\n s.ms___10614 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, ArcadePhysicsEngine__C727_VT)) failedCast(r0);\n r0 = s.arg1.fields["_x"];\n s.tmp_0 = r0;\n r0 = (s.arg1).fields["_lastX"] = (s.tmp_0);\n r0 = s.arg1.fields["_y"];\n s.tmp_0 = r0;\n r0 = (s.arg1).fields["_lastY"] = (s.tmp_0);\n s.tmp_0 = r0 = s.arg1;\n r0 = s.arg1.fields["_x"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.arg2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["_x"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg1;\n r0 = s.arg1.fields["_y"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.arg3);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["_y"] = (s.tmp_1);\n r0 = s.arg1.fields["flags"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 & globals.SPRITE_CANNOT_COLLIDE___718);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 9; continue; }\n s.tmp_4 = game_currentScene__P769_mk(s);\n s.pc = 12; return s.tmp_4;\n case 12:\n r0 = s.retval;\n r0 = r0.fields["tileMap"];\n s.tm___10594 = (r0);\n s.tmp_0 = r0 = s.tm___10594;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = s.tm___10594.fields["_map"];\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n s.tmp_3 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n case 2:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_5);\n s.tmp_7 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_7);\n s.tmp_6 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_6);\n if (!r0) { step = 3; continue; }\n { step = 11; continue; }\n case 3:\n case 4:\n r0 = s.tm___10594.fields["scale"];\n s.tmp_8 = r0;\n r0 = (1 << s.tmp_8);\n s.tileSize___10602 = (r0);\n s.tmp_2 = Math_abs__P59_mk(s);\n r0 = (s.arg2 + 128);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 >> 8);\n s.tmp_2.arg0 = r0;\n s.pc = 13; return s.tmp_2;\n case 13:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 < s.tileSize___10602);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 5; continue; }\n r0 = s.tmp_0;\n { step = 6; continue; }\n case 5:\n s.tmp_5 = Math_abs__P59_mk(s);\n r0 = (s.arg3 + 128);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 >> 8);\n s.tmp_5.arg0 = r0;\n s.pc = 14; return s.tmp_5;\n case 14:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = (s.tmp_4 < s.tileSize___10602);\n case 6:\n // jmp value (already in r0)\n s.tmp_7 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_7);\n if (!r0) { step = 7; continue; }\n r0 = pxsim_pxtcore_mkClassInstance(MovingSprite__C725_VT);\n s.tmp_8 = r0;\n s.tmp_9 = MovingSprite_constructor__P726_mk(s);\n s.tmp_9.arg0 = s.tmp_8;\n s.tmp_9.arg1 = s.arg1;\n r0 = s.arg1.fields["_vx"];\n s.tmp_9.arg2 = r0;\n r0 = s.arg1.fields["_vy"];\n s.tmp_9.arg3 = r0;\n s.tmp_9.arg4 = s.arg2;\n s.tmp_9.arg5 = s.arg3;\n s.tmp_9.arg6 = s.arg2;\n s.tmp_9.arg7 = s.arg3;\n s.pc = 15; return s.tmp_9;\n case 15:\n r0 = s.retval;\n s.ms___10614 = (s.tmp_8);\n s.tmp_0 = ArcadePhysicsEngine_tilemapCollisions__P735_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.ms___10614;\n s.tmp_0.arg2 = s.tm___10594;\n s.pc = 16; return s.tmp_0;\n case 16:\n r0 = s.retval;\n case 7:\n case 8:\n case 9:\n case 10:\n case 11:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nArcadePhysicsEngine_moveSprite__P737.info = {"start":16919,"length":892,"line":479,"column":4,"endLine":505,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"moveSprite","argumentNames":["this","s","dx","dy"]}\n\nfunction ArcadePhysicsEngine_moveSprite__P737_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: ArcadePhysicsEngine_moveSprite__P737, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tm___10594: undefined,\n tileSize___10602: undefined,\n ms___10614: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction ArcadePhysicsEngine_tilemapCollisions__P735(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.sprite___10632 = undefined;\n s.tileScale___10636 = undefined;\n s.tileSize___10640 = undefined;\n s.xDiff___10643 = undefined;\n s.yDiff___10649 = undefined;\n s.right___10657 = undefined;\n s.x0___10660 = undefined;\n s.collidedTiles___10675 = undefined;\n s.y___10677 = undefined;\n s.y0___10692 = undefined;\n s.obstacle___10708 = undefined;\n s.collisionDirection___10734 = undefined;\n s.tile___10760 = undefined;\n s.unnamed62___U13 = undefined;\n s.unnamed63___U14 = undefined;\n s.down___10826 = undefined;\n s.y0___10829 = undefined;\n s.collidedTiles___10844 = undefined;\n s.x___10846 = undefined;\n s.x0___10857 = undefined;\n s.obstacle___10871 = undefined;\n s.collisionDirection___10895 = undefined;\n s.tile___10921 = undefined;\n s.unnamed64___U23 = undefined;\n s.unnamed65___U24 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, ArcadePhysicsEngine__C727_VT)) failedCast(r0);\n r0 = s.arg1.fields["sprite"];\n s.sprite___10632 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.arg2);\n if (!r0) { step = 1; continue; }\n r0 = s.arg2.fields["scale"];\n { step = 2; continue; }\n case 1:\n r0 = 0;\n case 2:\n // jmp value (already in r0)\n s.tmp_0 = r0;\n s.tileScale___10636 = (s.tmp_0);\n r0 = pxsim_numops_toBoolDecr(s.arg2);\n if (!r0) { step = 3; continue; }\n r0 = (1 << s.tileScale___10636);\n { step = 4; continue; }\n case 3:\n r0 = 0;\n case 4:\n // jmp value (already in r0)\n s.tmp_0 = r0;\n s.tileSize___10640 = (s.tmp_0);\n r0 = s.sprite___10632.fields["_x"];\n s.tmp_0 = r0;\n r0 = s.sprite___10632.fields["_lastX"];\n s.tmp_1 = r0;\n r0 = (s.tmp_0 - s.tmp_1);\n s.xDiff___10643 = (r0);\n r0 = s.sprite___10632.fields["_y"];\n s.tmp_0 = r0;\n r0 = s.sprite___10632.fields["_lastY"];\n s.tmp_1 = r0;\n r0 = (s.tmp_0 - s.tmp_1);\n s.yDiff___10649 = (r0);\n r0 = (s.xDiff___10643 !== globals.zeroFx8___79);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 37; continue; }\n r0 = (s.xDiff___10643 > globals.zeroFx8___79);\n s.right___10657 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.right___10657);\n if (!r0) { step = 5; continue; }\n s.tmp_1 = game_Hitbox_right__P596_mk(s);\n r0 = s.sprite___10632.fields["_hitbox"];\n s.tmp_1.arg0 = r0;\n s.pc = 73; return s.tmp_1;\n case 73:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = (1 << 8);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.tmp_0);\n { step = 6; continue; }\n case 5:\n s.tmp_4 = game_Hitbox_left__P594_mk(s);\n r0 = s.sprite___10632.fields["_hitbox"];\n s.tmp_4.arg0 = r0;\n s.pc = 74; return s.tmp_4;\n case 74:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (-1 << 8);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 + s.tmp_3);\n case 6:\n // jmp value (already in r0)\n s.tmp_6 = r0;\n r0 = (s.tmp_6 + globals.oneHalfFx8___80);\n s.tmp_7 = r0;\n r0 = (s.tileScale___10636 + 8);\n s.tmp_8 = r0;\n r0 = (s.tmp_7 >> s.tmp_8);\n s.x0___10660 = (r0);\n r0 = pxsim_Array__mk();\n s.collidedTiles___10675 = (r0);\n s.tmp_1 = game_Hitbox_top__P595_mk(s);\n r0 = s.sprite___10632.fields["_hitbox"];\n s.tmp_1.arg0 = r0;\n s.pc = 75; return s.tmp_1;\n case 75:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = (s.tmp_0 - s.yDiff___10649);\n s.y___10677 = (r0);\n case 7:\n s.tmp_1 = r0 = s.y___10677;\n s.tmp_3 = r0 = s.tileSize___10640;\n s.tmp_6 = game_Hitbox_bottom__P597_mk(s);\n r0 = s.sprite___10632.fields["_hitbox"];\n s.tmp_6.arg0 = r0;\n s.pc = 76; return s.tmp_6;\n case 76:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = (s.tmp_5 - s.yDiff___10649);\n s.tmp_4 = r0;\n r0 = (s.tmp_3 << 8);\n s.tmp_7 = r0;\n r0 = (s.tmp_7 + s.tmp_4);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 12; continue; }\n s.tmp_10 = Fx_min__P94_mk(s);\n s.tmp_10.arg0 = s.y___10677;\n s.tmp_12 = game_Hitbox_bottom__P597_mk(s);\n r0 = s.sprite___10632.fields["_hitbox"];\n s.tmp_12.arg0 = r0;\n s.pc = 78; return s.tmp_12;\n case 78:\n r0 = s.retval;\n s.tmp_11 = r0;\n r0 = (s.tmp_11 - s.yDiff___10649);\n s.tmp_10.arg1 = r0;\n s.pc = 77; return s.tmp_10;\n case 77:\n r0 = s.retval;\n s.tmp_9 = r0;\n r0 = (s.tmp_9 + globals.oneHalfFx8___80);\n s.tmp_8 = r0;\n r0 = (s.tileScale___10636 + 8);\n s.tmp_13 = r0;\n r0 = (s.tmp_8 >> s.tmp_13);\n s.y0___10692 = (r0);\n s.tmp_1 = tiles_TileMap_isObstacle__P883_mk(s);\n s.tmp_1.arg0 = s.arg2;\n s.tmp_1.arg1 = s.x0___10660;\n s.tmp_1.arg2 = s.y0___10692;\n s.pc = 79; return s.tmp_1;\n case 79:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 10; continue; }\n s.tmp_2 = tiles_TileMap_getObstacle__P884_mk(s);\n s.tmp_2.arg0 = s.arg2;\n s.tmp_2.arg1 = s.x0___10660;\n s.tmp_2.arg2 = s.y0___10692;\n s.pc = 80; return s.tmp_2;\n case 80:\n r0 = s.retval;\n s.obstacle___10708 = (r0);\n r0 = pxsim_pxtcore_mkAction(1, inline__P10717);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.obstacle___10708);\n s.tmp_4 = helpers_arraySome__P45_mk(s);\n s.tmp_4.arg0 = s.collidedTiles___10675;\n s.tmp_4.arg1 = s.tmp_0;\n s.pc = 81; return s.tmp_4;\n case 81:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 8; continue; }\n r0 = pxsim_Array__push(s.collidedTiles___10675, s.obstacle___10708);\n case 8:\n case 9:\n case 10:\n case 11:\n r0 = (s.tileSize___10640 << 8);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 + s.y___10677);\n s.y___10677 = (r0);\n { step = 7; continue; }\n case 12:\n r0 = pxsim_Array__length(s.collidedTiles___10675);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 35; continue; }\n r0 = pxsim_numops_toBoolDecr(s.right___10657);\n if (!r0) { step = 13; continue; }\n r0 = 2;\n { step = 14; continue; }\n case 13:\n r0 = 0;\n case 14:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n s.collisionDirection___10734 = (s.tmp_1);\n r0 = pxsim_numops_toBoolDecr(s.right___10657);\n if (!r0) { step = 15; continue; }\n r0 = (s.x0___10660 << s.tileScale___10636);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 * 256);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_0 = r0;\n r0 = s.sprite___10632.fields["_hitbox"];\n r0 = r0.fields["width"];\n s.tmp_4 = r0;\n r0 = (s.tmp_4 * 256);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 | 0);\n s.tmp_3 = r0;\n r0 = (s.tmp_0 - s.tmp_3);\n { step = 16; continue; }\n case 15:\n r0 = (s.x0___10660 + 1);\n s.tmp_7 = r0;\n r0 = (s.tmp_7 << s.tileScale___10636);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 * 256);\n s.tmp_8 = r0;\n r0 = (s.tmp_8 | 0);\n case 16:\n // jmp value (already in r0)\n s.tmp_9 = r0;\n s.tmp_10 = r0 = s.sprite___10632;\n r0 = s.sprite___10632.fields["_hitbox"];\n r0 = r0.fields["ox"];\n s.tmp_13 = r0;\n r0 = (0 - s.tmp_13);\n s.tmp_12 = r0;\n r0 = (s.tmp_12 << 8);\n s.tmp_14 = r0;\n r0 = (s.tmp_14 + s.tmp_9);\n s.tmp_11 = r0;\n r0 = (s.tmp_10).fields["_x"] = (s.tmp_11);\n s.tile___10760 = (undefined);\n s.tile___10760 = (undefined);\n s.unnamed62___U13 = (s.collidedTiles___10675);\n s.unnamed63___U14 = (0);\n case 17:\n s.tmp_0 = r0 = s.unnamed63___U14;\n r0 = pxsim_Array__length(s.unnamed62___U13);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 18; continue; }\n r0 = pxsim_Array__getAt(s.unnamed62___U13, s.unnamed63___U14);\n s.tile___10760 = (r0);\n s.tmp_2 = Sprite_registerObstacle__P651_mk(s);\n s.tmp_2.arg0 = s.sprite___10632;\n s.tmp_2.arg1 = s.collisionDirection___10734;\n s.tmp_2.arg2 = s.tile___10760;\n s.pc = 82; return s.tmp_2;\n case 82:\n r0 = s.retval;\n r0 = (s.unnamed63___U14 + 1);\n s.unnamed63___U14 = (r0);\n { step = 17; continue; }\n case 18:\n s.unnamed62___U13 = (undefined);\n r0 = s.sprite___10632.fields["flags"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 & 16);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 19; continue; }\n s.tmp_2 = Sprite_destroy__P653_mk(s);\n s.tmp_2.arg0 = s.sprite___10632;\n s.tmp_2.arg1 = undefined;\n s.tmp_2.arg2 = undefined;\n s.pc = 83; return s.tmp_2;\n case 83:\n r0 = s.retval;\n { step = 34; continue; }\n case 19:\n r0 = s.sprite___10632.fields["_vx"];\n s.tmp_1 = r0;\n r0 = s.arg1.fields["cachedVx"];\n s.tmp_2 = r0;\n r0 = (s.tmp_1 === s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 30; continue; }\n r0 = s.sprite___10632.fields["flags"];\n s.tmp_4 = r0;\n r0 = (s.tmp_4 & 32);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 28; continue; }\n r0 = pxsim_numops_toBoolDecr(s.right___10657);\n s.tmp_6 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_6);\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBool(s.tmp_5);\n if (r0) { step = 20; continue; }\n r0 = s.tmp_5;\n { step = 21; continue; }\n case 20:\n s.tmp_8 = Sprite_vx__P613_mk(s);\n s.tmp_8.arg0 = s.sprite___10632;\n s.pc = 84; return s.tmp_8;\n case 84:\n r0 = s.retval;\n s.tmp_7 = r0;\n r0 = (s.tmp_7 < 0);\n case 21:\n // jmp value (already in r0)\n s.tmp_9 = r0;\n r0 = pxsim_numops_toBool(s.tmp_9);\n if (!r0) { step = 22; continue; }\n r0 = s.tmp_9;\n { step = 25; continue; }\n case 22:\n s.tmp_10 = r0 = s.right___10657;\n r0 = pxsim_numops_toBool(s.tmp_10);\n if (r0) { step = 23; continue; }\n r0 = s.tmp_10;\n { step = 24; continue; }\n case 23:\n s.tmp_12 = Sprite_vx__P613_mk(s);\n s.tmp_12.arg0 = s.sprite___10632;\n s.pc = 85; return s.tmp_12;\n case 85:\n r0 = s.retval;\n s.tmp_11 = r0;\n r0 = (s.tmp_11 > 0);\n case 24:\n // jmp value (already in r0)\n s.tmp_13 = r0;\n r0 = s.tmp_13;\n case 25:\n // jmp value (already in r0)\n s.tmp_14 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_14);\n if (!r0) { step = 26; continue; }\n s.tmp_15 = r0 = s.sprite___10632;\n r0 = s.sprite___10632.fields["_vx"];\n s.tmp_17 = r0;\n r0 = (0 - s.tmp_17);\n s.tmp_16 = r0;\n r0 = (s.tmp_15).fields["_vx"] = (s.tmp_16);\n s.tmp_0 = r0 = s.arg1;\n r0 = s.arg1.fields["xStep"];\n s.tmp_2 = r0;\n r0 = (0 - s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["xStep"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg1;\n r0 = s.arg1.fields["dx"];\n s.tmp_2 = r0;\n r0 = (0 - s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["dx"] = (s.tmp_1);\n case 26:\n case 27:\n { step = 29; continue; }\n case 28:\n r0 = (s.arg1).fields["dx"] = (globals.zeroFx8___79);\n r0 = (s.sprite___10632).fields["_vx"] = (globals.zeroFx8___79);\n case 29:\n { step = 33; continue; }\n case 30:\n s.tmp_2 = Math_sign__P60_mk(s);\n r0 = s.sprite___10632.fields["_vx"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 + 128);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 >> 8);\n s.tmp_2.arg0 = r0;\n s.pc = 86; return s.tmp_2;\n case 86:\n r0 = s.retval;\n s.tmp_1 = r0;\n s.tmp_6 = Math_sign__P60_mk(s);\n r0 = s.arg1.fields["cachedVx"];\n s.tmp_7 = r0;\n r0 = (s.tmp_7 + 128);\n s.tmp_8 = r0;\n r0 = (s.tmp_8 >> 8);\n s.tmp_6.arg0 = r0;\n s.pc = 87; return s.tmp_6;\n case 87:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = (s.tmp_1 === s.tmp_5);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 31; continue; }\n r0 = (s.arg1).fields["dx"] = (globals.zeroFx8___79);\n case 31:\n case 32:\n case 33:\n case 34:\n case 35:\n case 36:\n case 37:\n case 38:\n r0 = (s.yDiff___10649 !== globals.zeroFx8___79);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 71; continue; }\n r0 = (s.yDiff___10649 > globals.zeroFx8___79);\n s.down___10826 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.down___10826);\n if (!r0) { step = 39; continue; }\n s.tmp_1 = game_Hitbox_bottom__P597_mk(s);\n r0 = s.sprite___10632.fields["_hitbox"];\n s.tmp_1.arg0 = r0;\n s.pc = 88; return s.tmp_1;\n case 88:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = (1 << 8);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.tmp_0);\n { step = 40; continue; }\n case 39:\n s.tmp_4 = game_Hitbox_top__P595_mk(s);\n r0 = s.sprite___10632.fields["_hitbox"];\n s.tmp_4.arg0 = r0;\n s.pc = 89; return s.tmp_4;\n case 89:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (-1 << 8);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 + s.tmp_3);\n case 40:\n // jmp value (already in r0)\n s.tmp_6 = r0;\n r0 = (s.tmp_6 + globals.oneHalfFx8___80);\n s.tmp_7 = r0;\n r0 = (s.tileScale___10636 + 8);\n s.tmp_8 = r0;\n r0 = (s.tmp_7 >> s.tmp_8);\n s.y0___10829 = (r0);\n r0 = pxsim_Array__mk();\n s.collidedTiles___10844 = (r0);\n s.tmp_0 = game_Hitbox_left__P594_mk(s);\n r0 = s.sprite___10632.fields["_hitbox"];\n s.tmp_0.arg0 = r0;\n s.pc = 90; return s.tmp_0;\n case 90:\n r0 = s.retval;\n s.x___10846 = (r0);\n case 41:\n s.tmp_1 = r0 = s.x___10846;\n s.tmp_3 = r0 = s.tileSize___10640;\n s.tmp_5 = game_Hitbox_right__P596_mk(s);\n r0 = s.sprite___10632.fields["_hitbox"];\n s.tmp_5.arg0 = r0;\n s.pc = 91; return s.tmp_5;\n case 91:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = (s.tmp_3 << 8);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 + s.tmp_4);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 46; continue; }\n s.tmp_9 = Fx_min__P94_mk(s);\n s.tmp_9.arg0 = s.x___10846;\n s.tmp_10 = game_Hitbox_right__P596_mk(s);\n r0 = s.sprite___10632.fields["_hitbox"];\n s.tmp_10.arg0 = r0;\n s.pc = 93; return s.tmp_10;\n case 93:\n r0 = s.retval;\n s.tmp_9.arg1 = r0;\n s.pc = 92; return s.tmp_9;\n case 92:\n r0 = s.retval;\n s.tmp_8 = r0;\n r0 = (s.tmp_8 + globals.oneHalfFx8___80);\n s.tmp_7 = r0;\n r0 = (s.tileScale___10636 + 8);\n s.tmp_11 = r0;\n r0 = (s.tmp_7 >> s.tmp_11);\n s.x0___10857 = (r0);\n s.tmp_1 = tiles_TileMap_isObstacle__P883_mk(s);\n s.tmp_1.arg0 = s.arg2;\n s.tmp_1.arg1 = s.x0___10857;\n s.tmp_1.arg2 = s.y0___10829;\n s.pc = 94; return s.tmp_1;\n case 94:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 44; continue; }\n s.tmp_2 = tiles_TileMap_getObstacle__P884_mk(s);\n s.tmp_2.arg0 = s.arg2;\n s.tmp_2.arg1 = s.x0___10857;\n s.tmp_2.arg2 = s.y0___10829;\n s.pc = 95; return s.tmp_2;\n case 95:\n r0 = s.retval;\n s.obstacle___10871 = (r0);\n r0 = pxsim_pxtcore_mkAction(1, inline__P10879);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.obstacle___10871);\n s.tmp_4 = helpers_arraySome__P45_mk(s);\n s.tmp_4.arg0 = s.collidedTiles___10844;\n s.tmp_4.arg1 = s.tmp_0;\n s.pc = 96; return s.tmp_4;\n case 96:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 42; continue; }\n r0 = pxsim_Array__push(s.collidedTiles___10844, s.obstacle___10871);\n case 42:\n case 43:\n case 44:\n case 45:\n r0 = (s.tileSize___10640 << 8);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 + s.x___10846);\n s.x___10846 = (r0);\n { step = 41; continue; }\n case 46:\n r0 = pxsim_Array__length(s.collidedTiles___10844);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 69; continue; }\n r0 = pxsim_numops_toBoolDecr(s.down___10826);\n if (!r0) { step = 47; continue; }\n r0 = 3;\n { step = 48; continue; }\n case 47:\n r0 = 1;\n case 48:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n s.collisionDirection___10895 = (s.tmp_1);\n r0 = pxsim_numops_toBoolDecr(s.down___10826);\n if (!r0) { step = 49; continue; }\n r0 = (s.y0___10829 << s.tileScale___10636);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 * 256);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_0 = r0;\n r0 = s.sprite___10632.fields["_hitbox"];\n r0 = r0.fields["height"];\n s.tmp_4 = r0;\n r0 = (s.tmp_4 * 256);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 | 0);\n s.tmp_3 = r0;\n r0 = (s.tmp_0 - s.tmp_3);\n { step = 50; continue; }\n case 49:\n r0 = (s.y0___10829 + 1);\n s.tmp_7 = r0;\n r0 = (s.tmp_7 << s.tileScale___10636);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 * 256);\n s.tmp_8 = r0;\n r0 = (s.tmp_8 | 0);\n case 50:\n // jmp value (already in r0)\n s.tmp_9 = r0;\n s.tmp_10 = r0 = s.sprite___10632;\n r0 = s.sprite___10632.fields["_hitbox"];\n r0 = r0.fields["oy"];\n s.tmp_13 = r0;\n r0 = (0 - s.tmp_13);\n s.tmp_12 = r0;\n r0 = (s.tmp_12 << 8);\n s.tmp_14 = r0;\n r0 = (s.tmp_14 + s.tmp_9);\n s.tmp_11 = r0;\n r0 = (s.tmp_10).fields["_y"] = (s.tmp_11);\n s.tile___10921 = (undefined);\n s.tile___10921 = (undefined);\n s.unnamed64___U23 = (s.collidedTiles___10844);\n s.unnamed65___U24 = (0);\n case 51:\n s.tmp_0 = r0 = s.unnamed65___U24;\n r0 = pxsim_Array__length(s.unnamed64___U23);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 52; continue; }\n r0 = pxsim_Array__getAt(s.unnamed64___U23, s.unnamed65___U24);\n s.tile___10921 = (r0);\n s.tmp_2 = Sprite_registerObstacle__P651_mk(s);\n s.tmp_2.arg0 = s.sprite___10632;\n s.tmp_2.arg1 = s.collisionDirection___10895;\n s.tmp_2.arg2 = s.tile___10921;\n s.pc = 97; return s.tmp_2;\n case 97:\n r0 = s.retval;\n r0 = (s.unnamed65___U24 + 1);\n s.unnamed65___U24 = (r0);\n { step = 51; continue; }\n case 52:\n s.unnamed64___U23 = (undefined);\n r0 = s.sprite___10632.fields["flags"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 & 16);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 53; continue; }\n s.tmp_2 = Sprite_destroy__P653_mk(s);\n s.tmp_2.arg0 = s.sprite___10632;\n s.tmp_2.arg1 = undefined;\n s.tmp_2.arg2 = undefined;\n s.pc = 98; return s.tmp_2;\n case 98:\n r0 = s.retval;\n { step = 68; continue; }\n case 53:\n r0 = s.sprite___10632.fields["_vy"];\n s.tmp_1 = r0;\n r0 = s.arg1.fields["cachedVy"];\n s.tmp_2 = r0;\n r0 = (s.tmp_1 === s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 64; continue; }\n r0 = s.sprite___10632.fields["flags"];\n s.tmp_4 = r0;\n r0 = (s.tmp_4 & 32);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 62; continue; }\n r0 = pxsim_numops_toBoolDecr(s.down___10826);\n s.tmp_6 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_6);\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBool(s.tmp_5);\n if (r0) { step = 54; continue; }\n r0 = s.tmp_5;\n { step = 55; continue; }\n case 54:\n s.tmp_8 = Sprite_vy__P615_mk(s);\n s.tmp_8.arg0 = s.sprite___10632;\n s.pc = 99; return s.tmp_8;\n case 99:\n r0 = s.retval;\n s.tmp_7 = r0;\n r0 = (s.tmp_7 < 0);\n case 55:\n // jmp value (already in r0)\n s.tmp_9 = r0;\n r0 = pxsim_numops_toBool(s.tmp_9);\n if (!r0) { step = 56; continue; }\n r0 = s.tmp_9;\n { step = 59; continue; }\n case 56:\n s.tmp_10 = r0 = s.down___10826;\n r0 = pxsim_numops_toBool(s.tmp_10);\n if (r0) { step = 57; continue; }\n r0 = s.tmp_10;\n { step = 58; continue; }\n case 57:\n s.tmp_12 = Sprite_vy__P615_mk(s);\n s.tmp_12.arg0 = s.sprite___10632;\n s.pc = 100; return s.tmp_12;\n case 100:\n r0 = s.retval;\n s.tmp_11 = r0;\n r0 = (s.tmp_11 > 0);\n case 58:\n // jmp value (already in r0)\n s.tmp_13 = r0;\n r0 = s.tmp_13;\n case 59:\n // jmp value (already in r0)\n s.tmp_14 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_14);\n if (!r0) { step = 60; continue; }\n s.tmp_15 = r0 = s.sprite___10632;\n r0 = s.sprite___10632.fields["_vy"];\n s.tmp_17 = r0;\n r0 = (0 - s.tmp_17);\n s.tmp_16 = r0;\n r0 = (s.tmp_15).fields["_vy"] = (s.tmp_16);\n s.tmp_0 = r0 = s.arg1;\n r0 = s.arg1.fields["yStep"];\n s.tmp_2 = r0;\n r0 = (0 - s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["yStep"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg1;\n r0 = s.arg1.fields["dy"];\n s.tmp_2 = r0;\n r0 = (0 - s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["dy"] = (s.tmp_1);\n case 60:\n case 61:\n { step = 63; continue; }\n case 62:\n r0 = (s.arg1).fields["dy"] = (globals.zeroFx8___79);\n r0 = (s.sprite___10632).fields["_vy"] = (globals.zeroFx8___79);\n case 63:\n { step = 67; continue; }\n case 64:\n s.tmp_2 = Math_sign__P60_mk(s);\n r0 = s.sprite___10632.fields["_vy"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 + 128);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 >> 8);\n s.tmp_2.arg0 = r0;\n s.pc = 101; return s.tmp_2;\n case 101:\n r0 = s.retval;\n s.tmp_1 = r0;\n s.tmp_6 = Math_sign__P60_mk(s);\n r0 = s.arg1.fields["cachedVy"];\n s.tmp_7 = r0;\n r0 = (s.tmp_7 + 128);\n s.tmp_8 = r0;\n r0 = (s.tmp_8 >> 8);\n s.tmp_6.arg0 = r0;\n s.pc = 102; return s.tmp_6;\n case 102:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = (s.tmp_1 === s.tmp_5);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 65; continue; }\n r0 = (s.arg1).fields["dy"] = (globals.zeroFx8___79);\n case 65:\n case 66:\n case 67:\n case 68:\n case 69:\n case 70:\n case 71:\n case 72:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nArcadePhysicsEngine_tilemapCollisions__P735.info = {"start":9627,"length":6961,"line":292,"column":4,"endLine":467,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"tilemapCollisions","argumentNames":["this","movingSprite","tm"]}\n\nfunction ArcadePhysicsEngine_tilemapCollisions__P735_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: ArcadePhysicsEngine_tilemapCollisions__P735, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n tmp_12: undefined,\n tmp_13: undefined,\n tmp_14: undefined,\n tmp_15: undefined,\n tmp_16: undefined,\n tmp_17: undefined,\n sprite___10632: undefined,\n tileScale___10636: undefined,\n tileSize___10640: undefined,\n xDiff___10643: undefined,\n yDiff___10649: undefined,\n right___10657: undefined,\n x0___10660: undefined,\n collidedTiles___10675: undefined,\n y___10677: undefined,\n y0___10692: undefined,\n obstacle___10708: undefined,\n collisionDirection___10734: undefined,\n tile___10760: undefined,\n unnamed62___U13: undefined,\n unnamed63___U14: undefined,\n down___10826: undefined,\n y0___10829: undefined,\n collidedTiles___10844: undefined,\n x___10846: undefined,\n x0___10857: undefined,\n obstacle___10871: undefined,\n collisionDirection___10895: undefined,\n tile___10921: undefined,\n unnamed64___U23: undefined,\n unnamed65___U24: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction inline__P10717(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0.fields["tileIndex"];\n s.tmp_0 = r0;\n r0 = s.caps[0].fields["tileIndex"];\n s.tmp_1 = r0;\n r0 = (s.tmp_0 === s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\ninline__P10717.info = {"start":11372,"length":39,"line":343,"column":44,"endLine":343,"endColumn":83,"fileName":"pxt_modules/game/physics.ts","functionName":"inline","argumentNames":["o"]}\n\nfunction inline__P10717_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P10717, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P10879(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0.fields["tileIndex"];\n s.tmp_0 = r0;\n r0 = s.caps[0].fields["tileIndex"];\n s.tmp_1 = r0;\n r0 = (s.tmp_0 === s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\ninline__P10879.info = {"start":14581,"length":39,"line":422,"column":44,"endLine":422,"endColumn":83,"fileName":"pxt_modules/game/physics.ts","functionName":"inline","argumentNames":["o"]}\n\nfunction inline__P10879_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P10879, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction tiles_TileMap_getObstacle__P884(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.index___11030 = undefined;\n s.tile___11040 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, tiles_TileMap__C865_VT)) failedCast(r0);\n s.tmp_1 = tiles_TileMap_isOutsideMap__P880_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.tmp_1.arg1 = s.arg1;\n s.tmp_1.arg2 = s.arg2;\n s.pc = 5; return s.tmp_1;\n case 5:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = 0;\n { step = 2; continue; }\n case 1:\n r0 = s.arg0.fields["_map"];\n s.tmp_2 = r0;\n r0 = pxsim_ImageMethods.getPixel(s.tmp_2, s.arg1, s.arg2);\n case 2:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n s.index___11030 = (s.tmp_3);\n r0 = s.arg0.fields["_tileSets"];\n s.tmp_1 = r0;\n r0 = pxsim_Array__getAt(s.tmp_1, s.index___11030);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = s.tmp_0;\n { step = 4; continue; }\n case 3:\n s.tmp_2 = tiles_TileMap_generateTile__P879_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.tmp_2.arg1 = s.index___11030;\n s.pc = 6; return s.tmp_2;\n case 6:\n r0 = s.retval;\n case 4:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n s.tile___11040 = (s.tmp_3);\n r0 = pxsim_pxtcore_mkClassInstance(sprites_StaticObstacle__C700_VT);\n s.tmp_0 = r0;\n s.tmp_1 = sprites_StaticObstacle_constructor__P707_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_2 = tiles_TileSet_image__P857_mk(s);\n s.tmp_2.arg0 = s.tile___11040;\n s.pc = 8; return s.tmp_2;\n case 8:\n r0 = s.retval;\n s.tmp_1.arg1 = r0;\n r0 = s.arg0.fields["scale"];\n s.tmp_3 = r0;\n r0 = (s.arg2 << s.tmp_3);\n s.tmp_1.arg2 = r0;\n r0 = s.arg0.fields["scale"];\n s.tmp_4 = r0;\n r0 = (s.arg1 << s.tmp_4);\n s.tmp_1.arg3 = r0;\n r0 = s.arg0.fields["_layer"];\n s.tmp_1.arg4 = r0;\n s.tmp_1.arg5 = s.index___11030;\n s.pc = 7; return s.tmp_1;\n case 7:\n r0 = s.retval;\n r0 = s.tmp_0;\n return leave(s, r0)\n default: oops()\n} } }\ntiles_TileMap_getObstacle__P884.info = {"start":7866,"length":432,"line":248,"column":8,"endLine":258,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"getObstacle","argumentNames":["this","col","row"]}\n\nfunction tiles_TileMap_getObstacle__P884_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: tiles_TileMap_getObstacle__P884, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n index___11030: undefined,\n tile___11040: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction tiles_TileMap_isOutsideMap__P880(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, tiles_TileMap__C865_VT)) failedCast(r0);\n r0 = s.arg0.fields["_map"];\n s.tmp_6 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_6);\n s.tmp_5 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_5);\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n s.tmp_3 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = (s.arg1 < 0);\n case 2:\n // jmp value (already in r0)\n s.tmp_7 = r0;\n r0 = pxsim_numops_toBool(s.tmp_7);\n if (!r0) { step = 3; continue; }\n r0 = s.tmp_7;\n { step = 4; continue; }\n case 3:\n s.tmp_8 = r0 = s.arg1;\n r0 = s.arg0.fields["_map"];\n s.tmp_10 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_10);\n s.tmp_9 = r0;\n r0 = (s.tmp_8 >= s.tmp_9);\n case 4:\n // jmp value (already in r0)\n s.tmp_11 = r0;\n r0 = pxsim_numops_toBool(s.tmp_11);\n if (!r0) { step = 5; continue; }\n r0 = s.tmp_11;\n { step = 6; continue; }\n case 5:\n r0 = (s.arg2 < 0);\n case 6:\n // jmp value (already in r0)\n s.tmp_12 = r0;\n r0 = pxsim_numops_toBool(s.tmp_12);\n if (!r0) { step = 7; continue; }\n r0 = s.tmp_12;\n { step = 8; continue; }\n case 7:\n s.tmp_13 = r0 = s.arg2;\n r0 = s.arg0.fields["_map"];\n s.tmp_15 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_15);\n s.tmp_14 = r0;\n r0 = (s.tmp_13 >= s.tmp_14);\n case 8:\n // jmp value (already in r0)\n s.tmp_16 = r0;\n r0 = s.tmp_16;\n return leave(s, r0)\n default: oops()\n} } }\ntiles_TileMap_isOutsideMap__P880.info = {"start":5019,"length":192,"line":174,"column":8,"endLine":177,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"isOutsideMap","argumentNames":["this","col","row"]}\n\nfunction tiles_TileMap_isOutsideMap__P880_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: tiles_TileMap_isOutsideMap__P880, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n tmp_12: undefined,\n tmp_13: undefined,\n tmp_14: undefined,\n tmp_15: undefined,\n tmp_16: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction tiles_TileMap_layer__P871(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, tiles_TileMap__C865_VT)) failedCast(r0);\n r0 = s.arg0.fields["_layer"];\n return leave(s, r0)\n default: oops()\n} } }\ntiles_TileMap_layer__P871.info = {"start":3319,"length":63,"line":119,"column":8,"endLine":121,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"layer","argumentNames":["this"]}\n\nfunction tiles_TileMap_layer__P871_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: tiles_TileMap_layer__P871, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction sprites_StaticObstacle_constructor__P707(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.arg5 = (s.lambdaArgs[5]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_StaticObstacle__C700_VT)) failedCast(r0);\n r0 = (s.arg0).fields["image"] = (s.arg1);\n r0 = (s.arg0).fields["layer"] = (s.arg4);\n r0 = (s.arg0).fields["top"] = (s.arg2);\n r0 = (s.arg0).fields["left"] = (s.arg3);\n r0 = (s.arg0).fields["tileIndex"] = (s.arg5);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_StaticObstacle_constructor__P707.info = {"start":563,"length":261,"line":28,"column":8,"endLine":34,"endColumn":9,"fileName":"pxt_modules/game/obstacle.ts","functionName":"inline","argumentNames":["this","image","top","left","layer","tileIndex"]}\n\nfunction sprites_StaticObstacle_constructor__P707_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_StaticObstacle_constructor__P707, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n arg5: undefined,\n} }\n\n\n\n\n\nfunction tiles_TileMap_isObstacle__P883(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.t___11196 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, tiles_TileMap__C865_VT)) failedCast(r0);\n r0 = s.arg0.fields["_map"];\n s.tmp_6 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_6);\n s.tmp_5 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_5);\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n s.tmp_3 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = false;\n { step = 7; continue; }\n case 1:\n case 2:\n s.tmp_8 = tiles_TileMap_isOutsideMap__P880_mk(s);\n s.tmp_8.arg0 = s.arg0;\n s.tmp_8.arg1 = s.arg1;\n s.tmp_8.arg2 = s.arg2;\n s.pc = 8; return s.tmp_8;\n case 8:\n r0 = s.retval;\n s.tmp_7 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_7);\n if (!r0) { step = 3; continue; }\n r0 = true;\n { step = 7; continue; }\n case 3:\n case 4:\n r0 = s.arg0.fields["_tileSets"];\n s.tmp_9 = r0;\n r0 = s.arg0.fields["_map"];\n s.tmp_11 = r0;\n r0 = pxsim_ImageMethods.getPixel(s.tmp_11, s.arg1, s.arg2);\n s.tmp_10 = r0;\n r0 = pxsim_Array__getAt(s.tmp_9, s.tmp_10);\n s.t___11196 = (r0);\n s.tmp_0 = r0 = s.t___11196;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 5; continue; }\n r0 = s.tmp_0;\n { step = 6; continue; }\n case 5:\n r0 = s.t___11196.fields["obstacle"];\n case 6:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = s.tmp_1;\n case 7:\n return leave(s, r0)\n default: oops()\n} } }\ntiles_TileMap_isObstacle__P883.info = {"start":7595,"length":261,"line":240,"column":8,"endLine":246,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"isObstacle","argumentNames":["this","col","row"]}\n\nfunction tiles_TileMap_isObstacle__P883_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: tiles_TileMap_isObstacle__P883, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n t___11196: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction Sprite_registerObstacle__P651(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.collisionHandlers___10992 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields["_obstacles"];\n s.tmp_0 = r0;\n r0 = pxsim_Array_.setAt(s.tmp_0, s.arg1, s.arg2);\n s.tmp_1 = game_currentScene__P769_mk(s);\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n r0 = r0.fields["collisionHandlers"];\n s.tmp_0 = r0;\n s.tmp_3 = if_tileIndex_1_mk(s);\n s.tmp_3.arg0 = s.arg2;\n if (!s.tmp_3.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, "tileIndex");\n } else {\n s.tmp_3.fn = s.tmp_3.arg0.vtable.iface["tileIndex"];\n if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields["tileIndex"]; }\n else { s.pc = 4; return s.tmp_3; }\n }\n case 4:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = pxsim_Array__getAt(s.tmp_0, s.tmp_2);\n s.collisionHandlers___10992 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.collisionHandlers___10992);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_pxtcore_mkAction(1, inline__P11003);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n r0 = pxsim_pxtcore_mkAction(1, inline__P11008);\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_1, 0, s.arg0);\n s.tmp_2 = helpers_arrayForEach__P47_mk(s);\n s.tmp_3 = helpers_arrayFilter__P48_mk(s);\n s.tmp_3.arg0 = s.collisionHandlers___10992;\n s.tmp_3.arg1 = s.tmp_0;\n s.pc = 6; return s.tmp_3;\n case 6:\n r0 = s.retval;\n s.tmp_2.arg0 = r0;\n s.tmp_2.arg1 = s.tmp_1;\n s.pc = 5; return s.tmp_2;\n case 5:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_registerObstacle__P651.info = {"start":23704,"length":388,"line":722,"column":4,"endLine":731,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"registerObstacle","argumentNames":["this","direction","other"]}\n\nfunction Sprite_registerObstacle__P651_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_registerObstacle__P651, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n collisionHandlers___10992: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction inline__P11003(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0.fields["kind"];\n s.tmp_0 = r0;\n r0 = s.caps[0].fields["_kind"];\n s.tmp_1 = r0;\n r0 = (s.tmp_0 == s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\ninline__P11003.info = {"start":24001,"length":26,"line":728,"column":24,"endLine":728,"endColumn":50,"fileName":"pxt_modules/game/sprite.ts","functionName":"inline","argumentNames":["h"]}\n\nfunction inline__P11003_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P11003, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P11008(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = lambda_2_mk(s);\n r0 = s.arg0.fields["handler"];\n s.tmp_0.argL = r0;\n s.tmp_0.arg0 = s.caps[0];\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P11008.info = {"start":24054,"length":20,"line":729,"column":25,"endLine":729,"endColumn":45,"fileName":"pxt_modules/game/sprite.ts","functionName":"inline","argumentNames":["h"]}\n\nfunction inline__P11008_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P11008, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_Hitbox_bottom__P597(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_Hitbox__C593_VT)) failedCast(r0);\n r0 = s.arg0.fields["height"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - 1);\n s.tmp_0 = r0;\n s.tmp_3 = game_Hitbox_top__P595_mk(s);\n s.tmp_3.arg0 = s.arg0;\n s.pc = 1; return s.tmp_3;\n case 1:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (s.tmp_0 << 8);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 + s.tmp_2);\n return leave(s, r0)\n default: oops()\n} } }\ngame_Hitbox_bottom__P597.info = {"start":673,"length":78,"line":28,"column":8,"endLine":30,"endColumn":9,"fileName":"pxt_modules/game/hitbox.ts","functionName":"bottom","argumentNames":["this"]}\n\nfunction game_Hitbox_bottom__P597_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_Hitbox_bottom__P597, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_Hitbox_right__P596(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_Hitbox__C593_VT)) failedCast(r0);\n r0 = s.arg0.fields["width"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - 1);\n s.tmp_0 = r0;\n s.tmp_3 = game_Hitbox_left__P594_mk(s);\n s.tmp_3.arg0 = s.arg0;\n s.pc = 1; return s.tmp_3;\n case 1:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (s.tmp_0 << 8);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 + s.tmp_2);\n return leave(s, r0)\n default: oops()\n} } }\ngame_Hitbox_right__P596.info = {"start":586,"length":77,"line":24,"column":8,"endLine":26,"endColumn":9,"fileName":"pxt_modules/game/hitbox.ts","functionName":"right","argumentNames":["this"]}\n\nfunction game_Hitbox_right__P596_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_Hitbox_right__P596, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_Hitbox_top__P595(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_Hitbox__C593_VT)) failedCast(r0);\n r0 = s.arg0.fields["oy"];\n s.tmp_0 = r0;\n r0 = s.arg0.fields["parent"];\n r0 = r0.fields["_y"];\n s.tmp_1 = r0;\n r0 = (s.tmp_0 << 8);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\ngame_Hitbox_top__P595.info = {"start":503,"length":73,"line":20,"column":8,"endLine":22,"endColumn":9,"fileName":"pxt_modules/game/hitbox.ts","functionName":"top","argumentNames":["this"]}\n\nfunction game_Hitbox_top__P595_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_Hitbox_top__P595, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_Hitbox_left__P594(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_Hitbox__C593_VT)) failedCast(r0);\n r0 = s.arg0.fields["ox"];\n s.tmp_0 = r0;\n r0 = s.arg0.fields["parent"];\n r0 = r0.fields["_x"];\n s.tmp_1 = r0;\n r0 = (s.tmp_0 << 8);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\ngame_Hitbox_left__P594.info = {"start":419,"length":74,"line":16,"column":8,"endLine":18,"endColumn":9,"fileName":"pxt_modules/game/hitbox.ts","functionName":"left","argumentNames":["this"]}\n\nfunction game_Hitbox_left__P594_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_Hitbox_left__P594, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Fx_min__P94(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 < s.arg1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.arg0;\n { step = 3; continue; }\n { step = 2; continue; }\n case 1:\n r0 = s.arg1;\n { step = 3; continue; }\n case 2:\n r0 = undefined;\n case 3:\n return leave(s, r0)\n default: oops()\n} } }\nFx_min__P94.info = {"start":1527,"length":117,"line":47,"column":4,"endLine":52,"endColumn":5,"fileName":"pxt_modules/base/fixed.ts","functionName":"min","argumentNames":["a","b"]}\n\nfunction Fx_min__P94_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Fx_min__P94, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Fx_iadd__P87(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 << 8);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 + s.arg1);\n return leave(s, r0)\n default: oops()\n} } }\nFx_iadd__P87.info = {"start":621,"length":110,"line":23,"column":4,"endLine":25,"endColumn":5,"fileName":"pxt_modules/base/fixed.ts","functionName":"iadd","argumentNames":["a","b"]}\n\nfunction Fx_iadd__P87_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Fx_iadd__P87, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Fx_toIntShifted__P85(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg1 + 8);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 >> s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\nFx_toIntShifted__P85.info = {"start":391,"length":102,"line":17,"column":4,"endLine":19,"endColumn":5,"fileName":"pxt_modules/base/fixed.ts","functionName":"toIntShifted","argumentNames":["a","n"]}\n\nfunction Fx_toIntShifted__P85_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Fx_toIntShifted__P85, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction helpers_arraySome__P45(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.len___11014 = undefined;\n s.i___11017 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_Array__length(s.arg0);\n s.len___11014 = (r0);\n s.i___11017 = (0);\n case 1:\n r0 = (s.i___11017 < s.len___11014);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 4; continue; }\n s.tmp_2 = lambda_3_mk(s);\n s.tmp_2.argL = s.arg1;\n r0 = pxsim_Array__getAt(s.arg0, s.i___11017);\n s.tmp_2.arg0 = r0;\n s.tmp_2.arg1 = s.i___11017;\n setupLambda(s.tmp_2, s.tmp_2.argL);\n s.pc = 6; return s.tmp_2;\n case 6:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 2; continue; }\n r0 = true;\n { step = 5; continue; }\n case 2:\n case 3:\n r0 = (s.i___11017 + 1);\n s.i___11017 = (r0);\n { step = 1; continue; }\n case 4:\n r0 = false;\n case 5:\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_arraySome__P45.info = {"start":4550,"length":296,"line":154,"column":4,"endLine":160,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"arraySome","argumentNames":["arr","callbackfn"]}\n\nfunction helpers_arraySome__P45_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_arraySome__P45, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n len___11014: undefined,\n i___11017: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction MovingSprite_constructor__P726(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.arg5 = (s.lambdaArgs[5]);\n s.arg6 = (s.lambdaArgs[6]);\n s.arg7 = (s.lambdaArgs[7]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, MovingSprite__C725_VT)) failedCast(r0);\n r0 = (s.arg0).fields["sprite"] = (s.arg1);\n r0 = (s.arg0).fields["cachedVx"] = (s.arg2);\n r0 = (s.arg0).fields["cachedVy"] = (s.arg3);\n r0 = (s.arg0).fields["dx"] = (s.arg4);\n r0 = (s.arg0).fields["dy"] = (s.arg5);\n r0 = (s.arg0).fields["xStep"] = (s.arg6);\n r0 = (s.arg0).fields["yStep"] = (s.arg7);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nMovingSprite_constructor__P726.info = {"start":610,"length":313,"line":28,"column":4,"endLine":39,"endColumn":9,"fileName":"pxt_modules/game/physics.ts","functionName":"inline","argumentNames":["this","sprite","cachedVx","cachedVy","dx","dy","xStep","yStep"]}\n\nfunction MovingSprite_constructor__P726_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: MovingSprite_constructor__P726, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n arg5: undefined,\n arg6: undefined,\n arg7: undefined,\n} }\n\n\n\n\n\nfunction ArcadePhysicsEngine_move__P732(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.dtf___11246 = undefined;\n s.dtSec___11251 = undefined;\n s.dt2___11254 = undefined;\n s.scene___11257 = undefined;\n s.movingSprites___11259 = undefined;\n s.tileMap___11270 = undefined;\n s.MAX_STEP_COUNT___11292 = undefined;\n s.overlapHandlers___11301 = undefined;\n s.selected___11307 = undefined;\n s.buffers___11308 = undefined;\n s.count___11312 = undefined;\n s.currMovers___11320 = undefined;\n s.remainingMovers___11325 = undefined;\n s.ms___11329 = undefined;\n s.unnamed56___U14 = undefined;\n s.unnamed57___U15 = undefined;\n s.s___11331 = undefined;\n s.stepX___11412 = undefined;\n s.stepY___11423 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, ArcadePhysicsEngine__C727_VT)) failedCast(r0);\n s.tmp_0 = Fx_min__P94_mk(s);\n s.tmp_0.arg0 = globals.MAX_TIME_STEP___716;\n r0 = (s.arg1 * 1000);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 * 256);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_0.arg1 = r0;\n s.pc = 47; return s.tmp_0;\n case 47:\n r0 = s.retval;\n s.dtf___11246 = (r0);\n r0 = pxsim.Math_.idiv(s.dtf___11246, 1000);\n s.dtSec___11251 = (r0);\n r0 = pxsim.Math_.idiv(s.dtf___11246, 2);\n s.dt2___11254 = (r0);\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 48; return s.tmp_0;\n case 48:\n r0 = s.retval;\n s.scene___11257 = (r0);\n r0 = pxsim_pxtcore_mkAction(3, inline__P11264);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.dtSec___11251);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 2, s.dt2___11254);\n s.tmp_1 = helpers_arrayMap__P44_mk(s);\n r0 = s.arg0.fields["sprites"];\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = s.tmp_0;\n s.pc = 49; return s.tmp_1;\n case 49:\n r0 = s.retval;\n s.movingSprites___11259 = (r0);\n r0 = s.scene___11257.fields["tileMap"];\n s.tileMap___11270 = (r0);\n s.tmp_0 = helpers_arrayForEach__P47_mk(s);\n r0 = s.arg0.fields["sprites"];\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = inline__P11276;\n s.pc = 50; return s.tmp_0;\n case 50:\n r0 = s.retval;\n s.tmp_0 = sprites_SpriteMap_clear__P664_mk(s);\n r0 = s.arg0.fields["map"];\n s.tmp_0.arg0 = r0;\n s.pc = 51; return s.tmp_0;\n case 51:\n r0 = s.retval;\n s.tmp_0 = sprites_SpriteMap_resizeBuckets__P663_mk(s);\n r0 = s.arg0.fields["map"];\n s.tmp_0.arg0 = r0;\n r0 = s.arg0.fields["sprites"];\n s.tmp_0.arg1 = r0;\n s.pc = 52; return s.tmp_0;\n case 52:\n r0 = s.retval;\n r0 = s.arg0.fields["maxVelocity"];\n s.tmp_2 = r0;\n r0 = s.arg0.fields["minSingleStep"];\n s.tmp_3 = r0;\n r0 = (s.tmp_2 << 8);\n s.tmp_4 = r0;\n r0 = pxsim.Math_.idiv(s.tmp_4, s.tmp_3);\n s.tmp_1 = r0;\n r0 = pxsim.Math_.imul(s.tmp_1, s.dtSec___11251);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 >> 8);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 + 128);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 >> 8);\n s.MAX_STEP_COUNT___11292 = (r0);\n s.tmp_0 = helpers_arraySlice__P52_mk(s);\n r0 = s.scene___11257.fields["overlapHandlers"];\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = undefined;\n s.tmp_0.arg2 = undefined;\n s.pc = 53; return s.tmp_0;\n case 53:\n r0 = s.retval;\n s.overlapHandlers___11301 = (r0);\n s.selected___11307 = (0);\n r0 = pxsim_Array__mk();\n s.tmp_0 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.movingSprites___11259);\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_1);\n s.buffers___11308 = (s.tmp_0);\n s.count___11312 = (0);\n case 1:\n r0 = (s.count___11312 < s.MAX_STEP_COUNT___11292);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 2; continue; }\n r0 = s.tmp_0;\n { step = 3; continue; }\n case 2:\n r0 = pxsim_Array__getAt(s.buffers___11308, s.selected___11307);\n s.tmp_2 = r0;\n r0 = pxsim_Array__length(s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 !== 0);\n case 3:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 46; continue; }\n r0 = pxsim_Array__getAt(s.buffers___11308, s.selected___11307);\n s.currMovers___11320 = (r0);\n r0 = (s.selected___11307 ^ 1);\n s.selected___11307 = (r0);\n r0 = pxsim_Array__getAt(s.buffers___11308, s.selected___11307);\n s.remainingMovers___11325 = (r0);\n s.ms___11329 = (undefined);\n s.ms___11329 = (undefined);\n s.unnamed56___U14 = (s.currMovers___11320);\n s.unnamed57___U15 = (0);\n case 4:\n s.tmp_0 = r0 = s.unnamed57___U15;\n r0 = pxsim_Array__length(s.unnamed56___U14);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 43; continue; }\n r0 = pxsim_Array__getAt(s.unnamed56___U14, s.unnamed57___U15);\n s.ms___11329 = (r0);\n r0 = s.ms___11329.fields["sprite"];\n s.s___11331 = (r0);\n r0 = s.ms___11329.fields["cachedVx"];\n s.tmp_1 = r0;\n r0 = s.s___11331.fields["_vx"];\n s.tmp_2 = r0;\n r0 = (s.tmp_1 !== s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 15; continue; }\n r0 = s.s___11331.fields["_vx"];\n s.tmp_4 = r0;\n r0 = (s.tmp_4 == globals.zeroFx8___79);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 5; continue; }\n r0 = (s.ms___11329).fields["dx"] = (globals.zeroFx8___79);\n { step = 14; continue; }\n case 5:\n r0 = s.s___11331.fields["_vx"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 < globals.zeroFx8___79);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 6; continue; }\n r0 = s.tmp_0;\n { step = 7; continue; }\n case 6:\n r0 = s.ms___11329.fields["cachedVx"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 > globals.zeroFx8___79);\n case 7:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBool(s.tmp_3);\n if (!r0) { step = 8; continue; }\n r0 = s.tmp_3;\n { step = 11; continue; }\n case 8:\n r0 = s.s___11331.fields["_vx"];\n s.tmp_5 = r0;\n r0 = (s.tmp_5 > globals.zeroFx8___79);\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBool(s.tmp_4);\n if (r0) { step = 9; continue; }\n r0 = s.tmp_4;\n { step = 10; continue; }\n case 9:\n r0 = s.ms___11329.fields["cachedVx"];\n s.tmp_6 = r0;\n r0 = (s.tmp_6 < globals.zeroFx8___79);\n case 10:\n // jmp value (already in r0)\n s.tmp_7 = r0;\n r0 = s.tmp_7;\n case 11:\n // jmp value (already in r0)\n s.tmp_8 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_8);\n if (!r0) { step = 12; continue; }\n s.tmp_9 = r0 = s.ms___11329;\n r0 = s.ms___11329.fields["dx"];\n s.tmp_11 = r0;\n r0 = (0 - s.tmp_11);\n s.tmp_10 = r0;\n r0 = (s.tmp_9).fields["dx"] = (s.tmp_10);\n s.tmp_0 = r0 = s.ms___11329;\n r0 = s.ms___11329.fields["xStep"];\n s.tmp_2 = r0;\n r0 = (0 - s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["xStep"] = (s.tmp_1);\n case 12:\n case 13:\n case 14:\n r0 = s.s___11331.fields["_vx"];\n s.tmp_0 = r0;\n r0 = (s.ms___11329).fields["cachedVx"] = (s.tmp_0);\n case 15:\n case 16:\n r0 = s.ms___11329.fields["cachedVy"];\n s.tmp_1 = r0;\n r0 = s.s___11331.fields["_vy"];\n s.tmp_2 = r0;\n r0 = (s.tmp_1 !== s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 27; continue; }\n r0 = s.s___11331.fields["_vy"];\n s.tmp_4 = r0;\n r0 = (s.tmp_4 == globals.zeroFx8___79);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 17; continue; }\n r0 = (s.ms___11329).fields["dy"] = (globals.zeroFx8___79);\n { step = 26; continue; }\n case 17:\n r0 = s.s___11331.fields["_vy"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 < globals.zeroFx8___79);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 18; continue; }\n r0 = s.tmp_0;\n { step = 19; continue; }\n case 18:\n r0 = s.ms___11329.fields["cachedVy"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 > globals.zeroFx8___79);\n case 19:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBool(s.tmp_3);\n if (!r0) { step = 20; continue; }\n r0 = s.tmp_3;\n { step = 23; continue; }\n case 20:\n r0 = s.s___11331.fields["_vy"];\n s.tmp_5 = r0;\n r0 = (s.tmp_5 > globals.zeroFx8___79);\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBool(s.tmp_4);\n if (r0) { step = 21; continue; }\n r0 = s.tmp_4;\n { step = 22; continue; }\n case 21:\n r0 = s.ms___11329.fields["cachedVy"];\n s.tmp_6 = r0;\n r0 = (s.tmp_6 < globals.zeroFx8___79);\n case 22:\n // jmp value (already in r0)\n s.tmp_7 = r0;\n r0 = s.tmp_7;\n case 23:\n // jmp value (already in r0)\n s.tmp_8 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_8);\n if (!r0) { step = 24; continue; }\n s.tmp_9 = r0 = s.ms___11329;\n r0 = s.ms___11329.fields["dy"];\n s.tmp_11 = r0;\n r0 = (0 - s.tmp_11);\n s.tmp_10 = r0;\n r0 = (s.tmp_9).fields["dy"] = (s.tmp_10);\n s.tmp_0 = r0 = s.ms___11329;\n r0 = s.ms___11329.fields["yStep"];\n s.tmp_2 = r0;\n r0 = (0 - s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["yStep"] = (s.tmp_1);\n case 24:\n case 25:\n case 26:\n r0 = s.s___11331.fields["_vy"];\n s.tmp_0 = r0;\n r0 = (s.ms___11329).fields["cachedVy"] = (s.tmp_0);\n case 27:\n case 28:\n s.tmp_2 = Fx_abs__P93_mk(s);\n r0 = s.ms___11329.fields["xStep"];\n s.tmp_2.arg0 = r0;\n s.pc = 54; return s.tmp_2;\n case 54:\n r0 = s.retval;\n s.tmp_1 = r0;\n s.tmp_4 = Fx_abs__P93_mk(s);\n r0 = s.ms___11329.fields["dx"];\n s.tmp_4.arg0 = r0;\n s.pc = 55; return s.tmp_4;\n case 55:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_1 > s.tmp_3);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 29; continue; }\n r0 = s.ms___11329.fields["dx"];\n { step = 30; continue; }\n case 29:\n r0 = s.ms___11329.fields["xStep"];\n case 30:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n s.stepX___11412 = (s.tmp_5);\n s.tmp_2 = Fx_abs__P93_mk(s);\n r0 = s.ms___11329.fields["yStep"];\n s.tmp_2.arg0 = r0;\n s.pc = 56; return s.tmp_2;\n case 56:\n r0 = s.retval;\n s.tmp_1 = r0;\n s.tmp_4 = Fx_abs__P93_mk(s);\n r0 = s.ms___11329.fields["dy"];\n s.tmp_4.arg0 = r0;\n s.pc = 57; return s.tmp_4;\n case 57:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_1 > s.tmp_3);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 31; continue; }\n r0 = s.ms___11329.fields["dy"];\n { step = 32; continue; }\n case 31:\n r0 = s.ms___11329.fields["yStep"];\n case 32:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n s.stepY___11423 = (s.tmp_5);\n s.tmp_0 = r0 = s.ms___11329;\n r0 = s.ms___11329.fields["dx"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - s.stepX___11412);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["dx"] = (s.tmp_1);\n s.tmp_0 = r0 = s.ms___11329;\n r0 = s.ms___11329.fields["dy"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - s.stepY___11423);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["dy"] = (s.tmp_1);\n r0 = s.s___11331.fields["_x"];\n s.tmp_0 = r0;\n r0 = (s.s___11331).fields["_lastX"] = (s.tmp_0);\n r0 = s.s___11331.fields["_y"];\n s.tmp_0 = r0;\n r0 = (s.s___11331).fields["_lastY"] = (s.tmp_0);\n s.tmp_0 = r0 = s.s___11331;\n r0 = s.s___11331.fields["_x"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.stepX___11412);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["_x"] = (s.tmp_1);\n s.tmp_0 = r0 = s.s___11331;\n r0 = s.s___11331.fields["_y"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.stepY___11423);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["_y"] = (s.tmp_1);\n r0 = s.s___11331.fields["flags"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 & globals.SPRITE_CANNOT_COLLIDE___718);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 37; continue; }\n s.tmp_4 = sprites_SpriteMap_insertAABB__P668_mk(s);\n r0 = s.arg0.fields["map"];\n s.tmp_4.arg0 = r0;\n s.tmp_4.arg1 = s.s___11331;\n s.pc = 58; return s.tmp_4;\n case 58:\n r0 = s.retval;\n s.tmp_0 = r0 = s.tileMap___11270;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 33; continue; }\n r0 = s.tmp_0;\n { step = 34; continue; }\n case 33:\n r0 = s.tileMap___11270.fields["_map"];\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n s.tmp_3 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n case 34:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_5);\n if (!r0) { step = 35; continue; }\n s.tmp_6 = ArcadePhysicsEngine_tilemapCollisions__P735_mk(s);\n s.tmp_6.arg0 = s.arg0;\n s.tmp_6.arg1 = s.ms___11329;\n s.tmp_6.arg2 = s.tileMap___11270;\n s.pc = 59; return s.tmp_6;\n case 59:\n r0 = s.retval;\n case 35:\n case 36:\n case 37:\n case 38:\n s.tmp_2 = Fx_abs__P93_mk(s);\n r0 = s.ms___11329.fields["dx"];\n s.tmp_2.arg0 = r0;\n s.pc = 60; return s.tmp_2;\n case 60:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > globals.MIN_MOVE_GAP___723);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 39; continue; }\n r0 = s.tmp_0;\n { step = 40; continue; }\n case 39:\n s.tmp_4 = Fx_abs__P93_mk(s);\n r0 = s.ms___11329.fields["dy"];\n s.tmp_4.arg0 = r0;\n s.pc = 61; return s.tmp_4;\n case 61:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_3 > globals.MIN_MOVE_GAP___723);\n case 40:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_5);\n if (!r0) { step = 41; continue; }\n r0 = pxsim_Array__push(s.remainingMovers___11325, s.ms___11329);\n case 41:\n case 42:\n r0 = (s.unnamed57___U15 + 1);\n s.unnamed57___U15 = (r0);\n { step = 4; continue; }\n case 43:\n s.unnamed56___U14 = (undefined);\n s.tmp_0 = ArcadePhysicsEngine_spriteCollisions__P734_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.currMovers___11320;\n s.tmp_0.arg2 = s.overlapHandlers___11301;\n s.pc = 62; return s.tmp_0;\n case 62:\n r0 = s.retval;\n case 44:\n r0 = pxsim_Array__length(s.currMovers___11320);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 45; continue; }\n r0 = pxsim_Array_.pop(s.currMovers___11320);\n { step = 44; continue; }\n case 45:\n r0 = (s.count___11312 + 1);\n s.count___11312 = (r0);\n { step = 1; continue; }\n case 46:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nArcadePhysicsEngine_move__P732.info = {"start":1841,"length":3940,"line":75,"column":4,"endLine":175,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"move","argumentNames":["this","dt"]}\n\nfunction ArcadePhysicsEngine_move__P732_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: ArcadePhysicsEngine_move__P732, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n dtf___11246: undefined,\n dtSec___11251: undefined,\n dt2___11254: undefined,\n scene___11257: undefined,\n movingSprites___11259: undefined,\n tileMap___11270: undefined,\n MAX_STEP_COUNT___11292: undefined,\n overlapHandlers___11301: undefined,\n selected___11307: undefined,\n buffers___11308: undefined,\n count___11312: undefined,\n currMovers___11320: undefined,\n remainingMovers___11325: undefined,\n ms___11329: undefined,\n unnamed56___U14: undefined,\n unnamed57___U15: undefined,\n s___11331: undefined,\n stepX___11412: undefined,\n stepY___11423: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction inline__P11264(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = ArcadePhysicsEngine_createMovingSprite__P733_mk(s);\n s.tmp_0.arg0 = s.caps[0];\n s.tmp_0.arg1 = s.arg0;\n s.tmp_0.arg2 = s.caps[1];\n s.tmp_0.arg3 = s.caps[2];\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P11264.info = {"start":2236,"length":53,"line":87,"column":17,"endLine":87,"endColumn":70,"fileName":"pxt_modules/game/physics.ts","functionName":"inline","argumentNames":["sprite"]}\n\nfunction inline__P11264_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P11264, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P11276(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_1 = Sprite_vx__P613_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.pc = 5; return s.tmp_1;\n case 5:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n s.tmp_2 = Sprite_vy__P615_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 6; return s.tmp_2;\n case 6:\n r0 = s.retval;\n case 2:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 3; continue; }\n s.tmp_4 = Sprite_clearObstacles__P650_mk(s);\n s.tmp_4.arg0 = s.arg0;\n s.pc = 7; return s.tmp_4;\n case 7:\n r0 = s.retval;\n case 3:\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P11276.info = {"start":2411,"length":66,"line":91,"column":29,"endLine":93,"endColumn":9,"fileName":"pxt_modules/game/physics.ts","functionName":"inline","argumentNames":["s"]}\n\nfunction inline__P11276_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P11276, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction ArcadePhysicsEngine_spriteCollisions__P734(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.ms___11512 = undefined;\n s.unnamed58___U1 = undefined;\n s.unnamed59___U2 = undefined;\n s.sprite___11514 = undefined;\n s.overSprites___11520 = undefined;\n s.overlapper___11527 = undefined;\n s.unnamed60___U6 = undefined;\n s.unnamed61___U7 = undefined;\n s.thisKind___11532 = undefined;\n s.otherKind___11535 = undefined;\n s.higher___11545 = undefined;\n s.lower___11552 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, ArcadePhysicsEngine__C727_VT)) failedCast(r0);\n r0 = pxsim_Array__length(s.arg2);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 21; continue; }\n case 1:\n case 2:\n s.ms___11512 = (undefined);\n s.ms___11512 = (undefined);\n s.unnamed58___U1 = (s.arg1);\n s.unnamed59___U2 = (0);\n case 3:\n s.tmp_0 = r0 = s.unnamed59___U2;\n r0 = pxsim_Array__length(s.unnamed58___U1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 20; continue; }\n r0 = pxsim_Array__getAt(s.unnamed58___U1, s.unnamed59___U2);\n s.ms___11512 = (r0);\n r0 = s.ms___11512.fields["sprite"];\n s.sprite___11514 = (r0);\n r0 = s.sprite___11514.fields["flags"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 & globals.SPRITE_CANNOT_COLLIDE___718);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 4; continue; }\n { step = 19; continue; }\n case 4:\n case 5:\n s.tmp_2 = sprites_SpriteMap_overlaps__P661_mk(s);\n r0 = s.arg0.fields["map"];\n s.tmp_2.arg0 = r0;\n r0 = s.ms___11512.fields["sprite"];\n s.tmp_2.arg1 = r0;\n s.pc = 22; return s.tmp_2;\n case 22:\n r0 = s.retval;\n s.overSprites___11520 = (r0);\n s.overlapper___11527 = (undefined);\n s.overlapper___11527 = (undefined);\n s.unnamed60___U6 = (s.overSprites___11520);\n s.unnamed61___U7 = (0);\n case 6:\n s.tmp_0 = r0 = s.unnamed61___U7;\n r0 = pxsim_Array__length(s.unnamed60___U6);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 18; continue; }\n r0 = pxsim_Array__getAt(s.unnamed60___U6, s.unnamed61___U7);\n s.overlapper___11527 = (r0);\n r0 = s.overlapper___11527.fields["flags"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 & globals.SPRITE_CANNOT_COLLIDE___718);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 7; continue; }\n { step = 17; continue; }\n case 7:\n case 8:\n r0 = s.sprite___11514.fields["_kind"];\n s.thisKind___11532 = (r0);\n r0 = s.overlapper___11527.fields["_kind"];\n s.otherKind___11535 = (r0);\n r0 = s.sprite___11514.fields["_kindsOverlappedWith"];\n s.tmp_2 = r0;\n r0 = pxsim_Array_.indexOf(s.tmp_2, s.otherKind___11535, undefined);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 === -1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 9; continue; }\n { step = 17; continue; }\n case 9:\n case 10:\n r0 = s.sprite___11514.fields["id"];\n s.tmp_4 = r0;\n r0 = s.overlapper___11527.fields["id"];\n s.tmp_5 = r0;\n r0 = (s.tmp_4 > s.tmp_5);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 11; continue; }\n r0 = s.sprite___11514;\n { step = 12; continue; }\n case 11:\n r0 = s.overlapper___11527;\n case 12:\n // jmp value (already in r0)\n s.tmp_6 = r0;\n s.higher___11545 = (s.tmp_6);\n r0 = (s.higher___11545 === s.sprite___11514);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 13; continue; }\n r0 = s.overlapper___11527;\n { step = 14; continue; }\n case 13:\n r0 = s.sprite___11514;\n case 14:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n s.lower___11552 = (s.tmp_1);\n r0 = s.higher___11545.fields["_overlappers"];\n s.tmp_2 = r0;\n r0 = s.lower___11552.fields["id"];\n s.tmp_3 = r0;\n r0 = pxsim_Array_.indexOf(s.tmp_2, s.tmp_3, undefined);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 === -1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 15; continue; }\n r0 = pxsim_pxtcore_mkAction(2, inline__P11568);\n s.tmp_4 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_4, 0, s.thisKind___11532);\n r0 = pxsim_pxtrt_stclo(s.tmp_4, 1, s.otherKind___11535);\n r0 = pxsim_pxtcore_mkAction(5, inline__P11585);\n s.tmp_5 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_5, 0, s.higher___11545);\n r0 = pxsim_pxtrt_stclo(s.tmp_5, 1, s.lower___11552);\n r0 = pxsim_pxtrt_stclo(s.tmp_5, 2, s.thisKind___11532);\n r0 = pxsim_pxtrt_stclo(s.tmp_5, 3, s.sprite___11514);\n r0 = pxsim_pxtrt_stclo(s.tmp_5, 4, s.overlapper___11527);\n s.tmp_6 = helpers_arrayForEach__P47_mk(s);\n s.tmp_7 = helpers_arrayFilter__P48_mk(s);\n s.tmp_7.arg0 = s.arg2;\n s.tmp_7.arg1 = s.tmp_4;\n s.pc = 24; return s.tmp_7;\n case 24:\n r0 = s.retval;\n s.tmp_6.arg0 = r0;\n s.tmp_6.arg1 = s.tmp_5;\n s.pc = 23; return s.tmp_6;\n case 23:\n r0 = s.retval;\n case 15:\n case 16:\n case 17:\n r0 = (s.unnamed61___U7 + 1);\n s.unnamed61___U7 = (r0);\n { step = 6; continue; }\n case 18:\n s.unnamed60___U6 = (undefined);\n case 19:\n r0 = (s.unnamed59___U2 + 1);\n s.unnamed59___U2 = (r0);\n { step = 3; continue; }\n case 20:\n s.unnamed58___U1 = (undefined);\n case 21:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nArcadePhysicsEngine_spriteCollisions__P734.info = {"start":7509,"length":2112,"line":248,"column":4,"endLine":290,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"spriteCollisions","argumentNames":["this","movedSprites","handlers"]}\n\nfunction ArcadePhysicsEngine_spriteCollisions__P734_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: ArcadePhysicsEngine_spriteCollisions__P734, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n ms___11512: undefined,\n unnamed58___U1: undefined,\n unnamed59___U2: undefined,\n sprite___11514: undefined,\n overSprites___11520: undefined,\n overlapper___11527: undefined,\n unnamed60___U6: undefined,\n unnamed61___U7: undefined,\n thisKind___11532: undefined,\n otherKind___11535: undefined,\n higher___11545: undefined,\n lower___11552: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction inline__P11568(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0.fields["kind"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 === s.caps[0]);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = s.arg0.fields["otherKind"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 === s.caps[1]);\n case 2:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBool(s.tmp_3);\n if (!r0) { step = 3; continue; }\n r0 = s.tmp_3;\n { step = 6; continue; }\n case 3:\n r0 = s.arg0.fields["kind"];\n s.tmp_5 = r0;\n r0 = (s.tmp_5 === s.caps[1]);\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBool(s.tmp_4);\n if (r0) { step = 4; continue; }\n r0 = s.tmp_4;\n { step = 5; continue; }\n case 4:\n r0 = s.arg0.fields["otherKind"];\n s.tmp_6 = r0;\n r0 = (s.tmp_6 === s.caps[0]);\n case 5:\n // jmp value (already in r0)\n s.tmp_7 = r0;\n r0 = s.tmp_7;\n case 6:\n // jmp value (already in r0)\n s.tmp_8 = r0;\n r0 = s.tmp_8;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P11568.info = {"start":8868,"length":145,"line":274,"column":32,"endLine":275,"endColumn":89,"fileName":"pxt_modules/game/physics.ts","functionName":"inline","argumentNames":["h"]}\n\nfunction inline__P11568_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P11568, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P11585(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.caps[0].fields["_overlappers"];\n s.tmp_0 = r0;\n r0 = s.caps[1].fields["id"];\n s.tmp_1 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_1);\n r0 = pxsim_pxtcore_mkAction(6, inline__P11595);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.caps[2]);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 2, s.caps[3]);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 3, s.caps[4]);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 4, s.caps[0]);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 5, s.caps[1]);\n r0 = pxsim.control.runInParallel(s.tmp_0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P11585.info = {"start":9073,"length":498,"line":277,"column":33,"endLine":286,"endColumn":25,"fileName":"pxt_modules/game/physics.ts","functionName":"inline","argumentNames":["h"]}\n\nfunction inline__P11585_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P11585, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P11595(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = s.caps[0].fields["kind"];\n s.tmp_1 = r0;\n r0 = (s.caps[1] === s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.caps[2];\n { step = 2; continue; }\n case 1:\n r0 = s.caps[3];\n case 2:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = s.caps[0].fields["kind"];\n s.tmp_4 = r0;\n r0 = (s.caps[1] === s.tmp_4);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 3; continue; }\n r0 = s.caps[3];\n { step = 4; continue; }\n case 3:\n r0 = s.caps[2];\n case 4:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n s.tmp_6 = lambda_3_mk(s);\n r0 = s.caps[0].fields["handler"];\n s.tmp_6.argL = r0;\n s.tmp_6.arg0 = s.tmp_2;\n s.tmp_6.arg1 = s.tmp_5;\n setupLambda(s.tmp_6, s.tmp_6.argL);\n s.pc = 5; return s.tmp_6;\n case 5:\n r0 = s.retval;\n r0 = s.caps[4].fields["_overlappers"];\n s.tmp_0 = r0;\n r0 = s.caps[5].fields["id"];\n s.tmp_1 = r0;\n r0 = pxsim_Array_.removeElement(s.tmp_0, s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P11595.info = {"start":9194,"length":349,"line":279,"column":50,"endLine":285,"endColumn":29,"fileName":"pxt_modules/game/physics.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P11595_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P11595, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n} }\n\n\n\n\n\nfunction sprites_SpriteMap_overlaps__P661(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.n___11616 = undefined;\n s.o___11619 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_SpriteMap__C659_VT)) failedCast(r0);\n s.tmp_0 = sprites_SpriteMap_neighbors__P660_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.n___11616 = (r0);\n r0 = pxsim_pxtcore_mkAction(1, inline__P11622);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg1);\n s.tmp_1 = helpers_arrayFilter__P48_mk(s);\n s.tmp_1.arg0 = s.n___11616;\n s.tmp_1.arg1 = s.tmp_0;\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n s.o___11619 = (r0);\n r0 = s.o___11619;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_SpriteMap_overlaps__P661.info = {"start":971,"length":189,"line":32,"column":8,"endLine":36,"endColumn":9,"fileName":"pxt_modules/game/spritemap.ts","functionName":"overlaps","argumentNames":["this","sprite"]}\n\nfunction sprites_SpriteMap_overlaps__P661_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_SpriteMap_overlaps__P661, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n n___11616: undefined,\n o___11619: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction inline__P11622(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = Sprite_overlapsWith__P647_mk(s);\n s.tmp_0.arg0 = s.caps[0];\n s.tmp_0.arg1 = s.arg0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P11622.info = {"start":1085,"length":41,"line":34,"column":31,"endLine":34,"endColumn":72,"fileName":"pxt_modules/game/spritemap.ts","functionName":"inline","argumentNames":["neighbor"]}\n\nfunction inline__P11622_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P11622, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction sprites_SpriteMap_neighbors__P660(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.n___11657 = undefined;\n s.layer___11659 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_SpriteMap__C659_VT)) failedCast(r0);\n s.tmp_1 = sprites_SpriteMap_isOob__P667_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.tmp_1.arg1 = s.arg1;\n s.pc = 4; return s.tmp_1;\n case 4:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_Array__mk();\n { step = 3; continue; }\n case 1:\n case 2:\n r0 = pxsim_Array__mk();\n s.n___11657 = (r0);\n r0 = s.arg1.fields["layer"];\n s.layer___11659 = (r0);\n s.tmp_0 = sprites_SpriteMap_mergeAtKey__P669_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_1 = Sprite_left__P629_mk(s);\n s.tmp_1.arg0 = s.arg1;\n s.pc = 6; return s.tmp_1;\n case 6:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.tmp_2 = Sprite_top__P633_mk(s);\n s.tmp_2.arg0 = s.arg1;\n s.pc = 7; return s.tmp_2;\n case 7:\n r0 = s.retval;\n s.tmp_0.arg2 = r0;\n s.tmp_0.arg3 = s.layer___11659;\n s.tmp_0.arg4 = s.n___11657;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n s.tmp_0 = sprites_SpriteMap_mergeAtKey__P669_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_1 = Sprite_left__P629_mk(s);\n s.tmp_1.arg0 = s.arg1;\n s.pc = 9; return s.tmp_1;\n case 9:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.tmp_2 = Sprite_bottom__P635_mk(s);\n s.tmp_2.arg0 = s.arg1;\n s.pc = 10; return s.tmp_2;\n case 10:\n r0 = s.retval;\n s.tmp_0.arg2 = r0;\n s.tmp_0.arg3 = s.layer___11659;\n s.tmp_0.arg4 = s.n___11657;\n s.pc = 8; return s.tmp_0;\n case 8:\n r0 = s.retval;\n s.tmp_0 = sprites_SpriteMap_mergeAtKey__P669_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_1 = Sprite_right__P631_mk(s);\n s.tmp_1.arg0 = s.arg1;\n s.pc = 12; return s.tmp_1;\n case 12:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.tmp_2 = Sprite_top__P633_mk(s);\n s.tmp_2.arg0 = s.arg1;\n s.pc = 13; return s.tmp_2;\n case 13:\n r0 = s.retval;\n s.tmp_0.arg2 = r0;\n s.tmp_0.arg3 = s.layer___11659;\n s.tmp_0.arg4 = s.n___11657;\n s.pc = 11; return s.tmp_0;\n case 11:\n r0 = s.retval;\n s.tmp_0 = sprites_SpriteMap_mergeAtKey__P669_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_1 = Sprite_right__P631_mk(s);\n s.tmp_1.arg0 = s.arg1;\n s.pc = 15; return s.tmp_1;\n case 15:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.tmp_2 = Sprite_bottom__P635_mk(s);\n s.tmp_2.arg0 = s.arg1;\n s.pc = 16; return s.tmp_2;\n case 16:\n r0 = s.retval;\n s.tmp_0.arg2 = r0;\n s.tmp_0.arg3 = s.layer___11659;\n s.tmp_0.arg4 = s.n___11657;\n s.pc = 14; return s.tmp_0;\n case 14:\n r0 = s.retval;\n r0 = pxsim_Array_.removeElement(s.n___11657, s.arg1);\n r0 = s.n___11657;\n case 3:\n return leave(s, r0)\n default: oops()\n} } }\nsprites_SpriteMap_neighbors__P660.info = {"start":376,"length":490,"line":15,"column":8,"endLine":26,"endColumn":9,"fileName":"pxt_modules/game/spritemap.ts","functionName":"neighbors","argumentNames":["this","sprite"]}\n\nfunction sprites_SpriteMap_neighbors__P660_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_SpriteMap_neighbors__P660, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n n___11657: undefined,\n layer___11659: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction sprites_SpriteMap_mergeAtKey__P669(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.k___11703 = undefined;\n s.bucket___11707 = undefined;\n s.sprite___11713 = undefined;\n s.unnamed54___U3 = undefined;\n s.unnamed55___U4 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_SpriteMap__C659_VT)) failedCast(r0);\n s.tmp_0 = sprites_SpriteMap_key__P665_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.tmp_0.arg2 = s.arg2;\n s.pc = 9; return s.tmp_0;\n case 9:\n r0 = s.retval;\n s.k___11703 = (r0);\n r0 = s.arg0.fields["buckets"];\n s.tmp_0 = r0;\n r0 = pxsim_Array__getAt(s.tmp_0, s.k___11703);\n s.bucket___11707 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.bucket___11707);\n if (!r0) { step = 7; continue; }\n s.sprite___11713 = (undefined);\n s.sprite___11713 = (undefined);\n s.unnamed54___U3 = (s.bucket___11707);\n s.unnamed55___U4 = (0);\n case 1:\n s.tmp_0 = r0 = s.unnamed55___U4;\n r0 = pxsim_Array__length(s.unnamed54___U3);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 6; continue; }\n r0 = pxsim_Array__getAt(s.unnamed54___U3, s.unnamed55___U4);\n s.sprite___11713 = (r0);\n r0 = s.sprite___11713.fields["layer"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 & s.arg3);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBool(s.tmp_2);\n if (r0) { step = 2; continue; }\n r0 = s.tmp_2;\n { step = 3; continue; }\n case 2:\n r0 = pxsim_Array_.indexOf(s.arg4, s.sprite___11713, undefined);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 < 0);\n case 3:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_5);\n if (!r0) { step = 4; continue; }\n r0 = pxsim_Array__push(s.arg4, s.sprite___11713);\n case 4:\n case 5:\n r0 = (s.unnamed55___U4 + 1);\n s.unnamed55___U4 = (r0);\n { step = 1; continue; }\n case 6:\n s.unnamed54___U3 = (undefined);\n case 7:\n case 8:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_SpriteMap_mergeAtKey__P669.info = {"start":4235,"length":384,"line":115,"column":8,"endLine":124,"endColumn":9,"fileName":"pxt_modules/game/spritemap.ts","functionName":"mergeAtKey","argumentNames":["this","x","y","layer","n"]}\n\nfunction sprites_SpriteMap_mergeAtKey__P669_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_SpriteMap_mergeAtKey__P669, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n k___11703: undefined,\n bucket___11707: undefined,\n sprite___11713: undefined,\n unnamed54___U3: undefined,\n unnamed55___U4: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n} }\n\n\n\n\n\nfunction sprites_SpriteMap_key__P665(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.xi___11731 = undefined;\n s.yi___11742 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_SpriteMap__C659_VT)) failedCast(r0);\n s.tmp_0 = Math_clamp__P58_mk(s);\n s.tmp_0.arg0 = 0;\n r0 = s.arg0.fields["columnCount"];\n s.tmp_0.arg1 = r0;\n r0 = s.arg0.fields["cellWidth"];\n s.tmp_1 = r0;\n r0 = pxsim.Math_.idiv(s.arg1, s.tmp_1);\n s.tmp_0.arg2 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.xi___11731 = (r0);\n s.tmp_0 = Math_clamp__P58_mk(s);\n s.tmp_0.arg0 = 0;\n r0 = s.arg0.fields["rowCount"];\n s.tmp_0.arg1 = r0;\n r0 = s.arg0.fields["cellHeight"];\n s.tmp_1 = r0;\n r0 = pxsim.Math_.idiv(s.arg2, s.tmp_1);\n s.tmp_0.arg2 = r0;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n s.yi___11742 = (r0);\n s.tmp_0 = r0 = s.xi___11731;\n r0 = s.arg0.fields["columnCount"];\n s.tmp_2 = r0;\n r0 = (s.yi___11742 * s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\nsprites_SpriteMap_key__P665.info = {"start":2640,"length":270,"line":78,"column":8,"endLine":82,"endColumn":9,"fileName":"pxt_modules/game/spritemap.ts","functionName":"key","argumentNames":["this","x","y"]}\n\nfunction sprites_SpriteMap_key__P665_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_SpriteMap_key__P665, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n xi___11731: undefined,\n yi___11742: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction sprites_SpriteMap_isOob__P667(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tMap___11760 = undefined;\n s.areaWidth___11764 = undefined;\n s.areaHeight___11770 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_SpriteMap__C659_VT)) failedCast(r0);\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 11; return s.tmp_0;\n case 11:\n r0 = s.retval;\n r0 = r0.fields["tileMap"];\n s.tMap___11760 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.tMap___11760);\n if (!r0) { step = 1; continue; }\n s.tmp_0 = tiles_TileMap_areaWidth__P869_mk(s);\n s.tmp_0.arg0 = s.tMap___11760;\n s.pc = 12; return s.tmp_0;\n case 12:\n r0 = s.retval;\n { step = 2; continue; }\n case 1:\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n s.areaWidth___11764 = (s.tmp_1);\n r0 = pxsim_numops_toBoolDecr(s.tMap___11760);\n if (!r0) { step = 3; continue; }\n s.tmp_0 = tiles_TileMap_areaHeight__P870_mk(s);\n s.tmp_0.arg0 = s.tMap___11760;\n s.pc = 13; return s.tmp_0;\n case 13:\n r0 = s.retval;\n { step = 4; continue; }\n case 3:\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n case 4:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n s.areaHeight___11770 = (s.tmp_1);\n s.tmp_2 = Sprite_right__P631_mk(s);\n s.tmp_2.arg0 = s.arg1;\n s.pc = 14; return s.tmp_2;\n case 14:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = s.tmp_0;\n { step = 6; continue; }\n case 5:\n s.tmp_4 = Sprite_left__P629_mk(s);\n s.tmp_4.arg0 = s.arg1;\n s.pc = 15; return s.tmp_4;\n case 15:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_3 > s.areaWidth___11764);\n case 6:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBool(s.tmp_5);\n if (!r0) { step = 7; continue; }\n r0 = s.tmp_5;\n { step = 8; continue; }\n case 7:\n s.tmp_7 = Sprite_bottom__P635_mk(s);\n s.tmp_7.arg0 = s.arg1;\n s.pc = 16; return s.tmp_7;\n case 16:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = (s.tmp_6 < 0);\n case 8:\n // jmp value (already in r0)\n s.tmp_8 = r0;\n r0 = pxsim_numops_toBool(s.tmp_8);\n if (!r0) { step = 9; continue; }\n r0 = s.tmp_8;\n { step = 10; continue; }\n case 9:\n s.tmp_10 = Sprite_top__P633_mk(s);\n s.tmp_10.arg0 = s.arg1;\n s.pc = 17; return s.tmp_10;\n case 17:\n r0 = s.retval;\n s.tmp_9 = r0;\n r0 = (s.tmp_9 > s.areaHeight___11770);\n case 10:\n // jmp value (already in r0)\n s.tmp_11 = r0;\n r0 = s.tmp_11;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_SpriteMap_isOob__P667.info = {"start":3232,"length":360,"line":93,"column":8,"endLine":99,"endColumn":9,"fileName":"pxt_modules/game/spritemap.ts","functionName":"isOob","argumentNames":["this","sprite"]}\n\nfunction sprites_SpriteMap_isOob__P667_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_SpriteMap_isOob__P667, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n tMap___11760: undefined,\n areaWidth___11764: undefined,\n areaHeight___11770: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_right__P631(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_1 = Sprite_left__P629_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.pc = 1; return s.tmp_1;\n case 1:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = s.arg0.fields["_image"];\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_0 + s.tmp_2);\n return leave(s, r0)\n default: oops()\n} } }\nSprite_right__P631.info = {"start":8099,"length":57,"line":290,"column":4,"endLine":292,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"right","argumentNames":["this"]}\n\nfunction Sprite_right__P631_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_right__P631, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Sprite_overlapsWith__P647(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = (s.arg1 == s.arg0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = false;\n { step = 7; continue; }\n case 1:\n case 2:\n r0 = s.arg0.fields["flags"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 & 1);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 3; continue; }\n r0 = false;\n { step = 7; continue; }\n case 3:\n case 4:\n r0 = s.arg1.fields["flags"];\n s.tmp_4 = r0;\n r0 = (s.tmp_4 & 1);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 5; continue; }\n r0 = false;\n { step = 7; continue; }\n case 5:\n case 6:\n r0 = s.arg1.fields["_image"];\n s.tmp_5 = r0;\n r0 = s.arg0.fields["_image"];\n s.tmp_6 = r0;\n s.tmp_9 = Sprite_left__P629_mk(s);\n s.tmp_9.arg0 = s.arg0;\n s.pc = 8; return s.tmp_9;\n case 8:\n r0 = s.retval;\n s.tmp_8 = r0;\n s.tmp_11 = Sprite_left__P629_mk(s);\n s.tmp_11.arg0 = s.arg1;\n s.pc = 9; return s.tmp_11;\n case 9:\n r0 = s.retval;\n s.tmp_10 = r0;\n r0 = (s.tmp_8 - s.tmp_10);\n s.tmp_7 = r0;\n s.tmp_14 = Sprite_top__P633_mk(s);\n s.tmp_14.arg0 = s.arg0;\n s.pc = 10; return s.tmp_14;\n case 10:\n r0 = s.retval;\n s.tmp_13 = r0;\n s.tmp_16 = Sprite_top__P633_mk(s);\n s.tmp_16.arg0 = s.arg1;\n s.pc = 11; return s.tmp_16;\n case 11:\n r0 = s.retval;\n s.tmp_15 = r0;\n r0 = (s.tmp_13 - s.tmp_15);\n s.tmp_12 = r0;\n r0 = pxsim_ImageMethods.overlapsWith(s.tmp_5, s.tmp_6, s.tmp_7, s.tmp_12);\n case 7:\n return leave(s, r0)\n default: oops()\n} } }\nSprite_overlapsWith__P647.info = {"start":22417,"length":366,"line":686,"column":4,"endLine":694,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"overlapsWith","argumentNames":["this","other"]}\n\nfunction Sprite_overlapsWith__P647_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_overlapsWith__P647, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n tmp_12: undefined,\n tmp_13: undefined,\n tmp_14: undefined,\n tmp_15: undefined,\n tmp_16: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction ArcadePhysicsEngine_createMovingSprite__P733(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.ovx___11957 = undefined;\n s.ovy___11961 = undefined;\n s.dx___11993 = undefined;\n s.dy___12001 = undefined;\n s.xStep___12009 = undefined;\n s.yStep___12011 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, ArcadePhysicsEngine__C727_VT)) failedCast(r0);\n s.tmp_0 = ArcadePhysicsEngine_constrain__P738_mk(s);\n s.tmp_0.arg0 = s.arg0;\n r0 = s.arg1.fields["_vx"];\n s.tmp_0.arg1 = r0;\n s.pc = 9; return s.tmp_0;\n case 9:\n r0 = s.retval;\n s.ovx___11957 = (r0);\n s.tmp_0 = ArcadePhysicsEngine_constrain__P738_mk(s);\n s.tmp_0.arg0 = s.arg0;\n r0 = s.arg1.fields["_vy"];\n s.tmp_0.arg1 = r0;\n s.pc = 10; return s.tmp_0;\n case 10:\n r0 = s.retval;\n s.ovy___11961 = (r0);\n r0 = s.arg1.fields["_x"];\n s.tmp_0 = r0;\n r0 = (s.arg1).fields["_lastX"] = (s.tmp_0);\n r0 = s.arg1.fields["_y"];\n s.tmp_0 = r0;\n r0 = (s.arg1).fields["_lastY"] = (s.tmp_0);\n s.tmp_0 = r0 = s.arg1;\n s.tmp_2 = ArcadePhysicsEngine_constrain__P738_mk(s);\n s.tmp_2.arg0 = s.arg0;\n r0 = s.arg1.fields["_vx"];\n s.tmp_3 = r0;\n r0 = s.arg1.fields["_ax"];\n s.tmp_5 = r0;\n r0 = pxsim.Math_.imul(s.tmp_5, s.arg2);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 >> 8);\n s.tmp_4 = r0;\n r0 = (s.tmp_3 + s.tmp_4);\n s.tmp_2.arg1 = r0;\n s.pc = 11; return s.tmp_2;\n case 11:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["_vx"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg1;\n s.tmp_2 = ArcadePhysicsEngine_constrain__P738_mk(s);\n s.tmp_2.arg0 = s.arg0;\n r0 = s.arg1.fields["_vy"];\n s.tmp_3 = r0;\n r0 = s.arg1.fields["_ay"];\n s.tmp_5 = r0;\n r0 = pxsim.Math_.imul(s.tmp_5, s.arg2);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 >> 8);\n s.tmp_4 = r0;\n r0 = (s.tmp_3 + s.tmp_4);\n s.tmp_2.arg1 = r0;\n s.pc = 12; return s.tmp_2;\n case 12:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["_vy"] = (s.tmp_1);\n r0 = s.arg1.fields["_vx"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.ovx___11957);\n s.tmp_1 = r0;\n r0 = pxsim.Math_.imul(s.tmp_1, s.arg3);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 >> 8);\n s.tmp_0 = r0;\n r0 = pxsim.Math_.idiv(s.tmp_0, 1000);\n s.dx___11993 = (r0);\n r0 = s.arg1.fields["_vy"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.ovy___11961);\n s.tmp_1 = r0;\n r0 = pxsim.Math_.imul(s.tmp_1, s.arg3);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 >> 8);\n s.tmp_0 = r0;\n r0 = pxsim.Math_.idiv(s.tmp_0, 1000);\n s.dy___12001 = (r0);\n s.xStep___12009 = (s.dx___11993);\n s.yStep___12011 = (s.dy___12001);\n case 1:\n s.tmp_2 = Fx_abs__P93_mk(s);\n s.tmp_2.arg0 = s.xStep___12009;\n s.pc = 13; return s.tmp_2;\n case 13:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = s.arg0.fields["maxSingleStep"];\n s.tmp_3 = r0;\n r0 = (s.tmp_1 > s.tmp_3);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 2; continue; }\n r0 = s.tmp_0;\n { step = 3; continue; }\n case 2:\n s.tmp_5 = Fx_abs__P93_mk(s);\n s.tmp_5.arg0 = s.yStep___12011;\n s.pc = 14; return s.tmp_5;\n case 14:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = s.arg0.fields["maxSingleStep"];\n s.tmp_6 = r0;\n r0 = (s.tmp_4 > s.tmp_6);\n case 3:\n // jmp value (already in r0)\n s.tmp_7 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_7);\n if (!r0) { step = 8; continue; }\n s.tmp_10 = Fx_abs__P93_mk(s);\n s.tmp_10.arg0 = s.xStep___12009;\n s.pc = 15; return s.tmp_10;\n case 15:\n r0 = s.retval;\n s.tmp_9 = r0;\n r0 = s.arg0.fields["minSingleStep"];\n s.tmp_11 = r0;\n r0 = (s.tmp_9 > s.tmp_11);\n s.tmp_8 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_8);\n if (!r0) { step = 4; continue; }\n r0 = pxsim.Math_.idiv(s.xStep___12009, 2);\n s.xStep___12009 = (r0);\n case 4:\n case 5:\n s.tmp_2 = Fx_abs__P93_mk(s);\n s.tmp_2.arg0 = s.yStep___12011;\n s.pc = 16; return s.tmp_2;\n case 16:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = s.arg0.fields["minSingleStep"];\n s.tmp_3 = r0;\n r0 = (s.tmp_1 > s.tmp_3);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 6; continue; }\n r0 = pxsim.Math_.idiv(s.yStep___12011, 2);\n s.yStep___12011 = (r0);\n case 6:\n case 7:\n { step = 1; continue; }\n case 8:\n r0 = pxsim_pxtcore_mkClassInstance(MovingSprite__C725_VT);\n s.tmp_0 = r0;\n s.tmp_1 = MovingSprite_constructor__P726_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = s.arg1;\n r0 = s.arg1.fields["_vx"];\n s.tmp_1.arg2 = r0;\n r0 = s.arg1.fields["_vy"];\n s.tmp_1.arg3 = r0;\n s.tmp_1.arg4 = s.dx___11993;\n s.tmp_1.arg5 = s.dy___12001;\n s.tmp_1.arg6 = s.xStep___12009;\n s.tmp_1.arg7 = s.yStep___12011;\n s.pc = 17; return s.tmp_1;\n case 17:\n r0 = s.retval;\n r0 = s.tmp_0;\n return leave(s, r0)\n default: oops()\n} } }\nArcadePhysicsEngine_createMovingSprite__P733.info = {"start":5787,"length":1716,"line":177,"column":4,"endLine":246,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"createMovingSprite","argumentNames":["this","sprite","dtSec","dt2"]}\n\nfunction ArcadePhysicsEngine_createMovingSprite__P733_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: ArcadePhysicsEngine_createMovingSprite__P733, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n ovx___11957: undefined,\n ovy___11961: undefined,\n dx___11993: undefined,\n dy___12001: undefined,\n xStep___12009: undefined,\n yStep___12011: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction ArcadePhysicsEngine_constrain__P738(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, ArcadePhysicsEngine__C727_VT)) failedCast(r0);\n s.tmp_0 = Fx_max__P95_mk(s);\n s.tmp_1 = Fx_min__P94_mk(s);\n r0 = s.arg0.fields["maxVelocity"];\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = s.arg1;\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n s.tmp_0.arg0 = r0;\n r0 = s.arg0.fields["maxNegativeVelocity"];\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n return leave(s, r0)\n default: oops()\n} } }\nArcadePhysicsEngine_constrain__P738.info = {"start":17817,"length":191,"line":507,"column":4,"endLine":515,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"constrain","argumentNames":["this","v"]}\n\nfunction ArcadePhysicsEngine_constrain__P738_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: ArcadePhysicsEngine_constrain__P738, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Fx_max__P95(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 > s.arg1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.arg0;\n { step = 3; continue; }\n { step = 2; continue; }\n case 1:\n r0 = s.arg1;\n { step = 3; continue; }\n case 2:\n r0 = undefined;\n case 3:\n return leave(s, r0)\n default: oops()\n} } }\nFx_max__P95.info = {"start":1649,"length":117,"line":53,"column":4,"endLine":58,"endColumn":5,"fileName":"pxt_modules/base/fixed.ts","functionName":"max","argumentNames":["a","b"]}\n\nfunction Fx_max__P95_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Fx_max__P95, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction sprites_SpriteMap_insertAABB__P668(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.left___11793 = undefined;\n s.top___11796 = undefined;\n s.xn___11799 = undefined;\n s.yn___11808 = undefined;\n s.x___11817 = undefined;\n s.y___11821 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_SpriteMap__C659_VT)) failedCast(r0);\n s.tmp_1 = sprites_SpriteMap_isOob__P667_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.tmp_1.arg1 = s.arg1;\n s.pc = 8; return s.tmp_1;\n case 8:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 7; continue; }\n case 1:\n case 2:\n s.tmp_2 = Sprite_left__P629_mk(s);\n s.tmp_2.arg0 = s.arg1;\n s.pc = 9; return s.tmp_2;\n case 9:\n r0 = s.retval;\n s.left___11793 = (r0);\n s.tmp_0 = Sprite_top__P633_mk(s);\n s.tmp_0.arg0 = s.arg1;\n s.pc = 10; return s.tmp_0;\n case 10:\n r0 = s.retval;\n s.top___11796 = (r0);\n r0 = s.arg1.fields["_image"];\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_3);\n s.tmp_2 = r0;\n r0 = s.arg0.fields["cellWidth"];\n s.tmp_4 = r0;\n r0 = (s.tmp_2 + s.tmp_4);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - 1);\n s.tmp_0 = r0;\n r0 = s.arg0.fields["cellWidth"];\n s.tmp_5 = r0;\n r0 = pxsim.Math_.idiv(s.tmp_0, s.tmp_5);\n s.xn___11799 = (r0);\n r0 = s.arg1.fields["_image"];\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_3);\n s.tmp_2 = r0;\n r0 = s.arg0.fields["cellHeight"];\n s.tmp_4 = r0;\n r0 = (s.tmp_2 + s.tmp_4);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - 1);\n s.tmp_0 = r0;\n r0 = s.arg0.fields["cellHeight"];\n s.tmp_5 = r0;\n r0 = pxsim.Math_.idiv(s.tmp_0, s.tmp_5);\n s.yn___11808 = (r0);\n s.x___11817 = (0);\n case 3:\n r0 = (s.x___11817 <= s.xn___11799);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 6; continue; }\n s.y___11821 = (0);\n case 4:\n r0 = (s.y___11821 <= s.yn___11808);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n s.tmp_1 = sprites_SpriteMap_insertAtKey__P666_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.tmp_2 = r0 = s.left___11793;\n s.tmp_4 = Math_min__P62_mk(s);\n r0 = s.arg1.fields["_image"];\n s.tmp_5 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_5);\n s.tmp_4.arg0 = r0;\n r0 = s.arg0.fields["cellWidth"];\n s.tmp_6 = r0;\n r0 = (s.x___11817 * s.tmp_6);\n s.tmp_4.arg1 = r0;\n s.pc = 12; return s.tmp_4;\n case 12:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_2 + s.tmp_3);\n s.tmp_1.arg1 = r0;\n s.tmp_7 = r0 = s.top___11796;\n s.tmp_9 = Math_min__P62_mk(s);\n r0 = s.arg1.fields["_image"];\n s.tmp_10 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_10);\n s.tmp_9.arg0 = r0;\n r0 = s.arg0.fields["cellHeight"];\n s.tmp_11 = r0;\n r0 = (s.y___11821 * s.tmp_11);\n s.tmp_9.arg1 = r0;\n s.pc = 13; return s.tmp_9;\n case 13:\n r0 = s.retval;\n s.tmp_8 = r0;\n r0 = (s.tmp_7 + s.tmp_8);\n s.tmp_1.arg2 = r0;\n s.tmp_1.arg3 = s.arg1;\n s.pc = 11; return s.tmp_1;\n case 11:\n r0 = s.retval;\n r0 = (s.y___11821 + 1);\n s.y___11821 = (r0);\n { step = 4; continue; }\n case 5:\n r0 = (s.x___11817 + 1);\n s.x___11817 = (r0);\n { step = 3; continue; }\n case 6:\n case 7:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_SpriteMap_insertAABB__P668.info = {"start":3602,"length":623,"line":101,"column":8,"endLine":113,"endColumn":9,"fileName":"pxt_modules/game/spritemap.ts","functionName":"insertAABB","argumentNames":["this","sprite"]}\n\nfunction sprites_SpriteMap_insertAABB__P668_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_SpriteMap_insertAABB__P668, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n left___11793: undefined,\n top___11796: undefined,\n xn___11799: undefined,\n yn___11808: undefined,\n x___11817: undefined,\n y___11821: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction sprites_SpriteMap_insertAtKey__P666(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.k___11851 = undefined;\n s.bucket___11855 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_SpriteMap__C659_VT)) failedCast(r0);\n s.tmp_0 = sprites_SpriteMap_key__P665_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.tmp_0.arg2 = s.arg2;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n s.k___11851 = (r0);\n r0 = s.arg0.fields["buckets"];\n s.tmp_0 = r0;\n r0 = pxsim_Array__getAt(s.tmp_0, s.k___11851);\n s.bucket___11855 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.bucket___11855);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.arg0.fields["buckets"];\n s.tmp_2 = r0;\n s.tmp_3 = r0 = s.k___11851;\n r0 = pxsim_Array__mk();\n s.tmp_4 = r0;\n r0 = pxsim_Array_.setAt(s.tmp_2, s.tmp_3, s.tmp_4);\n s.bucket___11855 = (s.tmp_4);\n case 1:\n case 2:\n r0 = pxsim_Array_.indexOf(s.bucket___11855, s.arg3, undefined);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = pxsim_Array__push(s.bucket___11855, s.arg3);\n case 3:\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_SpriteMap_insertAtKey__P666.info = {"start":2920,"length":302,"line":84,"column":8,"endLine":91,"endColumn":9,"fileName":"pxt_modules/game/spritemap.ts","functionName":"insertAtKey","argumentNames":["this","x","y","sprite"]}\n\nfunction sprites_SpriteMap_insertAtKey__P666_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_SpriteMap_insertAtKey__P666, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n k___11851: undefined,\n bucket___11855: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction sprites_SpriteMap_clear__P664(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_SpriteMap__C659_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["buckets"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_SpriteMap_clear__P664.info = {"start":2580,"length":50,"line":74,"column":8,"endLine":76,"endColumn":9,"fileName":"pxt_modules/game/spritemap.ts","functionName":"clear","argumentNames":["this"]}\n\nfunction sprites_SpriteMap_clear__P664_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_SpriteMap_clear__P664, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction sprites_SpriteMap_resizeBuckets__P663(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.maxWidth___11888 = undefined;\n s.maxHeight___11889 = undefined;\n s.sprite___11891 = undefined;\n s.unnamed52___U3 = undefined;\n s.unnamed53___U4 = undefined;\n s.tMap___11905 = undefined;\n s.areaWidth___11909 = undefined;\n s.areaHeight___11915 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_SpriteMap__C659_VT)) failedCast(r0);\n s.maxWidth___11888 = (0);\n s.maxHeight___11889 = (0);\n s.sprite___11891 = (undefined);\n s.sprite___11891 = (undefined);\n s.unnamed52___U3 = (s.arg1);\n s.unnamed53___U4 = (0);\n case 1:\n s.tmp_0 = r0 = s.unnamed53___U4;\n r0 = pxsim_Array__length(s.unnamed52___U3);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 6; continue; }\n r0 = pxsim_Array__getAt(s.unnamed52___U3, s.unnamed53___U4);\n s.sprite___11891 = (r0);\n r0 = s.sprite___11891.fields["_image"];\n s.tmp_4 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_4);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 > s.maxWidth___11888);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 2; continue; }\n r0 = s.sprite___11891.fields["_image"];\n s.tmp_5 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_5);\n s.maxWidth___11888 = (r0);\n case 2:\n case 3:\n r0 = s.sprite___11891.fields["_image"];\n s.tmp_2 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > s.maxHeight___11889);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 4; continue; }\n r0 = s.sprite___11891.fields["_image"];\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_3);\n s.maxHeight___11889 = (r0);\n case 4:\n case 5:\n r0 = (s.unnamed53___U4 + 1);\n s.unnamed53___U4 = (r0);\n { step = 1; continue; }\n case 6:\n s.unnamed52___U3 = (undefined);\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 11; return s.tmp_0;\n case 11:\n r0 = s.retval;\n r0 = r0.fields["tileMap"];\n s.tMap___11905 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.tMap___11905);\n if (!r0) { step = 7; continue; }\n s.tmp_0 = tiles_TileMap_areaWidth__P869_mk(s);\n s.tmp_0.arg0 = s.tMap___11905;\n s.pc = 12; return s.tmp_0;\n case 12:\n r0 = s.retval;\n { step = 8; continue; }\n case 7:\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n case 8:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n s.areaWidth___11909 = (s.tmp_1);\n r0 = pxsim_numops_toBoolDecr(s.tMap___11905);\n if (!r0) { step = 9; continue; }\n s.tmp_0 = tiles_TileMap_areaHeight__P870_mk(s);\n s.tmp_0.arg0 = s.tMap___11905;\n s.pc = 13; return s.tmp_0;\n case 13:\n r0 = s.retval;\n { step = 10; continue; }\n case 9:\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n case 10:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n s.areaHeight___11915 = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_2 = Math_clamp__P58_mk(s);\n s.tmp_2.arg0 = 8;\n r0 = (s.areaWidth___11909 >> 2);\n s.tmp_2.arg1 = r0;\n r0 = (s.maxWidth___11888 * 2);\n s.tmp_2.arg2 = r0;\n s.pc = 14; return s.tmp_2;\n case 14:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["cellWidth"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_2 = Math_clamp__P58_mk(s);\n s.tmp_2.arg0 = 8;\n r0 = (s.areaHeight___11915 >> 2);\n s.tmp_2.arg1 = r0;\n r0 = (s.maxHeight___11889 * 2);\n s.tmp_2.arg2 = r0;\n s.pc = 15; return s.tmp_2;\n case 15:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["cellHeight"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.arg0.fields["cellHeight"];\n s.tmp_2 = r0;\n r0 = pxsim.Math_.idiv(s.areaHeight___11915, s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["rowCount"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.arg0.fields["cellWidth"];\n s.tmp_2 = r0;\n r0 = pxsim.Math_.idiv(s.areaWidth___11909, s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["columnCount"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_SpriteMap_resizeBuckets__P663.info = {"start":1744,"length":826,"line":54,"column":8,"endLine":72,"endColumn":9,"fileName":"pxt_modules/game/spritemap.ts","functionName":"resizeBuckets","argumentNames":["this","sprites"]}\n\nfunction sprites_SpriteMap_resizeBuckets__P663_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_SpriteMap_resizeBuckets__P663, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n maxWidth___11888: undefined,\n maxHeight___11889: undefined,\n sprite___11891: undefined,\n unnamed52___U3: undefined,\n unnamed53___U4: undefined,\n tMap___11905: undefined,\n areaWidth___11909: undefined,\n areaHeight___11915: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_clearObstacles__P650(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["_obstacles"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_clearObstacles__P650.info = {"start":23644,"length":54,"line":718,"column":4,"endLine":720,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"clearObstacles","argumentNames":["this"]}\n\nfunction Sprite_clearObstacles__P650_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_clearObstacles__P650, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Fx_abs__P93(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = (0 - s.arg0);\n { step = 3; continue; }\n { step = 2; continue; }\n case 1:\n r0 = s.arg0;\n { step = 3; continue; }\n case 2:\n r0 = undefined;\n case 3:\n return leave(s, r0)\n default: oops()\n} } }\nFx_abs__P93.info = {"start":1358,"length":164,"line":41,"column":4,"endLine":46,"endColumn":5,"fileName":"pxt_modules/base/fixed.ts","functionName":"abs","argumentNames":["a"]}\n\nfunction Fx_abs__P93_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Fx_abs__P93, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Fx_idiv__P91(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim.Math_.idiv(s.arg0, s.arg1);\n return leave(s, r0)\n default: oops()\n} } }\nFx_idiv__P91.info = {"start":1131,"length":111,"line":35,"column":4,"endLine":37,"endColumn":5,"fileName":"pxt_modules/base/fixed.ts","functionName":"idiv","argumentNames":["a","b"]}\n\nfunction Fx_idiv__P91_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Fx_idiv__P91, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Fx_div__P90(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 << 8);\n s.tmp_0 = r0;\n r0 = pxsim.Math_.idiv(s.tmp_0, s.arg1);\n return leave(s, r0)\n default: oops()\n} } }\nFx_div__P90.info = {"start":997,"length":129,"line":32,"column":4,"endLine":34,"endColumn":5,"fileName":"pxt_modules/base/fixed.ts","functionName":"div","argumentNames":["a","b"]}\n\nfunction Fx_div__P90_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Fx_div__P90, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction helpers_arrayMap__P44(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.res___12065 = undefined;\n s.len___12067 = undefined;\n s.i___12070 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_Array__mk();\n s.res___12065 = (r0);\n r0 = pxsim_Array__length(s.arg0);\n s.len___12067 = (r0);\n s.i___12070 = (0);\n case 1:\n r0 = (s.i___12070 < s.len___12067);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n s.tmp_1 = r0 = s.res___12065;\n s.tmp_3 = lambda_3_mk(s);\n s.tmp_3.argL = s.arg1;\n r0 = pxsim_Array__getAt(s.arg0, s.i___12070);\n s.tmp_3.arg0 = r0;\n s.tmp_3.arg1 = s.i___12070;\n setupLambda(s.tmp_3, s.tmp_3.argL);\n s.pc = 3; return s.tmp_3;\n case 3:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = pxsim_Array__push(s.tmp_1, s.tmp_2);\n r0 = (s.i___12070 + 1);\n s.i___12070 = (r0);\n { step = 1; continue; }\n case 2:\n r0 = s.res___12065;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_arrayMap__P44.info = {"start":4245,"length":299,"line":145,"column":4,"endLine":152,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"arrayMap","argumentNames":["arr","callbackfn"]}\n\nfunction helpers_arrayMap__P44_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_arrayMap__P44, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n res___12065: undefined,\n len___12067: undefined,\n i___12070: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction ArcadePhysicsEngine_draw__P731(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, ArcadePhysicsEngine__C727_VT)) failedCast(r0);\n s.tmp_0 = sprites_SpriteMap_draw__P662_mk(s);\n r0 = s.arg0.fields["map"];\n s.tmp_0.arg0 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nArcadePhysicsEngine_draw__P731.info = {"start":1796,"length":39,"line":71,"column":4,"endLine":73,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"draw","argumentNames":["this"]}\n\nfunction ArcadePhysicsEngine_draw__P731_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: ArcadePhysicsEngine_draw__P731, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction sprites_SpriteMap_draw__P662(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.x___12095 = undefined;\n s.y___12100 = undefined;\n s.left___12105 = undefined;\n s.top___12109 = undefined;\n s.k___12113 = undefined;\n s.b___12117 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_SpriteMap__C659_VT)) failedCast(r0);\n s.x___12095 = (0);\n case 1:\n r0 = s.arg0.fields["columnCount"];\n s.tmp_1 = r0;\n r0 = (s.x___12095 < s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 8; continue; }\n s.y___12100 = (0);\n case 2:\n r0 = s.arg0.fields["rowCount"];\n s.tmp_1 = r0;\n r0 = (s.y___12100 < s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 7; continue; }\n r0 = s.arg0.fields["cellWidth"];\n s.tmp_2 = r0;\n r0 = (s.x___12095 * s.tmp_2);\n s.left___12105 = (r0);\n r0 = s.arg0.fields["cellHeight"];\n s.tmp_0 = r0;\n r0 = (s.y___12100 * s.tmp_0);\n s.top___12109 = (r0);\n s.tmp_0 = sprites_SpriteMap_key__P665_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.left___12105;\n s.tmp_0.arg2 = s.top___12109;\n s.pc = 9; return s.tmp_0;\n case 9:\n r0 = s.retval;\n s.k___12113 = (r0);\n r0 = s.arg0.fields["buckets"];\n s.tmp_0 = r0;\n r0 = pxsim_Array__getAt(s.tmp_0, s.k___12113);\n s.b___12117 = (r0);\n s.tmp_0 = r0 = s.b___12117;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 3; continue; }\n r0 = s.tmp_0;\n { step = 4; continue; }\n case 3:\n r0 = pxsim_Array__length(s.b___12117);\n case 4:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 5; continue; }\n s.tmp_2 = helpers_imageDrawRect__P414_mk(s);\n s.tmp_2.arg0 = globals.screen___464;\n s.tmp_2.arg1 = s.left___12105;\n s.tmp_2.arg2 = s.top___12109;\n r0 = s.arg0.fields["cellWidth"];\n s.tmp_2.arg3 = r0;\n r0 = s.arg0.fields["cellHeight"];\n s.tmp_2.arg4 = r0;\n s.tmp_2.arg5 = 5;\n s.pc = 10; return s.tmp_2;\n case 10:\n r0 = s.retval;\n case 5:\n case 6:\n r0 = (s.y___12100 + 1);\n s.y___12100 = (r0);\n { step = 2; continue; }\n case 7:\n r0 = (s.x___12095 + 1);\n s.x___12095 = (r0);\n { step = 1; continue; }\n case 8:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_SpriteMap_draw__P662.info = {"start":1170,"length":496,"line":38,"column":8,"endLine":49,"endColumn":9,"fileName":"pxt_modules/game/spritemap.ts","functionName":"draw","argumentNames":["this"]}\n\nfunction sprites_SpriteMap_draw__P662_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_SpriteMap_draw__P662, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n x___12095: undefined,\n y___12100: undefined,\n left___12105: undefined,\n top___12109: undefined,\n k___12113: undefined,\n b___12117: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction ArcadePhysicsEngine_removeSprite__P730(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, ArcadePhysicsEngine__C727_VT)) failedCast(r0);\n r0 = s.arg0.fields["sprites"];\n s.tmp_0 = r0;\n r0 = pxsim_Array_.removeElement(s.tmp_0, s.arg1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nArcadePhysicsEngine_removeSprite__P730.info = {"start":1710,"length":80,"line":67,"column":4,"endLine":69,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"removeSprite","argumentNames":["this","sprite"]}\n\nfunction ArcadePhysicsEngine_removeSprite__P730_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: ArcadePhysicsEngine_removeSprite__P730, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction ArcadePhysicsEngine_addSprite__P729(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, ArcadePhysicsEngine__C727_VT)) failedCast(r0);\n r0 = s.arg0.fields["sprites"];\n s.tmp_0 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.arg1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nArcadePhysicsEngine_addSprite__P729.info = {"start":1636,"length":68,"line":63,"column":4,"endLine":65,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"addSprite","argumentNames":["this","sprite"]}\n\nfunction ArcadePhysicsEngine_addSprite__P729_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: ArcadePhysicsEngine_addSprite__P729, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction effects_ImageEffect_startScreenEffect__P1441(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.wasRunning___12430 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, effects_ImageEffect__C1438_VT)) failedCast(r0);\n s.tmp_4 = game_currentScene__P769_mk(s);\n s.pc = 8; return s.tmp_4;\n case 8:\n r0 = s.retval;\n r0 = r0.fields["background"];\n s.tmp_3 = r0;\n r0 = s.tmp_3.fields["_image"];\n s.tmp_8 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_8);\n s.tmp_7 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_7);\n s.tmp_6 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_6);\n s.tmp_5 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_5);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 7; continue; }\n case 1:\n case 2:\n r0 = s.arg0.fields["times"];\n s.tmp_9 = r0;\n r0 = (s.tmp_9 != undefined);\n s.wasRunning___12430 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n if (!r0) { step = 3; continue; }\n r0 = s.arg1;\n { step = 4; continue; }\n case 3:\n r0 = 15;\n case 4:\n // jmp value (already in r0)\n s.tmp_0 = r0;\n r0 = (s.arg0).fields["times"] = (s.tmp_0);\n r0 = pxsim_numops_toBoolDecr(s.wasRunning___12430);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = pxsim_pxtcore_mkAction(2, inline__P12441);\n s.tmp_2 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_2, 0, s.arg0);\n r0 = pxsim_pxtrt_stclo(s.tmp_2, 1, s.arg2);\n r0 = pxsim.control.runInParallel(s.tmp_2);\n case 5:\n case 6:\n case 7:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\neffects_ImageEffect_startScreenEffect__P1441.info = {"start":1457,"length":637,"line":41,"column":8,"endLine":56,"endColumn":9,"fileName":"pxt_modules/game/effects.ts","functionName":"startScreenEffect","argumentNames":["this","times","delay"]}\n\nfunction effects_ImageEffect_startScreenEffect__P1441_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: effects_ImageEffect_startScreenEffect__P1441, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n wasRunning___12430: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction inline__P12441(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n case 1:\n r0 = s.caps[0].fields["times"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 4; continue; }\n s.tmp_2 = effects_ImageEffect_change__P1440_mk(s);\n s.tmp_2.arg0 = s.caps[0];\n s.tmp_3 = scene_backgroundImage__P938_mk(s);\n s.pc = 6; return s.tmp_3;\n case 6:\n r0 = s.retval;\n s.tmp_2.arg1 = r0;\n s.pc = 5; return s.tmp_2;\n case 5:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(s.caps[1]);\n if (!r0) { step = 2; continue; }\n r0 = s.caps[1];\n { step = 3; continue; }\n case 2:\n r0 = s.caps[0].fields["preferredDelay"];\n case 3:\n // jmp value (already in r0)\n s.tmp_0 = r0;\n s.tmp_1 = pause__P241_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.pc = 7; return s.tmp_1;\n case 7:\n r0 = s.retval;\n s.tmp_0 = r0 = s.caps[0];\n r0 = s.tmp_0.fields["times"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - 1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["times"] = (s.tmp_1);\n { step = 1; continue; }\n case 4:\n r0 = (s.caps[0]).fields["times"] = (undefined);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P12441.info = {"start":1764,"length":304,"line":47,"column":38,"endLine":54,"endColumn":17,"fileName":"pxt_modules/game/effects.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P12441_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P12441, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n} }\n\n\n\n\n\nfunction scene_backgroundImage__P938(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.scene___12458 = undefined;\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.scene___12458 = (r0);\n s.tmp_0 = scene_Background_image__P848_mk(s);\n r0 = s.scene___12458.fields["background"];\n s.tmp_0.arg0 = r0;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n return leave(s, r0)\n default: oops()\n} } }\nscene_backgroundImage__P938.info = {"start":2070,"length":130,"line":74,"column":4,"endLine":77,"endColumn":5,"fileName":"pxt_modules/game/scenes.ts","functionName":"backgroundImage","argumentNames":[]}\n\nfunction scene_backgroundImage__P938_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_backgroundImage__P938, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n scene___12458: undefined,\n} }\n\n\n\n\n\nfunction scene_Background_hasBackgroundImage__P850(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Background__C846_VT)) failedCast(r0);\n r0 = s.arg0.fields["_image"];\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\nscene_Background_hasBackgroundImage__P850.info = {"start":1081,"length":75,"line":44,"column":8,"endLine":46,"endColumn":9,"fileName":"pxt_modules/game/background.ts","functionName":"hasBackgroundImage","argumentNames":["this"]}\n\nfunction scene_Background_hasBackgroundImage__P850_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Background_hasBackgroundImage__P850, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_BaseDialog_drawTextCore__P955(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_BaseDialog__C952_VT)) failedCast(r0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_BaseDialog_drawTextCore__P955.info = {"start":1757,"length":65,"line":70,"column":8,"endLine":72,"endColumn":9,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"drawTextCore","argumentNames":["this"]}\n\nfunction game_BaseDialog_drawTextCore__P955_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_BaseDialog_drawTextCore__P955, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_BaseDialog_update__P953(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_BaseDialog__C952_VT)) failedCast(r0);\n s.tmp_0 = game_BaseDialog_clearInterior__P958_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.tmp_0 = game_BaseDialog__C952_v1_1_mk(s);\n s.tmp_0.arg0 = s.arg0;\n if (!checkSubtype(s.tmp_0.arg0, game_BaseDialog__C952_VT)) failedCast(s.tmp_0.arg0);\n s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.drawTextCore;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n s.tmp_0 = game_BaseDialog_drawCursorRow__P956_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_BaseDialog_update__P953.info = {"start":1539,"length":121,"line":60,"column":8,"endLine":64,"endColumn":9,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"update","argumentNames":["this"]}\n\nfunction game_BaseDialog_update__P953_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_BaseDialog_update__P953, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction music_Melody_toString__P359(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, music_Melody__C349_VT)) failedCast(r0);\n r0 = s.arg0.fields["_text"];\n return leave(s, r0)\n default: oops()\n} } }\nmusic_Melody_toString__P359.info = {"start":9607,"length":53,"line":302,"column":8,"endLine":304,"endColumn":9,"fileName":"pxt_modules/mixer/melody.ts","functionName":"toString","argumentNames":["this"]}\n\nfunction music_Melody_toString__P359_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_Melody_toString__P359, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction info_PlayerInfo_id__P826(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, info_PlayerInfo__C823_VT)) failedCast(r0);\n r0 = s.arg0.fields["_player"];\n return leave(s, r0)\n default: oops()\n} } }\ninfo_PlayerInfo_id__P826.info = {"start":17272,"length":57,"line":569,"column":8,"endLine":571,"endColumn":9,"fileName":"pxt_modules/game/info.ts","functionName":"id","argumentNames":["this"]}\n\nfunction info_PlayerInfo_id__P826_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_PlayerInfo_id__P826, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction effects_SceneAnchor_width__P1411(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, effects_SceneAnchor__C1408_VT)) failedCast(r0);\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n return leave(s, r0)\n default: oops()\n} } }\neffects_SceneAnchor_width__P1411.info = {"start":2428,"length":56,"line":66,"column":8,"endLine":68,"endColumn":9,"fileName":"pxt_modules/game/particleeffects.ts","functionName":"width","argumentNames":["this"]}\n\nfunction effects_SceneAnchor_width__P1411_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: effects_SceneAnchor_width__P1411, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction effects_SceneAnchor_y__P1410(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, effects_SceneAnchor__C1408_VT)) failedCast(r0);\n r0 = s.arg0.fields["camera"];\n r0 = r0.fields["offsetY"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 >> 1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\neffects_SceneAnchor_y__P1410.info = {"start":2336,"length":82,"line":62,"column":8,"endLine":64,"endColumn":9,"fileName":"pxt_modules/game/particleeffects.ts","functionName":"y","argumentNames":["this"]}\n\nfunction effects_SceneAnchor_y__P1410_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: effects_SceneAnchor_y__P1410, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction effects_SceneAnchor_x__P1409(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, effects_SceneAnchor__C1408_VT)) failedCast(r0);\n r0 = s.arg0.fields["camera"];\n r0 = r0.fields["offsetX"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 >> 1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\neffects_SceneAnchor_x__P1409.info = {"start":2245,"length":81,"line":58,"column":8,"endLine":60,"endColumn":9,"fileName":"pxt_modules/game/particleeffects.ts","functionName":"x","argumentNames":["this"]}\n\nfunction effects_SceneAnchor_x__P1409_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: effects_SceneAnchor_x__P1409, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction particles_ShapeFactory_createParticle__P1362(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.p___10458 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ShapeFactory__C1358_VT)) failedCast(r0);\n s.tmp_0 = particles_AreaFactory_createParticle__P1350_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.p___10458 = (r0);\n s.tmp_0 = r0 = s.p___10458;\n s.tmp_2 = Math_FastRandom_randomRange__P1158_mk(s);\n r0 = s.arg0.fields["galois"];\n s.tmp_2.arg0 = r0;\n s.tmp_2.arg1 = 1;\n s.tmp_2.arg2 = 14;\n s.pc = 2; return s.tmp_2;\n case 2:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["color"] = (s.tmp_1);\n r0 = s.p___10458;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ShapeFactory_createParticle__P1362.info = {"start":7505,"length":178,"line":239,"column":8,"endLine":243,"endColumn":9,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"createParticle","argumentNames":["this","anchor"]}\n\nfunction particles_ShapeFactory_createParticle__P1362_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ShapeFactory_createParticle__P1362, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n p___10458: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction particles_AreaFactory_createParticle__P1350(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.p___10470 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_AreaFactory__C1348_VT)) failedCast(r0);\n s.tmp_0 = particles_SprayFactory_createParticle__P1343_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.p___10470 = (r0);\n s.tmp_0 = r0 = s.p___10470;\n s.tmp_2 = Math_FastRandom_randomRange__P1158_mk(s);\n r0 = s.arg0.fields["galois"];\n s.tmp_2.arg0 = r0;\n r0 = s.arg0.fields["minLifespan"];\n s.tmp_2.arg1 = r0;\n r0 = s.arg0.fields["maxLifespan"];\n s.tmp_2.arg2 = r0;\n s.pc = 4; return s.tmp_2;\n case 4:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["lifespan"] = (s.tmp_1);\n s.tmp_0 = r0 = s.p___10470;\n s.tmp_4 = Math_FastRandom_randomRange__P1158_mk(s);\n r0 = s.arg0.fields["galois"];\n s.tmp_4.arg0 = r0;\n s.tmp_4.arg1 = 0;\n r0 = s.arg0.fields["xRange"];\n s.tmp_4.arg2 = r0;\n s.pc = 5; return s.tmp_4;\n case 5:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = s.arg0.fields["xRange"];\n s.tmp_6 = r0;\n r0 = (s.tmp_6 >> 1);\n s.tmp_5 = r0;\n r0 = (s.tmp_3 - s.tmp_5);\n s.tmp_2 = r0;\n r0 = s.p___10470.fields["_x"];\n s.tmp_7 = r0;\n r0 = (s.tmp_2 << 8);\n s.tmp_8 = r0;\n r0 = (s.tmp_8 + s.tmp_7);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["_x"] = (s.tmp_1);\n s.tmp_1 = if_height_1_mk(s);\n s.tmp_1.arg0 = s.arg1;\n if (!s.tmp_1.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, "height");\n } else {\n s.tmp_1.fn = s.tmp_1.arg0.vtable.iface["height"];\n if (s.tmp_1.fn == null) { s.retval = s.tmp_1.arg0.fields["height"]; }\n else { s.pc = 6; return s.tmp_1; }\n }\n case 6:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_3 = if_height_1_mk(s);\n s.tmp_3.arg0 = s.arg1;\n if (!s.tmp_3.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, "height");\n } else {\n s.tmp_3.fn = s.tmp_3.arg0.vtable.iface["height"];\n if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields["height"]; }\n else { s.pc = 7; return s.tmp_3; }\n }\n case 7:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (s.tmp_2 >> 1);\n { step = 2; continue; }\n case 1:\n r0 = 0;\n case 2:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n s.tmp_5 = r0 = s.p___10470;\n s.tmp_9 = Math_FastRandom_randomRange__P1158_mk(s);\n r0 = s.arg0.fields["galois"];\n s.tmp_9.arg0 = r0;\n s.tmp_9.arg1 = 0;\n r0 = s.arg0.fields["yRange"];\n s.tmp_9.arg2 = r0;\n s.pc = 8; return s.tmp_9;\n case 8:\n r0 = s.retval;\n s.tmp_8 = r0;\n r0 = (s.tmp_8 - s.tmp_4);\n s.tmp_7 = r0;\n r0 = s.p___10470.fields["_y"];\n s.tmp_10 = r0;\n r0 = (s.tmp_7 << 8);\n s.tmp_11 = r0;\n r0 = (s.tmp_11 + s.tmp_10);\n s.tmp_6 = r0;\n r0 = (s.tmp_5).fields["_y"] = (s.tmp_6);\n r0 = s.p___10470;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_AreaFactory_createParticle__P1350.info = {"start":4334,"length":426,"line":148,"column":8,"endLine":156,"endColumn":9,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"createParticle","argumentNames":["this","anchor"]}\n\nfunction particles_AreaFactory_createParticle__P1350_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_AreaFactory_createParticle__P1350, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n p___10470: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction particles_SprayFactory_createParticle__P1343(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.p___10518 = undefined;\n s.angle___10521 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_SprayFactory__C1341_VT)) failedCast(r0);\n s.tmp_0 = particles_ParticleFactory_createParticle__P1338_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.p___10518 = (r0);\n r0 = s.arg0.fields["minAngle"];\n s.tmp_1 = r0;\n s.tmp_3 = Math_FastRandom_randomRange__P1158_mk(s);\n s.tmp_3.arg0 = globals.galois___1324;\n s.tmp_3.arg1 = 0;\n r0 = s.arg0.fields["spread"];\n s.tmp_3.arg2 = r0;\n s.pc = 2; return s.tmp_3;\n case 2:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (s.tmp_1 + s.tmp_2);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 % 100);\n s.angle___10521 = (r0);\n s.tmp_0 = r0 = s.p___10518;\n r0 = pxsim_Array__getAt(globals.cachedSin___1321, s.angle___10521);\n s.tmp_2 = r0;\n r0 = s.arg0.fields["speed"];\n s.tmp_3 = r0;\n r0 = pxsim.Math_.imul(s.tmp_2, s.tmp_3);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 >> 8);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["vx"] = (s.tmp_1);\n s.tmp_0 = r0 = s.p___10518;\n r0 = pxsim_Array__getAt(globals.cachedCos___1322, s.angle___10521);\n s.tmp_2 = r0;\n r0 = s.arg0.fields["speed"];\n s.tmp_3 = r0;\n r0 = pxsim.Math_.imul(s.tmp_2, s.tmp_3);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 >> 8);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["vy"] = (s.tmp_1);\n r0 = s.p___10518;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_SprayFactory_createParticle__P1343.info = {"start":2851,"length":333,"line":105,"column":8,"endLine":113,"endColumn":9,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"createParticle","argumentNames":["this","anchor"]}\n\nfunction particles_SprayFactory_createParticle__P1343_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_SprayFactory_createParticle__P1343, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n p___10518: undefined,\n angle___10521: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleSource___draw__P1287(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.current___12368 = undefined;\n s.left___12371 = undefined;\n s.top___12375 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleSource__C1285_VT)) failedCast(r0);\n r0 = s.arg0.fields["head"];\n s.current___12368 = (r0);\n r0 = s.arg1.fields["drawOffsetX"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 * 256);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 | 0);\n s.left___12371 = (r0);\n r0 = s.arg1.fields["drawOffsetY"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 * 256);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 | 0);\n s.top___12375 = (r0);\n case 1:\n r0 = pxsim_numops_toBoolDecr(s.current___12368);\n if (!r0) { step = 4; continue; }\n r0 = s.current___12368.fields["lifespan"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n s.tmp_2 = particles_ParticleSource_drawParticle__P1301_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.tmp_2.arg1 = s.current___12368;\n s.tmp_2.arg2 = s.left___12371;\n s.tmp_2.arg3 = s.top___12375;\n s.pc = 5; return s.tmp_2;\n case 5:\n r0 = s.retval;\n case 2:\n case 3:\n r0 = s.current___12368.fields["next"];\n s.current___12368 = (r0);\n { step = 1; continue; }\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleSource___draw__P1287.info = {"start":3139,"length":362,"line":109,"column":8,"endLine":119,"endColumn":9,"fileName":"pxt_modules/game/particles.ts","functionName":"__draw","argumentNames":["this","camera"]}\n\nfunction particles_ParticleSource___draw__P1287_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleSource___draw__P1287, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n current___12368: undefined,\n left___12371: undefined,\n top___12375: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleSource_drawParticle__P1301(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleSource__C1285_VT)) failedCast(r0);\n s.tmp_0 = particles_ParticleFactory__C1337_v1_4_mk(s);\n r0 = s.arg0.fields["_factory"];\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = s.arg1;\n r0 = s.arg1.fields["_x"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - s.arg2);\n s.tmp_0.arg2 = r0;\n r0 = s.arg1.fields["_y"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - s.arg3);\n s.tmp_0.arg3 = r0;\n if (!checkSubtype(s.tmp_0.arg0, particles_ParticleFactory__C1337_VT)) failedCast(s.tmp_0.arg0);\n s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.drawParticle;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleSource_drawParticle__P1301.info = {"start":8123,"length":174,"line":275,"column":8,"endLine":277,"endColumn":9,"fileName":"pxt_modules/game/particles.ts","functionName":"drawParticle","argumentNames":["this","p","screenLeft","screenTop"]}\n\nfunction particles_ParticleSource_drawParticle__P1301_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleSource_drawParticle__P1301, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleFactory_drawParticle__P1339(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleFactory__C1337_VT)) failedCast(r0);\n s.tmp_0 = r0 = globals.screen___464;\n r0 = (s.arg2 + 128);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 >> 8);\n s.tmp_1 = r0;\n r0 = (s.arg3 + 128);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 >> 8);\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.setPixel(s.tmp_0, s.tmp_1, s.tmp_3, 1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleFactory_drawParticle__P1339.info = {"start":2265,"length":118,"line":85,"column":8,"endLine":87,"endColumn":9,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"drawParticle","argumentNames":["this","particle","x","y"]}\n\nfunction particles_ParticleFactory_drawParticle__P1339_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleFactory_drawParticle__P1339, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction Sprite_toString__P656(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = pxsim_String_.mkEmpty();\n s.tmp_9 = r0;\n r0 = s.arg0.fields["id"];\n s.tmp_11 = r0;\n if ((s.tmp_11) && (s.tmp_11).vtable) {\n setupResume(s, 1);\n pxsim_String__stringConv(s.tmp_11);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_11) + ""; }\n case 1:\n r0 = s.retval;\n s.tmp_10 = r0;\n r0 = pxsim_String__concat(s.tmp_9, s.tmp_10);\n s.tmp_8 = r0;\n r0 = pxsim_String__concat(s.tmp_8, "(");\n s.tmp_7 = r0;\n s.tmp_14 = Sprite_x__P609_mk(s);\n s.tmp_14.arg0 = s.arg0;\n s.pc = 2; return s.tmp_14;\n case 2:\n r0 = s.retval;\n s.tmp_13 = r0;\n if ((s.tmp_13) && (s.tmp_13).vtable) {\n setupResume(s, 3);\n pxsim_String__stringConv(s.tmp_13);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_13) + ""; }\n case 3:\n r0 = s.retval;\n s.tmp_12 = r0;\n r0 = pxsim_String__concat(s.tmp_7, s.tmp_12);\n s.tmp_6 = r0;\n r0 = pxsim_String__concat(s.tmp_6, ",");\n s.tmp_5 = r0;\n s.tmp_17 = Sprite_y__P611_mk(s);\n s.tmp_17.arg0 = s.arg0;\n s.pc = 4; return s.tmp_17;\n case 4:\n r0 = s.retval;\n s.tmp_16 = r0;\n if ((s.tmp_16) && (s.tmp_16).vtable) {\n setupResume(s, 5);\n pxsim_String__stringConv(s.tmp_16);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_16) + ""; }\n case 5:\n r0 = s.retval;\n s.tmp_15 = r0;\n r0 = pxsim_String__concat(s.tmp_5, s.tmp_15);\n s.tmp_4 = r0;\n r0 = pxsim_String__concat(s.tmp_4, ")->(");\n s.tmp_3 = r0;\n s.tmp_20 = Sprite_vx__P613_mk(s);\n s.tmp_20.arg0 = s.arg0;\n s.pc = 6; return s.tmp_20;\n case 6:\n r0 = s.retval;\n s.tmp_19 = r0;\n if ((s.tmp_19) && (s.tmp_19).vtable) {\n setupResume(s, 7);\n pxsim_String__stringConv(s.tmp_19);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_19) + ""; }\n case 7:\n r0 = s.retval;\n s.tmp_18 = r0;\n r0 = pxsim_String__concat(s.tmp_3, s.tmp_18);\n s.tmp_2 = r0;\n r0 = pxsim_String__concat(s.tmp_2, ",");\n s.tmp_1 = r0;\n s.tmp_23 = Sprite_vy__P615_mk(s);\n s.tmp_23.arg0 = s.arg0;\n s.pc = 8; return s.tmp_23;\n case 8:\n r0 = s.retval;\n s.tmp_22 = r0;\n if ((s.tmp_22) && (s.tmp_22).vtable) {\n setupResume(s, 9);\n pxsim_String__stringConv(s.tmp_22);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_22) + ""; }\n case 9:\n r0 = s.retval;\n s.tmp_21 = r0;\n r0 = pxsim_String__concat(s.tmp_1, s.tmp_21);\n s.tmp_0 = r0;\n r0 = pxsim_String__concat(s.tmp_0, ")");\n return leave(s, r0)\n default: oops()\n} } }\nSprite_toString__P656.info = {"start":28515,"length":93,"line":857,"column":4,"endLine":859,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"toString","argumentNames":["this"]}\n\nfunction Sprite_toString__P656_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_toString__P656, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n tmp_12: undefined,\n tmp_13: undefined,\n tmp_14: undefined,\n tmp_15: undefined,\n tmp_16: undefined,\n tmp_17: undefined,\n tmp_18: undefined,\n tmp_19: undefined,\n tmp_20: undefined,\n tmp_21: undefined,\n tmp_22: undefined,\n tmp_23: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Sprite___update__P645(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.bounce___12537 = undefined;\n s.tm___12541 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields["lifespan"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 !== undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.tmp_2 = r0 = s.arg0;\n r0 = s.tmp_2.fields["lifespan"];\n s.tmp_4 = r0;\n r0 = (s.arg2 * 1000);\n s.tmp_5 = r0;\n r0 = (s.tmp_4 - s.tmp_5);\n s.tmp_3 = r0;\n r0 = (s.tmp_2).fields["lifespan"] = (s.tmp_3);\n r0 = s.arg0.fields["lifespan"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 <= 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = (s.arg0).fields["lifespan"] = (undefined);\n s.tmp_0 = Sprite__destroyCore__P654_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 33; return s.tmp_0;\n case 33:\n r0 = s.retval;\n case 1:\n case 2:\n case 3:\n case 4:\n r0 = s.arg0.fields["flags"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 & 4);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 5; continue; }\n r0 = s.tmp_0;\n { step = 6; continue; }\n case 5:\n s.tmp_2 = Sprite_isOutOfScreen__P643_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.tmp_2.arg1 = s.arg1;\n s.pc = 34; return s.tmp_2;\n case 34:\n r0 = s.retval;\n case 6:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 7; continue; }\n s.tmp_4 = Sprite_destroy__P653_mk(s);\n s.tmp_4.arg0 = s.arg0;\n s.tmp_4.arg1 = undefined;\n s.tmp_4.arg2 = undefined;\n s.pc = 35; return s.tmp_4;\n case 35:\n r0 = s.retval;\n case 7:\n case 8:\n r0 = s.arg0.fields["flags"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 & 32);\n s.bounce___12537 = (r0);\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 36; return s.tmp_0;\n case 36:\n r0 = s.retval;\n r0 = r0.fields["tileMap"];\n s.tm___12541 = (r0);\n r0 = s.arg0.fields["flags"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 & 8);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 9; continue; }\n r0 = s.tmp_0;\n { step = 12; continue; }\n case 9:\n s.tmp_2 = r0 = s.bounce___12537;\n r0 = pxsim_numops_toBool(s.tmp_2);\n if (r0) { step = 10; continue; }\n r0 = s.tmp_2;\n { step = 11; continue; }\n case 10:\n r0 = pxsim_numops_toBoolDecr(s.tm___12541);\n s.tmp_3 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_3);\n case 11:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n r0 = s.tmp_4;\n case 12:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_5);\n if (!r0) { step = 29; continue; }\n s.tmp_8 = Sprite_left__P629_mk(s);\n s.tmp_8.arg0 = s.arg0;\n s.pc = 37; return s.tmp_8;\n case 37:\n r0 = s.retval;\n s.tmp_7 = r0;\n r0 = s.arg1.fields["offsetX"];\n s.tmp_9 = r0;\n r0 = (s.tmp_7 < s.tmp_9);\n s.tmp_6 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_6);\n if (!r0) { step = 15; continue; }\n s.tmp_10 = Sprite_left__P630_mk(s);\n s.tmp_10.arg0 = s.arg0;\n r0 = s.arg1.fields["offsetX"];\n s.tmp_10.arg1 = r0;\n s.pc = 38; return s.tmp_10;\n case 38:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(s.bounce___12537);\n if (!r0) { step = 13; continue; }\n s.tmp_0 = Sprite_vx__P614_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_2 = Sprite_vx__P613_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 40; return s.tmp_2;\n case 40:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (0 - s.tmp_1);\n s.tmp_0.arg1 = r0;\n s.pc = 39; return s.tmp_0;\n case 39:\n r0 = s.retval;\n case 13:\n case 14:\n { step = 20; continue; }\n case 15:\n s.tmp_2 = Sprite_right__P631_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 41; return s.tmp_2;\n case 41:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = s.arg1.fields["offsetX"];\n s.tmp_4 = r0;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_5 = r0;\n r0 = (s.tmp_4 + s.tmp_5);\n s.tmp_3 = r0;\n r0 = (s.tmp_1 > s.tmp_3);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 18; continue; }\n s.tmp_6 = Sprite_right__P632_mk(s);\n s.tmp_6.arg0 = s.arg0;\n r0 = s.arg1.fields["offsetX"];\n s.tmp_7 = r0;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_8 = r0;\n r0 = (s.tmp_7 + s.tmp_8);\n s.tmp_6.arg1 = r0;\n s.pc = 42; return s.tmp_6;\n case 42:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(s.bounce___12537);\n if (!r0) { step = 16; continue; }\n s.tmp_0 = Sprite_vx__P614_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_2 = Sprite_vx__P613_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 44; return s.tmp_2;\n case 44:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (0 - s.tmp_1);\n s.tmp_0.arg1 = r0;\n s.pc = 43; return s.tmp_0;\n case 43:\n r0 = s.retval;\n case 16:\n case 17:\n case 18:\n case 19:\n case 20:\n s.tmp_2 = Sprite_top__P633_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 45; return s.tmp_2;\n case 45:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = s.arg1.fields["offsetY"];\n s.tmp_3 = r0;\n r0 = (s.tmp_1 < s.tmp_3);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 23; continue; }\n s.tmp_4 = Sprite_top__P634_mk(s);\n s.tmp_4.arg0 = s.arg0;\n r0 = s.arg1.fields["offsetY"];\n s.tmp_4.arg1 = r0;\n s.pc = 46; return s.tmp_4;\n case 46:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(s.bounce___12537);\n if (!r0) { step = 21; continue; }\n s.tmp_0 = Sprite_vy__P616_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_2 = Sprite_vy__P615_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 48; return s.tmp_2;\n case 48:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (0 - s.tmp_1);\n s.tmp_0.arg1 = r0;\n s.pc = 47; return s.tmp_0;\n case 47:\n r0 = s.retval;\n case 21:\n case 22:\n { step = 28; continue; }\n case 23:\n s.tmp_2 = Sprite_bottom__P635_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 49; return s.tmp_2;\n case 49:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = s.arg1.fields["offsetY"];\n s.tmp_4 = r0;\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n s.tmp_5 = r0;\n r0 = (s.tmp_4 + s.tmp_5);\n s.tmp_3 = r0;\n r0 = (s.tmp_1 > s.tmp_3);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 26; continue; }\n s.tmp_6 = Sprite_bottom__P636_mk(s);\n s.tmp_6.arg0 = s.arg0;\n r0 = s.arg1.fields["offsetY"];\n s.tmp_7 = r0;\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n s.tmp_8 = r0;\n r0 = (s.tmp_7 + s.tmp_8);\n s.tmp_6.arg1 = r0;\n s.pc = 50; return s.tmp_6;\n case 50:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(s.bounce___12537);\n if (!r0) { step = 24; continue; }\n s.tmp_0 = Sprite_vy__P616_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_2 = Sprite_vy__P615_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 52; return s.tmp_2;\n case 52:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (0 - s.tmp_1);\n s.tmp_0.arg1 = r0;\n s.pc = 51; return s.tmp_0;\n case 51:\n r0 = s.retval;\n case 24:\n case 25:\n case 26:\n case 27:\n case 28:\n case 29:\n case 30:\n r0 = s.arg0.fields["updateSay"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 31; continue; }\n s.tmp_1 = lambda_3_mk(s);\n r0 = s.arg0.fields["updateSay"];\n s.tmp_1.argL = r0;\n s.tmp_1.arg0 = s.arg2;\n s.tmp_1.arg1 = s.arg1;\n setupLambda(s.tmp_1, s.tmp_1.argL);\n s.pc = 53; return s.tmp_1;\n case 53:\n r0 = s.retval;\n case 31:\n case 32:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite___update__P645.info = {"start":20356,"length":1390,"line":624,"column":4,"endLine":663,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"__update","argumentNames":["this","camera","dt"]}\n\nfunction Sprite___update__P645_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite___update__P645, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n bounce___12537: undefined,\n tm___12541: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction Sprite_isOutOfScreen__P643(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.ox___12610 = undefined;\n s.oy___12613 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg1.fields["offsetX"];\n s.ox___12610 = (r0);\n r0 = s.arg1.fields["offsetY"];\n s.oy___12613 = (r0);\n s.tmp_3 = Sprite_right__P631_mk(s);\n s.tmp_3.arg0 = s.arg0;\n s.pc = 7; return s.tmp_3;\n case 7:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - s.ox___12610);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n s.tmp_6 = Sprite_bottom__P635_mk(s);\n s.tmp_6.arg0 = s.arg0;\n s.pc = 8; return s.tmp_6;\n case 8:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = (s.tmp_5 - s.oy___12613);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 < 0);\n case 2:\n // jmp value (already in r0)\n s.tmp_7 = r0;\n r0 = pxsim_numops_toBool(s.tmp_7);\n if (!r0) { step = 3; continue; }\n r0 = s.tmp_7;\n { step = 4; continue; }\n case 3:\n s.tmp_10 = Sprite_left__P629_mk(s);\n s.tmp_10.arg0 = s.arg0;\n s.pc = 9; return s.tmp_10;\n case 9:\n r0 = s.retval;\n s.tmp_9 = r0;\n r0 = (s.tmp_9 - s.ox___12610);\n s.tmp_8 = r0;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_11 = r0;\n r0 = (s.tmp_8 > s.tmp_11);\n case 4:\n // jmp value (already in r0)\n s.tmp_12 = r0;\n r0 = pxsim_numops_toBool(s.tmp_12);\n if (!r0) { step = 5; continue; }\n r0 = s.tmp_12;\n { step = 6; continue; }\n case 5:\n s.tmp_15 = Sprite_top__P633_mk(s);\n s.tmp_15.arg0 = s.arg0;\n s.pc = 10; return s.tmp_15;\n case 10:\n r0 = s.retval;\n s.tmp_14 = r0;\n r0 = (s.tmp_14 - s.oy___12613);\n s.tmp_13 = r0;\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n s.tmp_16 = r0;\n r0 = (s.tmp_13 > s.tmp_16);\n case 6:\n // jmp value (already in r0)\n s.tmp_17 = r0;\n r0 = s.tmp_17;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_isOutOfScreen__P643.info = {"start":18834,"length":248,"line":582,"column":4,"endLine":586,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"isOutOfScreen","argumentNames":["this","camera"]}\n\nfunction Sprite_isOutOfScreen__P643_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_isOutOfScreen__P643, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n tmp_12: undefined,\n tmp_13: undefined,\n tmp_14: undefined,\n tmp_15: undefined,\n tmp_16: undefined,\n tmp_17: undefined,\n ox___12610: undefined,\n oy___12613: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_right__P632(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_0 = Sprite_left__P630_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_1 = r0 = s.arg1;\n r0 = s.arg0.fields["_image"];\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 - s.tmp_2);\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_right__P632.info = {"start":8248,"length":71,"line":295,"column":4,"endLine":297,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"right","argumentNames":["this","value"]}\n\nfunction Sprite_right__P632_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_right__P632, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_data__P622(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = (s.arg0).fields["_data"] = (s.arg1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_data__P622.info = {"start":3261,"length":56,"line":127,"column":4,"endLine":129,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"data","argumentNames":["this","value"]}\n\nfunction Sprite_data__P622_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_data__P622, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_data__P621(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields["_data"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_3 = r0 = s.arg0;\n r0 = pxsim_pxtrt.mkMap();\n s.tmp_4 = r0;\n r0 = (s.tmp_3).fields["_data"] = (s.tmp_4);\n case 1:\n case 2:\n r0 = s.arg0.fields["_data"];\n return leave(s, r0)\n default: oops()\n} } }\nSprite_data__P621.info = {"start":3163,"length":92,"line":122,"column":4,"endLine":125,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"data","argumentNames":["this"]}\n\nfunction Sprite_data__P621_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_data__P621, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction sprites_BaseSprite___update__P514(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_BaseSprite__C508_VT)) failedCast(r0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_BaseSprite___update__P514.info = {"start":1027,"length":46,"line":45,"column":8,"endLine":45,"endColumn":54,"fileName":"pxt_modules/game/basesprite.ts","functionName":"__update","argumentNames":["this","camera","dt"]}\n\nfunction sprites_BaseSprite___update__P514_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_BaseSprite___update__P514, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction sprites_BaseSprite___draw__P512(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_BaseSprite__C508_VT)) failedCast(r0);\n s.tmp_1 = sprites_BaseSprite__C508_v0_1_mk(s);\n s.tmp_1.arg0 = s.arg0;\n if (!checkSubtype(s.tmp_1.arg0, sprites_BaseSprite__C508_VT)) failedCast(s.tmp_1.arg0);\n s.tmp_1.fn = s.tmp_1.arg0.vtable.methods.__visible;\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_2 = sprites_BaseSprite__C508_v2_2_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.tmp_2.arg1 = s.arg1;\n if (!checkSubtype(s.tmp_2.arg0, sprites_BaseSprite__C508_VT)) failedCast(s.tmp_2.arg0);\n s.tmp_2.fn = s.tmp_2.arg0.vtable.methods.__drawCore;\n s.pc = 4; return s.tmp_2;\n case 4:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_BaseSprite___draw__P512.info = {"start":840,"length":131,"line":37,"column":8,"endLine":41,"endColumn":9,"fileName":"pxt_modules/game/basesprite.ts","functionName":"__draw","argumentNames":["this","camera"]}\n\nfunction sprites_BaseSprite___draw__P512_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_BaseSprite___draw__P512, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction sprites_BaseSprite___drawCore__P513(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_BaseSprite__C508_VT)) failedCast(r0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_BaseSprite___drawCore__P513.info = {"start":981,"length":36,"line":43,"column":8,"endLine":43,"endColumn":44,"fileName":"pxt_modules/game/basesprite.ts","functionName":"__drawCore","argumentNames":["this","camera"]}\n\nfunction sprites_BaseSprite___drawCore__P513_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_BaseSprite___drawCore__P513, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction sprites_BaseSprite___visible__P509(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_BaseSprite__C508_VT)) failedCast(r0);\n r0 = true;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_BaseSprite___visible__P509.info = {"start":524,"length":57,"line":22,"column":8,"endLine":24,"endColumn":9,"fileName":"pxt_modules/game/basesprite.ts","functionName":"__visible","argumentNames":["this"]}\n\nfunction sprites_BaseSprite___visible__P509_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_BaseSprite___visible__P509, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller_Button_toString__P539(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Button__C538_VT)) failedCast(r0);\n r0 = s.arg0.fields["_pressed"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = "down";\n { step = 2; continue; }\n case 1:\n r0 = "up";\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = s.arg0.fields["id"];\n s.tmp_7 = r0;\n if ((s.tmp_7) && (s.tmp_7).vtable) {\n setupResume(s, 3);\n pxsim_String__stringConv(s.tmp_7);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_7) + ""; }\n case 3:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = pxsim_String__concat("btn ", s.tmp_6);\n s.tmp_5 = r0;\n r0 = pxsim_String__concat(s.tmp_5, " ");\n s.tmp_4 = r0;\n r0 = s.arg0.fields["_buttonId"];\n s.tmp_9 = r0;\n if ((s.tmp_9) && (s.tmp_9).vtable) {\n setupResume(s, 4);\n pxsim_String__stringConv(s.tmp_9);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_9) + ""; }\n case 4:\n r0 = s.retval;\n s.tmp_8 = r0;\n r0 = pxsim_String__concat(s.tmp_4, s.tmp_8);\n s.tmp_3 = r0;\n r0 = pxsim_String__concat(s.tmp_3, " ");\n s.tmp_2 = r0;\n if ((s.tmp_1) && (s.tmp_1).vtable) {\n setupResume(s, 5);\n pxsim_String__stringConv(s.tmp_1);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_1) + ""; }\n case 5:\n r0 = s.retval;\n s.tmp_10 = r0;\n r0 = pxsim_String__concat(s.tmp_2, s.tmp_10);\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Button_toString__P539.info = {"start":1226,"length":118,"line":56,"column":8,"endLine":58,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"toString","argumentNames":["this"]}\n\nfunction controller_Button_toString__P539_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Button_toString__P539, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction sprites_StaticObstacle_width__P704(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_StaticObstacle__C700_VT)) failedCast(r0);\n r0 = s.arg0.fields["image"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\nsprites_StaticObstacle_width__P704.info = {"start":1084,"length":68,"line":48,"column":8,"endLine":50,"endColumn":9,"fileName":"pxt_modules/game/obstacle.ts","functionName":"width","argumentNames":["this"]}\n\nfunction sprites_StaticObstacle_width__P704_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_StaticObstacle_width__P704, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction sprites_StaticObstacle_height__P703(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_StaticObstacle__C700_VT)) failedCast(r0);\n r0 = s.arg0.fields["image"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\nsprites_StaticObstacle_height__P703.info = {"start":1004,"length":70,"line":44,"column":8,"endLine":46,"endColumn":9,"fileName":"pxt_modules/game/obstacle.ts","functionName":"height","argumentNames":["this"]}\n\nfunction sprites_StaticObstacle_height__P703_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_StaticObstacle_height__P703, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction sprites_StaticObstacle_y__P702(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_StaticObstacle__C700_VT)) failedCast(r0);\n r0 = s.arg0.fields["top"];\n s.tmp_1 = r0;\n r0 = s.arg0.fields["image"];\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 + s.tmp_2);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 >> 1);\n return leave(s, r0)\n default: oops()\n} } }\nsprites_StaticObstacle_y__P702.info = {"start":919,"length":75,"line":40,"column":8,"endLine":42,"endColumn":9,"fileName":"pxt_modules/game/obstacle.ts","functionName":"y","argumentNames":["this"]}\n\nfunction sprites_StaticObstacle_y__P702_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_StaticObstacle_y__P702, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction sprites_StaticObstacle_x__P701(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_StaticObstacle__C700_VT)) failedCast(r0);\n r0 = s.arg0.fields["left"];\n s.tmp_1 = r0;\n r0 = s.arg0.fields["image"];\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 + s.tmp_2);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 >> 1);\n return leave(s, r0)\n default: oops()\n} } }\nsprites_StaticObstacle_x__P701.info = {"start":834,"length":75,"line":36,"column":8,"endLine":38,"endColumn":9,"fileName":"pxt_modules/game/obstacle.ts","functionName":"x","argumentNames":["this"]}\n\nfunction sprites_StaticObstacle_x__P701_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_StaticObstacle_x__P701, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction animation_PathNode_constructor__P1518(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, animation_PathNode__C1514_VT)) failedCast(r0);\n r0 = (s.arg0).fields["setStart"] = (false);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nanimation_PathNode_constructor__P1518.info = {"start":13061,"length":60,"line":306,"column":8,"endLine":308,"endColumn":9,"fileName":"pxt_modules/animation/animation.ts","functionName":"inline","argumentNames":["this"]}\n\nfunction animation_PathNode_constructor__P1518_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: animation_PathNode_constructor__P1518, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction animation_Path_constructor__P1513(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, animation_Path__C1506_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["nodes"] = (s.tmp_1);\n r0 = (s.arg0).fields["lastNode"] = (-1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nanimation_Path_constructor__P1513.info = {"start":785,"length":86,"line":32,"column":8,"endLine":35,"endColumn":9,"fileName":"pxt_modules/animation/animation.ts","functionName":"inline","argumentNames":["this"]}\n\nfunction animation_Path_constructor__P1513_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: animation_Path_constructor__P1513, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_Renderable___drawCore__P893(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Renderable__C890_VT)) failedCast(r0);\n s.tmp_0 = lambda_3_mk(s);\n r0 = s.arg0.fields["handler"];\n s.tmp_0.argL = r0;\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_0.arg1 = s.arg1;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_Renderable___drawCore__P893.info = {"start":390,"length":86,"line":14,"column":8,"endLine":16,"endColumn":9,"fileName":"pxt_modules/game/renderable.ts","functionName":"__drawCore","argumentNames":["this","camera"]}\n\nfunction scene_Renderable___drawCore__P893_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Renderable___drawCore__P893, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction scene_Renderable___visible__P892(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Renderable__C890_VT)) failedCast(r0);\n s.tmp_0 = lambda_1_mk(s);\n r0 = s.arg0.fields["shouldBeVisible"];\n s.tmp_0.argL = r0;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n return leave(s, r0)\n default: oops()\n} } }\nscene_Renderable___visible__P892.info = {"start":305,"length":75,"line":10,"column":8,"endLine":12,"endColumn":9,"fileName":"pxt_modules/game/renderable.ts","functionName":"__visible","argumentNames":["this"]}\n\nfunction scene_Renderable___visible__P892_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Renderable___visible__P892, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction effects_SceneAnchor_height__P1412(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, effects_SceneAnchor__C1408_VT)) failedCast(r0);\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n return leave(s, r0)\n default: oops()\n} } }\neffects_SceneAnchor_height__P1412.info = {"start":2494,"length":58,"line":70,"column":8,"endLine":72,"endColumn":9,"fileName":"pxt_modules/game/particleeffects.ts","functionName":"height","argumentNames":["this"]}\n\nfunction effects_SceneAnchor_height__P1412_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: effects_SceneAnchor_height__P1412, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction particles_ShapeFactory_drawParticle__P1361(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.pImage___12707 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ShapeFactory__C1358_VT)) failedCast(r0);\n s.tmp_1 = Math_FastRandom_pickRandom__P1159_mk(s);\n r0 = s.arg0.fields["galois"];\n s.tmp_1.arg0 = r0;\n r0 = s.arg0.fields["sources"];\n s.tmp_1.arg1 = r0;\n s.pc = 1; return s.tmp_1;\n case 1:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.clone(s.tmp_0);\n s.pImage___12707 = (r0);\n r0 = s.arg1.fields["color"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.replace(s.pImage___12707, 15, s.tmp_0);\n s.tmp_0 = r0 = globals.screen___464;\n s.tmp_1 = r0 = s.pImage___12707;\n r0 = s.arg0.fields["ox"];\n s.tmp_4 = r0;\n r0 = (s.arg2 - s.tmp_4);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 + 128);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 >> 8);\n s.tmp_2 = r0;\n r0 = s.arg0.fields["oy"];\n s.tmp_8 = r0;\n r0 = (s.arg3 - s.tmp_8);\n s.tmp_7 = r0;\n r0 = (s.tmp_7 + 128);\n s.tmp_9 = r0;\n r0 = (s.tmp_9 >> 8);\n s.tmp_6 = r0;\n r0 = pxsim_ImageMethods.drawTransparentImage(s.tmp_0, s.tmp_1, s.tmp_2, s.tmp_6);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ShapeFactory_drawParticle__P1361.info = {"start":7172,"length":323,"line":229,"column":8,"endLine":237,"endColumn":9,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"drawParticle","argumentNames":["this","p","x","y"]}\n\nfunction particles_ShapeFactory_drawParticle__P1361_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ShapeFactory_drawParticle__P1361, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n pImage___12707: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction Math_FastRandom_pickRandom__P1159(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Math_FastRandom__C1156_VT)) failedCast(r0);\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = pxsim_Array__length(s.arg1);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 == 0);\n case 2:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 3; continue; }\n r0 = undefined;\n { step = 5; continue; }\n case 3:\n case 4:\n s.tmp_4 = r0 = s.arg1;\n s.tmp_6 = Math_FastRandom_randomRange__P1158_mk(s);\n s.tmp_6.arg0 = s.arg0;\n s.tmp_6.arg1 = 0;\n r0 = pxsim_Array__length(s.arg1);\n s.tmp_7 = r0;\n r0 = (s.tmp_7 - 1);\n s.tmp_6.arg2 = r0;\n s.pc = 6; return s.tmp_6;\n case 6:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = pxsim_Array__getAt(s.tmp_4, s.tmp_5);\n case 5:\n return leave(s, r0)\n default: oops()\n} } }\nMath_FastRandom_pickRandom__P1159.info = {"start":2325,"length":192,"line":69,"column":8,"endLine":74,"endColumn":9,"fileName":"pxt_modules/game/mathUtil.ts","functionName":"pickRandom","argumentNames":["this","list"]}\n\nfunction Math_FastRandom_pickRandom__P1159_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Math_FastRandom_pickRandom__P1159, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction particles_AreaFactory_drawParticle__P1351(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.col___12750 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_AreaFactory__C1348_VT)) failedCast(r0);\n r0 = s.arg1.fields["lifespan"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > 500);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = 4;\n { step = 4; continue; }\n case 1:\n r0 = s.arg1.fields["lifespan"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 > 250);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 2; continue; }\n r0 = 5;\n { step = 3; continue; }\n case 2:\n r0 = 1;\n case 3:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n r0 = s.tmp_4;\n case 4:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n s.col___12750 = (s.tmp_5);\n s.tmp_0 = r0 = globals.screen___464;\n r0 = (s.arg2 + 128);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 >> 8);\n s.tmp_1 = r0;\n r0 = (s.arg3 + 128);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 >> 8);\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.setPixel(s.tmp_0, s.tmp_1, s.tmp_3, s.col___12750);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_AreaFactory_drawParticle__P1351.info = {"start":4770,"length":222,"line":158,"column":8,"endLine":163,"endColumn":9,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"drawParticle","argumentNames":["this","p","x","y"]}\n\nfunction particles_AreaFactory_drawParticle__P1351_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_AreaFactory_drawParticle__P1351, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n col___12750: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction particles_SprayFactory_drawParticle__P1344(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_SprayFactory__C1341_VT)) failedCast(r0);\n s.tmp_0 = r0 = globals.screen___464;\n r0 = (s.arg2 + 128);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 >> 8);\n s.tmp_1 = r0;\n r0 = (s.arg3 + 128);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 >> 8);\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.setPixel(s.tmp_0, s.tmp_1, s.tmp_3, 1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_SprayFactory_drawParticle__P1344.info = {"start":3194,"length":118,"line":115,"column":8,"endLine":117,"endColumn":9,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"drawParticle","argumentNames":["this","particle","x","y"]}\n\nfunction particles_SprayFactory_drawParticle__P1344_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_SprayFactory_drawParticle__P1344, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction Sprite___drawCore__P644(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.l___12787 = undefined;\n s.t___12791 = undefined;\n s.font___12806 = undefined;\n s.margin___12808 = undefined;\n s.tx___12809 = undefined;\n s.ty___12811 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_1 = Sprite_isOutOfScreen__P643_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.tmp_1.arg1 = s.arg1;\n s.pc = 16; return s.tmp_1;\n case 16:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 15; continue; }\n case 1:\n case 2:\n s.tmp_3 = Sprite_left__P629_mk(s);\n s.tmp_3.arg0 = s.arg0;\n s.pc = 17; return s.tmp_3;\n case 17:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = s.arg1.fields["drawOffsetX"];\n s.tmp_4 = r0;\n r0 = (s.tmp_2 - s.tmp_4);\n s.l___12787 = (r0);\n s.tmp_1 = Sprite_top__P633_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.pc = 18; return s.tmp_1;\n case 18:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = s.arg1.fields["drawOffsetY"];\n s.tmp_2 = r0;\n r0 = (s.tmp_0 - s.tmp_2);\n s.t___12791 = (r0);\n r0 = s.arg0.fields["_image"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.drawTransparentImage(globals.screen___464, s.tmp_0, s.l___12787, s.t___12791);\n r0 = s.arg0.fields["flags"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 & 64);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 11; continue; }\n s.font___12806 = (globals.font5___428);\n s.margin___12808 = (2);\n s.tx___12809 = (s.l___12787);\n s.tmp_2 = Sprite_bottom__P635_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 19; return s.tmp_2;\n case 19:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 + s.margin___12808);\n s.tmp_0 = r0;\n r0 = s.arg1.fields["drawOffsetY"];\n s.tmp_3 = r0;\n r0 = (s.tmp_0 - s.tmp_3);\n s.ty___12811 = (r0);\n s.tmp_0 = helpers_imagePrint__P432_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n r0 = pxsim_String_.mkEmpty();\n s.tmp_3 = r0;\n s.tmp_7 = Sprite_x__P609_mk(s);\n s.tmp_7.arg0 = s.arg0;\n s.pc = 21; return s.tmp_7;\n case 21:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = (s.tmp_6 >> 0);\n s.tmp_5 = r0;\n if ((s.tmp_5) && (s.tmp_5).vtable) {\n setupResume(s, 22);\n pxsim_String__stringConv(s.tmp_5);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_5) + ""; }\n case 22:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = pxsim_String__concat(s.tmp_3, s.tmp_4);\n s.tmp_2 = r0;\n r0 = pxsim_String__concat(s.tmp_2, ",");\n s.tmp_1 = r0;\n s.tmp_11 = Sprite_y__P611_mk(s);\n s.tmp_11.arg0 = s.arg0;\n s.pc = 23; return s.tmp_11;\n case 23:\n r0 = s.retval;\n s.tmp_10 = r0;\n r0 = (s.tmp_10 >> 0);\n s.tmp_9 = r0;\n if ((s.tmp_9) && (s.tmp_9).vtable) {\n setupResume(s, 24);\n pxsim_String__stringConv(s.tmp_9);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_9) + ""; }\n case 24:\n r0 = s.retval;\n s.tmp_8 = r0;\n r0 = pxsim_String__concat(s.tmp_1, s.tmp_8);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = s.tx___12809;\n s.tmp_0.arg3 = s.ty___12811;\n s.tmp_0.arg4 = 1;\n s.tmp_0.arg5 = s.font___12806;\n s.tmp_0.arg6 = undefined;\n s.pc = 20; return s.tmp_0;\n case 20:\n r0 = s.retval;\n s.tmp_0 = r0 = s.tx___12809;\n s.tmp_2 = if_charWidth_1_mk(s);\n s.tmp_2.arg0 = s.font___12806;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "charWidth");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["charWidth"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["charWidth"]; }\n else { s.pc = 25; return s.tmp_2; }\n }\n case 25:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0 - s.tmp_1);\n s.tx___12809 = (r0);\n s.tmp_1 = Sprite_vx__P613_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.pc = 26; return s.tmp_1;\n case 26:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = s.tmp_0;\n { step = 4; continue; }\n case 3:\n s.tmp_2 = Sprite_vy__P615_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 27; return s.tmp_2;\n case 27:\n r0 = s.retval;\n case 4:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 5; continue; }\n s.tmp_4 = r0 = s.ty___12811;\n s.tmp_7 = if_charHeight_1_mk(s);\n s.tmp_7.arg0 = s.font___12806;\n if (!s.tmp_7.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_7.arg0, "charHeight");\n } else {\n s.tmp_7.fn = s.tmp_7.arg0.vtable.iface["charHeight"];\n if (s.tmp_7.fn == null) { s.retval = s.tmp_7.arg0.fields["charHeight"]; }\n else { s.pc = 28; return s.tmp_7; }\n }\n case 28:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = (s.tmp_6 + s.margin___12808);\n s.tmp_5 = r0;\n r0 = (s.tmp_4 + s.tmp_5);\n s.ty___12811 = (r0);\n s.tmp_0 = helpers_imagePrint__P432_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_6 = Sprite_vx__P613_mk(s);\n s.tmp_6.arg0 = s.arg0;\n s.pc = 30; return s.tmp_6;\n case 30:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = (s.tmp_5 >> 0);\n s.tmp_4 = r0;\n if ((s.tmp_4) && (s.tmp_4).vtable) {\n setupResume(s, 31);\n pxsim_String__stringConv(s.tmp_4);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_4) + ""; }\n case 31:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = pxsim_String__concat("v", s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_String__concat(s.tmp_2, ",");\n s.tmp_1 = r0;\n s.tmp_10 = Sprite_vy__P615_mk(s);\n s.tmp_10.arg0 = s.arg0;\n s.pc = 32; return s.tmp_10;\n case 32:\n r0 = s.retval;\n s.tmp_9 = r0;\n r0 = (s.tmp_9 >> 0);\n s.tmp_8 = r0;\n if ((s.tmp_8) && (s.tmp_8).vtable) {\n setupResume(s, 33);\n pxsim_String__stringConv(s.tmp_8);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_8) + ""; }\n case 33:\n r0 = s.retval;\n s.tmp_7 = r0;\n r0 = pxsim_String__concat(s.tmp_1, s.tmp_7);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = s.tx___12809;\n s.tmp_0.arg3 = s.ty___12811;\n s.tmp_0.arg4 = 1;\n s.tmp_0.arg5 = s.font___12806;\n s.tmp_0.arg6 = undefined;\n s.pc = 29; return s.tmp_0;\n case 29:\n r0 = s.retval;\n case 5:\n case 6:\n s.tmp_1 = Sprite_ax__P617_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.pc = 34; return s.tmp_1;\n case 34:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 7; continue; }\n r0 = s.tmp_0;\n { step = 8; continue; }\n case 7:\n s.tmp_2 = Sprite_ay__P619_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 35; return s.tmp_2;\n case 35:\n r0 = s.retval;\n case 8:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 9; continue; }\n s.tmp_4 = r0 = s.ty___12811;\n s.tmp_7 = if_charHeight_1_mk(s);\n s.tmp_7.arg0 = s.font___12806;\n if (!s.tmp_7.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_7.arg0, "charHeight");\n } else {\n s.tmp_7.fn = s.tmp_7.arg0.vtable.iface["charHeight"];\n if (s.tmp_7.fn == null) { s.retval = s.tmp_7.arg0.fields["charHeight"]; }\n else { s.pc = 36; return s.tmp_7; }\n }\n case 36:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = (s.tmp_6 + s.margin___12808);\n s.tmp_5 = r0;\n r0 = (s.tmp_4 + s.tmp_5);\n s.ty___12811 = (r0);\n s.tmp_0 = helpers_imagePrint__P432_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_6 = Sprite_ax__P617_mk(s);\n s.tmp_6.arg0 = s.arg0;\n s.pc = 38; return s.tmp_6;\n case 38:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = (s.tmp_5 >> 0);\n s.tmp_4 = r0;\n if ((s.tmp_4) && (s.tmp_4).vtable) {\n setupResume(s, 39);\n pxsim_String__stringConv(s.tmp_4);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_4) + ""; }\n case 39:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = pxsim_String__concat("a", s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_String__concat(s.tmp_2, ",");\n s.tmp_1 = r0;\n s.tmp_10 = Sprite_ay__P619_mk(s);\n s.tmp_10.arg0 = s.arg0;\n s.pc = 40; return s.tmp_10;\n case 40:\n r0 = s.retval;\n s.tmp_9 = r0;\n r0 = (s.tmp_9 >> 0);\n s.tmp_8 = r0;\n if ((s.tmp_8) && (s.tmp_8).vtable) {\n setupResume(s, 41);\n pxsim_String__stringConv(s.tmp_8);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_8) + ""; }\n case 41:\n r0 = s.retval;\n s.tmp_7 = r0;\n r0 = pxsim_String__concat(s.tmp_1, s.tmp_7);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = s.tx___12809;\n s.tmp_0.arg3 = s.ty___12811;\n s.tmp_0.arg4 = 1;\n s.tmp_0.arg5 = s.font___12806;\n s.tmp_0.arg6 = undefined;\n s.pc = 37; return s.tmp_0;\n case 37:\n r0 = s.retval;\n case 9:\n case 10:\n case 11:\n case 12:\n r0 = pxsim_numops_toBoolDecr(globals.debug___998);\n if (!r0) { step = 13; continue; }\n s.tmp_0 = helpers_imageDrawRect__P414_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_3 = game_Hitbox_left__P594_mk(s);\n r0 = s.arg0.fields["_hitbox"];\n s.tmp_3.arg0 = r0;\n s.pc = 43; return s.tmp_3;\n case 43:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + 128);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 >> 8);\n s.tmp_1 = r0;\n r0 = s.arg1.fields["drawOffsetX"];\n s.tmp_5 = r0;\n r0 = (s.tmp_1 - s.tmp_5);\n s.tmp_0.arg1 = r0;\n s.tmp_8 = game_Hitbox_top__P595_mk(s);\n r0 = s.arg0.fields["_hitbox"];\n s.tmp_8.arg0 = r0;\n s.pc = 44; return s.tmp_8;\n case 44:\n r0 = s.retval;\n s.tmp_7 = r0;\n r0 = (s.tmp_7 + 128);\n s.tmp_9 = r0;\n r0 = (s.tmp_9 >> 8);\n s.tmp_6 = r0;\n r0 = s.arg1.fields["drawOffsetY"];\n s.tmp_10 = r0;\n r0 = (s.tmp_6 - s.tmp_10);\n s.tmp_0.arg2 = r0;\n r0 = s.arg0.fields["_hitbox"];\n r0 = r0.fields["width"];\n s.tmp_0.arg3 = r0;\n r0 = s.arg0.fields["_hitbox"];\n r0 = r0.fields["height"];\n s.tmp_0.arg4 = r0;\n s.tmp_0.arg5 = 1;\n s.pc = 42; return s.tmp_0;\n case 42:\n r0 = s.retval;\n case 13:\n case 14:\n case 15:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite___drawCore__P644.info = {"start":19088,"length":1262,"line":588,"column":4,"endLine":622,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"__drawCore","argumentNames":["this","camera"]}\n\nfunction Sprite___drawCore__P644_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite___drawCore__P644, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n l___12787: undefined,\n t___12791: undefined,\n font___12806: undefined,\n margin___12808: undefined,\n tx___12809: undefined,\n ty___12811: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite___visible__P626(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields["flags"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 & 128);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\nSprite___visible__P626.info = {"start":7151,"length":72,"line":254,"column":4,"endLine":256,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"__visible","argumentNames":["this"]}\n\nfunction Sprite___visible__P626_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite___visible__P626, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\nfunction lambda_3_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\nfunction if_flags_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction particles_ParticleFactory__C1337_v0_2_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\nfunction particles_ParticleSource__C1285_v4_3_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\nfunction if_x_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_y_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_id_2_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\nfunction lambda_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction lambda_2_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\nfunction if_startScreenEffect_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction game_GameOverDialog__C983_v0_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction PhysicsEngine__C708_v4_2_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\nfunction if___update_3_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\nfunction PhysicsEngine__C708_v3_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_charHeight_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_charWidth_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_multiplier_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_data_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_xOffset_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_yOffset_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if___draw_2_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\nfunction if_z_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_id_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction game_GameOverDialog__C983_v1_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction lambda_5_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n} }\n\n\nfunction PhysicsEngine__C708_v2_4_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\nfunction if_animations_2_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\nfunction if_animations_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction animation_SpriteAnimation__C1541_v0_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction PhysicsEngine__C708_v0_2_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\nfunction PhysicsEngine__C708_v1_2_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\nfunction lambda_4_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\nfunction if_padding_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_cardsPerRow_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_cardWidth_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_cardSpacing_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_cardsTop_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_headerText_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_headerFont_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_infoTop_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_infoFont_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_basicCard_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_selectedCard_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_activeCard_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_z_2_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\nfunction animation_PathNode__C1514_v0_4_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\nfunction if_tileIndex_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction game_BaseDialog__C952_v1_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_height_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction particles_ParticleFactory__C1337_v1_4_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\nfunction sprites_BaseSprite__C508_v0_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction sprites_BaseSprite__C508_v2_2_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\nfunction if_scene_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_state_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_up_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_yOffset_2_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\nfunction if_up_2_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\nfunction if_width_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\nconst controller_Button__C538_VT = mkVTable({\n name: "Button",\n numFields: 8,\n classNo: 16,\n lastSubtypeNo: 16,\n methods: {\n },\n iface: {\n "_owner": null,\n "set/_owner": null,\n "id": null,\n "set/id": null,\n "repeatDelay": null,\n "set/repeatDelay": null,\n "repeatInterval": null,\n "set/repeatInterval": null,\n "_pressed": null,\n "set/_pressed": null,\n "_pressedElasped": null,\n "set/_pressedElasped": null,\n "_repeatCount": null,\n "set/_repeatCount": null,\n "_buttonId": null,\n "set/_buttonId": null,\n "toString": controller_Button_toString__P539,\n "raiseButtonUp": controller_Button_raiseButtonUp__P540,\n "raiseButtonDown": controller_Button_raiseButtonDown__P541,\n "raiseButtonRepeat": controller_Button_raiseButtonRepeat__P542,\n "onEvent": controller_Button_onEvent__P543,\n "isPressed": controller_Button_isPressed__P545,\n "setPressed": controller_Button_setPressed__P546,\n "__update": controller_Button___update__P547,\n },\n toStringMethod: controller_Button_toString__P539,\n});\nconst Math_FastRandom__C1156_VT = mkVTable({\n name: "FastRandom",\n numFields: 2,\n classNo: 17,\n lastSubtypeNo: 17,\n methods: {\n },\n iface: {\n "lfsr": null,\n "set/lfsr": null,\n "seed": null,\n "set/seed": null,\n "next": Math_FastRandom_next__P1157,\n "randomRange": Math_FastRandom_randomRange__P1158,\n "pickRandom": Math_FastRandom_pickRandom__P1159,\n },\n});\nconst texteffects_TextEffect__C1448_VT = mkVTable({\n name: "TextEffect",\n numFields: 1,\n classNo: 18,\n lastSubtypeNo: 18,\n methods: {\n },\n iface: {\n "getState": null,\n "set/getState": null,\n },\n});\nconst sprites_BaseSprite__C508_VT = mkVTable({\n name: "BaseSprite",\n numFields: 2,\n classNo: 19,\n lastSubtypeNo: 22,\n methods: {\n "__visible": sprites_BaseSprite___visible__P509,\n "__draw": sprites_BaseSprite___draw__P512,\n "__drawCore": sprites_BaseSprite___drawCore__P513,\n "__update": sprites_BaseSprite___update__P514,\n },\n iface: {\n "_z": null,\n "set/_z": null,\n "id": null,\n "set/id": null,\n "__visible": sprites_BaseSprite___visible__P509,\n "z": sprites_BaseSprite_z__P510,\n "set/z": sprites_BaseSprite_z__P511,\n "__draw": sprites_BaseSprite___draw__P512,\n "__drawCore": sprites_BaseSprite___drawCore__P513,\n "__update": sprites_BaseSprite___update__P514,\n },\n});\nconst Sprite__C607_VT = mkVTable({\n name: "Sprite",\n numFields: 24,\n classNo: 20,\n lastSubtypeNo: 20,\n methods: {\n "__visible": Sprite___visible__P626,\n "__draw": sprites_BaseSprite___draw__P512,\n "__drawCore": Sprite___drawCore__P644,\n "__update": Sprite___update__P645,\n },\n iface: {\n "_z": null,\n "set/_z": null,\n "id": null,\n "set/id": null,\n "_x": null,\n "set/_x": null,\n "_y": null,\n "set/_y": null,\n "_vx": null,\n "set/_vx": null,\n "_vy": null,\n "set/_vy": null,\n "_ax": null,\n "set/_ax": null,\n "_ay": null,\n "set/_ay": null,\n "_data": null,\n "set/_data": null,\n "_kind": null,\n "set/_kind": null,\n "layer": null,\n "set/layer": null,\n "_lastX": null,\n "set/_lastX": null,\n "_lastY": null,\n "set/_lastY": null,\n "_action": null,\n "set/_action": null,\n "lifespan": null,\n "set/lifespan": null,\n "_image": null,\n "set/_image": null,\n "_obstacles": null,\n "set/_obstacles": null,\n "updateSay": null,\n "set/updateSay": null,\n "sayBubbleSprite": null,\n "set/sayBubbleSprite": null,\n "_hitbox": null,\n "set/_hitbox": null,\n "_overlappers": null,\n "set/_overlappers": null,\n "_kindsOverlappedWith": null,\n "set/_kindsOverlappedWith": null,\n "flags": null,\n "set/flags": null,\n "destroyHandler": null,\n "set/destroyHandler": null,\n "x": Sprite_x__P609,\n "set/x": Sprite_x__P610,\n "y": Sprite_y__P611,\n "set/y": Sprite_y__P612,\n "vx": Sprite_vx__P613,\n "set/vx": Sprite_vx__P614,\n "vy": Sprite_vy__P615,\n "set/vy": Sprite_vy__P616,\n "ax": Sprite_ax__P617,\n "set/ax": Sprite_ax__P618,\n "ay": Sprite_ay__P619,\n "set/ay": Sprite_ay__P620,\n "data": Sprite_data__P621,\n "set/data": Sprite_data__P622,\n "image": Sprite_image__P624,\n "setImage": Sprite_setImage__P625,\n "__visible": Sprite___visible__P626,\n "width": Sprite_width__P627,\n "height": Sprite_height__P628,\n "left": Sprite_left__P629,\n "set/left": Sprite_left__P630,\n "right": Sprite_right__P631,\n "set/right": Sprite_right__P632,\n "top": Sprite_top__P633,\n "set/top": Sprite_top__P634,\n "bottom": Sprite_bottom__P635,\n "set/bottom": Sprite_bottom__P636,\n "kind": Sprite_kind__P637,\n "setKind": Sprite_setKind__P638,\n "setPosition": Sprite_setPosition__P639,\n "setVelocity": Sprite_setVelocity__P640,\n "isOutOfScreen": Sprite_isOutOfScreen__P643,\n "__drawCore": Sprite___drawCore__P644,\n "__update": Sprite___update__P645,\n "setFlag": Sprite_setFlag__P646,\n "overlapsWith": Sprite_overlapsWith__P647,\n "clearObstacles": Sprite_clearObstacles__P650,\n "registerObstacle": Sprite_registerObstacle__P651,\n "destroy": Sprite_destroy__P653,\n "_destroyCore": Sprite__destroyCore__P654,\n "toString": Sprite_toString__P656,\n "z": sprites_BaseSprite_z__P510,\n "set/z": sprites_BaseSprite_z__P511,\n "__draw": sprites_BaseSprite___draw__P512,\n },\n toStringMethod: Sprite_toString__P656,\n});\nconst effects_ParticleEffect__C1404_VT = mkVTable({\n name: "ParticleEffect",\n numFields: 3,\n classNo: 23,\n lastSubtypeNo: 24,\n methods: {\n },\n iface: {\n "sourceFactory": null,\n "set/sourceFactory": null,\n "defaultRate": null,\n "set/defaultRate": null,\n "defaultLifespan": null,\n "set/defaultLifespan": null,\n "start": effects_ParticleEffect_start__P1405,\n "destroy": effects_ParticleEffect_destroy__P1406,\n },\n});\nconst effects_ScreenEffect__C1414_VT = mkVTable({\n name: "ScreenEffect",\n numFields: 5,\n classNo: 24,\n lastSubtypeNo: 24,\n methods: {\n },\n iface: {\n "sourceFactory": null,\n "set/sourceFactory": null,\n "defaultRate": null,\n "set/defaultRate": null,\n "defaultLifespan": null,\n "set/defaultLifespan": null,\n "source": null,\n "set/source": null,\n "sceneDefaultRate": null,\n "set/sceneDefaultRate": null,\n "startScreenEffect": effects_ScreenEffect_startScreenEffect__P1416,\n "endScreenEffect": effects_ScreenEffect_endScreenEffect__P1417,\n "start": effects_ParticleEffect_start__P1405,\n "destroy": effects_ParticleEffect_destroy__P1406,\n },\n});\nconst particles_ParticleSource__C1285_VT = mkVTable({\n name: "ParticleSource",\n numFields: 13,\n classNo: 21,\n lastSubtypeNo: 21,\n methods: {\n "__visible": sprites_BaseSprite___visible__P509,\n "__draw": particles_ParticleSource___draw__P1287,\n "__drawCore": sprites_BaseSprite___drawCore__P513,\n "__update": sprites_BaseSprite___update__P514,\n "updateParticle": particles_ParticleSource_updateParticle__P1300,\n },\n iface: {\n "_z": null,\n "set/_z": null,\n "id": null,\n "set/id": null,\n "priority": null,\n "set/priority": null,\n "_dt": null,\n "set/_dt": null,\n "anchor": null,\n "set/anchor": null,\n "lifespan": null,\n "set/lifespan": null,\n "pFlags": null,\n "set/pFlags": null,\n "head": null,\n "set/head": null,\n "timer": null,\n "set/timer": null,\n "period": null,\n "set/period": null,\n "_factory": null,\n "set/_factory": null,\n "ax": null,\n "set/ax": null,\n "ay": null,\n "set/ay": null,\n "__draw": particles_ParticleSource___draw__P1287,\n "_update": particles_ParticleSource__update__P1288,\n "_prune": particles_ParticleSource__prune__P1289,\n "setAcceleration": particles_ParticleSource_setAcceleration__P1290,\n "enabled": particles_ParticleSource_enabled__P1292,\n "set/enabled": particles_ParticleSource_enabled__P1293,\n "destroy": particles_ParticleSource_destroy__P1294,\n "clear": particles_ParticleSource_clear__P1295,\n "setAnchor": particles_ParticleSource_setAnchor__P1296,\n "setRate": particles_ParticleSource_setRate__P1297,\n "setFactory": particles_ParticleSource_setFactory__P1299,\n "updateParticle": particles_ParticleSource_updateParticle__P1300,\n "drawParticle": particles_ParticleSource_drawParticle__P1301,\n "__visible": sprites_BaseSprite___visible__P509,\n "z": sprites_BaseSprite_z__P510,\n "set/z": sprites_BaseSprite_z__P511,\n "__drawCore": sprites_BaseSprite___drawCore__P513,\n "__update": sprites_BaseSprite___update__P514,\n },\n});\nconst particles_ParticleFactory__C1337_VT = mkVTable({\n name: "ParticleFactory",\n numFields: 0,\n classNo: 25,\n lastSubtypeNo: 29,\n methods: {\n "createParticle": particles_ParticleFactory_createParticle__P1338,\n "drawParticle": particles_ParticleFactory_drawParticle__P1339,\n },\n iface: {\n "createParticle": particles_ParticleFactory_createParticle__P1338,\n "drawParticle": particles_ParticleFactory_drawParticle__P1339,\n },\n});\nconst particles_SprayFactory__C1341_VT = mkVTable({\n name: "SprayFactory",\n numFields: 3,\n classNo: 26,\n lastSubtypeNo: 29,\n methods: {\n "createParticle": particles_SprayFactory_createParticle__P1343,\n "drawParticle": particles_SprayFactory_drawParticle__P1344,\n },\n iface: {\n "speed": null,\n "set/speed": null,\n "minAngle": null,\n "set/minAngle": null,\n "spread": null,\n "set/spread": null,\n "createParticle": particles_SprayFactory_createParticle__P1343,\n "drawParticle": particles_SprayFactory_drawParticle__P1344,\n "setSpeed": particles_SprayFactory_setSpeed__P1345,\n "setDirection": particles_SprayFactory_setDirection__P1346,\n },\n});\nconst particles_AreaFactory__C1348_VT = mkVTable({\n name: "AreaFactory",\n numFields: 8,\n classNo: 27,\n lastSubtypeNo: 29,\n methods: {\n "createParticle": particles_AreaFactory_createParticle__P1350,\n "drawParticle": particles_AreaFactory_drawParticle__P1351,\n },\n iface: {\n "speed": null,\n "set/speed": null,\n "minAngle": null,\n "set/minAngle": null,\n "spread": null,\n "set/spread": null,\n "xRange": null,\n "set/xRange": null,\n "yRange": null,\n "set/yRange": null,\n "minLifespan": null,\n "set/minLifespan": null,\n "maxLifespan": null,\n "set/maxLifespan": null,\n "galois": null,\n "set/galois": null,\n "createParticle": particles_AreaFactory_createParticle__P1350,\n "drawParticle": particles_AreaFactory_drawParticle__P1351,\n "setSpeed": particles_SprayFactory_setSpeed__P1345,\n "setDirection": particles_SprayFactory_setDirection__P1346,\n },\n});\nconst particles_ShapeFactory__C1358_VT = mkVTable({\n name: "ShapeFactory",\n numFields: 11,\n classNo: 28,\n lastSubtypeNo: 29,\n methods: {\n "createParticle": particles_ShapeFactory_createParticle__P1362,\n "drawParticle": particles_ShapeFactory_drawParticle__P1361,\n },\n iface: {\n "speed": null,\n "set/speed": null,\n "minAngle": null,\n "set/minAngle": null,\n "spread": null,\n "set/spread": null,\n "xRange": null,\n "set/xRange": null,\n "yRange": null,\n "set/yRange": null,\n "minLifespan": null,\n "set/minLifespan": null,\n "maxLifespan": null,\n "set/maxLifespan": null,\n "galois": null,\n "set/galois": null,\n "sources": null,\n "set/sources": null,\n "ox": null,\n "set/ox": null,\n "oy": null,\n "set/oy": null,\n "addShape": particles_ShapeFactory_addShape__P1360,\n "drawParticle": particles_ShapeFactory_drawParticle__P1361,\n "createParticle": particles_ShapeFactory_createParticle__P1362,\n "setSpeed": particles_SprayFactory_setSpeed__P1345,\n "setDirection": particles_SprayFactory_setDirection__P1346,\n },\n});\nconst particles_ConfettiFactory__C1364_VT = mkVTable({\n name: "ConfettiFactory",\n numFields: 11,\n classNo: 29,\n lastSubtypeNo: 29,\n methods: {\n "createParticle": particles_ShapeFactory_createParticle__P1362,\n "drawParticle": particles_ShapeFactory_drawParticle__P1361,\n },\n iface: {\n "speed": null,\n "set/speed": null,\n "minAngle": null,\n "set/minAngle": null,\n "spread": null,\n "set/spread": null,\n "xRange": null,\n "set/xRange": null,\n "yRange": null,\n "set/yRange": null,\n "minLifespan": null,\n "set/minLifespan": null,\n "maxLifespan": null,\n "set/maxLifespan": null,\n "galois": null,\n "set/galois": null,\n "sources": null,\n "set/sources": null,\n "ox": null,\n "set/ox": null,\n "oy": null,\n "set/oy": null,\n "addShape": particles_ShapeFactory_addShape__P1360,\n "drawParticle": particles_ShapeFactory_drawParticle__P1361,\n "createParticle": particles_ShapeFactory_createParticle__P1362,\n "setSpeed": particles_SprayFactory_setSpeed__P1345,\n "setDirection": particles_SprayFactory_setDirection__P1346,\n },\n});\nconst particles_Particle__C1283_VT = mkVTable({\n name: "Particle",\n numFields: 8,\n classNo: 30,\n lastSubtypeNo: 30,\n methods: {\n },\n iface: {\n "_x": null,\n "set/_x": null,\n "_y": null,\n "set/_y": null,\n "vx": null,\n "set/vx": null,\n "vy": null,\n "set/vy": null,\n "lifespan": null,\n "set/lifespan": null,\n "next": null,\n "set/next": null,\n "data": null,\n "set/data": null,\n "color": null,\n "set/color": null,\n },\n});\nconst scene_Scene__C923_VT = mkVTable({\n name: "Scene",\n numFields: 21,\n classNo: 31,\n lastSubtypeNo: 31,\n methods: {\n },\n iface: {\n "eventContext": null,\n "set/eventContext": null,\n "background": null,\n "set/background": null,\n "tileMap": null,\n "set/tileMap": null,\n "allSprites": null,\n "set/allSprites": null,\n "spriteNextId": null,\n "set/spriteNextId": null,\n "spritesByKind": null,\n "set/spritesByKind": null,\n "physicsEngine": null,\n "set/physicsEngine": null,\n "camera": null,\n "set/camera": null,\n "flags": null,\n "set/flags": null,\n "destroyedHandlers": null,\n "set/destroyedHandlers": null,\n "createdHandlers": null,\n "set/createdHandlers": null,\n "overlapHandlers": null,\n "set/overlapHandlers": null,\n "overlapMap": null,\n "set/overlapMap": null,\n "collisionHandlers": null,\n "set/collisionHandlers": null,\n "gameForeverHandlers": null,\n "set/gameForeverHandlers": null,\n "particleSources": null,\n "set/particleSources": null,\n "controlledSprites": null,\n "set/controlledSprites": null,\n "followingSprites": null,\n "set/followingSprites": null,\n "_millis": null,\n "set/_millis": null,\n "_data": null,\n "set/_data": null,\n "cachedRender": null,\n "set/cachedRender": null,\n "init": scene_Scene_init__P924,\n "data": scene_Scene_data__P925,\n "millis": scene_Scene_millis__P926,\n "addSprite": scene_Scene_addSprite__P927,\n "destroy": scene_Scene_destroy__P928,\n "renderCore": scene_Scene_renderCore__P930,\n },\n});\nconst effects_SceneAnchor__C1408_VT = mkVTable({\n name: "SceneAnchor",\n numFields: 1,\n classNo: 32,\n lastSubtypeNo: 32,\n methods: {\n },\n iface: {\n "camera": null,\n "set/camera": null,\n "x": effects_SceneAnchor_x__P1409,\n "y": effects_SceneAnchor_y__P1410,\n "width": effects_SceneAnchor_width__P1411,\n "height": effects_SceneAnchor_height__P1412,\n },\n});\nconst info_PlayerInfo__C823_VT = mkVTable({\n name: "PlayerInfo",\n numFields: 12,\n classNo: 33,\n lastSubtypeNo: 33,\n methods: {\n },\n iface: {\n "_player": null,\n "set/_player": null,\n "bg": null,\n "set/bg": null,\n "border": null,\n "set/border": null,\n "fc": null,\n "set/fc": null,\n "showScore": null,\n "set/showScore": null,\n "showLife": null,\n "set/showLife": null,\n "visilibity": null,\n "set/visilibity": null,\n "showPlayer": null,\n "set/showPlayer": null,\n "x": null,\n "set/x": null,\n "y": null,\n "set/y": null,\n "left": null,\n "set/left": null,\n "up": null,\n "set/up": null,\n "init": info_PlayerInfo_init__P824,\n "getState": info_PlayerInfo_getState__P825,\n "id": info_PlayerInfo_id__P826,\n "score": info_PlayerInfo_score__P827,\n "setScore": info_PlayerInfo_setScore__P828,\n "changeScoreBy": info_PlayerInfo_changeScoreBy__P829,\n "hasScore": info_PlayerInfo_hasScore__P830,\n "hasLife": info_PlayerInfo_hasLife__P834,\n "raiseLifeZero": info_PlayerInfo_raiseLifeZero__P836,\n "drawPlayer": info_PlayerInfo_drawPlayer__P837,\n "drawScore": info_PlayerInfo_drawScore__P838,\n "drawLives": info_PlayerInfo_drawLives__P839,\n },\n});\nconst info_PlayerState__C740_VT = mkVTable({\n name: "PlayerState",\n numFields: 3,\n classNo: 34,\n lastSubtypeNo: 34,\n methods: {\n },\n iface: {\n "score": null,\n "set/score": null,\n "life": null,\n "set/life": null,\n "lifeZeroHandler": null,\n "set/lifeZeroHandler": null,\n },\n});\nconst info_InfoState__C742_VT = mkVTable({\n name: "InfoState",\n numFields: 10,\n classNo: 35,\n lastSubtypeNo: 35,\n methods: {\n },\n iface: {\n "playerStates": null,\n "set/playerStates": null,\n "visibilityFlag": null,\n "set/visibilityFlag": null,\n "gameEnd": null,\n "set/gameEnd": null,\n "heartImage": null,\n "set/heartImage": null,\n "multiplierImage": null,\n "set/multiplierImage": null,\n "bgColor": null,\n "set/bgColor": null,\n "borderColor": null,\n "set/borderColor": null,\n "fontColor": null,\n "set/fontColor": null,\n "countdownExpired": null,\n "set/countdownExpired": null,\n "countdownEndHandler": null,\n "set/countdownEndHandler": null,\n },\n});\nconst music_Melody__C349_VT = mkVTable({\n name: "Melody",\n numFields: 2,\n classNo: 36,\n lastSubtypeNo: 36,\n methods: {\n },\n iface: {\n "_text": null,\n "set/_text": null,\n "_player": null,\n "set/_player": null,\n "stop": music_Melody_stop__P352,\n "registerMelody": music_Melody_registerMelody__P353,\n "unregisterMelody": music_Melody_unregisterMelody__P354,\n "playCore": music_Melody_playCore__P355,\n "play": music_Melody_play__P357,\n "toString": music_Melody_toString__P359,\n },\n toStringMethod: music_Melody_toString__P359,\n});\nconst game_BaseDialog__C952_VT = mkVTable({\n name: "BaseDialog",\n numFields: 11,\n classNo: 37,\n lastSubtypeNo: 38,\n methods: {\n "update": game_BaseDialog_update__P953,\n "drawTextCore": game_BaseDialog_drawTextCore__P955,\n },\n iface: {\n "image": null,\n "set/image": null,\n "frame": null,\n "set/frame": null,\n "cursor": null,\n "set/cursor": null,\n "columns": null,\n "set/columns": null,\n "rows": null,\n "set/rows": null,\n "unit": null,\n "set/unit": null,\n "innerLeft": null,\n "set/innerLeft": null,\n "innerTop": null,\n "set/innerTop": null,\n "cursorCount": null,\n "set/cursorCount": null,\n "font": null,\n "set/font": null,\n "textColor": null,\n "set/textColor": null,\n "update": game_BaseDialog_update__P953,\n "drawTextCore": game_BaseDialog_drawTextCore__P955,\n "drawCursorRow": game_BaseDialog_drawCursorRow__P956,\n "drawBorder": game_BaseDialog_drawBorder__P957,\n "clearInterior": game_BaseDialog_clearInterior__P958,\n "drawPartial": game_BaseDialog_drawPartial__P959,\n "cursorRowHeight": game_BaseDialog_cursorRowHeight__P960,\n "textAreaWidth": game_BaseDialog_textAreaWidth__P962,\n "textAreaHeight": game_BaseDialog_textAreaHeight__P963,\n },\n});\nconst game_GameOverDialog__C983_VT = mkVTable({\n name: "GameOverDialog",\n numFields: 16,\n classNo: 38,\n lastSubtypeNo: 38,\n methods: {\n "update": game_GameOverDialog_update__P986,\n "drawTextCore": game_GameOverDialog_drawTextCore__P987,\n },\n iface: {\n "image": null,\n "set/image": null,\n "frame": null,\n "set/frame": null,\n "cursor": null,\n "set/cursor": null,\n "columns": null,\n "set/columns": null,\n "rows": null,\n "set/rows": null,\n "unit": null,\n "set/unit": null,\n "innerLeft": null,\n "set/innerLeft": null,\n "innerTop": null,\n "set/innerTop": null,\n "cursorCount": null,\n "set/cursorCount": null,\n "font": null,\n "set/font": null,\n "textColor": null,\n "set/textColor": null,\n "cursorOn": null,\n "set/cursorOn": null,\n "isNewHighScore": null,\n "set/isNewHighScore": null,\n "win": null,\n "set/win": null,\n "score": null,\n "set/score": null,\n "highScore": null,\n "set/highScore": null,\n "displayCursor": game_GameOverDialog_displayCursor__P985,\n "update": game_GameOverDialog_update__P986,\n "drawTextCore": game_GameOverDialog_drawTextCore__P987,\n "drawCursorRow": game_BaseDialog_drawCursorRow__P956,\n "drawBorder": game_BaseDialog_drawBorder__P957,\n "clearInterior": game_BaseDialog_clearInterior__P958,\n "drawPartial": game_BaseDialog_drawPartial__P959,\n "cursorRowHeight": game_BaseDialog_cursorRowHeight__P960,\n "textAreaWidth": game_BaseDialog_textAreaWidth__P962,\n "textAreaHeight": game_BaseDialog_textAreaHeight__P963,\n },\n});\nconst control_EventContext__C220_VT = mkVTable({\n name: "EventContext",\n numFields: 8,\n classNo: 39,\n lastSubtypeNo: 39,\n methods: {\n },\n iface: {\n "handlers": null,\n "set/handlers": null,\n "frameCallbacks": null,\n "set/frameCallbacks": null,\n "frameWorker": null,\n "set/frameWorker": null,\n "framesInSample": null,\n "set/framesInSample": null,\n "timeInSample": null,\n "set/timeInSample": null,\n "deltaTimeMillis": null,\n "set/deltaTimeMillis": null,\n "prevTimeMillis": null,\n "set/prevTimeMillis": null,\n "idleCallbacks": null,\n "set/idleCallbacks": null,\n "deltaTime": control_EventContext_deltaTime__P221,\n "runCallbacks": control_EventContext_runCallbacks__P222,\n "registerFrameCallbacks": control_EventContext_registerFrameCallbacks__P223,\n "register": control_EventContext_register__P224,\n "unregister": control_EventContext_unregister__P225,\n "registerFrameHandler": control_EventContext_registerFrameHandler__P226,\n "registerHandler": control_EventContext_registerHandler__P227,\n },\n});\nconst control_EventHandler__C215_VT = mkVTable({\n name: "EventHandler",\n numFields: 4,\n classNo: 40,\n lastSubtypeNo: 40,\n methods: {\n },\n iface: {\n "src": null,\n "set/src": null,\n "value": null,\n "set/value": null,\n "handler": null,\n "set/handler": null,\n "flags": null,\n "set/flags": null,\n "register": control_EventHandler_register__P216,\n "unregister": control_EventHandler_unregister__P217,\n },\n});\nconst effects_ImageEffect__C1438_VT = mkVTable({\n name: "ImageEffect",\n numFields: 4,\n classNo: 41,\n lastSubtypeNo: 41,\n methods: {\n },\n iface: {\n "preferredDelay": null,\n "set/preferredDelay": null,\n "effect": null,\n "set/effect": null,\n "fastRandom": null,\n "set/fastRandom": null,\n "times": null,\n "set/times": null,\n "applyTo": effects_ImageEffect_applyTo__P1439,\n "change": effects_ImageEffect_change__P1440,\n "startScreenEffect": effects_ImageEffect_startScreenEffect__P1441,\n },\n});\nconst PhysicsEngine__C708_VT = mkVTable({\n name: "PhysicsEngine",\n numFields: 0,\n classNo: 42,\n lastSubtypeNo: 43,\n methods: {\n "addSprite": PhysicsEngine_addSprite__P709,\n "removeSprite": PhysicsEngine_removeSprite__P710,\n "moveSprite": PhysicsEngine_moveSprite__P711,\n "draw": PhysicsEngine_draw__P712,\n "move": PhysicsEngine_move__P713,\n },\n iface: {\n "addSprite": PhysicsEngine_addSprite__P709,\n "removeSprite": PhysicsEngine_removeSprite__P710,\n "moveSprite": PhysicsEngine_moveSprite__P711,\n "draw": PhysicsEngine_draw__P712,\n "move": PhysicsEngine_move__P713,\n },\n});\nconst ArcadePhysicsEngine__C727_VT = mkVTable({\n name: "ArcadePhysicsEngine",\n numFields: 6,\n classNo: 43,\n lastSubtypeNo: 43,\n methods: {\n "addSprite": ArcadePhysicsEngine_addSprite__P729,\n "removeSprite": ArcadePhysicsEngine_removeSprite__P730,\n "moveSprite": ArcadePhysicsEngine_moveSprite__P737,\n "draw": ArcadePhysicsEngine_draw__P731,\n "move": ArcadePhysicsEngine_move__P732,\n },\n iface: {\n "sprites": null,\n "set/sprites": null,\n "map": null,\n "set/map": null,\n "maxVelocity": null,\n "set/maxVelocity": null,\n "maxNegativeVelocity": null,\n "set/maxNegativeVelocity": null,\n "minSingleStep": null,\n "set/minSingleStep": null,\n "maxSingleStep": null,\n "set/maxSingleStep": null,\n "addSprite": ArcadePhysicsEngine_addSprite__P729,\n "removeSprite": ArcadePhysicsEngine_removeSprite__P730,\n "draw": ArcadePhysicsEngine_draw__P731,\n "move": ArcadePhysicsEngine_move__P732,\n "createMovingSprite": ArcadePhysicsEngine_createMovingSprite__P733,\n "spriteCollisions": ArcadePhysicsEngine_spriteCollisions__P734,\n "tilemapCollisions": ArcadePhysicsEngine_tilemapCollisions__P735,\n "moveSprite": ArcadePhysicsEngine_moveSprite__P737,\n "constrain": ArcadePhysicsEngine_constrain__P738,\n },\n});\nconst scene_Background__C846_VT = mkVTable({\n name: "Background",\n numFields: 4,\n classNo: 44,\n lastSubtypeNo: 44,\n methods: {\n },\n iface: {\n "color": null,\n "set/color": null,\n "_image": null,\n "set/_image": null,\n "camera": null,\n "set/camera": null,\n "_layers": null,\n "set/_layers": null,\n "image": scene_Background_image__P848,\n "set/image": scene_Background_image__P849,\n "hasBackgroundImage": scene_Background_hasBackgroundImage__P850,\n "draw": scene_Background_draw__P851,\n },\n});\nconst scene_Camera__C886_VT = mkVTable({\n name: "Camera",\n numFields: 8,\n classNo: 45,\n lastSubtypeNo: 45,\n methods: {\n },\n iface: {\n "offsetX": null,\n "set/offsetX": null,\n "offsetY": null,\n "set/offsetY": null,\n "drawOffsetX": null,\n "set/drawOffsetX": null,\n "drawOffsetY": null,\n "set/drawOffsetY": null,\n "sprite": null,\n "set/sprite": null,\n "shakeStartTime": null,\n "set/shakeStartTime": null,\n "shakeDuration": null,\n "set/shakeDuration": null,\n "shakeAmplitude": null,\n "set/shakeAmplitude": null,\n "update": scene_Camera_update__P888,\n },\n});\nconst sprites_SpriteMap__C659_VT = mkVTable({\n name: "SpriteMap",\n numFields: 5,\n classNo: 46,\n lastSubtypeNo: 46,\n methods: {\n },\n iface: {\n "cellWidth": null,\n "set/cellWidth": null,\n "cellHeight": null,\n "set/cellHeight": null,\n "rowCount": null,\n "set/rowCount": null,\n "columnCount": null,\n "set/columnCount": null,\n "buckets": null,\n "set/buckets": null,\n "neighbors": sprites_SpriteMap_neighbors__P660,\n "overlaps": sprites_SpriteMap_overlaps__P661,\n "draw": sprites_SpriteMap_draw__P662,\n "resizeBuckets": sprites_SpriteMap_resizeBuckets__P663,\n "clear": sprites_SpriteMap_clear__P664,\n "key": sprites_SpriteMap_key__P665,\n "insertAtKey": sprites_SpriteMap_insertAtKey__P666,\n "isOob": sprites_SpriteMap_isOob__P667,\n "insertAABB": sprites_SpriteMap_insertAABB__P668,\n "mergeAtKey": sprites_SpriteMap_mergeAtKey__P669,\n "toString": sprites_SpriteMap_toString__P670,\n },\n toStringMethod: sprites_SpriteMap_toString__P670,\n});\nconst scene_BackgroundLayer__C853_VT = mkVTable({\n name: "BackgroundLayer",\n numFields: 6,\n classNo: 47,\n lastSubtypeNo: 47,\n methods: {\n },\n iface: {\n "distance": null,\n "set/distance": null,\n "img": null,\n "set/img": null,\n "repeatX": null,\n "set/repeatX": null,\n "repeatY": null,\n "set/repeatY": null,\n "alignX": null,\n "set/alignX": null,\n "alignY": null,\n "set/alignY": null,\n "draw": scene_BackgroundLayer_draw__P854,\n },\n});\nconst tiles_TileMap__C865_VT = mkVTable({\n name: "TileMap",\n numFields: 4,\n classNo: 48,\n lastSubtypeNo: 48,\n methods: {\n },\n iface: {\n "scale": null,\n "set/scale": null,\n "_layer": null,\n "set/_layer": null,\n "_map": null,\n "set/_map": null,\n "_tileSets": null,\n "set/_tileSets": null,\n "offsetX": tiles_TileMap_offsetX__P867,\n "offsetY": tiles_TileMap_offsetY__P868,\n "areaWidth": tiles_TileMap_areaWidth__P869,\n "areaHeight": tiles_TileMap_areaHeight__P870,\n "layer": tiles_TileMap_layer__P871,\n "enabled": tiles_TileMap_enabled__P873,\n "generateTile": tiles_TileMap_generateTile__P879,\n "isOutsideMap": tiles_TileMap_isOutsideMap__P880,\n "draw": tiles_TileMap_draw__P882,\n "isObstacle": tiles_TileMap_isObstacle__P883,\n "getObstacle": tiles_TileMap_getObstacle__P884,\n },\n});\nconst controller_Controller__C557_VT = mkVTable({\n name: "Controller",\n numFields: 4,\n classNo: 49,\n lastSubtypeNo: 49,\n methods: {\n },\n iface: {\n "playerIndex": null,\n "set/playerIndex": null,\n "buttons": null,\n "set/buttons": null,\n "_id": null,\n "set/_id": null,\n "_connected": null,\n "set/_connected": null,\n "_controlledSprites": controller_Controller__controlledSprites__P558,\n "set/_controlledSprites": controller_Controller__controlledSprites__P559,\n "id": controller_Controller_id__P560,\n "left": controller_Controller_left__P562,\n "right": controller_Controller_right__P563,\n "up": controller_Controller_up__P564,\n "down": controller_Controller_down__P565,\n "button": controller_Controller_button__P570,\n "connected": controller_Controller_connected__P573,\n "set/connected": controller_Controller_connected__P574,\n "__preUpdate": controller_Controller___preUpdate__P578,\n "__update": controller_Controller___update__P579,\n },\n});\nconst control_FrameCallback__C214_VT = mkVTable({\n name: "FrameCallback",\n numFields: 2,\n classNo: 50,\n lastSubtypeNo: 50,\n methods: {\n },\n iface: {\n "order": null,\n "set/order": null,\n "handler": null,\n "set/handler": null,\n },\n});\nconst music_MelodyPlayer__C363_VT = mkVTable({\n name: "MelodyPlayer",\n numFields: 2,\n classNo: 51,\n lastSubtypeNo: 51,\n methods: {\n },\n iface: {\n "melody": null,\n "set/melody": null,\n "onPlayFinished": null,\n "set/onPlayFinished": null,\n "stop": music_MelodyPlayer_stop__P364,\n "play": music_MelodyPlayer_play__P365,\n },\n});\nconst scene_Renderable__C890_VT = mkVTable({\n name: "Renderable",\n numFields: 4,\n classNo: 22,\n lastSubtypeNo: 22,\n methods: {\n "__visible": scene_Renderable___visible__P892,\n "__draw": sprites_BaseSprite___draw__P512,\n "__drawCore": scene_Renderable___drawCore__P893,\n "__update": sprites_BaseSprite___update__P514,\n },\n iface: {\n "_z": null,\n "set/_z": null,\n "id": null,\n "set/id": null,\n "handler": null,\n "set/handler": null,\n "shouldBeVisible": null,\n "set/shouldBeVisible": null,\n "__visible": scene_Renderable___visible__P892,\n "__drawCore": scene_Renderable___drawCore__P893,\n "z": sprites_BaseSprite_z__P510,\n "set/z": sprites_BaseSprite_z__P511,\n "__draw": sprites_BaseSprite___draw__P512,\n "__update": sprites_BaseSprite___update__P514,\n },\n});\nconst SpriteSet__C676_VT = mkVTable({\n name: "SpriteSet",\n numFields: 1,\n classNo: 52,\n lastSubtypeNo: 52,\n methods: {\n },\n iface: {\n "_sprites": null,\n "set/_sprites": null,\n "length": SpriteSet_length__P678,\n "add": SpriteSet_add__P680,\n "remove": SpriteSet_remove__P682,\n "contains": SpriteSet_contains__P683,\n "toString": SpriteSet_toString__P686,\n },\n toStringMethod: SpriteSet_toString__P686,\n});\nconst scene_GameForeverHandler__C902_VT = mkVTable({\n name: "GameForeverHandler",\n numFields: 2,\n classNo: 53,\n lastSubtypeNo: 53,\n methods: {\n },\n iface: {\n "lock": null,\n "set/lock": null,\n "handler": null,\n "set/handler": null,\n },\n});\nconst animation_SpriteAnimation__C1541_VT = mkVTable({\n name: "SpriteAnimation",\n numFields: 3,\n classNo: 54,\n lastSubtypeNo: 56,\n methods: {\n "update": animation_SpriteAnimation_update__P1543,\n },\n iface: {\n "startedAt": null,\n "set/startedAt": null,\n "sprite": null,\n "set/sprite": null,\n "loop": null,\n "set/loop": null,\n "init": animation_SpriteAnimation_init__P1542,\n "update": animation_SpriteAnimation_update__P1543,\n },\n});\nconst animation_ImageAnimation__C1545_VT = mkVTable({\n name: "ImageAnimation",\n numFields: 6,\n classNo: 55,\n lastSubtypeNo: 55,\n methods: {\n "update": animation_ImageAnimation_update__P1547,\n },\n iface: {\n "startedAt": null,\n "set/startedAt": null,\n "sprite": null,\n "set/sprite": null,\n "loop": null,\n "set/loop": null,\n "lastFrame": null,\n "set/lastFrame": null,\n "frames": null,\n "set/frames": null,\n "frameInterval": null,\n "set/frameInterval": null,\n "update": animation_ImageAnimation_update__P1547,\n "init": animation_SpriteAnimation_init__P1542,\n },\n});\nconst animation_MovementAnimation__C1549_VT = mkVTable({\n name: "MovementAnimation",\n numFields: 5,\n classNo: 56,\n lastSubtypeNo: 56,\n methods: {\n "update": animation_MovementAnimation_update__P1551,\n },\n iface: {\n "startedAt": null,\n "set/startedAt": null,\n "sprite": null,\n "set/sprite": null,\n "loop": null,\n "set/loop": null,\n "path": null,\n "set/path": null,\n "nodeInterval": null,\n "set/nodeInterval": null,\n "update": animation_MovementAnimation_update__P1551,\n "init": animation_SpriteAnimation_init__P1542,\n },\n});\nconst game_Hitbox__C593_VT = mkVTable({\n name: "Hitbox",\n numFields: 5,\n classNo: 57,\n lastSubtypeNo: 57,\n methods: {\n },\n iface: {\n "parent": null,\n "set/parent": null,\n "ox": null,\n "set/ox": null,\n "oy": null,\n "set/oy": null,\n "width": null,\n "set/width": null,\n "height": null,\n "set/height": null,\n "left": game_Hitbox_left__P594,\n "top": game_Hitbox_top__P595,\n "right": game_Hitbox_right__P596,\n "bottom": game_Hitbox_bottom__P597,\n },\n});\nconst scene_OverlapHandler__C900_VT = mkVTable({\n name: "OverlapHandler",\n numFields: 3,\n classNo: 58,\n lastSubtypeNo: 58,\n methods: {\n },\n iface: {\n "kind": null,\n "set/kind": null,\n "otherKind": null,\n "set/otherKind": null,\n "handler": null,\n "set/handler": null,\n },\n});\nconst scene_systemMenu_PauseMenu__C1176_VT = mkVTable({\n name: "PauseMenu",\n numFields: 7,\n classNo: 59,\n lastSubtypeNo: 59,\n methods: {\n },\n iface: {\n "options": null,\n "set/options": null,\n "theme": null,\n "set/theme": null,\n "selection": null,\n "set/selection": null,\n "scrollRow": null,\n "set/scrollRow": null,\n "scrollTarget": null,\n "set/scrollTarget": null,\n "scrollOffset": null,\n "set/scrollOffset": null,\n "generator": null,\n "set/generator": null,\n "show": scene_systemMenu_PauseMenu_show__P1177,\n "onUpdate": scene_systemMenu_PauseMenu_onUpdate__P1178,\n "setSelection": scene_systemMenu_PauseMenu_setSelection__P1179,\n "drawText": scene_systemMenu_PauseMenu_drawText__P1180,\n "dispose": scene_systemMenu_PauseMenu_dispose__P1181,\n "updateScrollTarget": scene_systemMenu_PauseMenu_updateScrollTarget__P1182,\n },\n});\nconst scene_systemMenu_MenuOption__C1167_VT = mkVTable({\n name: "MenuOption",\n numFields: 8,\n classNo: 60,\n lastSubtypeNo: 60,\n methods: {\n },\n iface: {\n "card": null,\n "set/card": null,\n "icon": null,\n "set/icon": null,\n "top": null,\n "set/top": null,\n "state": null,\n "set/state": null,\n "theme": null,\n "set/theme": null,\n "iconImage": null,\n "set/iconImage": null,\n "getText": null,\n "set/getText": null,\n "action": null,\n "set/action": null,\n "show": scene_systemMenu_MenuOption_show__P1168,\n "position": scene_systemMenu_MenuOption_position__P1169,\n "setOffset": scene_systemMenu_MenuOption_setOffset__P1170,\n "setTheme": scene_systemMenu_MenuOption_setTheme__P1171,\n "setState": scene_systemMenu_MenuOption_setState__P1172,\n "dispose": scene_systemMenu_MenuOption_dispose__P1173,\n "updateCard": scene_systemMenu_MenuOption_updateCard__P1174,\n },\n});\nconst animation_Path__C1506_VT = mkVTable({\n name: "Path",\n numFields: 2,\n classNo: 61,\n lastSubtypeNo: 61,\n methods: {\n },\n iface: {\n "nodes": null,\n "set/nodes": null,\n "lastNode": null,\n "set/lastNode": null,\n "run": animation_Path_run__P1512,\n },\n});\nconst animation_PathNode__C1514_VT = mkVTable({\n name: "PathNode",\n numFields: 1,\n classNo: 62,\n lastSubtypeNo: 62,\n methods: {\n "apply": animation_PathNode_apply__P1515,\n },\n iface: {\n "setStart": null,\n "set/setStart": null,\n "apply": animation_PathNode_apply__P1515,\n },\n});\nconst tiles_TileSet__C856_VT = mkVTable({\n name: "TileSet",\n numFields: 4,\n classNo: 63,\n lastSubtypeNo: 63,\n methods: {\n },\n iface: {\n "obstacle": null,\n "set/obstacle": null,\n "map": null,\n "set/map": null,\n "originalImage": null,\n "set/originalImage": null,\n "cachedImage": null,\n "set/cachedImage": null,\n "image": tiles_TileSet_image__P857,\n },\n});\nconst MovingSprite__C725_VT = mkVTable({\n name: "MovingSprite",\n numFields: 7,\n classNo: 64,\n lastSubtypeNo: 64,\n methods: {\n },\n iface: {\n "sprite": null,\n "set/sprite": null,\n "cachedVx": null,\n "set/cachedVx": null,\n "cachedVy": null,\n "set/cachedVy": null,\n "dx": null,\n "set/dx": null,\n "dy": null,\n "set/dy": null,\n "xStep": null,\n "set/xStep": null,\n "yStep": null,\n "set/yStep": null,\n },\n});\nconst sprites_StaticObstacle__C700_VT = mkVTable({\n name: "StaticObstacle",\n numFields: 5,\n classNo: 65,\n lastSubtypeNo: 65,\n methods: {\n },\n iface: {\n "layer": null,\n "set/layer": null,\n "image": null,\n "set/image": null,\n "tileIndex": null,\n "set/tileIndex": null,\n "top": null,\n "set/top": null,\n "left": null,\n "set/left": null,\n "x": sprites_StaticObstacle_x__P701,\n "y": sprites_StaticObstacle_y__P702,\n "height": sprites_StaticObstacle_height__P703,\n "width": sprites_StaticObstacle_width__P704,\n },\n});\n\nconst breakpoints = setupDebugger(1, ["Obstacle___22731","bunny___22740","gravity___22747","bird___22772","difficultyFactor___22764","osbstacleSpeed___22763","numObstacles___22762","newObstacle___22761","obstacles___22770","projectile___22760","grass___22759","grassImages___22768","over___22733","tree___22766","trees___22769","cloud___22765","clouds___22767","birdFrames___22771"])\n\nreturn _main___P22728\n})\n\n',a="\nnamespace SpriteKind {\n export const Obstacle = SpriteKind.create()\n}\ncontroller.anyButton.onEvent(ControllerButtonEvent.Pressed, function () {\n if (bunny.ay == 0) {\n bunny.vy = -160\n bunny.ay = gravity\n }\n})\nfunction setupFrames () {\n birdFrames = [img`\n . . . . . . . . . . . .\n . . . . . 1 1 1 1 . . .\n . . . . 1 1 1 1 . . . .\n . . . . 1 1 1 . . . . .\n . . . . 1 1 1 . . . . .\n . . . . 1 1 1 . . . . .\n . . 1 1 1 1 1 1 . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n `, img`\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . 1 1 1 1 1 1 . .\n . . . 1 1 1 1 1 . . . .\n . . . 1 1 1 1 . . . . .\n . . 1 1 1 1 1 1 . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n `, img`\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . 1 1 1 1 . . . . .\n . . 1 1 1 1 1 1 . . . .\n . . . 1 1 1 1 1 1 1 1 .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n `, img`\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . 1 1 1 1 1 1 . . . .\n . . . 1 1 1 1 . . . . .\n . . . 1 1 1 1 1 1 . . .\n . . . . 1 1 1 1 1 1 1 .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n `, img`\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . 1 1 1 1 1 1 . . . .\n . . . 1 1 1 1 . . . . .\n . . . 1 1 1 1 . . . . .\n . . . . 1 1 1 1 1 . . .\n . . . . . 1 1 1 1 1 . .\n . . . . . . . . . . . .\n `, img`\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . 1 1 1 1 1 1 . . . .\n . . . 1 1 1 1 . . . . .\n . . . 1 1 1 1 . . . . .\n . . . . 1 1 1 1 1 . . .\n . . . . . 1 1 1 1 1 . .\n . . . . . . . . . . . .\n `, img`\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . 1 1 1 1 1 1 . . . .\n . . . 1 1 1 1 . . . . .\n . . . 1 1 1 1 1 1 . . .\n . . . . 1 1 1 1 1 1 1 .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n `, img`\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . 1 1 1 1 . . . . .\n . . 1 1 1 1 1 1 . . . .\n . . . 1 1 1 1 1 1 1 1 .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n `, img`\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . 1 1 1 1 1 1 . .\n . . . 1 1 1 1 1 . . . .\n . . . 1 1 1 1 . . . . .\n . . 1 1 1 1 1 1 . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n `, img`\n . . . . . . . . . . . .\n . . . . . 1 1 1 1 . . .\n . . . . 1 1 1 1 . . . .\n . . . . 1 1 1 . . . . .\n . . . . 1 1 1 . . . . .\n . . . . 1 1 1 . . . . .\n . . 1 1 1 1 1 1 . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n `]\n animation.runImageAnimation(\n bird,\n birdFrames,\n 40,\n true\n )\n obstacles = [img`\n . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . 7 . . . . . . . . . . .\n . . . . . . . . . . 7 7 . . . . . . . . . .\n . . . . . . . . . 6 7 7 . . . . . . . . . .\n . . . . . . . . 6 6 7 7 7 . . . . . . . . .\n . . . . . . . . 6 6 7 7 7 . . . . . . . . .\n . . . . . . . . 6 6 7 7 7 7 . . . . . . . .\n . . . . . . . 6 6 7 7 7 7 7 . . . . . . . .\n . . . . . . 6 6 6 7 7 7 7 7 . . . . . . . .\n . . . . . . . . 6 6 6 6 6 . . . . . . . . .\n . . . . . . . . 6 6 6 6 . . . . . . . . . .\n . . . . . . . 6 6 6 6 6 7 7 . . . . . . . .\n . . . . . . 6 6 6 7 7 7 7 7 7 . . . . . . .\n . . . . . . 6 6 6 7 7 7 7 7 7 7 . . . . . .\n . . . . . . 6 6 7 7 7 7 7 7 7 7 7 . . . . .\n . . 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 . . .\n . . . 6 6 6 6 6 7 7 7 7 7 6 6 6 6 6 . . . .\n . . . . . . . . 6 6 6 6 7 7 . . . . . . . .\n . . . . . . . . 6 6 6 7 7 7 . . . . . . . .\n . . . . . . 6 6 7 7 7 7 7 7 7 . . . . . . .\n . . . 6 6 6 7 7 7 7 7 7 7 7 7 7 7 . . . . .\n 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 . . . .\n 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 6\n . . . 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 6 .\n . . . . . 6 6 6 6 e e e e 7 7 7 7 7 6 6 6 .\n . . . . . . . . . e e e e . . . . . . . . .\n . . . . . . . . . e e e e . . . . . . . . .\n . . . . . . . . . e e e e . . . . . . . . .\n . . . . . . . 6 . e e e e . . 6 . . . . . .\n . . . 6 6 6 . . . e e e e . 6 . . . . . . .\n . . . 6 . 6 . . . e e e e . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . .\n `, img`\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . e e e e e . . . . .\n . . . . e e b b b e e . . . .\n . . . e e b e e e b e e . . .\n . . . e e b e e b b e e . . .\n . . . . e e b b e e e . . . .\n . . . e b e e e e b b e . . .\n . . . e e b b b b e e e . . e\n . . . e e e e e e e e . . e .\n . . . e b e e b e b e . e . e\n . . . e b e e e e b e e . . .\n . . . e e e b e e e e . . . .\n . . e e b e b e b e e e . . .\n . e e e e e e e e e e e e . .\n . . . . . . e e . . . . . . .\n `]\n trees = [img`\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . b b b b b b b b . . . . . . . . . . . . .\n . . . . . . . . . . . . . . b b . . b b b b b b . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b . . b b b . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . b b b b b . b b . . . . . . . . . . . . .\n . . . . . . . . . . . . . . b b b b b b b b b b . . . . . . . . . . . .\n . . . . . . . . . . . . b b b b . b b b b b b b . . . . . . . . . . . .\n . . . . . . . . . . b b b b b . . b b b b b . b b b b . . . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b b . . . b b b . . . . . . . .\n . . . . . . . . . . . . . . . b b b b b b b b . . . . . . . . . . . . .\n . . . . . . . . . . . . . . b b b b b b . b b . . . . . . . . . . . . .\n . . . . . . . . . . . b b b b b b b b b b b b b . . . . . . . . . . . .\n . . . . . . . . . b b b b b b . . b b b b . b b b . . . . . . . . . . .\n . . . . . . . . . . b b b b b . . b b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b b b . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . b b b b b b b b b . . . . . . . . . . . .\n . . . . . . . . . . . . . b b b b b b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . b b b b b b b b b b b b b b b b b . . . . . . . .\n . . . . . . . . . . b b b b b b b b b b b b b b b b b . . . . . . . . .\n . . . . . . . . . b b b b . b b b b b b b b . . . . . . . . . . . . . .\n . . . . . . . . b b . . . . b b b b b b b b b . . . . . . . . . . . . .\n . . . . . . . . . . . . b b b b b b b b b b b b b . . . . . . . . . . .\n . . . . . . . . b b b b b b b b b b b b b b b b b b b b . . . . . . . .\n . . . . . . . b b b b b b b b b b b b b b b b b b b b b b b . . . . . .\n . . . . . . b b b b b b b b . . . b b b b b b b b b . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n `, img`\n . . . . . . . . . . . . . . . . . . . b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b b b . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . b b b b . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b b b b . . . . . . . . . . . .\n . . . . . . . . . . . . . . . b b b . b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . b b b b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b b b b . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b . b b b b . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b b b . . . . . . . . . . . . .\n . . . . . . . . . . . . . b b b b b b b . b b b b . . . . . . . . . . .\n . . . . . . . . . . . . b b b b b . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . b b b b b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . . . b b b b b b b b b b . . . . . . . . . . . . .\n . . . . . . . . . . . . b b b . . b b b b b b b b . . . . . . . . . . .\n . . . . . . . . . . . b b b b . b b b b b b b b . b . . . . . . . . . .\n . . . . . . . . . . . . b . . . b b b b b b b b b . . . . . . . . . . .\n . . . . . . . . . . . . . . . b b b b b b b b b b b . . . . . . . . . .\n . . . . . . . . . . . . . . b b b b b b b . b b b b . . . . . . . . . .\n . . . . . . . . . . . . . b b b b b b b b b b b b b b b . . . . . . . .\n . . . . . . . . . . . b b b b . b b b b b b b . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . b b b b b b . b b . . . . . . . . . . . .\n . . . . . . . . . . . . . b b b b b b b b b b b b . . . . . . . . . . .\n . . . . . . . . . . . . b b b b b b b b b b b b b b . . . . . . . . . .\n . . . . . . . . . . . . b b b b b b b b b b . . b b b . . . . . . . . .\n . . . . . . . . . b b b b b b b b b b b b b b . . b b b b . . . . . . .\n . . . . . . . . b b . . . b b b b b b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . b b b b b b b b b b b . . . . . . . . . . .\n . . . . . . . . . . . . b b b b . b b b b b b b b . . . . . . . . . . .\n . . . . . . . . b b b b . b . . . b b b b b b b . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b . . b b b b . . . . . . . . .\n . . . . . . . . . . . . . b b b b b . b b b b b b b b . . . . . . . . .\n . . . . . . . . . b b b b b b . . b b b b . . b b b b b . . . . . . . .\n . . . . . . . . b b . b . . . . b b b b b . . . . . b b b . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n `, img`\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . b b b b b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b b b . . . . . . . . . . . . .\n . . . . . . . . . . . . . . b b b b b b b b b b . . . . . . . . . . . .\n . . . . . . . . . . . . b b b b . . b b b b b b b . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . b b b b b b b b . . . . . . . . . . . . .\n . . . . . . . . . . . . b b b b b b b b b b b b b . . . . . . . . . . .\n . . . . . . . . b b b b b b b b b b b b b b b b b b b b . . . . . . . .\n . . . . . . . . . . . b b b b b b b b b b b b b b b b . . . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b b b . b . . . . . . . . . . .\n . . . . . . . . . . . . . . b b b b b b b b b b b b b b b b . . . . . .\n . . . . . . . . . . . b b b b b b b b b b b b b b b b b b . . . . . . .\n . . . . . . . . b b b b b b b b b b b b b b b b b b b . . . . . . . . .\n . . . . . . . . . . b b b b b . . . b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b . b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b . b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n `]\n grassImages = [img`\n . . . . . . . .\n . . . . . . . .\n . . . . . . . .\n . . . . . . . .\n . . . . b . . .\n . . . . b . . .\n . . . b b . . .\n . . . b b . . .\n `, img`\n . . . . . . . .\n . . . . . . . .\n . . . . . . . .\n . . . . . . . .\n . . . b . . . .\n . . . b . . . .\n . . . b b . b .\n . . . b b . b .\n `, img`\n . . . . . . . .\n . . . . . . . .\n b . . . . . . .\n b . . b . . . .\n b . . b b . . .\n b . b b b . . .\n b . b b b . b .\n b b b b b . b .\n `, img`\n . . . . . . . .\n . . . . . . . .\n . . . . . . . .\n . . . . . . . b\n . . . b . . . b\n . . . b . . . b\n . . . b b . b b\n . . . b b . b b\n `, img`\n . . . . . . . .\n . . . . . . . .\n . . . b . . . .\n . . . b . . . .\n . . b b . . . .\n . . b b b . . .\n . . b b b . . .\n . . b b b . . .\n `, img`\n . . . . . . . .\n . . . . . . . .\n . . . . . . . .\n . b . . . . . .\n . b . . . . . .\n . b b . . . b .\n . b b . . . b .\n . b b . . . b .\n `]\n clouds = [img`\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . .\n . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . .\n . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . .\n . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . .\n . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . .\n . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . .\n . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . .\n . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . .\n . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . .\n . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . .\n . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . .\n . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 .\n . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 .\n . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 .\n . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . .\n `, img`\n . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 1 1 1 . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . .\n . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . .\n . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . .\n . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . .\n . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . .\n . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . .\n . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . .\n . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . .\n . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . .\n . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . .\n . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 .\n . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 .\n . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 .\n 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 . .\n `, img`\n . . . . . . . . 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . . .\n . . . . . . . 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . .\n . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . .\n . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . .\n . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . .\n . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . .\n . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . .\n . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . .\n 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . .\n 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . .\n . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . .\n . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 .\n . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n `, img`\n . . . . . . . . . . . . . . . . . . . 1 1 1 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . 1 1 1 1 1 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . 1 1 1 1 1 . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . . . . .\n . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . . .\n . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . .\n . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . .\n . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . .\n . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . .\n . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . .\n . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . .\n . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . .\n . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . .\n . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . .\n . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . .\n 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 .\n 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 .\n 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 .\n . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . 1 1 1 1 1 1 1 1 . . . . . . .\n `, img`\n . . . . . . . . . . . . . . . . . . . . . . . . 1 1 1 1 . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . 1 1 1 1 . . 1 1 1 1 1 1 . . . . . . . . . .\n . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . .\n . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . .\n . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . .\n . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . .\n . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . .\n . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . .\n . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . .\n . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . .\n . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 .\n . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 .\n . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 .\n 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . .\n 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . . . . . . .\n `]\n}\nfunction createTree () {\n tree = sprites.createProjectileFromSide(trees[Math.randomRange(0, trees.length - 1)], (-100 - game.runtime() / 250) / 2, 0)\n tree.bottom = 100\n tree.z = -1\n}\nfunction createCloud () {\n cloud = sprites.createProjectileFromSide(clouds[Math.randomRange(0, clouds.length - 1)], -30, 0)\n cloud.bottom = Math.randomRange(30, 55)\n cloud.z = -2\n}\nsprites.onOverlap(SpriteKind.Player, SpriteKind.Obstacle, function (sprite, otherSprite) {\n game.over(false, effects.melt)\n})\nlet grass: Sprite = null\nlet projectile: Sprite = null\nlet newObstacle: Image = null\nlet numObstacles = 0\nlet osbstacleSpeed = 0\nlet difficultyFactor = 0\nlet cloud: Sprite = null\nlet tree: Sprite = null\nlet clouds: Image[] = []\nlet grassImages: Image[] = []\nlet trees: Image[] = []\nlet obstacles: Image[] = []\nlet birdFrames: Image[] = []\nlet bird: Sprite = null\nlet gravity = 0\nlet bunny: Sprite = null\nlet theScore = 0\nscene.setBackgroundColor(13)\nbunny = sprites.create(img`\n . . . . . . . . . . . .\n . . . 1 1 . 1 1 . . . .\n . . . 1 3 . 1 3 . . . .\n . . . . 1 3 . 1 3 . . .\n . . . . 1 3 . 1 3 . . .\n . . . 1 1 1 1 1 1 . . .\n . . 1 1 1 1 1 1 1 1 . .\n . . 1 1 1 f 1 1 f 1 . .\n . . 1 1 1 1 1 1 1 1 . .\n . . 1 1 1 1 f f 1 1 . .\n . . . 1 1 1 1 1 1 . . .\n . 1 1 1 1 1 1 1 1 1 1 .\n . 1 1 1 1 1 1 1 1 1 1 .\n . . . . 1 1 1 1 . . . .\n . . . . 1 1 1 1 . . . .\n . . . . 1 1 1 1 . . . .\n . . . . 1 1 1 1 . . . .\n . . . . . 1 1 . . . . .\n . . . . . . 1 . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n`, SpriteKind.Player)\ngravity = 400\nbunny.ay = gravity\nbunny.x = 20\nbird = sprites.create(img`\n . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . .\n`, SpriteKind.Projectile)\nbird.setPosition(160, 20)\nbird.setVelocity(-120, 0)\nsetupFrames()\ngame.onUpdate(function () {\n if (bunny.bottom > 105) {\n bunny.bottom = 105\n bunny.vy = 0\n bunny.ay = 0\n }\n})\ngame.onUpdate(function () {\n if (bird.x < 0) {\n bird.setPosition(Math.randomRange(160, 240), Math.randomRange(20, 60))\n }\n})\ngame.onUpdateInterval(100, function () {\n bird.x += -1\n})\nforever(function () {\n difficultyFactor = game.runtime() / 250\n osbstacleSpeed = 100 + difficultyFactor\n numObstacles = Math.randomRange(1, 3)\n for (let i = 0; i < numObstacles; i++) {\n newObstacle = obstacles[Math.randomRange(0, obstacles.length - 1)]\n projectile = sprites.createProjectileFromSide(newObstacle, 0 - osbstacleSpeed, 0)\n projectile.bottom = 105\n projectile.setKind(SpriteKind.Obstacle)\n pause(11500 / osbstacleSpeed)\n }\n pause(Math.randomRange(1500, 2500))\n})\ngame.onUpdateInterval(200, function () {\n if (Math.percentChance(40)) {\n grass = sprites.createProjectileFromSide(grassImages[Math.randomRange(0, grassImages.length - 1)], (-100 - game.runtime() / 250) / 2, 0)\n grass.bottom = 100\n grass.z = -1\n }\n})\ngame.onUpdateInterval(100, function () {\n info.changeScoreBy(1)\n if (info.score() > 0 && info.score() % 100 == 0) {\n effects.confetti.startScreenEffect()\n } else if (info.score() > 0 && (info.score() - 10) % 100 == 0) {\n effects.confetti.endScreenEffect()\n }\n})\ngame.onUpdateInterval(1000, function () {\n if (Math.percentChance(20)) {\n createCloud()\n }\n})\nforever(function () {\n if (Math.percentChance(60)) {\n createTree()\n if (Math.percentChance(50)) {\n pause(Math.randomRange(150, 300))\n createTree()\n }\n }\n pause(1500)\n})\n\n",i="\n",p=!0,m=!1,l=void 0,n.prev=12,d=e[Symbol.iterator]();!(p=(u=d.next()).done);p=!0)c=u.value,o=j(c.default),f=j(c.data),_=r(_,c),a=Ve(a,o,f),i=Ve(i,o,f);n.next=20;break;case 16:n.prev=16,n.t0=n.catch(12),m=!0,l=n.t0;case 20:n.prev=20,n.prev=21,p||null==d.return||d.return();case 23:if(n.prev=23,!m){n.next=26;break}throw l;case 26:return n.finish(23);case 27:return n.finish(20);case 28:return _=s(_,this.state.currentBackground),a=t(a,this.state.currentBackground),n.next=32,Se(this.state.currentBackground+1,this.state.userImages.map(function(n){return U(n.data)?n.default:n.data}));case 32:g=n.sent,this.props.playHandler({binJs:_,mainTs:a,mainBlocks:i,screenshot:g});case 34:case"end":return n.stop()}},n,this,[[12,16,20,28],[21,,23,27]])}));return function(){return n.apply(this,arguments)}}()}]),e}(_.a.Component),Ue=(s(32),s(14));function We(n,e){var s=Object.keys(n);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(n);e&&(t=t.filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable})),s.push.apply(s,t)}return s}function ze(n){for(var e=1;e>1;function y(n,e){for(var s=0;s>1,s.handleY=v>>1,s.lastOctet=void 0,s.joystickGestureCount=0,s.joystickGestureInterval=void 0,s.buttonChangeListener=function(n,e){switch(n){case t.Down:s.updateDirection(s.dPadDown,e);break;case t.Up:s.updateDirection(s.dPadUp,e);break;case t.Left:s.updateDirection(s.dPadLeft,e);break;case t.Right:s.updateDirection(s.dPadRight,e)}},s.logEvents=function(){s.joystickGestureCount>0&&(f("shareExperiment.play.joystickGestureUp",{count:s.joystickGestureCount}),s.joystickGestureCount=0)},s.cleanupInterval=function(){clearInterval(s.joystickGestureInterval),s.joystickGestureCount=0},s}return Object(c.a)(e,n),Object(m.a)(e,[{key:"componentDidMount",value:function(){this.dPadUp=this.refs["dpad-up"],this.dPadDown=this.refs["dpad-down"],this.dPadLeft=this.refs["dpad-left"],this.dPadRight=this.refs["dpad-right"],this.joystickHandle=this.refs["joystick-handle"],this.bindEvents(this.refs["joystick-bounds"]),this.props.simulator.addChangeListener(this.buttonChangeListener)}},{key:"componentWillUnmount",value:function(){this.dPadUp=void 0,this.dPadDown=void 0,this.dPadLeft=void 0,this.dPadRight=void 0,this.joystickHandle=void 0,this.props.simulator.removeChangeListener(this.buttonChangeListener),this.cleanupInterval()}},{key:"render",value:function(){var n=this.props.changeMode;return _.a.createElement("div",{ref:"joystick-container",className:"game-joystick"},_.a.createElement("div",{className:"spacer"}),_.a.createElement("div",{className:"action-button"},_.a.createElement("button",{className:"share-mod-button",onClick:function(){return n("mod")}},"Mod")),_.a.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",ref:"joystick-bounds",className:"game-joystick-svg",viewBox:"1 0 40 40",width:"200px",height:"200px"},_.a.createElement("circle",{id:"joystick-background",cx:"20",cy:"20",r:"16",fill:"#397382",stroke:"#397382",strokeWidth:"2"}),_.a.createElement("rect",{ref:"dpad-up",x:"16",y:"6",width:"8",height:"12",rx:"2",fill:"#cecece",stroke:"none",strokeWidth:"1"}),_.a.createElement("rect",{ref:"dpad-down",x:"16",y:"22",width:"8",height:"12",rx:"2",fill:"#cecece",stroke:"none",strokeWidth:"1"}),_.a.createElement("rect",{ref:"dpad-right",x:"22",y:"16",width:"12",height:"8",ry:"2",fill:"#cecece",stroke:"none",strokeWidth:"1"}),_.a.createElement("rect",{ref:"dpad-left",x:"6",y:"16",width:"12",height:"8",ry:"2",fill:"#cecece",stroke:"none",strokeWidth:"1"}),_.a.createElement("circle",{cx:"20",cy:"20",r:"6",fill:"#cecece"}),_.a.createElement("circle",{ref:"joystick-handle",cx:"20",cy:"20",r:"6",fill:"#333",stroke:"#999",strokeWidth:"2"})))}},{key:"updateDirection",value:function(n,e){n&&n.setAttribute("fill",e?"#249ca3":"#cecece")}},{key:"bindEvents",value:function(n){n&&("undefined"!=typeof window&&window.PointerEvent?this.bindPointerEvents(n):"undefined"!==typeof window&&("ontouchstart"in window||navigator&&navigator.maxTouchPoints>0)?this.bindTouchEvents(n):this.bindMouseEvents(n),this.joystickGestureInterval=setInterval(this.logEvents,5e3))}},{key:"bindPointerEvents",value:function(n){var e=this,s=!1;n.addEventListener("pointerup",function(n){s&&(e.updateJoystickDrag(n.clientX,n.clientY),e.startAnimation()),s=!1}),n.addEventListener("pointerdown",function(n){e.updateJoystickDrag(n.clientX,n.clientY),s=!0}),n.addEventListener("pointermove",function(n){s&&e.updateJoystickDrag(n.clientX,n.clientY)}),n.addEventListener("pointerleave",function(n){s&&(e.updateJoystickDrag(n.clientX,n.clientY),e.startAnimation()),s=!1})}},{key:"bindMouseEvents",value:function(n){var e=this,s=!1;n.addEventListener("mouseup",function(n){s&&(e.updateJoystickDrag(n.clientX,n.clientY),e.startAnimation()),s=!1}),n.addEventListener("mousedown",function(n){e.updateJoystickDrag(n.clientX,n.clientY),s=!0}),n.addEventListener("mousemove",function(n){s&&e.updateJoystickDrag(n.clientX,n.clientY)}),n.addEventListener("mouseleave",function(n){s&&(e.updateJoystickDrag(n.clientX,n.clientY),e.startAnimation()),s=!1})}},{key:"bindTouchEvents",value:function(n){var e,s=this;n.addEventListener("touchend",function(n){if(e){var t=y(n,e);t&&(s.updateJoystickDrag(t.clientX,t.clientY),s.startAnimation(),n.preventDefault())}e=void 0}),n.addEventListener("touchstart",function(n){e=n.changedTouches[0].identifier,s.updateJoystickDrag(n.changedTouches[0].clientX,n.changedTouches[0].clientY)}),n.addEventListener("touchmove",function(n){if(e){var t=y(n,e);t&&(s.updateJoystickDrag(t.clientX,t.clientY),n.preventDefault())}}),n.addEventListener("touchcancel",function(n){if(e){var t=y(n,e);t&&(s.updateJoystickDrag(t.clientX,t.clientY),s.startAnimation())}e=void 0})}},{key:"updateJoystickDrag",value:function(n,e){if(this.joystickHandle){var s=this.refs["joystick-bounds"].getBoundingClientRect(),t=(n-s.left)*(v/s.width)-x,r=(e-s.top)*(v/s.height)-x,_=Math.atan2(r,t),a=Math.min(Math.sqrt(Math.pow(t,2)+Math.pow(r,2)),10);this.setHandlePosition(x+a*Math.cos(_),x+a*Math.sin(_))}}},{key:"startAnimation",value:function(){var n=this;if(this.clearButtonPresses(),this.joystickHandle){this.stopAnimation();this.joystickAnimation=requestAnimationFrame(function e(){var s=n.getHandleDistance();if(s<.5)n.setHandlePosition(x,x,!0),n.stopAnimation();else{var t=n.getHandleAngle();s=Math.max(s-1,0),n.setHandlePosition(x+s*Math.cos(t),x+s*Math.sin(t),!0),n.joystickAnimation=requestAnimationFrame(e)}})}}},{key:"stopAnimation",value:function(){this.joystickAnimation&&(cancelAnimationFrame(this.joystickAnimation),this.joystickAnimation=void 0,this.joystickGestureCount+=1)}},{key:"setHandlePosition",value:function(n,e){var s=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(this.joystickHandle&&(this.joystickHandle.setAttribute("cx",""+n),this.joystickHandle.setAttribute("cy",""+e),this.handleX=n,this.handleY=e,!s))if(this.getHandleDistance()<5)this.clearButtonPresses();else{var r=this.props.simulator,_=this.getHandleAngle(),a=(5+Math.floor(_/(Math.PI/4)-.5))%8;if(a===this.lastOctet)return;this.lastOctet=a;var i=!1,p=!1,m=!1,l=!1;switch(a){case 0:i=!0;break;case 1:i=!0,m=!0;break;case 2:m=!0;break;case 3:m=!0,p=!0;break;case 4:p=!0;break;case 5:p=!0,l=!0;break;case 6:l=!0;break;case 7:i=!0,l=!0}l?r.pressButton(t.Down):r.releaseButton(t.Down),m?r.pressButton(t.Up):r.releaseButton(t.Up),i?r.pressButton(t.Left):r.releaseButton(t.Left),p?r.pressButton(t.Right):r.releaseButton(t.Right)}}},{key:"getHandleAngle",value:function(){return Math.atan2(this.handleY-x,this.handleX-x)}},{key:"getHandleDistance",value:function(){return Math.sqrt(Math.pow(this.handleX-x,2)+Math.pow(this.handleY-x,2))}},{key:"clearButtonPresses",value:function(){var n=this.props.simulator;n.releaseButton(t.Down),n.releaseButton(t.Up),n.releaseButton(t.Left),n.releaseButton(t.Right),this.lastOctet=void 0}}]),e}(_.a.Component);s(24);function k(n,e){for(var s=0;s0)?this.bindTouchEvents(n):this.bindMouseEvents(n),this.buttonPressInterval=setInterval(this.logEvents,5e3))}},{key:"bindPointerEvents",value:function(n){var e=this,s=!1;n.addEventListener("pointerup",function(n){s&&e.clearButtonPresses(),s=!1}),n.addEventListener("pointerdown",function(n){e.updateButtonGesture(n.clientX,n.clientY),s=!0}),n.addEventListener("pointermove",function(n){s&&e.updateButtonGesture(n.clientX,n.clientY)}),n.addEventListener("pointerleave",function(n){s&&e.clearButtonPresses(),s=!1})}},{key:"bindMouseEvents",value:function(n){var e=this,s=!1;n.addEventListener("mouseup",function(n){s&&e.clearButtonPresses(),s=!1}),n.addEventListener("mousedown",function(n){e.updateButtonGesture(n.clientX,n.clientY),s=!0}),n.addEventListener("mousemove",function(n){s&&e.updateButtonGesture(n.clientX,n.clientY)}),n.addEventListener("mouseleave",function(n){s&&e.clearButtonPresses(),s=!1})}},{key:"bindTouchEvents",value:function(n){var e,s=this;n.addEventListener("touchend",function(n){e&&(k(n,e)&&(s.clearButtonPresses(),n.preventDefault()));e=void 0}),n.addEventListener("touchstart",function(n){e=n.changedTouches[0].identifier,s.updateButtonGesture(n.changedTouches[0].clientX,n.changedTouches[0].clientY)}),n.addEventListener("touchmove",function(n){if(e){var t=k(n,e);t&&(s.updateButtonGesture(t.clientX,t.clientY),n.preventDefault())}}),n.addEventListener("touchcancel",function(n){e&&(k(n,e)&&s.clearButtonPresses());e=void 0})}}]),e}(_.a.Component),A=(s(25),function(n){var e=new h;return e.runCode(n.proj.binJs),_.a.createElement("div",{className:"game-player"},_.a.createElement(P,{simulator:e,changeMode:n.changeMode}),_.a.createElement(o,{simulator:e}),_.a.createElement(S,{simulator:e,changeMode:n.changeMode}),_.a.createElement("div",{className:"game-player-background"}),_.a.createElement("div",{className:"game-player-logo"},"MAKECODE"),_.a.createElement("div",{className:"game-player-msft"}),_.a.createElement("div",{className:"game-player-vent"}))}),w=s(6),C=s.n(w),B=s(10),N=s(7),M=(s(27),[".","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"]),D=function(){function n(e,s){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;Object(p.a)(this,n),this.width=e,this.height=s,this.x0=t,this.y0=r,this.buf=void 0,this.buf=new Uint8Array(Math.ceil(e*s/2))}return Object(m.a)(n,[{key:"set",value:function(n,e,s){if(n=0&&e>=0){var t=this.coordToIndex(n,e);this.setCore(t,s)}}},{key:"get",value:function(n,e){if(n=0&&e>=0){var s=this.coordToIndex(n,e);return this.getCore(s)}return 0}},{key:"copy",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.width,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:this.height,_=new n(t,r);_.x0=e,_.y0=s;for(var a=0;a1&&void 0!==arguments[1]&&arguments[1],t=0;t>4}},{key:"setCore",value:function(n,e){var s=Math.floor(n/2);this.buf[s]=n%2===0?240&this.buf[s]|15&e:15&this.buf[s]|(15&e)<<4}}]),n}();function L(n,e){!(n=(n=(n=n.replace(/[ `]|(?:`)|(?: )|(?:img)/g,"").trim()).replace(/^["`\(\)]*/,"").replace(/["`\(\)]*$/,"")).replace(/
/g,"\n"))&&e&&(n=e);for(var s=n.split("\n"),t=[],r=0,_=0;_1)for(;3&_;)p(0)}return r;function d(n){return("0"+n.toString(16)).slice(-2)}}function E(n){if(n){if(6===n.length)return parseInt("0x"+n);if(7===n.length)return parseInt("0x"+n.substr(1))}return 0}function I(n){return n>>16&255}function O(n){return n>>8&255}function R(n){return 255&n}var F=["#000000","#ffffff","#ff2121","#ff93c4","#ff8135","#fff609","#249ca3","#78dc52","#003fad","#87f2ff","#8e2ec4","#a4839f","#5c406c","#e5cdc4","#91463d","#000000"];!function(n){for(var e=[],s=0;s1&&void 0!==arguments[1]?arguments[1]:4,t=F.slice(1),r=document.createElement("canvas"),_=(r.width=n.width*s,r.height=n.height*s,s);e=r.getContext("2d");for(var a=0;a0)}function en(){return"undefined"!=typeof window&&!!window.PointerEvent}!function(n){n[n.userSpaceOnUse=0]="userSpaceOnUse",n[n.objectBoundingBox=1]="objectBoundingBox"}(W||(W={})),function(n){n[n.em=0]="em",n[n.ex=1]="ex",n[n.px=2]="px",n[n.in=3]="in",n[n.cm=4]="cm",n[n.mm=5]="mm",n[n.pt=6]="pt",n[n.pc=7]="pc",n[n.percent=8]="percent"}(z||(z={}));var sn=function(){function n(e){Object(p.a)(this,n),this.el=void 0,this.titleElement=void 0,this.el=kn(e)}return Object(m.a)(n,[{key:"attr",value:function(n){var e=this;return Object.keys(n).forEach(function(s){e.setAttribute(s,n[s])}),this}},{key:"setAttribute",value:function(n,e){return this.el.setAttribute(n,e.toString()),this}},{key:"setAttributeNS",value:function(n,e,s){return this.el.setAttributeNS(n,e,s.toString()),this}},{key:"id",value:function(n){function e(e){return n.apply(this,arguments)}return e.toString=function(){return n.toString()},e}(function(n){return this.setAttribute("id",n)})},{key:"setClass",value:function(){for(var n=arguments.length,e=new Array(n),s=0;s1&&void 0!==arguments[1]?arguments[1]:z.px;return this.setAttribute("width",An(n,e))}},{key:"height",value:function(n){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:z.px;return this.setAttribute("height",An(n,e))}},{key:"corner",value:function(n){return this.corners(n,n)}},{key:"corners",value:function(n,e){return this.setAttribute("rx",n),this.setAttribute("ry",e),this}},{key:"size",value:function(n,e){var s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:z.px;return this.width(n,s),this.height(e,s),this}}]),e}(ln),cn=function(n){function e(){return Object(p.a)(this,e),Object(l.a)(this,Object(d.a)(e).call(this,"circle"))}return Object(c.a)(e,n),Object(m.a)(e,[{key:"at",value:function(n,e){return this.setAttribute("cx",n),this.setAttribute("cy",e),this}},{key:"radius",value:function(n){return this.setAttribute("r",n)}}]),e}(ln),on=function(n){function e(){return Object(p.a)(this,e),Object(l.a)(this,Object(d.a)(e).call(this,"line"))}return Object(c.a)(e,n),Object(m.a)(e,[{key:"at",value:function(n,e,s,t){return this.from(n,e),void 0!=s&&void 0!=t&&this.to(s,t),this}},{key:"from",value:function(n,e){return this.setAttribute("x1",n),this.setAttribute("y1",e),this}},{key:"to",value:function(n,e){return this.setAttribute("x2",n),this.setAttribute("y2",e),this}}]),e}(ln),fn=function(n){function e(){return Object(p.a)(this,e),Object(l.a)(this,Object(d.a)(e).apply(this,arguments))}return Object(c.a)(e,n),Object(m.a)(e,[{key:"points",value:function(n){return this.setAttribute("points",n)}},{key:"with",value:function(n){return this.points(n.map(function(n){return n.x+" "+n.y}).join(","))}}]),e}(ln),gn=function(n){function e(){return Object(p.a)(this,e),Object(l.a)(this,Object(d.a)(e).call(this,"polyline"))}return Object(c.a)(e,n),e}(fn),hn=function(n){function e(){return Object(p.a)(this,e),Object(l.a)(this,Object(d.a)(e).call(this,"polygon"))}return Object(c.a)(e,n),e}(fn),bn=function(n){function e(){var n;return Object(p.a)(this,e),(n=Object(l.a)(this,Object(d.a)(e).call(this,"path"))).d=void 0,n.d=new Sn,n}return Object(c.a)(e,n),Object(m.a)(e,[{key:"update",value:function(){return this.setAttribute("d",this.d.toAttribute())}},{key:"path",value:function(n){return n(this.d),this.update()}}]),e}(ln),vn=function(n){function e(){return Object(p.a)(this,e),Object(l.a)(this,Object(d.a)(e).apply(this,arguments))}return Object(c.a)(e,n),Object(m.a)(e,[{key:"units",value:function(n){return this.setAttribute("gradientUnits",n===W.objectBoundingBox?"objectBoundingBox":"userSpaceOnUse")}},{key:"stop",value:function(n,e,s){var t=kn("stop");return t.setAttribute("offset",n+"%"),void 0!=e&&t.setAttribute("stop-color",e),void 0!=s&&t.setAttribute("stop-opacity",s),this.el.appendChild(t),this}}]),e}(sn),xn=function(n){function e(){return Object(p.a)(this,e),Object(l.a)(this,Object(d.a)(e).call(this,"linearGradient"))}return Object(c.a)(e,n),Object(m.a)(e,[{key:"start",value:function(n,e){return this.setAttribute("x1",n),this.setAttribute("y1",e),this}},{key:"end",value:function(n,e){return this.setAttribute("x2",n),this.setAttribute("y2",e),this}}]),e}(vn),yn=function(n){function e(){return Object(p.a)(this,e),Object(l.a)(this,Object(d.a)(e).call(this,"radialGradient"))}return Object(c.a)(e,n),Object(m.a)(e,[{key:"center",value:function(n,e){return this.setAttribute("cx",n),this.setAttribute("cy",e),this}},{key:"focus",value:function(n,e,s){return this.setAttribute("fx",n),this.setAttribute("fy",e),this.setAttribute("fr",s),this}},{key:"radius",value:function(n){return this.setAttribute("r",n)}}]),e}(vn),Pn=function(n){function e(){return Object(p.a)(this,e),Object(l.a)(this,Object(d.a)(e).call(this,"clipPath"))}return Object(c.a)(e,n),Object(m.a)(e,[{key:"clipPathUnits",value:function(n){return n?this.setAttribute("clipPathUnits","objectBoundingBox"):this.setAttribute("clipPathUnits","userSpaceOnUse")}}]),e}(tn);function kn(n){return document.createElementNS("http://www.w3.org/2000/svg",n)}var Sn=function(){function n(){Object(p.a)(this,n),this.ops=[]}return Object(m.a)(n,[{key:"clear",value:function(){this.ops=[]}},{key:"moveTo",value:function(n,e){return this.op("M",n,e)}},{key:"moveBy",value:function(n,e){return this.op("m",n,e)}},{key:"lineTo",value:function(n,e){return this.op("L",n,e)}},{key:"lineBy",value:function(n,e){return this.op("l",n,e)}},{key:"cCurveTo",value:function(n,e,s,t,r,_){return this.op("C",n,e,s,t,r,_)}},{key:"cCurveBy",value:function(n,e,s,t,r,_){return this.op("c",n,e,s,t,r,_)}},{key:"qCurveTo",value:function(n,e,s,t){return this.op("Q",n,e,s,t)}},{key:"qCurveBy",value:function(n,e,s,t){return this.op("q",n,e,s,t)}},{key:"sCurveTo",value:function(n,e,s,t){return this.op("S",n,e,s,t)}},{key:"sCurveBy",value:function(n,e,s,t){return this.op("s",n,e,s,t)}},{key:"tCurveTo",value:function(n,e){return this.op("T",n,e)}},{key:"tCurveBy",value:function(n,e){return this.op("t",n,e)}},{key:"arcTo",value:function(n,e,s,t,r,_,a){return this.op("A",n,e,s,t?1:0,r?1:0,_,a)}},{key:"arcBy",value:function(n,e,s,t,r,_,a){return this.op("a",n,e,s,t?1:0,r?1:0,_,a)}},{key:"close",value:function(){return this.op("z")}},{key:"toAttribute",value:function(){return this.ops.map(function(n){return n.op+" "+n.args.join(" ")}).join(" ")}},{key:"op",value:function(n){for(var e=arguments.length,s=new Array(e>1?e-1:0),t=1;t0)}!function(n){n[n.Pan=0]="Pan",n[n.Stamp=1]="Stamp",n[n.Erase=2]="Erase"}(wn||(wn={}));var Nn=function(){function n(e,s){Object(p.a)(this,n),this.width=e,this.height=s,this.mask=void 0,this.mask=new Uint8Array(Math.ceil(e*s/8))}return Object(m.a)(n,[{key:"set",value:function(n,e){var s=n+this.width*e,t=s>>3,r=7&s;this.mask[t]|=1<>3,r=7&s;return this.mask[t]>>r&1}}]),n}(),Mn=Cn()?{up:"pointerup",down:["pointerdown"],move:"pointermove",enter:"pointerenter",leave:"pointerleave"}:Bn()?{up:"mouseup",down:["mousedown","touchstart"],move:"touchmove",enter:"touchenter",leave:"touchend"}:{up:"mouseup",down:["mousedown"],move:"mousemove",enter:"mouseenter",leave:"mouseleave"};var Dn;function Ln(n){switch(n){case Dn.Normal:return"p";case Dn.Rectangle:return"r";case Dn.Circle:return"c";case Dn.Fill:return"b";case Dn.Line:return"l";case Dn.Erase:return"e";case Dn.Marquee:return"s";default:return}}!function(n){n[n.Normal=0]="Normal",n[n.Rectangle=1]="Rectangle",n[n.Outline=2]="Outline",n[n.Circle=3]="Circle",n[n.Fill=4]="Fill",n[n.Line=5]="Line",n[n.Erase=6]="Erase",n[n.Marquee=7]="Marquee"}(Dn||(Dn={}));var Tn=function n(e,s){Object(p.a)(this,n),this.width=e,this.height=s,this.offsetX=void 0,this.offsetY=void 0,this.offsetX=-(e>>1),this.offsetY=-(s>>1)},En=function(){function n(e,s,t,r){Object(p.a)(this,n),this.canvasWidth=e,this.canvasHeight=s,this.color=t,this.toolWidth=r,this.startCol=void 0,this.startRow=void 0,this.isStarted=void 0,this.showPreview=void 0}return Object(m.a)(n,[{key:"doEdit",value:function(n){this.isStarted&&this.doEditCore(n)}},{key:"start",value:function(n,e,s){this.isStarted=!0,this.startCol=n,this.startRow=e,s.mergeFloatingLayer()}},{key:"end",value:function(n,e,s){}},{key:"getCursor",value:function(){return new Tn(this.toolWidth,this.toolWidth)}},{key:"drawCursor",value:function(n,e,s){s(n,e)}}]),n}(),In=function(n){function e(){var n,s;Object(p.a)(this,e);for(var t=arguments.length,r=new Array(t),_=0;_0?1:-1,m=a>0?1:-1,l=Math.abs(a/_),d=0,u=e,c=n;p>0?c<=s:c>=s;c+=p)for(this.drawCore(c,u,i),d+=l;d>=.5;)(m>0?u<=t:u>=t)&&this.drawCore(c,u,i),u+=m,d-=1;else for(var o=a>=0?t:e,f=a>=0?e:t;f<=o;f++)this.drawCore(n,f,i)}},{key:"doEditCore",value:function(n){for(var e=0;e=0&&_=0&&a>1,e.y-=this.toolWidth>>1;var s=this.bottomRight();s.x+=this.toolWidth>>1,s.y+=this.toolWidth>>1;for(var t=0;ts.x||e.y>s.y)){for(var t=e.x;t<=s.x;t++)n.image.set(t,e.y,this.color),n.image.set(t,s.y,this.color);for(var r=e.y;r<=s.y;r++)n.image.set(e.x,r,this.color),n.image.set(s.x,r,this.color)}}},{key:"drawCursor",value:function(n,e,s){this.drawCore(n,e,s)}},{key:"drawCore",value:function(n,e,s){n-=Math.floor(this.toolWidth/2),e-=Math.floor(this.toolWidth/2);for(var t=0;t=0&&_=0&&a0?1:-1,l=i>0?1:-1,d=Math.abs(i/a),u=0,c=e,o=n;m>0?o<=s:o>=s;o+=m)for(this.drawCore(o,c,p),u+=d;u>=.5;)(l>0?c<=t:c>=t)&&this.drawCore(o,c,p),c+=l,u-=1;else for(var f=i>=0?t:e,g=i>=0?e:t;g<=f;g++)this.drawCore(n,g,p)}},{key:"drawCursor",value:function(n,e,s){this.drawCore(n,e,s)}},{key:"drawCore",value:function(n,e,s){n-=Math.floor(this.toolWidth/2),e-=Math.floor(this.toolWidth/2);for(var t=0;t=_;)t.image.set(n+r,e+_,this.color),t.image.set(n+r,e-_,this.color),t.image.set(n+_,e+r,this.color),t.image.set(n+_,e-r,this.color),t.image.set(n-_,e+r,this.color),t.image.set(n-_,e-r,this.color),t.image.set(n-r,e+_,this.color),t.image.set(n-r,e-_,this.color),p<=0&&(_++,p+=i,i+=2),p>0&&(r--,p+=(a+=2)-2*s)}},{key:"getCursor",value:function(){return new Tn(1,1)}}]),e}(In),jn=function(n){function e(){var n,s;Object(p.a)(this,e);for(var t=arguments.length,r=new Array(t),_=0;_=0&&n=0&&e2&&void 0!==arguments[2]?arguments[2]:e+zn-Wn);return new Xn(s,n,"sprite-editor-icon")}function Jn(n,e){var s=se(e,arguments.length>2&&void 0!==arguments[2]?arguments[2]:e+zn-Wn);return new Xn(s,n,"sprite-editor-xicon")}function Qn(n,e,s,t,r){var _=(new _n).appendClass("sprite-editor-button"),a=_.draw("path").appendClass("sprite-editor-button-bg");a.d.moveTo(r,0).lineBy(n-r,0).lineBy(0,e).lineBy(-(n-r),0).arcBy(r,r,0,!1,!0,-r,-r).lineBy(0,-(e-(r<<1))).arcBy(r,r,0,!1,!0,r,-r).close(),a.update();var i=_.draw("path").appendClass("sprite-editor-button-fg");return i.d.moveTo(t+r,t).lineBy(n-t-r,0).lineBy(0,e-s-t).lineBy(-(n-t-r),0).arcBy(r,r,0,!1,!0,-r,-r).lineBy(0,-(e-s-t-(r<<1))).arcBy(r,r,0,!1,!0,r,-r).close(),i.update(),{root:_,cx:t+(n-t)/2,cy:t+(e-s)/2}}var Zn=function(){function n(e,s){var t=this;Object(p.a)(this,n),this.root=void 0,this.selected=void 0,this.buttons=void 0,this.indexHandler=void 0,this.root=e.group();var r=[4,7,10];this.buttons=te(65,21,3).map(function(n,e){return new qn(n.root,n.cx,n.cy,r[e])}),this.buttons.forEach(function(n,e){n.onClick(function(){return t.handleClick(e)}),n.title(function(n){switch(n){case 0:return"Small Cursor";case 1:return"Medium Cursor";case 2:return"Large Cursor"}return}(e)),t.root.appendChild(n.getElement())})}return Object(m.a)(n,[{key:"handleClick",value:function(n){n!==this.selected&&(void 0!=this.selected&&this.buttons[this.selected].setSelected(!1),this.selected=n,void 0!=this.selected&&this.buttons[this.selected].setSelected(!0),this.indexHandler&&this.indexHandler(n))}},{key:"onSelected",value:function(n){this.indexHandler=n}}]),n}(),$n=function(){function n(e,s,t,r){var _=this;Object(p.a)(this,n),this.root=void 0,this.undo=void 0,this.redo=void 0,this.host=void 0,this.root=e.group(),this.host=s;var a=te(t,r,2),i=Object(Hn.a)(a,2),m=i[0],l=i[1];this.undo=new Xn(m,"\uf118","sprite-editor-xicon"),this.undo.onClick(function(){return _.host.undo()}),this.root.appendChild(this.undo.getElement()),this.redo=new Xn(l,"\uf111","sprite-editor-xicon"),this.redo.onClick(function(){return _.host.redo()}),this.root.appendChild(this.redo.getElement())}return Object(m.a)(n,[{key:"translate",value:function(n,e){this.root.translate(n,e)}},{key:"updateState",value:function(n,e){this.undo.setDisabled(n),this.redo.setDisabled(e)}}]),n}();function ne(n,e,s,t){var r=(new _n).appendClass("sprite-editor-button");r.draw("rect").appendClass("sprite-editor-button-bg").size(n,e),r.draw("rect").appendClass("sprite-editor-button-fg").size(n-t,e-s-t).at(t,t);return{root:r,cx:t+(n-t)/2,cy:t+(e-s)/2}}function ee(n,e,s,t,r){var _=(new _n).appendClass("sprite-editor-button"),a=_.draw("path").appendClass("sprite-editor-button-bg");a.d.moveTo(0,0).lineBy(n-r,0).arcBy(r,r,0,!1,!0,r,r).lineBy(0,e-(r<<1)).arcBy(r,r,0,!1,!0,-r,r).lineBy(-(n-r),0).lineBy(0,-e).close(),a.update();var i=_.draw("path").appendClass("sprite-editor-button-fg");return i.d.moveTo(t,t).lineBy(n-t-r,0).arcBy(r,r,0,!1,!0,r,r).lineBy(0,e-t-s-(r<<1)).arcBy(r,r,0,!1,!0,-r,r).lineBy(-(n-t-r),0).lineBy(0,-(e-t-s)).close(),i.update(),_.group().id("sprite-editor-button-content").translate(t+(n-(t<<1))>>1,e-s-t>>1),{root:_,cx:n/2,cy:t+(e-s)/2}}function se(n,e){var s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:zn,t=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Wn,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:Un,_=(new _n).appendClass("sprite-editor-button");return _.draw("rect").size(n,e).corners(r,r).appendClass("sprite-editor-button-bg"),_.draw("rect").at(t,t).size(n-(t<<1),e-s-t).corners(r,r).appendClass("sprite-editor-button-fg"),{root:_,cx:n/2,cy:t+(e-s)/2}}function te(n,e,s){for(var t=arguments.length>3&&void 0!==arguments[3]?arguments[3]:zn,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:Wn,_=arguments.length>5&&void 0!==arguments[5]?arguments[5]:Un,a=n-(s+1)*r,i=Math.floor(a/s),p=[],m=0;m>1)),this.paletteGroup.def().create("clipPath","sprite-editor-selected-color").clipPathUnits(!0).draw("rect").at(0,0).size(1,1),this.colorPreview=this.paletteGroup.draw("rect").at(1,1).size(63,30),this.colorSwatches=[];for(var e=function(e){var s=e%2,t=Math.floor(e/2),r=n.paletteGroup.draw("rect").size(31,31).at(s?33:1,40+32*t).fill(n.palette[e]).clipPath("url(#sprite-editor-selected-color)").onClick(function(){f("shareExperiment.mod.setColor",{color:e}),n.setColor(e)});r.title("".concat(e)),n.colorSwatches.push(r)},s=0;s3&&void 0!==arguments[3]&&arguments[3],_=r?Jn(e,31):Kn(e,31),a=Ln(s);return a&&_.shortcut(a),_.title(n),_.onClick(function(){t.host.setIconsToDefault(),t.setTool(s),f("shareExperiment.mod.changeTool",{tool:Dn[s].toLowerCase()})}),this.buttonGroup.appendChild(_.getElement()),_}},{key:"getButtonForTool",value:function(n){switch(n){case Dn.Normal:case Dn.Line:return this.pencilTool;case Dn.Erase:return this.eraseTool;case Dn.Fill:return this.fillTool;case Dn.Rectangle:case Dn.Circle:return this.rectangleTool;case Dn.Marquee:return this.marqueeTool;default:return}}}]),n}(),de="#dedede",ue=function(){function n(e,s){var t=this,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],_=arguments.length>3?arguments[3]:void 0;Object(p.a)(this,n),this.palette=e,this.state=s,this.lightMode=r,this.cellWidth=16,this.cellHeight=16,this.gesture=void 0,this.context=void 0,this.fadeAnimation=void 0,this.selectAnimation=void 0,this.backgroundLayer=void 0,this.paintLayer=void 0,this.overlayLayer=void 0,this.mouseCol=void 0,this.mouseRow=void 0,this.scale=void 0,this.upHandler=function(n){t.endDrag();var e=t.clientEventToCell(n),s=Object(Hn.a)(e,2),r=s[0],_=s[1];t.gesture.handle(_e.Up,r,_),n.stopPropagation(),n.preventDefault()},this.leaveHandler=function(n){t.endDrag();var e=t.clientEventToCell(n),s=Object(Hn.a)(e,2),r=s[0],_=s[1];t.gesture.handle(_e.Leave,r,_),n.stopPropagation(),n.preventDefault()},this.moveHandler=function(n){var e=t.clientEventToCell(n),s=Object(Hn.a)(e,2),r=s[0],_=s[1];r>=0&&_>=0&&r=0&&_>=0&&r3&&void 0!==arguments[3]&&arguments[3];n.doEdit(this.state),this.drawCursor(n,e,s)}},{key:"drawCursor",value:function(n,e,s){var t=this,r=n.getCursor();r?(this.repaint(),n.showPreview&&n.drawCursor(e,s,function(e,s){t.drawColor(e,s,n.color)}),this.context.strokeStyle="#898989",this.context.strokeRect((e+r.offsetX)*this.cellWidth,(s+r.offsetY)*this.cellHeight,r.width*this.cellWidth,r.height*this.cellHeight)):n.isStarted&&this.repaint()}},{key:"bitmap",value:function(){return this.image}},{key:"outerWidth",value:function(){return this.paintLayer.getBoundingClientRect().width}},{key:"outerHeight",value:function(){return this.paintLayer.getBoundingClientRect().height}},{key:"writeColor",value:function(n,e,s){this.image.set(n,e,s),this.drawColor(n,e,s)}},{key:"drawColor",value:function(n,e,s){var t=arguments.length>3&&void 0!==arguments[3]?arguments[3]:this.context,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:!this.lightMode,_=n*this.cellWidth,a=e*this.cellHeight;s?(t.fillStyle=this.palette[s-1],t.fillRect(_,a,this.cellWidth,this.cellHeight)):r||(t.fillStyle=de,t.fillRect(_,a,this.cellWidth,this.cellHeight))}},{key:"restore",value:function(n){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];n.height!=this.image.height||n.width!=this.image.width?(this.state=n.copy(),this.resizeGrid(n.width,n.width*n.height)):this.state=n.copy(),e&&this.repaint()}},{key:"showResizeOverlay",value:function(){var n=this;if(!this.lightMode){this.fadeAnimation&&this.fadeAnimation.kill(),this.showOverlay(),this.stopSelectAnimation();var e=this.overlayLayer.width,s=this.overlayLayer.height,t=this.overlayLayer.getContext("2d"),r=e/2-50,_=s/2-25;this.fadeAnimation=new oe(function(a,i){if(i)n.drawFloatingLayer();else{if(n.clearContext(t),t.globalAlpha=a,t.fillStyle="#898989",n.image.width<=32&&n.image.height<=32){for(var p=1;p1&&void 0!==arguments[1]?arguments[1]:n,s=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],t=n/this.image.width,r=e/this.image.height;if(s){var _=this.cellWidth/this.cellHeight;if(_>=1){var a=Math.min(t,r*_);this.setCellDimensions(a,a*_)}else{var i=Math.min(r,t/_);this.setCellDimensions(i/_,i)}}else this.setCellDimensions(t,r)}},{key:"down",value:function(n){this.initDragSurface(),this.gesture.subscribe(ae.Down,n)}},{key:"up",value:function(n){this.initDragSurface(),this.gesture.subscribe(ae.Up,n)}},{key:"drag",value:function(n){this.initDragSurface(),this.gesture.subscribe(ae.Drag,n)}},{key:"move",value:function(n){this.initDragSurface(),this.gesture.subscribe(ae.Move,n)}},{key:"leave",value:function(n){this.initDragSurface(),this.gesture.subscribe(ae.Leave,n)}},{key:"updateBounds",value:function(n,e,s,t){this.layoutCanvas(this.paintLayer,n,e,s,t),this.layoutCanvas(this.overlayLayer,n,e,s,t),this.lightMode||this.layoutCanvas(this.backgroundLayer,n,e,s,t),this.drawImage(),this.drawBackground()}},{key:"render",value:function(n){this.lightMode||n.appendChild(this.backgroundLayer),n.appendChild(this.paintLayer),n.appendChild(this.overlayLayer)}},{key:"removeMouseListeners",value:function(){this.stopSelectAnimation(),this.fadeAnimation&&this.fadeAnimation.kill(),this.endDrag()}},{key:"onEditStart",value:function(n,e,s){s.start(n,e,this.state)}},{key:"onEditEnd",value:function(n,e,s){s.end(n,e,this.state),this.drawFloatingLayer()}},{key:"drawImage",value:function(){for(var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.image,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.context,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,t=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:!this.lightMode,_=0;_0&&void 0!==arguments[0]?arguments[0]:0;if(this.state.floatingLayer){this.showOverlay();var s=this.overlayLayer.getContext("2d");if(this.clearContext(s),s.globalAlpha=1,s.strokeStyle="#303030",s.lineWidth=2,s.setLineDash([5,3]),s.lineDashOffset=e,s.strokeRect(this.state.layerOffsetX*this.cellWidth,this.state.layerOffsetY*this.cellHeight,this.state.floatingLayer.width*this.cellWidth,this.state.floatingLayer.height*this.cellHeight),!this.lightMode&&!this.selectAnimation&&(!this.fadeAnimation||this.fadeAnimation.dead)){var t=function(){e++,requestAnimationFrame(function(){return n.drawSelectionAnimation(e)})};this.selectAnimation=window.setInterval(t,40)}}else this.hideOverlay()}},{key:"clearContext",value:function(n){n.clearRect(0,0,this.paintLayer.width,this.paintLayer.height)}},{key:"initDragSurface",value:function(){this.gesture||(this.gesture=new ce,this.bindEvents(this.paintLayer),this.bindEvents(this.overlayLayer),document.addEventListener(Mn.move,this.hoverHandler))}},{key:"bindEvents",value:function(n){var e=this;Mn.down.forEach(function(s){n.addEventListener(s,function(n){e.startDrag();var s=e.clientEventToCell(n),t=Object(Hn.a)(s,2),r=t[0],_=t[1];e.gesture.handle(_e.Down,r,_)})})}},{key:"startDrag",value:function(){document.removeEventListener(Mn.move,this.hoverHandler),document.addEventListener(Mn.move,this.moveHandler),document.addEventListener(Mn.up,this.upHandler),Bn()&&!Cn()?(document.addEventListener("touchend",this.upHandler),document.addEventListener("touchcancel",this.leaveHandler)):document.addEventListener(Mn.leave,this.leaveHandler)}},{key:"endDrag",value:function(){document.addEventListener(Mn.move,this.hoverHandler),document.removeEventListener(Mn.move,this.moveHandler),document.removeEventListener(Mn.up,this.upHandler),document.removeEventListener(Mn.leave,this.leaveHandler),Bn()&&!Cn()?(document.removeEventListener("touchend",this.upHandler),document.removeEventListener("touchcancel",this.leaveHandler)):document.removeEventListener(Mn.leave,this.leaveHandler)}},{key:"layoutCanvas",value:function(n,e,s,t,r){}},{key:"stopSelectAnimation",value:function(){this.selectAnimation&&(clearInterval(this.selectAnimation),this.selectAnimation=void 0)}},{key:"image",get:function(){return this.state.image}}]),n}();!function(n){n[n.Up=0]="Up",n[n.Down=1]="Down",n[n.Move=2]="Move",n[n.Leave=3]="Leave"}(_e||(_e={})),function(n){n[n.Up=0]="Up",n[n.Down=1]="Down",n[n.Move=2]="Move",n[n.Drag=3]="Drag",n[n.Leave=4]="Leave"}(ae||(ae={}));var ce=function(){function n(){Object(p.a)(this,n),this.lastCol=void 0,this.lastRow=void 0,this.isDown=!1,this.isHover=!1,this.handlers={}}return Object(m.a)(n,[{key:"handle",value:function(n,e,s){switch(n){case _e.Up:this.update(e,s),this.isDown=!1,this.fire(ae.Up);break;case _e.Down:this.isDown||(this.update(e,s),this.isDown=!0,this.fire(ae.Down));break;case _e.Move:if(e===this.lastCol&&s===this.lastRow)return;this.update(e,s),this.isDown?this.fire(ae.Drag):this.fire(ae.Move);break;case _e.Leave:this.update(e,s),this.isDown=!1,this.fire(ae.Leave)}}},{key:"subscribe",value:function(n,e){this.handlers[n]=e}},{key:"update",value:function(n,e){this.lastCol=n,this.lastRow=e}},{key:"fire",value:function(n){this.handlers[n]&&this.handlers[n](this.lastCol,this.lastRow)}}]),n}(),oe=function(){function n(e,s,t){var r=this;Object(p.a)(this,n),this.draw=e,this.start=void 0,this.end=void 0,this.slope=void 0,this.dead=void 0,this.start=Date.now()+s,this.end=this.start+t,this.slope=1/t,this.dead=!1,e(1,!1),setTimeout(function(){return requestAnimationFrame(function(){return r.frame()})},s)}return Object(m.a)(n,[{key:"frame",value:function(){var n=this;if(!this.dead){var e=Date.now();if(e4&&void 0!==arguments[4]&&arguments[4];if(0!==s&&0!==t&&(s<0&&(n+=s,s=-s),t<0&&(e+=t,t=-t),this.floatingLayer=this.image.copy(n,e,s,t),this.layerOffsetX=this.floatingLayer.x0,this.layerOffsetY=this.floatingLayer.y0,r))for(var _=0;_=0&&n=0&&e2&&void 0!==arguments[2]&&arguments[2],_=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;Object(p.a)(this,n),this.lightMode=r,this.scale=_,this.group=void 0,this.toolbarRoot=void 0,this.paintSurface=void 0,this.sidebar=void 0,this.header=void 0,this.state=void 0,this.cachedState=void 0,this.edit=void 0,this.activeTool=Dn.Normal,this.toolWidth=1,this.color=1,this.cursorCol=0,this.cursorRow=0,this.undoStack=[],this.redoStack=[],this.undoRedo=void 0,this.columns=16,this.rows=16,this.shiftDown=!1,this.altDown=!1,this.mouseDown=!1,this.closeHandler=void 0,this.paintGestureCount=0,this.paintGestureInterval=void 0,this.logEvents=function(){t.paintGestureCount>0&&(f("shareExperiment.mod.paintGestureUp",{count:t.paintGestureCount}),t.paintGestureCount=0)},this.cleanupInterval=function(){clearInterval(t.paintGestureInterval),t.paintGestureInterval=null},this.keyDown=function(n){if(16==n.keyCode&&(t.shiftDown=!0,t.shiftAction()),18===n.keyCode&&(t.discardEdit(),t.paintSurface.setEyedropperMouse(!0),t.altDown=!0),t.state.floatingLayer){var e=!0;switch(n.keyCode){case 8:case 46:n.preventDefault(),n.stopPropagation(),t.state.floatingLayer=void 0;break;case 37:t.state.layerOffsetX--;break;case 38:t.state.layerOffsetY--;break;case 39:t.state.layerOffsetX++;break;case 40:t.state.layerOffsetY++;break;default:e=!1}e&&(t.updateEdit(),t.pushState(!0),t.paintSurface.restore(t.state,!0))}[Dn.Fill,Dn.Normal,Dn.Rectangle,Dn.Erase,Dn.Circle,Dn.Line,Dn.Marquee].forEach(function(e){n.key===Ln(e)&&(t.setIconsToDefault(),t.switchIconTo(e),t.sidebar.setTool(e))});if(n.keyCode>=48&&n.keyCode<=57){var s=n.keyCode-48;t.shiftDown&&(s+=9),s<=ge.length&&t.sidebar.setColor(s)}},this.keyUp=function(n){16===n.keyCode?(t.shiftDown=!1,t.clearShiftAction()):18===n.keyCode&&(t.altDown=!1,t.paintSurface.setEyedropperMouse(!1),t.updateEdit())},this.undoRedoEvent=function(n){var e=n.ctrlKey||n.metaKey;"Undo"===n.key||e&&"z"===n.key?(t.undo(),n.preventDefault(),n.stopPropagation()):("Redo"===n.key||e&&"y"===n.key)&&(t.redo(),n.preventDefault(),n.stopPropagation())},this.columns=e.width,this.rows=e.height,this.state=new fe(e.copy()),this.toolbarRoot=new rn,this.toolbarRoot.setClass("sprite-canvas-controls"),this.group=this.toolbarRoot.group(),this.createDefs(),this.paintSurface=new ue(ge,this.state.copy(),this.lightMode,this.scale),this.paintSurface.drag(function(n,e){t.debug("gesture ("+Dn[t.activeTool]+")"),t.altDown||t.setCell(n,e,t.color,!1)}),this.paintGestureInterval=setInterval(this.logEvents,5e3),this.paintSurface.up(function(n,e){if(t.debug("gesture end ("+Dn[t.activeTool]+")"),t.paintGestureCount+=1,t.altDown){var s=t.state.image.get(n,e);t.sidebar.setColor(s)}else t.paintSurface.onEditEnd(n,e,t.edit),t.state.floatingLayer&&!t.paintSurface.state.floatingLayer&&(t.pushState(!0),t.state=t.paintSurface.state.copy(),t.rePaint()),t.commit(),t.shiftAction();t.mouseDown=!1}),this.paintSurface.down(function(n,e){t.altDown||t.setCell(n,e,t.color,!1),t.mouseDown=!0}),this.paintSurface.move(function(n,e){t.drawCursor(n,e),t.shiftAction()}),this.paintSurface.leave(function(){t.edit&&(t.rePaint(),t.edit.isStarted&&!t.shiftDown&&t.commit())}),this.sidebar=new le(['url("#alpha-background")'].concat(ge),this,this.group),this.sidebar.setColor(ge.length>=3?3:1),this.updateUndoRedo(),this.scale=_}return Object(m.a)(n,[{key:"setSidebarColor",value:function(n){this.sidebar.setColor(n)}},{key:"setCell",value:function(n,e,s,t){t?(this.state.image.set(n,e,s),this.paintCell(n,e,s)):this.edit&&(this.edit.isStarted||(this.paintSurface.onEditStart(n,e,this.edit),this.state.floatingLayer&&!this.paintSurface.state.floatingLayer&&(this.pushState(!0),this.state=this.paintSurface.state.copy())),this.edit.update(n,e),this.cursorCol=n,this.cursorRow=e,this.paintEdit(this.edit,n,e))}},{key:"render",value:function(n){n.appendChild(this.toolbarRoot.el),this.layout();var e=document.createElement("div");e.setAttribute("class","sprite-canvas-container"),n.appendChild(e),this.paintSurface.render(e)}},{key:"layout",value:function(){if(this.toolbarRoot){this.paintSurface.setGridDimensions(452);this.paintSurface.updateBounds(10,85,452,452)}}},{key:"rePaint",value:function(){this.paintSurface.repaint()}},{key:"setActiveColor",value:function(n){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];e||this.color!=n&&(this.color=n,this.activeTool===Dn.Erase?this.sidebar.setTool(Dn.Normal):this.updateEdit())}},{key:"setActiveTool",value:function(n){this.activeTool!=n&&(this.activeTool=n,this.updateEdit())}},{key:"setToolWidth",value:function(n){this.toolWidth!=n&&(this.toolWidth=n,this.updateEdit())}},{key:"initializeUndoRedo",value:function(n,e){n&&(this.undoStack=n),e&&(this.redoStack=e),this.updateUndoRedo()}},{key:"getUndoStack",value:function(){return this.undoStack.slice()}},{key:"getRedoStack",value:function(){return this.redoStack.slice()}},{key:"undo",value:function(){if(this.undoStack.length){this.debug("undo"),f("shareExperiment.mod.undo");var n=this.undoStack.pop();if(this.pushState(!1),n.equals(this.state))return void this.undo();this.restore(n)}this.updateUndoRedo()}},{key:"redo",value:function(){if(this.redoStack.length){this.debug("redo"),f("shareExperiment.mod.redo");var n=this.redoStack.pop();this.pushState(!0),this.restore(n)}this.updateUndoRedo()}},{key:"resize",value:function(n,e){this.cachedState||(this.cachedState=this.state.copy(),this.undoStack.push(this.cachedState),this.redoStack=[]),this.state.image=function(n,e,s){var t=new D(e,s);return t.apply(n),t}(this.cachedState.image,n,e),this.afterResize(!0)}},{key:"setSizePresets",value:function(n){}},{key:"canvasWidth",value:function(){return this.columns}},{key:"canvasHeight",value:function(){return this.rows}},{key:"outerWidth",value:function(){return 539}},{key:"outerHeight",value:function(){return 465}},{key:"bitmap",value:function(){return this.state}},{key:"showGallery",value:function(){}},{key:"hideGallery",value:function(){}},{key:"closeEditor",value:function(){if(this.closeHandler){var n=this.closeHandler;this.closeHandler=void 0,n()}this.state.floatingLayer&&(this.state.mergeFloatingLayer(),this.pushState(!0))}},{key:"onClose",value:function(n){this.closeHandler=n}},{key:"switchIconTo",value:function(n){var e=this;if(this.activeTool!==n){var s=this.sidebar.getButtonForTool(n);switch(n){case Dn.Rectangle:t(s,"\uf096","Rectangle");break;case Dn.Circle:t(s,"\uf10c","Circle");break;case Dn.Normal:t(s,"\uf040","Pencil");break;case Dn.Line:t(s,"\uf07e","Line");break;default:return}s.onClick(function(){n!=Dn.Circle&&n!=Dn.Line&&(e.setIconsToDefault(),e.sidebar.setTool(n))})}function t(e,s,t){var r=Ln(n);e.setText(s),e.title(t),e.shortcut(r)}}},{key:"setIconsToDefault",value:function(){this.switchIconTo(Dn.Rectangle),this.switchIconTo(Dn.Normal)}},{key:"addKeyListeners",value:function(){document.addEventListener("keydown",this.keyDown),document.addEventListener("keyup",this.keyUp),document.addEventListener("keydown",this.undoRedoEvent,!0)}},{key:"removeKeyListeners",value:function(){document.removeEventListener("keydown",this.keyDown),document.removeEventListener("keyup",this.keyUp),document.removeEventListener("keydown",this.undoRedoEvent,!0),this.paintSurface.removeMouseListeners()}},{key:"afterResize",value:function(n){this.columns=this.state.width,this.rows=this.state.height,this.paintSurface.restore(this.state,!0),this.layout(),n&&this.paintSurface.showResizeOverlay(),this.updateEdit()}},{key:"drawCursor",value:function(n,e){this.edit&&this.paintSurface.drawCursor(this.edit,n,e)}},{key:"paintEdit",value:function(n,e,s){var t=arguments.length>3&&void 0!==arguments[3]&&arguments[3];this.paintSurface.restore(this.state),this.paintSurface.applyEdit(n,e,s,t)}},{key:"commit",value:function(){this.edit&&(this.cachedState&&(this.cachedState=void 0),this.pushState(!0),this.paintEdit(this.edit,this.cursorCol,this.cursorRow,!0),this.state=this.paintSurface.state.copy(),this.updateEdit(),this.redoStack=[])}},{key:"pushState",value:function(n){var e=n?this.undoStack:this.redoStack;e.length&&this.state.equals(e[e.length-1])||(e.push(this.state.copy()),this.updateUndoRedo())}},{key:"discardEdit",value:function(){this.edit&&(this.edit=void 0,this.rePaint())}},{key:"updateEdit",value:function(){this.altDown||(this.edit=this.newEdit())}},{key:"restore",value:function(n){n.width!==this.state.width||n.height!==this.state.height?(this.state=n,this.afterResize(!1)):(this.state=n.copy(),this.paintSurface.restore(n,!0))}},{key:"updateUndoRedo",value:function(){this.sidebar.updateUndoRedo(0===this.undoStack.length,0===this.redoStack.length)}},{key:"paintCell",value:function(n,e,s){this.paintSurface.writeColor(n,e,s)}},{key:"newEdit",value:function(){switch(this.activeTool){case Dn.Normal:return new On(this.columns,this.rows,this.color,this.toolWidth);case Dn.Rectangle:case Dn.Outline:return new Rn(this.columns,this.rows,this.color,this.toolWidth);case Dn.Line:return new Fn(this.columns,this.rows,this.color,this.toolWidth);case Dn.Circle:return new Yn(this.columns,this.rows,this.color,this.toolWidth);case Dn.Erase:return new On(this.columns,this.rows,0,this.toolWidth);case Dn.Fill:return new jn(this.columns,this.rows,this.color,this.toolWidth);case Dn.Marquee:return new Vn(this.columns,this.rows,this.color,this.toolWidth)}}},{key:"shiftAction",value:function(){if(this.shiftDown&&!this.altDown)switch(this.activeTool){case Dn.Line:case Dn.Rectangle:case Dn.Circle:this.setCell(this.paintSurface.mouseCol,this.paintSurface.mouseRow,this.color,!1)}}},{key:"clearShiftAction",value:function(){if(!this.mouseDown)switch(this.activeTool){case Dn.Line:case Dn.Rectangle:case Dn.Circle:this.updateEdit(),this.paintSurface.restore(this.state,!0)}}},{key:"debug",value:function(n){}},{key:"createDefs",value:function(){this.toolbarRoot.define(function(n){var e=n.create("pattern","alpha-background").size(10,10).units(W.userSpaceOnUse);e.draw("rect").at(0,0).size(10,10).fill("white"),e.draw("rect").at(0,0).size(5,5).fill("#dedede"),e.draw("rect").at(5,5).size(5,5).fill("#dedede")})}}]),n}(),be=(s(31),function(n){var e=H(n.img);return _.a.createElement("div",{className:"item",style:{backgroundColor:"blue"},onClick:n.onClick},_.a.createElement("img",{src:e}))}),ve=function(n){function e(n){var s;return Object(p.a)(this,e),(s=Object(l.a)(this,Object(d.a)(e).call(this,n))).spriteGallery=void 0,s.state={},s}return Object(c.a)(e,n),Object(m.a)(e,[{key:"componentDidMount",value:function(){this.spriteGallery=this.refs["sprite-gallery"]}},{key:"componentWillUnmount",value:function(){this.spriteGallery=void 0}},{key:"clickHandler",value:function(n){this.props.onClick(this.props.options[n],n)}},{key:"render",value:function(){var n=this,e=this.props.options.map(function(e,s){return _.a.createElement(be,{key:e.buf.toString(),img:e,onClick:n.clickHandler.bind(n,s)})});return _.a.createElement("div",{ref:"sprite-gallery",className:"sprite-gallery"},e)}}]),e}(_.a.Component),xe=function(n){function e(n){var s;return Object(p.a)(this,e),(s=Object(l.a)(this,Object(d.a)(e).call(this,n))).spriteEditorHolder=void 0,s.editor=void 0,s.state={},s}return Object(c.a)(e,n),Object(m.a)(e,[{key:"componentDidMount",value:function(){this.spriteEditorHolder=this.refs["sprite-editor-holder"],this.renderSpriteEditor()}},{key:"componentWillUnmount",value:function(){this.removeSpriteEditor(),this.spriteEditorHolder=void 0}},{key:"componentDidUpdate",value:function(){this.editor.logEvents(),this.editor.cleanupInterval(),this.removeSpriteEditor(),this.renderSpriteEditor()}},{key:"removeSpriteEditor",value:function(){var n=this,e=[],s=!0,t=!1,r=void 0;try{for(var _,a=this.spriteEditorHolder.children[Symbol.iterator]();!(s=(_=a.next()).done);s=!0){var i=_.value;e.push(i)}}catch(p){t=!0,r=p}finally{try{s||null==a.return||a.return()}finally{if(t)throw r}}e.filter(function(n){return"sprite-gallery"!==n.className}).forEach(function(e){return n.spriteEditorHolder.removeChild(e)}),this.editor=null}},{key:"renderSpriteEditor",value:function(){var n=this,e=this.props.startImage,s=this.editor=new he(e,null,!1,this.props.scale);s.render(this.spriteEditorHolder),document.getElementsByClassName("sprite-canvas-controls")[0].setAttribute("viewBox","".concat(0," ",0," ",65," ").concat(me)),s.rePaint(),s.setActiveColor(1,!0),s.setSizePresets([[8,8],[16,16],[32,32],[10,8]]),this.spriteEditorHolder.className=" sprite-editor-container sprite-editor-dropdown-bg sprite-editor-dropdown",s.addKeyListeners(),s.onClose(function(){n.props.onPlay()})}},{key:"render",value:function(){var n=this.props.galleryProps;return _.a.createElement("div",{ref:"sprite-editor-holder"},_.a.createElement(ve,{options:n.options,onClick:n.onClick,height:n.height}))}}]),e}(_.a.Component),ye="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAAGKElEQVR4Xu2aMRYdJwxF7W2k9wbSpkqbBbtNk5TJBlI720jO+HhyMIFBgEBIc93ZZgR6744EzP/45Y/f/vnAHxQwUuAjABopz7RfFQBAQDBVAABN5WdyAIQBUwUA0FR+JgdAGDBVAABN5WdyAIQBUwUA0FR+JgdAGDBVAABN5WdyAIQBUwUA0FR+JgdAGDBVAABN5WdyAIQBUwUA0FR+JgdAGDBVAABN5WdyAIQBUwUA0FR+JncB4A8//vSdU3//+TvOBVHgGABrkOX/fusOhDEINAewBphEXiCUqHT2GDMAZ8BLJY0MYUmjaPmaAKgFX+R2/KRRJAi3AagNXd5Yopgi1SlKvlsAlIo6s1vxasiMNl5zTn1eDuCMwCNAejBFSxMPubY8XAqgltCtJDy14x2aeAJzGYA7hH4C80QTdmpyYv4lv8ICeCV7mgkA+H8ElwC4U2hPVXC3Lqe9gNsq4G6hPUBooQkA9p4eFow/xQQLAE/chuQWq7ZgK5GpgHUFTnkBaytUAxD46hBYa3MyhCoAWgtcst5K9BO1OLkVHwWgFTRaW89T4Tv5RxsqAGoZ6DnO6fCdWgUBUIF6D/CdWgUBEAAVFBgPAYDj2v33JBVwXEQAHNcOABW0A8BJET1VvxMPIgA4AaA3+ABwwuzTHgU+HUeogIM6agCodfEuWYvWXINyVR8DQG1FidelAAB2ycVgbQUAUFtR4nUpAIBdcjE4V+DXz399+PmXT8PCAOCwdDx4KQCAcGCqAACayv/uyS/47j+jbZgW/G6GhrNP4UuD9IIIgMMW8OANYS90qXIACEdTCuSVsBdGAJyS/70P11rwpUgPhAC4iKHZ0+GiZU2HzQ8es3kC4LQl5QCzxixalmpYTsGqcuoGiwqgVuu91aYC6nL3NZpGZViwLLWQTxCyB1STeTyQxvXE+Oz7nkzzHD0NUwGV/Ro1QnkZW8JpVHoAVLRK6+uA4pKWhdLKFQArFs0cIiK24NbhY7TyA6AygKNGLCtVCoFL8F2XzbRgBXFrIUYqoFZbWpiWamgAVJXz+2C9AGpeTSxMSy10rSr2TkALLijWu4fLx0ethCteMgB8ALD3UjW/hE6f12hXvdVFc3wLvnuunh8iXM8AYOaSxiGit4JqgrIiVunlaQEpBREAvzmmtafRAHgFRKMxS/lI4JPuoQFQYQ94h4i890srWgvAnq0LACq14NZdmbQljVaqXc9J4OvZDwKgAoBSU7xDuOJrCAA2AHxqJ737I88ASl+yUiV+yhsAE8Vab/jTXu8WudWKe9rTrrb6NM/qlwwAsx+QPpnRqmCSQ0jU+8D023BLp1TjVwNYuzKRVsJUyFaL6jHlhMqXr6GVXz5emu+rASwZPXKP91T5IlxK98LXs80AwMFT8Igp0qpwWgWU5lraB7dyBkDBIURyCVs7hGj9bm43lFLoaq1X2kkAsBPAa/jTZzup8LuB6pmvtG2QANmqdqU1AOA3VVoCS8QdObz0gGE9tqVRuj6JXtf4VwPYI2hrYy2JJTXFGrTWCTjfVvRePr/2GkYCSY/5EiOueN7Aq10+S/bCvfm+tgJqw9gDbquajsTa+YzmHvi1AEruAPM9zSW8tOq1gPBeFe9K13qRW3kCYMenuBZUtf9vmTAad+Vzrc+KPV+R+DFCwanWmys1V1oRPUGYXsPcVT/V46kF18bV8n9VBdSCTtp+Zk6H0hfAYpwUQMnaXgXgLUhLwJ72IhE5UmuWVrhS5SzpcDyA0kRmQMifTQF8+p2f1pxP7dkif2leJZ3SlzzVzk0LzgW3MCAXttW6pfdj0uuXNGeL/FcAeG9b8tjHVcDTAKwJ92RSrYX3GJtX3hzyEw41kgr4NObS40gA803+brE1AMphu0/LrVzSE+gVI//7/W+tOFLYZ8aNAJgXGAAsOACAMixbAEpewuMAlKXOqCgKAGAUJ53mAYBOjYuybACM4qTTPADQqXFRlg2AUZx0mgcAOjUuyrIBMIqTTvMAQKfGRVk2AEZx0mkeAOjUuCjLBsAoTjrNAwCdGhdl2QAYxUmneQCgU+OiLBsAozjpNA8AdGpclGUDYBQnneYBgE6Ni7JsAIzipNM8/gWNA2aNl2P7EgAAAABJRU5ErkJggg==",Pe=13,ke=[null].concat(ge);function Se(n,e){return Ae.apply(this,arguments)}function Ae(){return(Ae=Object(N.a)(C.a.mark(function n(e,s){var t,r,_,a,i,p,m,l;return C.a.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return t=document.createElement("canvas"),r=t.getContext("2d"),n.next=4,Ce(ye);case 4:if(_=n.sent,t.width=_.width,t.height=_.height,r.drawImage(_,0,0),e!=Pe){for(a=r.getImageData(0,0,t.width,t.height),i=a.data,p=Ne(ke[Pe]),m=Ne(ke[e]),l=0;le||_>s)return n;var a=Math.floor((e-r)/2),i=s-_;return function(n,e){var s=".".repeat(n),r=".".repeat(e);t=t.map(function(n){return s+n+r})}(a,e-r-a),function(n){var s,r=(s=n,new Array(s).fill(void 0).map(function(n,e){return e})).map(function(n){return".".repeat(e)});t=[].concat(Object(B.a)(r),Object(B.a)(t))}(i),Ee(t)}function Oe(n){return Ie(n,24,24)}function Re(n){var e=Te(n);return Ee(e=e.map(function(n){return n.split("").reverse().join("")}))}var Fe=[".","\n . . . . . . . . . . b 5 b . . .\n . . . . . . . . . b 5 b . . . .\n . . . . . . . . . b c . . . . .\n . . . . . . b b b b b b . . . .\n . . . . . b b 5 5 5 5 5 b . . .\n . . . . b b 5 d 1 f 5 5 d f . .\n . . . . b 5 5 1 f f 5 d 4 c . .\n . . . . b 5 5 d f b d d 4 4 . .\n b d d d b b d 5 5 5 4 4 4 4 4 b\n b b d 5 5 5 b 5 5 4 4 4 4 4 b .\n b d c 5 5 5 5 d 5 5 5 5 5 b . .\n c d d c d 5 5 b 5 5 5 5 5 5 b .\n c b d d c c b 5 5 5 5 5 5 5 b .\n . c d d d d d d 5 5 5 5 5 d b .\n . . c b d d d d d 5 5 5 b b . .\n . . . c c c c c c c c b b . . .\n",Re("\n e e e . . . . e e e . . . .\n c d d c . . c d d c . . . .\n c b d d f f d d b c . . . .\n c 3 b d d b d b 3 c . . . .\n f b 3 d d d d 3 b f . . . .\n e d d d d d d d d e . . . .\n e d f d d d d f d e . b f b\n f d d f d d f d d f . f d f\n f b d d b b d d 2 f . f d f\n . f 2 2 2 2 2 2 b b f f d f\n . f b d d d d d d b b d b f\n . f d d d d d b d d f f f .\n . f d f f f d f f d f . . .\n . f f . . f f . . f f . . .\n"),Re("\n . . 4 4 4 . . . . 4 4 4 . . . .\n . 4 5 5 5 e . . e 5 5 5 4 . . .\n 4 5 5 5 5 5 e e 5 5 5 5 5 4 . .\n 4 5 5 4 4 5 5 5 5 4 4 5 5 4 . .\n e 5 4 4 5 5 5 5 5 5 4 4 5 e . .\n . e e 5 5 5 5 5 5 5 5 e e . . .\n . . e 5 f 5 5 5 5 f 5 e . . . .\n . . f 5 5 5 4 4 5 5 5 f . . f f\n . . f 4 5 5 f f 5 5 6 f . f 5 f\n . . . f 6 6 6 6 6 6 4 4 f 5 5 f\n . . . f 4 5 5 5 5 5 5 4 4 5 f .\n . . . f 5 5 5 5 5 4 5 5 f f . .\n . . . f 5 f f f 5 f f 5 f . . .\n . . . f f . . f f . . f f . . .\n")].map(Oe),Ye=[".","\n . . . . . . . . . c c 8 . . . .\n . . . . . . 8 c c c f 8 c c . .\n . . . c c 8 8 f c a f f f c c .\n . . c c c f f f c a a f f c c c\n 8 c c c f f f f c c a a c 8 c c\n c c c b f f f 8 a c c a a a c c\n c a a b b 8 a b c c c c c c c c\n a f c a a b b a c c c c c f f c\n a 8 f c a a c c a c a c f f f c\n c a 8 a a c c c c a a f f f 8 a\n . a c a a c f f a a b 8 f f c a\n . . c c b a f f f a b b c c 6 c\n . . . c b b a f f 6 6 a b 6 c .\n . . . c c b b b 6 6 a c c c c .\n . . . . c c a b b c c c . . . .\n . . . . . c c c c c c . . . . .\n","\n . . . . . . b b b b . . . . . .\n . . . . . . b 4 4 4 b . . . . .\n . . . . . . b b 4 4 4 b . . . .\n . . . . . b 4 b b b 4 4 b . . .\n . . . . b d 5 5 5 4 b 4 4 b . .\n . . . . b 3 2 3 5 5 4 e 4 4 b .\n . . . b d 2 2 2 5 7 5 4 e 4 4 e\n . . . b 5 3 2 3 5 5 5 5 e e e e\n . . b d 7 5 5 5 3 2 3 5 5 e e e\n . . b 5 5 5 5 5 2 2 2 5 5 d e e\n . b 3 2 3 5 7 5 3 2 3 5 d d e 4\n . b 2 2 2 5 5 5 5 5 5 d d e 4 .\n b d 3 2 d 5 5 5 d d d 4 4 . . .\n b 5 5 5 5 d d 4 4 4 4 . . . . .\n 4 d d d 4 4 4 . . . . . . . . .\n 4 4 4 4 . . . . . . . . . . . .\n","\n . . . b b b b b b b b b b . . .\n . . b 1 1 1 1 1 1 1 1 1 1 b . .\n . b 1 1 1 1 1 1 1 1 1 1 1 1 b .\n . b 1 1 1 1 1 1 1 1 1 1 1 1 b .\n . b d d c c c c c c c c d d b .\n . b d c 6 6 6 6 6 6 6 6 c d b .\n . b d c 6 1 d 6 6 6 6 6 c d b .\n . b d c 6 d 6 6 6 6 6 6 c d b .\n . b d c 6 6 6 6 6 6 6 6 c d b .\n . b d c 6 6 6 6 6 6 6 6 c d b .\n . b d c 6 6 6 6 6 6 6 6 c d b .\n . b d d c c c c c c c c d d b .\n . c b b b b b b b b b b b b c .\n f c c c c c c c c c c c c c c f\n f b b b b b b b b b b b b b b f\n f b c d d d d d d d d d d d b f\n f b c b b b b b b b b b b c b f\n f b c b b b b b b b b b b c b f\n f b c c c c c c c c c c c c b f\n f b b b b b b b b b b b b b b f\n f b f f f f f f f f f f f f b f\n f f f f f f f f f f f f f f f f\n"].map(Oe),je=[".","\n . . . . . . . 6 . . . . . . . .\n . . . . . . 8 6 6 . . . 6 8 . .\n . . . e e e 8 8 6 6 . 6 7 8 . .\n . . e 2 2 2 2 e 8 6 6 7 6 . . .\n . e 2 2 4 4 2 7 7 7 7 7 8 6 . .\n . e 2 4 4 2 6 7 7 7 6 7 6 8 8 .\n e 2 4 5 2 2 6 7 7 6 2 7 7 6 . .\n e 2 4 4 2 2 6 7 6 2 2 6 7 7 6 .\n e 2 4 2 2 2 6 6 2 2 2 e 7 7 6 .\n e 2 4 2 2 4 2 2 2 4 2 2 e 7 6 .\n e 2 4 2 2 2 2 2 2 2 2 2 e c 6 .\n e 2 2 2 2 2 2 2 4 e 2 e e c . .\n e e 2 e 2 2 4 2 2 e e e c . . .\n e e e e 2 e 2 2 e e e c . . . .\n e e e 2 e e c e c c c . . . . .\n . c c c c c c c . . . . . . . .\n","\n . . . . . c c b b b . . . . . .\n . . . . c b d d d d b . . . . .\n . . . . c d d d d d d b b . . .\n . . . . c d d d d d d d d b . .\n . . . c b b d d d d d d d b . .\n . . . c b b d d d d d d d b . .\n . c c c c b b b b d d d b b b .\n . c d d b c b b b b b b b b d b\n c b b d d d b b b b b d d b d b\n c c b b d d d d d d d b b b d c\n c b c c c b b b b b b b d d c c\n c c b b c c c c b d d d b c c b\n . c c c c c c c c c c c b b b b\n . . c c c c c b b b b b b b c .\n . . . . . . c c b b b b c c . .\n . . . . . . . . c c c c . . . .\n","\n . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . f f f . . . . . . . .\n . . . . . . . . . . . . f 2 f f f f f . . . . .\n . . . . . . . . . . f f 2 2 e e e e e f f . . .\n . . . . . . . . . f f 2 2 2 e e e e e e f f . .\n . . . . . . . . . f e e e e f f f e e e e f . .\n . . . . . . . . f e 2 2 2 2 e e e f f f f f . .\n . . . . . . . . f 2 e f f f f f 2 2 2 e f f f .\n . c c . . . . . f f f e e e f f f f f f f f f .\n . c d c c . . . f e e 4 4 f b b e 4 4 e f e f .\n . c c d d c c . . f e d d f b b 4 d 4 e e f . .\n . . . c d d d c e e f d d d d d 4 e e e f . . .\n . . . . c c d c d d e e 2 2 2 2 2 2 2 f . . . .\n . . . . . c c c d d 4 4 e 5 4 4 4 4 4 f . . . .\n . . . . . . . . e e e e f f f f f f f f . . . .\n . . . . . . . . . . . . f f . . . f f f . . . .\n"].map(Oe);function Ve(n,e,s){var t=n.split(/\n/).map(function(n){return n.trim()}),r=e.split(/\n/).map(function(n){return n.trim()}).slice(1,-1);s=s.replace("img`","").replace("`","");for(var _=!1,a=0;a","argumentNames":[]}\n_main___P22728.continuations = [ ]\n\nfunction _main___P22728_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: _main___P22728, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n} }\n\nconst _hex3749 = pxsim.BufferMethods.createBufferFromHex("1f00210023002500270029002c002e003100340037003a003e004100450049004e00520057005c00620068006e0075007b0083008b0093009c00a500af00b900c400d000dc00e900f70006011501260137014a015d01720188019f01b801d201ee010b022a024b026e029302ba02e40210033f037003a403dc03170455049704dd0427057505c80520067d06e0064907b8072d08a9082d09b9094d0aea0a900b400cfa0cc00d910e6f0f5a1053115b1272139a14d41520178018f519801b231dde1e")\nconst _hex10057 = pxsim.BufferMethods.createBufferFromHex("2000000000000000210000005e0000002200000e000e0000230028fe28fe280024004c92ff926400250002651248a64026006c92926ca000270000000e000000280000007c82000029000000827c00002a005438103854002b0010107c1010002c000000907000002d001010101010002e000000606000002f000060100806003000003c42423c00310000447e4000003200004462524c00330000424a4e320034003028247e20003500004e4a4a32003600003c4a4a30003700000262120e00380000344a4a34003900000c52523c003a0000006c6c00003b000000967600003c001028284444003d002828282828003e004444282810003f0000025909060040003c425a560800410078141214780042007e4a4a4a34004300003c424224004400007e42423c004500007e4a4a42004600007e0a0a02004700003c425234004800007e08087e00490000427e4200004a002040423e02004b00007e081462004c00007e404040004d007e0418047e004e00007e04087e004f003c4242423c005000007e12120c005100003c5262bc005200007e12126c00530000244a522400540002027e0202005500003e40403e005600001e70701e0057007e2018207e00580042241824420059000608700806005a000062524a46005b00007e424200005c000006081060005d000042427e00005e000804020408005f00808080808000600000000204000061000030484878006200007e4848300063000030484848006400003048487e006500003068585000660000107c12040067000018a4a478006800007e08087000690000487a4000006a000040847d00006b00007e102840006c0000427e4000006d007808300870006e000078080870006f00003048483000700000fc24241800710000182424fc0072000078100810007300005058682800740000083e48200075000038404078007600001860601800770038403040380078000048303048007900005ca0a07c007a000048685848007b000008364100007c000000fe0000007d000041360800007e00000804080400a000000000000000a10000007a000000a200003048fc4800a30090fc92928400a400542844285400a5002a2c782c2a00a6000000ee000000a7000094aaaa5200a800000200020000a9003e414955413eaa0000242a2e0000ab00102854284400ac00001010107000ad00001010101000ae003e415d45413eaf00000202020200b000000814140800b1008888be888800b2000024322c0000b30000222a140000b400000004020000b50000f840207800b6000c1e7e027e00b700000010000000b800000080400000b90000243e200000ba0000242a240000bb00442854281000bc00025f70f84000bd00021f90c8b000be0011557af84000bf000030484d2000c000601916186000c100601816196000c200601a151a6000c300601a151a6100c400601914196000c500601a151a6000c6007c0a7e4a4200c700001ea1611200c800007c55564400c900007c56554400ca00007c56554600cb00007c55544500cc0000457e440000cd0000447e450000ce0000467d460000cf0000457c450000d000087e4a423c00d100007e09127d00d200003845463800d300003846453800d400003846453a00d500003a45463900d600003845443900d700442810284400d80000fc724e3f00d900003c41423c00da00003c42413c00db00003c42413e00dc00003c41403d00dd00040872090400de00007e24241800df00007c025a2400e0000030494a7800e10000304a497800e20000304a497a00e3000032494a7900e40000304a487a00e50000304a4d7a00e600304878685000e7000018a4642400e8000030695a5000e90000306a595000ea0000306a595200eb0000306a585200ec0000497a400000ed0000487a410000ee00004a79420000ef00004a78420000f00000304a4b3d00f100007a090a7100f2000030494a3000f30000304a493000f40000304a493200f5000032494a3100f60000304a483200f700101054101000f800007068583800f900003841427800fa00003842417800fb00003842417a00fc00003842407a00fd0000b84241f800fe0000ff24241800ff00005ca1a07d000001601915196000010100304a4a7a000201611a16196000030100314a4a790004013c0a094abc00050100182464bc000601003846452800070100304a4948000801003846452a00090100304a494a000a010038444528000b010030484a48000c010038454629000d010030494a49000e01007c454639000f0100314a497e001001087e4a423c00110130484c7e04001201007d55554500130100326a5a52001401007d56564500150100316a5a51001601007c55544400170100306a5850001801003f65a521001901001874ac28001a01007c555645001b010030695a51001c010038465536001d0100304a49f2001e010039465635001f0100314a4af100200100384455340021010018a4a578002201001ea1691a0023010018a6a578002401007812117a0025017e080a7102002601047e147e04002701047e0c08700028010002457e450029010002497a41002a0100457d4500002b01004a7a4200002c0100014a7a49002d0100014a7a41002e0100217fa100002f0100247da00000300100447d440000310100487840000032017e0022423e0033013d0040847d0034012040463d0600350100800af90200360100bf440a3100370100bf4814200038010078102848003901007c404241003a0100467d4000003b01003fa06020003c0100a17f2000003d01007c414241003e0100457e4100003f01007e40484000400100427e4008004101107e48404000420100527e4800004301007c0a117c00440100780a097000450100bf42043f00460100bc440438004701007c09127d00480100790a09700049010a06780870004a01003f02847f004b01003c048478004c013945454539004d0100324a4a32004e013946464639004f0100314a4a310050013a4544463900510132494832010052013c427e4a420053013048306850005401007c163548005501007812091000560100bf49093600570100bc480408005801007d1635480059010079120910005a010048565524005b0100505a6928005c010048565526005d0100505a692a005e010012a56912005f010028ac741400600100485556250061010050596a290062010101bf410100630100049f641000640104057e050400650100083d4a2100660102127e120200670100183e5820006801003a414239006901003a414279006a01003d41413d006b01003a42427a006c010039424239006d010039424279006e01003a45453a006f01003a45457a0070013a41403a010071013a41407a01007201001f60a01f007301001c60a03c00740178221122780075013842314238007601081261120800770100b84241fa00780104097009040079010064564d44007a0100486a5948007b010064544d44007c010048685a48007d010064554e45007e010048695a49007f0100087c0204008f01003452523c00920100887e090200a0013c42423c0806a101003048483008af01003e403e0806b001003840781008b501006a5a4a4e00b601005878585800d101003845463900d2010030494a3100e601003845563500e7010030494af100fa0100742a750000fb0100304c4a7d00fc0178147e554400fd0130487a695000fe010078744e3d00ff0100706a59380018020012a569120019020028ac7414001a020101bf4101001b0200049f641000bb0200000c0a0000bc0200000a060000bd020000060a0000c602000201020000c702000102010000c902000202020000d802000102020100d902000002000000da02000205020000db02000040800000dc02000201020100dd02020100020100740300000201000075030000804000007a030000c08000007e03000096760000840300000300000085030200030002008603037c12127c008703000010000000880303007e4a4200890303007e087e008a030300427e42008c03033c42423c008e0303000e700e008f03035c62625c00900302003b400200910378141214780092037e4a4a4a34009303007e0202020094036058465860009503007e4a4a420096030062524a46009703007e08087e0098033c4a4a4a3c00990300427e4200009a03007e081462009b036018061860009c037e0418047e009d03007e04087e009e0300424a4a42009f033c4242423c00a003007e02027e00a103007e12120c00a30300665a424200a40302027e020200a503060870080600a60318247e241800a703422418244200a8030e107e100e00a9035c6202625c00aa0300457c450000ab03040970090400ac030030484a7900ad030030685a5100ae0378100a09f000af03003a41200000b0033a4043403a00b103003048487800b20300fe25251a00b3030c30c0300c00b403344a4a4a3000b503003068585000b603021aa6a24200b7033c080404f800b803003c4a4a3c00b903003840200000ba03007820504800bb03641212227c00bc03fc2020103c00bd03182040201800be03112d2ba94100bf03003048483000c003087808780800c103f82424241800c2031824a4a44800c303304848582800c403000838482800c503384040403800c6031c20f8241800c703c4281028c400c8031c20fc201c00c903304820483000ca03000238422000cb03384240423800cc0330484a493000cd03384042413800ce03304822493000d0033c52525c2000d10310344a3c0800d203067804020400d303120a7c020400d4030d7009040800d5031824ff241800d603384828483800d70348302221d800da031c2221a14200db031824a4a44200dc037e1212020200dd0300fc24240400de033e2010087c00df030c0ac9281800e003700c621c7000e10301092516f800e2039ea0bea07e00e30398a0b8a07800e4030c1214107e00e503001028207800e603be9088887000e70348544e443800e803245252524c00e903285454544800ea0364524c526400eb03086458640800ec03385454542200ed03306848682400ee03184a7e4a1800ef031848ff0a0800f003483020205800f10378a4a4a49800f203304848485000f303006080847d00f4033c4a4a4a3c00f5030030585848000004007c555644000104007c55544500020401013f8579000304007c0605040004043c4a4a422400050400244a522400060400427e420000070400457c45000008042040423e020009047c027e4830000a047e087e4830000b0402027e0a72000c04007c102a45000d047c2112087c000e040c5152523d000f043f20e0203f00100478141214780011047e4a4a4a300012047e4a4a4a34001304007e020202001404c07c427ec0001504007e4a4a4200160476087e087600170424424a4a34001804007e08047e001904007d120a7d001a04007e081462001b04403c02027e001c047e0418047e001d04007e08087e001e043c4242423c001f047e0202027e002004007e12120c002104003c42422400220402027e02020023040e5050503e00240418247e241800250442241824420026043f2020bf600027040e1010107e0028047e407e407e0029043f203fa07f002a04027e484830002b047e4848307e002c04007e484830002d0424424a4a3c002e047e183c423c002f04006c12127e0030043048487840003104003c4a4a3100320400786850200033040078080808003404c0704878c000350430686850000036044830783048003704004058683000380478402010780039047942221279003a040078203048003b044030080878003c047810201078003d047810101078003e043048484830003f047808080878004004fc24242418004104304848485000420408087808080043041ca0a0a07c0044041824ff241800450400483030480046043c2020bc60004704182020207800480478407840780049043c203ca07c004a040878505020004b047850502078004c040078505020004d044858683000004e047830304830004f0450282878000050040030696a500051040032686a50005204023f0a887000530400780a09080054040030685848005504005058682800560400487a4000005704004a784200005804004080847d0059047008785020005a047810785020005b04047e141060005c040078223148005d047841221078005e0418a1a2a279005f043c20e0203c006204027f4a4830006304087e5850200070040e107e100e00710418207820180072043c4a4a4a3c0073043068586830007404001e70180c0075040018603010009004007e020203009104007808080c009204087e0a0a0200930420782808080096043b043f043be0970424183c1824c09a04003f040a31c09b04003c101824c0ae04060870080600af040c10e0100c00b004161870181600b1042c30e0302c00b20421120c1221c0b3040024181824c0ba047e0808087000bb04007e08087000d804003452523c00d904002868583000e20400457d450000e304004a7a420000e8043c4a4a4a3c00e904003058583000ee04003d41413d00ef04003a42427a00d005681020285000d105484848784000d205004830600000d305080808780800d405680808087800d505000008780000d605080818680800d705087808087800d805784050487800d905000008180000da0504040404fc00db05484848483800dc050e4848281800dd05087848487800de05582010487000df05000004fc0000e005004040487800e105000878483800e205487840281800e305041c0404fc00e405485848483800e50504f820140800e605485060685000e705f40424241c00e805080808087000e905785058403800ea05487808087800f005087800087800f105081800087800f205081800081800f305000010080000f405100800100800021e7c5455542800031e007e484930000a1e007c454438000b1e003049487e001e1e007c151404001f1e001079140800401e7e0419047e00411e780832087000561e007c15140800571e00fc25241800601e004854552400611e0050586a28006a1e04047d0404006b1e00083d482000801e7c2112207c00811e384132403800821e7c2012217c00831e384032413800841e7c2110217c00851e384230423800f21e040972080400f31e00b84142f800a3207e0a7a120a00a420a8fcaa828400a720087e2a1c0800ab200098a4a6bf02ac20183c5a5a4200af20627f224438009021103854101000912108047e0408009221101054381000932110207e201000942110381010381095212844fe442800")\nconst _hex2735 = pxsim.BufferMethods.createBufferFromHex("20000000000000000000000000000000000000000000000000002100000000000006fc0000000000000000000000000000000000220000001c00000000001c0000000000000000000000000000002300a000f807a000f807a00000000000000000000000000000002400000018022404460c8803000000000000000000000000000025003802c4017800200390040803000000000000000000000000260080037804a4041803800340040000000000000000000000002700000000001c00000000000000000000000000000000000000280000000000f8010606010800000000000000000000000000002900000001080606f801000000000000000000000000000000002a00040014000e001400040000000000000000000000000000002b0040004000f8034000400000000000000000000000000000002c000000000000090006000000000000000000000000000000002d000000800080008000000000000000000000000000000000002e000000000000060000000000000000000000000000000000002f00000c800360001c000300000000000000000000000000000030000000f80304040404f80300000000000000000000000000003100000004040404fc07000400040000000000000000000000003200000008060405c4043804000000000000000000000000000033000000080244044404b803000000000000000000000000000034000000800170010801fc070001000000000000000000000000350000023c0424042404c403000000000000000000000000000036000000f0034804440488030000000000000000000000000000370000000400c40734000c00000000000000000000000000000038000000b80344044404b803000000000000000000000000000039000000780284048802f00100000000000000000000000000003a000000000030060000000000000000000000000000000000003b000000000018090006000000000000000000000000000000003c004000a000a000a000100100000000000000000000000000003d002001200120012001200100000000000000000000000000003e0000001001a000a000a00040000000000000000000000000003f000000080084066400180000000000000000000000000000004000f0030c04c20822092409f80900000000000000000000000041000007f8008400f8000007000000000000000000000000000042000000fc0744044404b803000000000000000000000000000043000000f001080204040404080200000000000000000000000044000000fc0704040802f001000000000000000000000000000045000000fc07440444044404000000000000000000000000000046000000fc07440044004400000000000000000000000000000047000000f00108024404c803000000000000000000000000000048000000fc0740004000fc070000000000000000000000000000490000000404fc070404040400000000000000000000000000004a000000000200040004fc0300000000000000000000000000004b000000fc074000f0000c0304040000000000000000000000004c000000fc0700040004000400000000000000000000000000004d000000fc0738007000fc0700000000000000000000000000004e000000fc073800c003fc0700000000000000000000000000004f000000f80304040404f803000000000000000000000000000050000000fc07840084004400780000000000000000000000000051000000fc0102020206fc09000000000000000000000000000052000000fc074400c4013806000000000000000000000000000053000000180224044404880300000000000000000000000000005400000004000400fc070400040000000000000000000000000055000000fc0300040004fc03000000000000000000000000000056000c00f0030004f0030c00000000000000000000000000000057007c008007e001f0010007fc0000000000000000000000000058000404b8034000b80304040000000000000000000000000000590004003800c00730000c0000000000000000000000000000005a0004040407e4041c04040400000000000000000000000000005b0000000000ff0f0108010800000000000000000000000000005c0003001c0060008003000c00000000000000000000000000005d00000001080108ff0f000000000000000000000000000000005e004000380004003800400000000000000000000000000000005f00000800080008000800080000000000000000000000000000600000000000020004000000000000000000000000000000000061000000200390049004e007000000000000000000000000000062000000fc0710041004e003000000000000000000000000000063000000c001200210043004000200000000000000000000000064000000e00310041004fc07000000000000000000000000000065000000e00390049004e0040000000000000000000000000000660000001000f80714001400000000000000000000000000000067000000b806440944093c09040600000000000000000000000068000000fc0710001000e0070000000000000000000000000000690000000000f4070000000000000000000000000000000000006a00000800080008fd07000000000000000000000000000000006b000000fe078000e001100610040000000000000000000000006c0000000000fc030004000400000000000000000000000000006d00f00710001000e0071000e0070000000000000000000000006e000000f00710001000e00700000000000000000000000000006f000000e00310041004e003000000000000000000000000000070000000fc0f04010401f800000000000000000000000000000071000000f80004010401fc0f000000000000000000000000000072000000f00720001000100000000000000000000000000000007300000060029004900420030000000000000000000000000000740000001000fc0310041004000000000000000000000000000075000000f00300040004f007000000000000000000000000000076003000c0030004c003300000000000000000000000000000007700f0000007e003c0010007f000000000000000000000000000780010046003800060031004000000000000000000000000000079000c0870088007f0000c0000000000000000000000000000007a000000000410079004700410040000000000000000000000007b0000004000be070108010800000000000000000000000000007c0000000000ff0f0000000000000000000000000000000000007d00000001080108be07400000000000000000000000000000007e00800040004000800080004000000000000000000000000000")\nconst _hex8942 = pxsim.BufferMethods.createBufferFromHex("20000000000000002100001700000000220000030003000023000a1f0a1f0a0024000a17151d0a00250013090412190026000a15150a100027000003000000002800000e11000000290000110e0000002a00000a040a00002b0000040e0400002c000010080000002d000004040400002e000008000000002f0010080402010030000e11110e0000310000121f100000320019151512000033000911150b000034000c0a091f080035001715151509003600081416150800370011090503010038000a1515150a00390002150d0502003a00000a000000003b0000100a0000003c0000040a1100003d00000a0a0a00003e0000110a0400003f0002011505020040000e1115090e0041001e05051e000042001f15150a000043000e111111000044001f11110e000045001f151511000046001f050501000047000e1111150c0048001f04041f00004900111f110000004a000911110f01004b001f040a1100004c001f10101000004d001f0204021f004e001f0204081f004f000e11110e000050001f0505020000510006091916000052001f05050a10005300121515090000540001011f01010055000f10100f0000560007081008070057001f0804081f0058001b04041b0000590001021c0201005a001915131100005b00001f111100005c000102040810005d000011111f00005e000002010200005f00101010101000600000010200000061000c12121e100062001f141408000063000c121212000064000814141f000065000e15151200006600041e0501000067000215150f000068001f04041800006900001d000000006a000010100d00006b001f040a1000006c00000f101000006d001e0204021e006e001e02021c00006f000c12120c000070001e0a0a0400007100040a0a1e000072001c0202020000730010140a0200007400000f1414100075000e10101e1000760006081008060077001e1008101e007800120c0c12000079001214080402007a00121a161200007b0000041f1100007c00001f000000007d00111f040000007e00000404080800d3000c1213130c00f3000c12130d000004010e05051e100005010609191f080006010c121313120007010c121313000018010f0b1b19000019010e151d1a000041011f14121000004201100f1412000043011f0205081f0044011e03031c00005a0110140b0302005b0110140b0300007901121a171300007a01121a171300007b01121b171200007c01121b17120000")\nconst _hex463 = pxsim.BufferMethods.createBufferFromHex("000000ffffffff2121ff93c4ff8135fff609249ca378dc52003fad87f2ff8e2ec4a4839f5c406ce5cdc491463d000000")\nconst _hex1207 = pxsim.BufferMethods.createBufferFromHex("8704240024000000001111111111111111111111111111111100000010313333333333333333333333333333130100001113111111111111111111111111111131110000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000111311111111111111111111111111113111000010313333333333333333333333333333130100000011111111111111111111111111111111000000")\nconst _hex1210 = pxsim.BufferMethods.createBufferFromHex("8704240024000000002222222222222222222222222222222200000020323333333333333333333333333333230200002223222222222222222222222222222232220000322211111111111111111111111111112223000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003222111111111111111111111111111122230000222322222222222222222222222222223222000020323333333333333333333333333333230200000022222222222222222222222222222222000000")\nconst _hex1213 = pxsim.BufferMethods.createBufferFromHex("8704240024000000004444444444444444444444444444444400000040343333333333333333333333333333430400004443444444444444444444444444444434440000344411111111111111111111111111114443000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003444111111111111111111111111111144430000444344444444444444444444444444443444000040343333333333333333333333333333430400000044444444444444444444444444444444000000")\nconst _hex1216 = pxsim.BufferMethods.createBufferFromHex("870420002000000000000000000000000000000000000000000000000000c0fcff0f000000000000000000000000bcddddfb000000000000000000000000dcbbbbfd000000000000000000000000ccbbbbfc0000000000000000000000c0bcd1bdfb0f00000000000000000000c01b11ddbb0f00000000000000000000c0bcbbbbcb0f00000000000000000000bc11d1ddddcb000000000000000000c01d11ddddddd10c0000000000000000bcd1cbbcfbcf1dcb00000000000000001ccdccddbdffdfc100000000000000001cccccdbcbffcfc10000000000000000dbcbccccfcffbfcd0000000000000000bbbdccccffcfdbbb0000000000000000b0dbbdbbbbdbbd0b000000000000000000b0cbccccbc0b000000000000000000000000000000000000000000000000000000d007700d00000000000000000000000070666607000000000000000000000000006776000000000000000000000000660700007066000000000000000000006766777766760000000000000000000060666666660600000000000000000066006766667600660000000000000000667600000000676600000000000000006766767777676676000000000000000060666666666666060000000000000000006766666666760000000000000000000000676666760000000000000000000000000000000000000000000000000000000000000000000000000000")\nconst _hex1219 = pxsim.BufferMethods.createBufferFromHex("8704200020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b0bb000000000000000000000000b000404500b0000000000000000000005b0b000400540b0000000000000000b0550400000054b5000000000000000000440040bb0040040000000000000000000040d4ddbb0000000000000000000000004055ddbd000000000000000000004b005455d5dd0b400b000000000000005b045411d5dd0b540b000000000000004b005411d5dd0b400b0000000000000000004055ddbd00000000000000000000000040d4ddbb0000000000000000000000440040bb0040040000000000000000b0550400000054b50000000000000000005b04000400540b000000000000000000b000404500b0000000000000000000000000b0bb0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")\nconst _hex1222 = pxsim.BufferMethods.createBufferFromHex("87042000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020020000000000002002000000000000202200000000000022020000000000000022020000000020220000000000000000202200000000220200000000000000000022020000202200000000000000000000202200002202000000000000000000000022022022000000000000000000000000202222020000000000000000000000000022220000000000000000000000000000222200000000000000000000000000202222020000000000000000000000002202202200000000000000000000002022000022020000000000000000000022020000202200000000000000000020220000000022020000000000000000220200000000202200000000000000202200000000000022020000000000002002000000000000200200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")\nconst _hex1225 = pxsim.BufferMethods.createBufferFromHex("8704200020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0fcff0f000000000000000000000000bcddddfb000000000000000000000000dcbbbbfd000000000000000000000000ccbbbbfc0000000000000000000000c0bcd1bdfb0f00000000000000000000c01b11ddbb0f00000000000000000000c0bcbbbbcb0f00000000000000000000bc11d1ddddcb000000000000000000c01d11ddddddd10c0000000000000000bcd1cbbcfbcf1dcb00000000000000001ccdccddbdffdfc100000000000000001cccccdbcbffcfc10000000000000000dbcbccccfcffbfcd0000000000000000bbbdccccffcfdbbb0000000000000000b0dbbdbbbbdbbd0b000000000000000000b0cbccccbc0b000000000000000000000000000000000000000000000000000000d007700d0000000000000000000000007066660700000000000000000000000000677600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")\nconst _hex1228 = pxsim.BufferMethods.createBufferFromHex("870420002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b0cbcc0c0000000000000000000000b0db55d5cd0c00000000000000000000db555555ddcd000000000000000000b055555555d59d0b0000000000000000db55555555d59db900000000000000005b55555555d5ddb900000000000000b05db5cccc5bdddd990b000000000000b055ccccccccdddd9d0b000000000000b0b5ccccccccdbdd9d0b000000000000b0c5ccccccccdcdd9d0b000000000000b0c5ccdccbccdcdd9d0c000000000000b0cdcc5b55ccdcdd9d0c00000000000000ccdc55b5ccdcddc90000000000000000cccc5b55ccdbddc90000000000000000c0ccdccbccdd9d0c000000000000000000ccccccdbddcd00000000000000000000c0dcddddcd0c0000000000000000000000c0cccc0c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")\nconst _hex1231 = pxsim.BufferMethods.createBufferFromHex("870420002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cc00000000000000b0bbbbbbbbcb00c0cd000000000000001bddddddddbd0c1ccd000000000000b011cbccccccbc0c1ccd000000000000b01d6c666666bc0cbccd000000000000b01d6c616661bc0c1ccd000000000000b01d6c161666bccc1bcd000000000000b01d6c666166bcccbbcd000000000000b01d6c666666bccc1bcd000000000000b01d6c666661bccc1bcd000000000000b01d6c666661bcccbbcd000000000000b01d6c666661bccc1bcd000000000000b01d6c666666bc0c1ccd000000000000b01dcbccccccbc0cbccd000000000000c0b1bbbbbbbbbb0cdccb000000000000c0bbbbbbbbbbcb00dc0c00000000000000cccccccccc0c00cc000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")\nconst _hex1234 = pxsim.BufferMethods.createBufferFromHex("87042000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004004000000000000000000000000000054450000000000000000000000440b00bbbb00b0440000000000000040550b00000000b0550400000000000040b5000044bb00005b04000000000000b00b0044ddddbb00b00b0000000000000000405d55d5dd0b00000000000000000000d4555555ddbd0000000000000000000054555555d5bd0000000000000000b44055555555d5dd0b4b000000000040b54055555555d5dd0b5b040000000040b54055555555d5dd0b5b040000000000b44055115555d5dd0b4b000000000000000054115555d5bd00000000000000000000d4555555ddbd00000000000000000000405d55d5dd0b0000000000000000b00b0044ddddbb00b00b00000000000040b5000044bb00005b0400000000000040550b00000000b0550400000000000000440b00bbbb00b0440000000000000000000000544500000000000000000000000000004004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")\nconst _hex1237 = pxsim.BufferMethods.createBufferFromHex("870420002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000bbbb00000000000000000000000000b055bb00bbbbbb000000000000000000b0b5bdbcbbbbddcb0000000000000000b0dbcb5b5555bbdd0c00000000000000b0cbdcbdbb5b55dbcd0000000000000000c0dddb11d15bb5bd0c00000000000000bbbd111111b155bb0c00000000000000db1b111111115bb5cb00000000000000db1bb11d1199b9d5cb00000000000000db1b11bb9199b955cb000000000000005b1b11b19b99995bcb000000000000005b1d1111bb99995ccb00000000000000b0b511bbbb99995ccb00000000000000b0d51d919999d95b0b00000000000000005bdb919999c9d50b0000000000000000b0d51b99d9bcb5000000000000000000005bd5bbbc550b00000000000000000000b05b5555bd000000000000000000000000b0bbbb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")\nconst _hex22778 = pxsim.BufferMethods.createBufferFromHex("87040c0015000000000000000000000000000000000000000010010000000000000000111110010000000000100110111111010000000000101311111111111101000000003013f1111111111100000010011011f11111111101000010131111f111111101000000003013f11111010000000000000000111110010000000000000000000010010000000000000000000000000000000000")\nconst _hex22789 = pxsim.BufferMethods.createBufferFromHex("87041000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")\n\n\n\n\nfunction inline__P439(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n case 1:\n r0 = pxsim_numops_toBoolDecr(true);\n if (!r0) { step = 4; continue; }\n globals.__updated___434 = (false);\n s.tmp_0 = pause__P241_mk(s);\n s.tmp_0.arg0 = 200;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(globals.__updated___434);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n s.tmp_2 = control___screen_update__P435_mk(s);\n s.pc = 6; return s.tmp_2;\n case 6:\n r0 = s.retval;\n globals.__updated___434 = (true);\n case 2:\n case 3:\n { step = 1; continue; }\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P439.info = {"start":396,"length":211,"line":17,"column":26,"endLine":26,"endColumn":5,"fileName":"pxt_modules/screen/frame.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P439_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P439, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n} }\n\n\n\n\n\nfunction inline__P470(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_pxtcore.updateScreen(globals.screen___464);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P470.info = {"start":753,"length":26,"line":22,"column":33,"endLine":22,"endColumn":59,"fileName":"pxt_modules/screen/targetoverrides.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P470_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P470, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n} }\n\n\n\n\n\nfunction inline__P475(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_pxtcore.updateStats(s.arg0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P475.info = {"start":816,"length":56,"line":23,"column":35,"endLine":25,"endColumn":5,"fileName":"pxt_modules/screen/targetoverrides.ts","functionName":"inline","argumentNames":["msg"]}\n\nfunction inline__P475_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P475, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P750(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_numops_toBoolDecr(globals.infoState___745);\n if (!r0) { step = 3; continue; }\n r0 = pxsim_numops_toBoolDecr(globals.infoStateStack___747);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_Array__mk();\n globals.infoStateStack___747 = (r0);\n case 1:\n case 2:\n r0 = pxsim_pxtrt.mkMap();\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "state", globals.infoState___745);\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "scene", s.arg0);\n r0 = pxsim_Array__push(globals.infoStateStack___747, s.tmp_0);\n globals.infoState___745 = (undefined);\n case 3:\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P750.info = {"start":1913,"length":259,"line":73,"column":29,"endLine":82,"endColumn":5,"fileName":"pxt_modules/game/info.ts","functionName":"inline","argumentNames":["oldScene"]}\n\nfunction inline__P750_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P750, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P766(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.scene___767 = undefined;\n s.nextState___776 = undefined;\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 7; return s.tmp_0;\n case 7:\n r0 = s.retval;\n s.scene___767 = (r0);\n globals.infoState___745 = (undefined);\n s.tmp_0 = r0 = globals.infoStateStack___747;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = pxsim_Array__length(globals.infoStateStack___747);\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 5; continue; }\n r0 = pxsim_Array_.pop(globals.infoStateStack___747);\n s.nextState___776 = (r0);\n s.tmp_2 = if_scene_1_mk(s);\n s.tmp_2.arg0 = s.nextState___776;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "scene");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["scene"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["scene"]; }\n else { s.pc = 8; return s.tmp_2; }\n }\n case 8:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 == s.scene___767);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.tmp_3 = if_state_1_mk(s);\n s.tmp_3.arg0 = s.nextState___776;\n if (!s.tmp_3.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, "state");\n } else {\n s.tmp_3.fn = s.tmp_3.arg0.vtable.iface["state"];\n if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields["state"]; }\n else { s.pc = 9; return s.tmp_3; }\n }\n case 9:\n r0 = s.retval;\n globals.infoState___745 = (r0);\n { step = 4; continue; }\n case 3:\n r0 = pxsim_Array__push(globals.infoStateStack___747, s.nextState___776);\n case 4:\n case 5:\n case 6:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P766.info = {"start":2204,"length":376,"line":84,"column":28,"endLine":95,"endColumn":5,"fileName":"pxt_modules/game/info.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P766_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P766, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n scene___767: undefined,\n nextState___776: undefined,\n} }\n\n\n\n\n\nfunction inline__P1276(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.sz___1277 = undefined;\n s.tmp_0 = control_ramSize__P179_mk(s);\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n s.sz___1277 = (r0);\n s.tmp_1 = r0 = s.sz___1277;\n r0 = (1024 * 100);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 <= s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = 8;\n { step = 5; continue; }\n { step = 4; continue; }\n case 1:\n s.tmp_4 = r0 = s.sz___1277;\n r0 = (1024 * 200);\n s.tmp_5 = r0;\n r0 = (s.tmp_4 <= s.tmp_5);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 2; continue; }\n r0 = 16;\n { step = 5; continue; }\n { step = 3; continue; }\n case 2:\n r0 = 50;\n { step = 5; continue; }\n case 3:\n case 4:\n r0 = undefined;\n case 5:\n return leave(s, r0)\n default: oops()\n} } }\ninline__P1276.info = {"start":189,"length":217,"line":7,"column":25,"endLine":16,"endColumn":5,"fileName":"pxt_modules/game/particles.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P1276_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P1276, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n sz___1277: undefined,\n} }\n\n\n\n\n\nfunction inline__P1453(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_pxtrt.mkMap();\n s.tmp_0 = r0;\n r0 = pxsim.Math_.random();\n s.tmp_3 = r0;\n r0 = (s.tmp_3 * 2);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - 1);\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "xOffset", s.tmp_1);\n r0 = pxsim.Math_.random();\n s.tmp_6 = r0;\n r0 = (s.tmp_6 * 2);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 - 1);\n s.tmp_4 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "yOffset", s.tmp_4);\n r0 = s.tmp_0;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P1453.info = {"start":860,"length":117,"line":31,"column":40,"endLine":34,"endColumn":5,"fileName":"pxt_modules/game/texteffects.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P1453_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P1453, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n} }\n\n\n\n\n\nfunction inline__P1463(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_pxtrt.mkMap();\n s.tmp_2 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_2, "xOffset", 0);\n r0 = pxsim.Math_.sin(s.arg0);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 * 2);\n s.tmp_3 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_2, "yOffset", s.tmp_3);\n s.tmp_7 = Math_sign__P60_mk(s);\n r0 = pxsim.Math_.sin(s.arg0);\n s.tmp_7.arg0 = r0;\n s.pc = 7; return s.tmp_7;\n case 7:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = (s.tmp_6 < 0);\n s.tmp_5 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_2, "up", s.tmp_5);\n s.arg1 = (s.tmp_2);\n case 1:\n case 2:\n s.tmp_1 = if_up_1_mk(s);\n s.tmp_1.arg0 = s.arg1;\n if (!s.tmp_1.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, "up");\n } else {\n s.tmp_1.fn = s.tmp_1.arg0.vtable.iface["up"];\n if (s.tmp_1.fn == null) { s.retval = s.tmp_1.arg0.fields["up"]; }\n else { s.pc = 8; return s.tmp_1; }\n }\n case 8:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = 1;\n { step = 4; continue; }\n case 3:\n r0 = -1;\n case 4:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n s.tmp_3 = if_yOffset_2_mk(s);\n s.tmp_4 = r0 = s.arg1;\n s.tmp_3.arg0 = r0;\n s.tmp_6 = if_yOffset_1_mk(s);\n s.tmp_6.arg0 = s.tmp_4;\n if (!s.tmp_6.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_6.arg0, "yOffset");\n } else {\n s.tmp_6.fn = s.tmp_6.arg0.vtable.iface["yOffset"];\n if (s.tmp_6.fn == null) { s.retval = s.tmp_6.arg0.fields["yOffset"]; }\n else { s.pc = 10; return s.tmp_6; }\n }\n case 10:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = (s.tmp_2 * 0.5);\n s.tmp_7 = r0;\n r0 = (s.tmp_5 + s.tmp_7);\n s.tmp_3.arg1 = r0;\n if (!s.tmp_3.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapSetByString(s.tmp_3.arg0, "yOffset", s.tmp_3.arg1);\n } else {\n s.tmp_3.fn = s.tmp_3.arg0.vtable.iface["set/yOffset"];\n if (s.tmp_3.fn === null) { s.tmp_3.arg0.fields["yOffset"] = s.tmp_3.arg1; }\n else if (s.tmp_3.fn === undefined) { failedCast(s.tmp_3.arg0) }\n else { s.pc = 9; return s.tmp_3; }\n }\n case 9:\n r0 = s.retval;\n s.tmp_2 = Math_abs__P59_mk(s);\n s.tmp_3 = if_yOffset_1_mk(s);\n s.tmp_3.arg0 = s.arg1;\n if (!s.tmp_3.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, "yOffset");\n } else {\n s.tmp_3.fn = s.tmp_3.arg0.vtable.iface["yOffset"];\n if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields["yOffset"]; }\n else { s.pc = 12; return s.tmp_3; }\n }\n case 12:\n r0 = s.retval;\n s.tmp_2.arg0 = r0;\n s.pc = 11; return s.tmp_2;\n case 11:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > 2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n s.tmp_6 = if_up_1_mk(s);\n s.tmp_6.arg0 = s.arg1;\n if (!s.tmp_6.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_6.arg0, "up");\n } else {\n s.tmp_6.fn = s.tmp_6.arg0.vtable.iface["up"];\n if (s.tmp_6.fn == null) { s.retval = s.tmp_6.arg0.fields["up"]; }\n else { s.pc = 13; return s.tmp_6; }\n }\n case 13:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_5);\n s.tmp_4 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_4);\n { step = 6; continue; }\n case 5:\n s.tmp_7 = if_up_1_mk(s);\n s.tmp_7.arg0 = s.arg1;\n if (!s.tmp_7.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_7.arg0, "up");\n } else {\n s.tmp_7.fn = s.tmp_7.arg0.vtable.iface["up"];\n if (s.tmp_7.fn == null) { s.retval = s.tmp_7.arg0.fields["up"]; }\n else { s.pc = 14; return s.tmp_7; }\n }\n case 14:\n r0 = s.retval;\n case 6:\n // jmp value (already in r0)\n s.tmp_8 = r0;\n s.tmp_9 = if_up_2_mk(s);\n s.tmp_9.arg0 = s.arg1;\n s.tmp_9.arg1 = s.tmp_8;\n if (!s.tmp_9.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapSetByString(s.tmp_9.arg0, "up", s.tmp_9.arg1);\n } else {\n s.tmp_9.fn = s.tmp_9.arg0.vtable.iface["set/up"];\n if (s.tmp_9.fn === null) { s.tmp_9.arg0.fields["up"] = s.tmp_9.arg1; }\n else if (s.tmp_9.fn === undefined) { failedCast(s.tmp_9.arg0) }\n else { s.pc = 15; return s.tmp_9; }\n }\n case 15:\n r0 = s.retval;\n r0 = s.arg1;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P1463.info = {"start":1127,"length":417,"line":42,"column":39,"endLine":55,"endColumn":5,"fileName":"pxt_modules/game/texteffects.ts","functionName":"inline","argumentNames":["index","state"]}\n\nfunction inline__P1463_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P1463, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction inline__P1575(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_numops_toBoolDecr(globals.animations___1572);\n if (!r0) { step = 3; continue; }\n r0 = pxsim_numops_toBoolDecr(globals.animationStateStack___1573);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_Array__mk();\n globals.animationStateStack___1573 = (r0);\n case 1:\n case 2:\n r0 = pxsim_pxtrt.mkMap();\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "state", globals.animations___1572);\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "scene", s.arg0);\n r0 = pxsim_Array__push(globals.animationStateStack___1573, s.tmp_0);\n globals.animations___1572 = (undefined);\n case 3:\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P1575.info = {"start":251,"length":277,"line":12,"column":29,"endLine":21,"endColumn":5,"fileName":"pxt_modules/animation/legacy.ts","functionName":"inline","argumentNames":["oldScene"]}\n\nfunction inline__P1575_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P1575, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P1589(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.scene___1590 = undefined;\n s.nextState___1597 = undefined;\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 7; return s.tmp_0;\n case 7:\n r0 = s.retval;\n s.scene___1590 = (r0);\n globals.animations___1572 = (undefined);\n s.tmp_0 = r0 = globals.animationStateStack___1573;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = pxsim_Array__length(globals.animationStateStack___1573);\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 5; continue; }\n r0 = pxsim_Array_.pop(globals.animationStateStack___1573);\n s.nextState___1597 = (r0);\n s.tmp_2 = if_scene_1_mk(s);\n s.tmp_2.arg0 = s.nextState___1597;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "scene");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["scene"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["scene"]; }\n else { s.pc = 8; return s.tmp_2; }\n }\n case 8:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 == s.scene___1590);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.tmp_3 = if_state_1_mk(s);\n s.tmp_3.arg0 = s.nextState___1597;\n if (!s.tmp_3.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, "state");\n } else {\n s.tmp_3.fn = s.tmp_3.arg0.vtable.iface["state"];\n if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields["state"]; }\n else { s.pc = 9; return s.tmp_3; }\n }\n case 9:\n r0 = s.retval;\n globals.animations___1572 = (r0);\n { step = 4; continue; }\n case 3:\n r0 = pxsim_Array__push(globals.animationStateStack___1573, s.nextState___1597);\n case 4:\n case 5:\n case 6:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P1589.info = {"start":560,"length":398,"line":23,"column":28,"endLine":34,"endColumn":5,"fileName":"pxt_modules/animation/legacy.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P1589_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P1589, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n scene___1590: undefined,\n nextState___1597: undefined,\n} }\n\n\n\n\n\nfunction inline__P22737(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_2 = Sprite_ay__P619_mk(s);\n s.tmp_2.arg0 = globals.bunny___22740;\n s.pc = 3; return s.tmp_2;\n case 3:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 == 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_3 = Sprite_vy__P616_mk(s);\n s.tmp_3.arg0 = globals.bunny___22740;\n s.tmp_3.arg1 = -160;\n s.pc = 4; return s.tmp_3;\n case 4:\n r0 = s.retval;\n s.tmp_0 = Sprite_ay__P620_mk(s);\n s.tmp_0.arg0 = globals.bunny___22740;\n s.tmp_0.arg1 = globals.gravity___22747;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P22737.info = {"start":151,"length":97,"line":4,"column":60,"endLine":9,"endColumn":1,"fileName":"main.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P22737_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P22737, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n} }\n\n\n\n\n\nfunction inline__P22754(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = gameover__P22758_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P22754.info = {"start":32727,"length":50,"line":546,"column":58,"endLine":548,"endColumn":1,"fileName":"main.ts","functionName":"inline","argumentNames":["sprite","otherSprite"]}\n\nfunction inline__P22754_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P22754, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction inline__P22798(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_2 = Sprite_bottom__P635_mk(s);\n s.tmp_2.arg0 = globals.bunny___22740;\n s.pc = 3; return s.tmp_2;\n case 3:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > 105);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_3 = Sprite_bottom__P636_mk(s);\n s.tmp_3.arg0 = globals.bunny___22740;\n s.tmp_3.arg1 = 105;\n s.pc = 4; return s.tmp_3;\n case 4:\n r0 = s.retval;\n s.tmp_0 = Sprite_vy__P616_mk(s);\n s.tmp_0.arg0 = globals.bunny___22740;\n s.tmp_0.arg1 = 0;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n s.tmp_0 = Sprite_ay__P620_mk(s);\n s.tmp_0.arg0 = globals.bunny___22740;\n s.tmp_0.arg1 = 0;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P22798.info = {"start":34622,"length":120,"line":614,"column":14,"endLine":620,"endColumn":1,"fileName":"main.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P22798_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P22798, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n} }\n\n\n\n\n\nfunction inline__P22808(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_2 = Sprite_x__P609_mk(s);\n s.tmp_2.arg0 = globals.bird___22772;\n s.pc = 3; return s.tmp_2;\n case 3:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_3 = Sprite_setPosition__P639_mk(s);\n s.tmp_3.arg0 = globals.bird___22772;\n r0 = pxsim.Math_.randomRange(160, 240);\n s.tmp_3.arg1 = r0;\n r0 = pxsim.Math_.randomRange(20, 60);\n s.tmp_3.arg2 = r0;\n s.pc = 4; return s.tmp_3;\n case 4:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P22808.info = {"start":34758,"length":122,"line":621,"column":14,"endLine":625,"endColumn":1,"fileName":"main.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P22808_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P22808, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n} }\n\n\n\n\n\nfunction inline__P22818(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = Sprite_x__P610_mk(s);\n s.tmp_1 = r0 = globals.bird___22772;\n s.tmp_0.arg0 = r0;\n s.tmp_3 = Sprite_x__P609_mk(s);\n s.tmp_3.arg0 = s.tmp_1;\n s.pc = 2; return s.tmp_3;\n case 2:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + -1);\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P22818.info = {"start":34909,"length":32,"line":626,"column":27,"endLine":628,"endColumn":1,"fileName":"main.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P22818_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P22818, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n} }\n\n\n\n\n\nfunction inline__P22825(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.i___22834 = undefined;\n s.tmp_1 = game_runtime__P1033_mk(s);\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = (s.tmp_0 / 250);\n globals.difficultyFactor___22764 = (r0);\n r0 = (100 + globals.difficultyFactor___22764);\n globals.osbstacleSpeed___22763 = (r0);\n r0 = pxsim.Math_.randomRange(1, 3);\n globals.numObstacles___22762 = (r0);\n s.i___22834 = (0);\n case 1:\n r0 = (s.i___22834 < globals.numObstacles___22762);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n s.tmp_1 = r0 = globals.obstacles___22770;\n r0 = pxsim_Array__length(globals.obstacles___22770);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 - 1);\n s.tmp_3 = r0;\n r0 = pxsim.Math_.randomRange(0, s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_Array__getAt(s.tmp_1, s.tmp_2);\n globals.newObstacle___22761 = (r0);\n s.tmp_0 = sprites_createProjectileFromSide__P604_mk(s);\n s.tmp_0.arg0 = globals.newObstacle___22761;\n r0 = (0 - globals.osbstacleSpeed___22763);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = 0;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n globals.projectile___22760 = (r0);\n s.tmp_0 = Sprite_bottom__P636_mk(s);\n s.tmp_0.arg0 = globals.projectile___22760;\n s.tmp_0.arg1 = 105;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n s.tmp_0 = Sprite_setKind__P638_mk(s);\n s.tmp_0.arg0 = globals.projectile___22760;\n s.tmp_0.arg1 = globals.Obstacle___22731;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n s.tmp_0 = pause__P241_mk(s);\n r0 = (11500 / globals.osbstacleSpeed___22763);\n s.tmp_0.arg0 = r0;\n s.pc = 7; return s.tmp_0;\n case 7:\n r0 = s.retval;\n r0 = (s.i___22834 + 1);\n s.i___22834 = (r0);\n { step = 1; continue; }\n case 2:\n s.tmp_0 = pause__P241_mk(s);\n r0 = pxsim.Math_.randomRange(1500, 2500);\n s.tmp_0.arg0 = r0;\n s.pc = 8; return s.tmp_0;\n case 8:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P22825.info = {"start":34951,"length":519,"line":629,"column":8,"endLine":641,"endColumn":1,"fileName":"main.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P22825_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P22825, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n i___22834: undefined,\n} }\n\n\n\n\n\nfunction inline__P22861(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_1 = Math_percentChance__P1154_mk(s);\n s.tmp_1.arg0 = 40;\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_2 = sprites_createProjectileFromSide__P604_mk(s);\n s.tmp_3 = r0 = globals.grassImages___22768;\n r0 = pxsim_Array__length(globals.grassImages___22768);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 - 1);\n s.tmp_5 = r0;\n r0 = pxsim.Math_.randomRange(0, s.tmp_5);\n s.tmp_4 = r0;\n r0 = pxsim_Array__getAt(s.tmp_3, s.tmp_4);\n s.tmp_2.arg0 = r0;\n s.tmp_10 = game_runtime__P1033_mk(s);\n s.pc = 5; return s.tmp_10;\n case 5:\n r0 = s.retval;\n s.tmp_9 = r0;\n r0 = (s.tmp_9 / 250);\n s.tmp_8 = r0;\n r0 = (-100 - s.tmp_8);\n s.tmp_7 = r0;\n r0 = (s.tmp_7 / 2);\n s.tmp_2.arg1 = r0;\n s.tmp_2.arg2 = 0;\n s.pc = 4; return s.tmp_2;\n case 4:\n r0 = s.retval;\n globals.grass___22759 = (r0);\n s.tmp_0 = Sprite_bottom__P636_mk(s);\n s.tmp_0.arg0 = globals.grass___22759;\n s.tmp_0.arg1 = 100;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n s.tmp_0 = if_z_2_mk(s);\n s.tmp_0.arg0 = globals.grass___22759;\n s.tmp_0.arg1 = -1;\n if (!s.tmp_0.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapSetByString(s.tmp_0.arg0, "z", s.tmp_0.arg1);\n } else {\n s.tmp_0.fn = s.tmp_0.arg0.vtable.iface["set/z"];\n if (s.tmp_0.fn === null) { s.tmp_0.arg0.fields["z"] = s.tmp_0.arg1; }\n else if (s.tmp_0.fn === undefined) { failedCast(s.tmp_0.arg0) }\n else { s.pc = 7; return s.tmp_0; }\n }\n case 7:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P22861.info = {"start":35499,"length":248,"line":642,"column":27,"endLine":648,"endColumn":1,"fileName":"main.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P22861_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P22861, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n} }\n\n\n\n\n\nfunction inline__P22878(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals.over___22733);\n if (!r0) { step = 1; continue; }\n { step = 11; continue; }\n case 1:\n case 2:\n s.tmp_0 = info_changeScoreBy__P802_mk(s);\n s.tmp_0.arg0 = 1;\n s.pc = 12; return s.tmp_0;\n case 12:\n r0 = s.retval;\n s.tmp_2 = info_score__P798_mk(s);\n s.pc = 13; return s.tmp_2;\n case 13:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 3; continue; }\n r0 = s.tmp_0;\n { step = 4; continue; }\n case 3:\n s.tmp_5 = info_score__P798_mk(s);\n s.pc = 14; return s.tmp_5;\n case 14:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = (s.tmp_4 % 100);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 == 0);\n case 4:\n // jmp value (already in r0)\n s.tmp_6 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_6);\n if (!r0) { step = 5; continue; }\n s.tmp_7 = effects_ScreenEffect_startScreenEffect__P1416_mk(s);\n s.tmp_7.arg0 = globals.confetti___1424;\n s.tmp_7.arg1 = undefined;\n s.tmp_7.arg2 = undefined;\n s.pc = 15; return s.tmp_7;\n case 15:\n r0 = s.retval;\n { step = 10; continue; }\n case 5:\n s.tmp_2 = info_score__P798_mk(s);\n s.pc = 16; return s.tmp_2;\n case 16:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 6; continue; }\n r0 = s.tmp_0;\n { step = 7; continue; }\n case 6:\n s.tmp_6 = info_score__P798_mk(s);\n s.pc = 17; return s.tmp_6;\n case 17:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = (s.tmp_5 - 10);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 % 100);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 == 0);\n case 7:\n // jmp value (already in r0)\n s.tmp_7 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_7);\n if (!r0) { step = 8; continue; }\n s.tmp_8 = effects_ScreenEffect_endScreenEffect__P1417_mk(s);\n s.tmp_8.arg0 = globals.confetti___1424;\n s.pc = 18; return s.tmp_8;\n case 18:\n r0 = s.retval;\n case 8:\n case 9:\n case 10:\n case 11:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P22878.info = {"start":35776,"length":280,"line":649,"column":27,"endLine":657,"endColumn":1,"fileName":"main.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P22878_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P22878, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n} }\n\n\n\n\n\nfunction inline__P22894(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_1 = Math_percentChance__P1154_mk(s);\n s.tmp_1.arg0 = 20;\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_2 = createCloud__P22750_mk(s);\n s.pc = 4; return s.tmp_2;\n case 4:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P22894.info = {"start":36086,"length":77,"line":658,"column":28,"endLine":662,"endColumn":1,"fileName":"main.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P22894_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P22894, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n} }\n\n\n\n\n\nfunction inline__P22898(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_1 = Math_percentChance__P1154_mk(s);\n s.tmp_1.arg0 = 60;\n s.pc = 5; return s.tmp_1;\n case 5:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.tmp_2 = createTree__P22749_mk(s);\n s.pc = 6; return s.tmp_2;\n case 6:\n r0 = s.retval;\n s.tmp_1 = Math_percentChance__P1154_mk(s);\n s.tmp_1.arg0 = 50;\n s.pc = 7; return s.tmp_1;\n case 7:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_2 = pause__P241_mk(s);\n r0 = pxsim.Math_.randomRange(150, 300);\n s.tmp_2.arg0 = r0;\n s.pc = 8; return s.tmp_2;\n case 8:\n r0 = s.retval;\n s.tmp_0 = createTree__P22749_mk(s);\n s.pc = 9; return s.tmp_0;\n case 9:\n r0 = s.retval;\n case 1:\n case 2:\n case 3:\n case 4:\n s.tmp_0 = pause__P241_mk(s);\n s.tmp_0.arg0 = 1500;\n s.pc = 10; return s.tmp_0;\n case 10:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P22898.info = {"start":37807,"length":211,"line":721,"column":8,"endLine":730,"endColumn":1,"fileName":"main.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P22898_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P22898, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n} }\n\n\n\n\n\nfunction createTree__P22749(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = sprites_createProjectileFromSide__P604_mk(s);\n s.tmp_1 = r0 = globals.trees___22769;\n r0 = pxsim_Array__length(globals.trees___22769);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 - 1);\n s.tmp_3 = r0;\n r0 = pxsim.Math_.randomRange(0, s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_Array__getAt(s.tmp_1, s.tmp_2);\n s.tmp_0.arg0 = r0;\n s.tmp_8 = game_runtime__P1033_mk(s);\n s.pc = 2; return s.tmp_8;\n case 2:\n r0 = s.retval;\n s.tmp_7 = r0;\n r0 = (s.tmp_7 / 250);\n s.tmp_6 = r0;\n r0 = (-100 - s.tmp_6);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 / 2);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = 0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n globals.tree___22766 = (r0);\n s.tmp_0 = Sprite_bottom__P636_mk(s);\n s.tmp_0.arg0 = globals.tree___22766;\n s.tmp_0.arg1 = 100;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.tmp_0 = if_z_2_mk(s);\n s.tmp_0.arg0 = globals.tree___22766;\n s.tmp_0.arg1 = -1;\n if (!s.tmp_0.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapSetByString(s.tmp_0.arg0, "z", s.tmp_0.arg1);\n } else {\n s.tmp_0.fn = s.tmp_0.arg0.vtable.iface["set/z"];\n if (s.tmp_0.fn === null) { s.tmp_0.arg0.fields["z"] = s.tmp_0.arg1; }\n else if (s.tmp_0.fn === undefined) { failedCast(s.tmp_0.arg0) }\n else { s.pc = 4; return s.tmp_0; }\n }\n case 4:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncreateTree__P22749.info = {"start":32286,"length":192,"line":536,"column":0,"endLine":540,"endColumn":1,"fileName":"main.ts","functionName":"createTree","argumentNames":[]}\n\nfunction createTree__P22749_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: createTree__P22749, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n} }\n\n\n\n\n\nfunction createCloud__P22750(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = sprites_createProjectileFromSide__P604_mk(s);\n s.tmp_1 = r0 = globals.clouds___22767;\n r0 = pxsim_Array__length(globals.clouds___22767);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 - 1);\n s.tmp_3 = r0;\n r0 = pxsim.Math_.randomRange(0, s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_Array__getAt(s.tmp_1, s.tmp_2);\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = -30;\n s.tmp_0.arg2 = 0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n globals.cloud___22765 = (r0);\n s.tmp_0 = Sprite_bottom__P636_mk(s);\n s.tmp_0.arg0 = globals.cloud___22765;\n r0 = pxsim.Math_.randomRange(30, 55);\n s.tmp_0.arg1 = r0;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n s.tmp_0 = if_z_2_mk(s);\n s.tmp_0.arg0 = globals.cloud___22765;\n s.tmp_0.arg1 = -2;\n if (!s.tmp_0.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapSetByString(s.tmp_0.arg0, "z", s.tmp_0.arg1);\n } else {\n s.tmp_0.fn = s.tmp_0.arg0.vtable.iface["set/z"];\n if (s.tmp_0.fn === null) { s.tmp_0.arg0.fields["z"] = s.tmp_0.arg1; }\n else if (s.tmp_0.fn === undefined) { failedCast(s.tmp_0.arg0) }\n else { s.pc = 3; return s.tmp_0; }\n }\n case 3:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncreateCloud__P22750.info = {"start":32479,"length":189,"line":541,"column":0,"endLine":545,"endColumn":1,"fileName":"main.ts","functionName":"createCloud","argumentNames":[]}\n\nfunction createCloud__P22750_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: createCloud__P22750, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n} }\n\n\n\n\n\nfunction effects_ScreenEffect_endScreenEffect__P1417(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, effects_ScreenEffect__C1414_VT)) failedCast(r0);\n r0 = s.arg0.fields["source"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_1 = particles_ParticleSource_destroy__P1294_mk(s);\n r0 = s.arg0.fields["source"];\n s.tmp_1.arg0 = r0;\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n r0 = (s.arg0).fields["source"] = (undefined);\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\neffects_ScreenEffect_endScreenEffect__P1417.info = {"start":4539,"length":160,"line":121,"column":8,"endLine":126,"endColumn":9,"fileName":"pxt_modules/game/particleeffects.ts","functionName":"endScreenEffect","argumentNames":["this"]}\n\nfunction effects_ScreenEffect_endScreenEffect__P1417_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: effects_ScreenEffect_endScreenEffect__P1417, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleSource_destroy__P1294(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleSource__C1285_VT)) failedCast(r0);\n s.tmp_0 = particles_ParticleSource_enabled__P1293_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = false;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.tmp_0 = r0 = s.arg0;\n r0 = s.tmp_0.fields["pFlags"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["pFlags"] = (s.tmp_1);\n s.tmp_0 = particles_ParticleSource__prune__P1289_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleSource_destroy__P1294.info = {"start":6601,"length":240,"line":221,"column":8,"endLine":226,"endColumn":9,"fileName":"pxt_modules/game/particles.ts","functionName":"destroy","argumentNames":["this"]}\n\nfunction particles_ParticleSource_destroy__P1294_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleSource_destroy__P1294, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleSource_enabled__P1293(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleSource__C1285_VT)) failedCast(r0);\n s.tmp_1 = r0 = s.arg1;\n s.tmp_3 = particles_ParticleSource_enabled__P1292_mk(s);\n s.tmp_3.arg0 = s.arg0;\n s.pc = 5; return s.tmp_3;\n case 5:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (s.tmp_1 !== s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n if (!r0) { step = 1; continue; }\n r0 = s.arg0.fields["pFlags"];\n s.tmp_4 = r0;\n r0 = (s.tmp_4 | 1);\n { step = 2; continue; }\n case 1:\n r0 = s.arg0.fields["pFlags"];\n s.tmp_5 = r0;\n r0 = (s.tmp_5 ^ 1);\n case 2:\n // jmp value (already in r0)\n s.tmp_6 = r0;\n r0 = (s.arg0).fields["pFlags"] = (s.tmp_6);\n r0 = (s.arg0).fields["timer"] = (0);\n case 3:\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleSource_enabled__P1293.info = {"start":6323,"length":214,"line":211,"column":8,"endLine":216,"endColumn":9,"fileName":"pxt_modules/game/particles.ts","functionName":"enabled","argumentNames":["this","v"]}\n\nfunction particles_ParticleSource_enabled__P1293_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleSource_enabled__P1293, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleSource_enabled__P1292(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleSource__C1285_VT)) failedCast(r0);\n r0 = s.arg0.fields["pFlags"];\n s.tmp_4 = r0;\n r0 = (s.tmp_4 & 1);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleSource_enabled__P1292.info = {"start":6129,"length":76,"line":204,"column":8,"endLine":206,"endColumn":9,"fileName":"pxt_modules/game/particles.ts","functionName":"enabled","argumentNames":["this"]}\n\nfunction particles_ParticleSource_enabled__P1292_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleSource_enabled__P1292, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleSource__prune__P1289(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.scene___4922 = undefined;\n s.sources___4929 = undefined;\n s.current___4941 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleSource__C1285_VT)) failedCast(r0);\n case 1:\n r0 = s.arg0.fields["head"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 2; continue; }\n r0 = s.tmp_0;\n { step = 3; continue; }\n case 2:\n r0 = s.arg0.fields["head"];\n r0 = r0.fields["lifespan"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 <= 0);\n case 3:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 4; continue; }\n r0 = s.arg0.fields["head"];\n r0 = r0.fields["next"];\n s.tmp_3 = r0;\n r0 = (s.arg0).fields["head"] = (s.tmp_3);\n { step = 1; continue; }\n case 4:\n r0 = s.arg0.fields["pFlags"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 & 2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 5; continue; }\n r0 = s.tmp_0;\n { step = 6; continue; }\n case 5:\n r0 = s.arg0.fields["head"];\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n case 6:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n if (!r0) { step = 13; continue; }\n s.tmp_5 = game_currentScene__P769_mk(s);\n s.pc = 21; return s.tmp_5;\n case 21:\n r0 = s.retval;\n s.scene___4922 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.scene___4922);\n if (!r0) { step = 7; continue; }\n r0 = s.scene___4922.fields["allSprites"];\n s.tmp_0 = r0;\n r0 = pxsim_Array_.removeElement(s.tmp_0, s.arg0);\n case 7:\n case 8:\n s.tmp_0 = particles_particleSources__P1320_mk(s);\n s.pc = 22; return s.tmp_0;\n case 22:\n r0 = s.retval;\n s.sources___4929 = (r0);\n s.tmp_0 = r0 = s.sources___4929;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 9; continue; }\n r0 = s.tmp_0;\n { step = 10; continue; }\n case 9:\n r0 = pxsim_Array__length(s.sources___4929);\n case 10:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 11; continue; }\n r0 = pxsim_Array_.removeElement(s.sources___4929, s.arg0);\n case 11:\n case 12:\n r0 = s.arg0.fields["anchor"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 == undefined);\n case 13:\n case 14:\n r0 = s.arg0.fields["head"];\n s.current___4941 = (r0);\n case 15:\n s.tmp_0 = r0 = s.current___4941;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 16; continue; }\n r0 = s.tmp_0;\n { step = 17; continue; }\n case 16:\n r0 = s.current___4941.fields["next"];\n case 17:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 20; continue; }\n r0 = s.current___4941.fields["next"];\n r0 = r0.fields["lifespan"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 <= 0);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 18; continue; }\n r0 = s.current___4941.fields["next"];\n r0 = r0.fields["next"];\n s.tmp_4 = r0;\n r0 = (s.current___4941).fields["next"] = (s.tmp_4);\n { step = 19; continue; }\n case 18:\n r0 = s.current___4941.fields["next"];\n s.current___4941 = (r0);\n case 19:\n { step = 15; continue; }\n case 20:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleSource__prune__P1289.info = {"start":4921,"length":830,"line":163,"column":8,"endLine":186,"endColumn":9,"fileName":"pxt_modules/game/particles.ts","functionName":"_prune","argumentNames":["this"]}\n\nfunction particles_ParticleSource__prune__P1289_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleSource__prune__P1289, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n scene___4922: undefined,\n sources___4929: undefined,\n current___4941: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction particles_particleSources__P1320(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.sources___5026 = undefined;\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = r0.fields["particleSources"];\n s.sources___5026 = (r0);\n r0 = s.sources___5026;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_particleSources__P1320.info = {"start":12361,"length":119,"line":409,"column":4,"endLine":412,"endColumn":5,"fileName":"pxt_modules/game/particles.ts","functionName":"particleSources","argumentNames":[]}\n\nfunction particles_particleSources__P1320_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_particleSources__P1320, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n sources___5026: undefined,\n} }\n\n\n\n\n\nfunction inline__P7538(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.factory___7541 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_pxtcore_mkClassInstance(particles_ConfettiFactory__C1364_VT);\n s.tmp_0 = r0;\n s.tmp_2 = if_width_1_mk(s);\n s.tmp_2.arg0 = s.arg0;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "width");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["width"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["width"]; }\n else { s.pc = 3; return s.tmp_2; }\n }\n case 3:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 1; continue; }\n s.tmp_3 = if_width_1_mk(s);\n s.tmp_3.arg0 = s.arg0;\n if (!s.tmp_3.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, "width");\n } else {\n s.tmp_3.fn = s.tmp_3.arg0.vtable.iface["width"];\n if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields["width"]; }\n else { s.pc = 4; return s.tmp_3; }\n }\n case 4:\n r0 = s.retval;\n { step = 2; continue; }\n case 1:\n r0 = 16;\n case 2:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n s.tmp_5 = particles_ConfettiFactory_constructor__P1366_mk(s);\n s.tmp_5.arg0 = s.tmp_0;\n s.tmp_5.arg1 = s.tmp_4;\n s.tmp_5.arg2 = 16;\n s.pc = 5; return s.tmp_5;\n case 5:\n r0 = s.retval;\n s.factory___7541 = (s.tmp_0);\n s.tmp_0 = particles_SprayFactory_setSpeed__P1345_mk(s);\n s.tmp_0.arg0 = s.factory___7541;\n s.tmp_0.arg1 = 30;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkClassInstance(particles_ParticleSource__C1285_VT);\n s.tmp_0 = r0;\n s.tmp_1 = particles_ParticleSource_constructor__P1302_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = s.arg0;\n s.tmp_1.arg2 = s.arg1;\n s.tmp_1.arg3 = s.factory___7541;\n s.pc = 7; return s.tmp_1;\n case 7:\n r0 = s.retval;\n r0 = s.tmp_0;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P7538.info = {"start":7444,"length":284,"line":190,"column":59,"endLine":194,"endColumn":5,"fileName":"pxt_modules/game/particleeffects.ts","functionName":"inline","argumentNames":["anchor","particlesPerSecond"]}\n\nfunction inline__P7538_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P7538, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n factory___7541: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleSource_constructor__P1302(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.sources___7563 = undefined;\n s.removedSource___7570 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleSource__C1285_VT)) failedCast(r0);\n s.tmp_0 = sprites_BaseSprite_constructor__P516_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = 0;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n s.tmp_0 = particles_init__P1305_mk(s);\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n s.tmp_0 = particles_particleSources__P1320_mk(s);\n s.pc = 7; return s.tmp_0;\n case 7:\n r0 = s.retval;\n s.sources___7563 = (r0);\n r0 = pxsim_Array__length(s.sources___7563);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 >= globals.MAX_SOURCES___1274);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_2 = particles_sortSources__P1308_mk(s);\n s.tmp_2.arg0 = s.sources___7563;\n s.pc = 8; return s.tmp_2;\n case 8:\n r0 = s.retval;\n r0 = pxsim_Array_.removeAt(s.sources___7563, 0);\n s.removedSource___7570 = (r0);\n s.tmp_0 = particles_ParticleSource_clear__P1295_mk(s);\n s.tmp_0.arg0 = s.removedSource___7570;\n s.pc = 9; return s.tmp_0;\n case 9:\n r0 = s.retval;\n s.tmp_0 = particles_ParticleSource_destroy__P1294_mk(s);\n s.tmp_0.arg0 = s.removedSource___7570;\n s.pc = 10; return s.tmp_0;\n case 10:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = (s.arg0).fields["pFlags"] = (0);\n s.tmp_0 = particles_ParticleSource_setRate__P1297_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg2;\n s.pc = 11; return s.tmp_0;\n case 11:\n r0 = s.retval;\n s.tmp_0 = particles_ParticleSource_setAcceleration__P1290_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = 0;\n s.tmp_0.arg2 = 0;\n s.pc = 12; return s.tmp_0;\n case 12:\n r0 = s.retval;\n s.tmp_0 = particles_ParticleSource_setAnchor__P1296_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.pc = 13; return s.tmp_0;\n case 13:\n r0 = s.retval;\n r0 = (s.arg0).fields["lifespan"] = (undefined);\n r0 = (s.arg0).fields["_dt"] = (0);\n r0 = (s.arg0).fields["priority"] = (0);\n s.tmp_0 = r0 = s.arg3;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = s.tmp_0;\n { step = 4; continue; }\n case 3:\n r0 = globals.defaultFactory___1303;\n case 4:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n s.tmp_2 = particles_ParticleSource_setFactory__P1299_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.tmp_2.arg1 = s.tmp_1;\n s.pc = 14; return s.tmp_2;\n case 14:\n r0 = s.retval;\n r0 = pxsim_Array__push(s.sources___7563, s.arg0);\n s.tmp_0 = particles_ParticleSource_enabled__P1293_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = true;\n s.pc = 15; return s.tmp_0;\n case 15:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleSource_constructor__P1302.info = {"start":2230,"length":899,"line":84,"column":8,"endLine":107,"endColumn":9,"fileName":"pxt_modules/game/particles.ts","functionName":"inline","argumentNames":["this","anchor","particlesPerSecond","factory"]}\n\nfunction particles_ParticleSource_constructor__P1302_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleSource_constructor__P1302, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n sources___7563: undefined,\n removedSource___7570: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction particles_sortSources__P1308(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = helpers_arraySort__P43_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = inline__P7731;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_sortSources__P1308.info = {"start":9539,"length":129,"line":320,"column":4,"endLine":322,"endColumn":5,"fileName":"pxt_modules/game/particles.ts","functionName":"sortSources","argumentNames":["sources"]}\n\nfunction particles_sortSources__P1308_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_sortSources__P1308, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P7731(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0.fields["priority"];\n s.tmp_1 = r0;\n r0 = s.arg1.fields["priority"];\n s.tmp_2 = r0;\n r0 = (s.tmp_1 - s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = s.arg0.fields["id"];\n s.tmp_3 = r0;\n r0 = s.arg1.fields["id"];\n s.tmp_4 = r0;\n r0 = (s.tmp_3 - s.tmp_4);\n case 2:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n r0 = s.tmp_5;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P7731.info = {"start":9610,"length":50,"line":321,"column":21,"endLine":321,"endColumn":71,"fileName":"pxt_modules/game/particles.ts","functionName":"inline","argumentNames":["a","b"]}\n\nfunction inline__P7731_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P7731, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction helpers_arraySort__P43(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = pxsim_Array__length(s.arg0);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 > 1);\n case 2:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 3; continue; }\n s.arg1 = (inline__P5795);\n case 3:\n case 4:\n s.tmp_0 = helpers_sortHelper__P42_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_arraySort__P43.info = {"start":3380,"length":859,"line":123,"column":4,"endLine":143,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"arraySort","argumentNames":["arr","callbackfn"]}\n\nfunction helpers_arraySort__P43_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_arraySort__P43, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction inline__P5795(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.aIsUndef___5798 = undefined;\n s.bIsUndef___5801 = undefined;\n s.aIsNull___5809 = undefined;\n s.bIsNull___5812 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 === undefined);\n s.aIsUndef___5798 = (r0);\n r0 = (s.arg1 === undefined);\n s.bIsUndef___5801 = (r0);\n s.tmp_0 = r0 = s.aIsUndef___5798;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = s.bIsUndef___5801;\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 3; continue; }\n r0 = 0;\n { step = 17; continue; }\n { step = 8; continue; }\n case 3:\n r0 = pxsim_numops_toBoolDecr(s.aIsUndef___5798);\n if (!r0) { step = 4; continue; }\n r0 = 1;\n { step = 17; continue; }\n { step = 7; continue; }\n case 4:\n r0 = pxsim_numops_toBoolDecr(s.bIsUndef___5801);\n if (!r0) { step = 5; continue; }\n r0 = -1;\n { step = 17; continue; }\n case 5:\n case 6:\n case 7:\n case 8:\n r0 = (s.arg0 === null);\n s.aIsNull___5809 = (r0);\n r0 = (s.arg1 === null);\n s.bIsNull___5812 = (r0);\n s.tmp_0 = r0 = s.aIsNull___5809;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 9; continue; }\n r0 = s.tmp_0;\n { step = 10; continue; }\n case 9:\n r0 = s.bIsNull___5812;\n case 10:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 11; continue; }\n r0 = 0;\n { step = 17; continue; }\n { step = 16; continue; }\n case 11:\n r0 = pxsim_numops_toBoolDecr(s.aIsNull___5809);\n if (!r0) { step = 12; continue; }\n r0 = 1;\n { step = 17; continue; }\n { step = 15; continue; }\n case 12:\n r0 = pxsim_numops_toBoolDecr(s.bIsNull___5812);\n if (!r0) { step = 13; continue; }\n r0 = -1;\n { step = 17; continue; }\n case 13:\n case 14:\n case 15:\n case 16:\n if ((s.arg0) && (s.arg0).vtable) {\n setupResume(s, 18);\n pxsim_String__stringConv(s.arg0);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.arg0) + ""; }\n case 18:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = pxsim_String_.mkEmpty();\n s.tmp_4 = r0;\n r0 = pxsim_String__concat(s.tmp_3, s.tmp_4);\n s.tmp_2 = r0;\n if ((s.arg1) && (s.arg1).vtable) {\n setupResume(s, 19);\n pxsim_String__stringConv(s.arg1);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.arg1) + ""; }\n case 19:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = pxsim_String_.mkEmpty();\n s.tmp_7 = r0;\n r0 = pxsim_String__concat(s.tmp_6, s.tmp_7);\n s.tmp_5 = r0;\n r0 = pxsim_String_.compare(s.tmp_2, s.tmp_5);\n case 17:\n return leave(s, r0)\n default: oops()\n} } }\ninline__P5795.info = {"start":3543,"length":636,"line":125,"column":25,"endLine":140,"endColumn":13,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"inline","argumentNames":["a","b"]}\n\nfunction inline__P5795_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P5795, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n aIsUndef___5798: undefined,\n bIsUndef___5801: undefined,\n aIsNull___5809: undefined,\n bIsNull___5812: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction helpers_sortHelper__P42(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.len___5843 = undefined;\n s.i___5846 = undefined;\n s.j___5850 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_Array__length(s.arg0);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 <= 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n case 2:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 3; continue; }\n r0 = s.arg0;\n { step = 11; continue; }\n case 3:\n case 4:\n r0 = pxsim_Array__length(s.arg0);\n s.len___5843 = (r0);\n s.i___5846 = (0);\n case 5:\n s.tmp_1 = r0 = s.i___5846;\n r0 = (s.len___5843 - 1);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 10; continue; }\n r0 = (s.i___5846 + 1);\n s.j___5850 = (r0);\n case 6:\n r0 = (s.j___5850 < s.len___5843);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 9; continue; }\n s.tmp_3 = lambda_3_mk(s);\n s.tmp_3.argL = s.arg1;\n r0 = pxsim_Array__getAt(s.arg0, s.i___5846);\n s.tmp_3.arg0 = r0;\n r0 = pxsim_Array__getAt(s.arg0, s.j___5850);\n s.tmp_3.arg1 = r0;\n setupLambda(s.tmp_3, s.tmp_3.argL);\n s.pc = 12; return s.tmp_3;\n case 12:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (s.tmp_2 > 0);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 7; continue; }\n s.tmp_4 = helpers_swap__P41_mk(s);\n s.tmp_4.arg0 = s.arg0;\n s.tmp_4.arg1 = s.i___5846;\n s.tmp_4.arg2 = s.j___5850;\n s.pc = 13; return s.tmp_4;\n case 13:\n r0 = s.retval;\n case 7:\n case 8:\n r0 = (s.j___5850 + 1);\n s.j___5850 = (r0);\n { step = 6; continue; }\n case 9:\n r0 = (s.i___5846 + 1);\n s.i___5846 = (r0);\n { step = 5; continue; }\n case 10:\n r0 = s.arg0;\n case 11:\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_sortHelper__P42.info = {"start":2893,"length":481,"line":107,"column":4,"endLine":121,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"sortHelper","argumentNames":["arr","callbackfn"]}\n\nfunction helpers_sortHelper__P42_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_sortHelper__P42, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n len___5843: undefined,\n i___5846: undefined,\n j___5850: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction helpers_swap__P41(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.temp___5873 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_Array__getAt(s.arg0, s.arg1);\n s.temp___5873 = (r0);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_1 = r0 = s.arg1;\n r0 = pxsim_Array__getAt(s.arg0, s.arg2);\n s.tmp_2 = r0;\n r0 = pxsim_Array_.setAt(s.tmp_0, s.tmp_1, s.tmp_2);\n r0 = pxsim_Array_.setAt(s.arg0, s.arg2, s.temp___5873);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_swap__P41.info = {"start":2747,"length":140,"line":101,"column":4,"endLine":105,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"swap","argumentNames":["arr","i","j"]}\n\nfunction helpers_swap__P41_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_swap__P41, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n temp___5873: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction particles_init__P1305(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.scene___7744 = undefined;\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n s.scene___7744 = (r0);\n r0 = s.scene___7744.fields["particleSources"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 3; continue; }\n case 1:\n case 2:\n s.tmp_1 = r0 = s.scene___7744;\n r0 = pxsim_Array__mk();\n s.tmp_2 = r0;\n r0 = (s.tmp_1).fields["particleSources"] = (s.tmp_2);\n r0 = pxsim.control.millis();\n globals.lastUpdate___1282 = (r0);\n s.tmp_0 = game_onUpdate__P1027_mk(s);\n s.tmp_0.arg0 = particles_updateParticles__P1306;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n s.tmp_0 = game_onUpdateInterval__P1028_mk(s);\n s.tmp_0.arg0 = 250;\n s.tmp_0.arg1 = particles_pruneParticles__P1307;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n case 3:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_init__P1305.info = {"start":8745,"length":276,"line":292,"column":4,"endLine":299,"endColumn":5,"fileName":"pxt_modules/game/particles.ts","functionName":"init","argumentNames":[]}\n\nfunction particles_init__P1305_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_init__P1305, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n scene___7744: undefined,\n} }\n\n\n\n\n\nfunction particles_pruneParticles__P1307(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.sources___4886 = undefined;\n s.tmp_0 = particles_particleSources__P1320_mk(s);\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.sources___4886 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.sources___4886);\n if (!r0) { step = 1; continue; }\n s.tmp_0 = helpers_arrayForEach__P47_mk(s);\n s.tmp_1 = helpers_arraySlice__P52_mk(s);\n s.tmp_1.arg0 = s.sources___4886;\n s.tmp_1.arg1 = 0;\n r0 = pxsim_Array__length(s.sources___4886);\n s.tmp_1.arg2 = r0;\n s.pc = 5; return s.tmp_1;\n case 5:\n r0 = s.retval;\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = inline__P4895;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_pruneParticles__P1307.info = {"start":9373,"length":156,"line":315,"column":4,"endLine":318,"endColumn":5,"fileName":"pxt_modules/game/particles.ts","functionName":"pruneParticles","argumentNames":[]}\n\nfunction particles_pruneParticles__P1307_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_pruneParticles__P1307, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n sources___4886: undefined,\n} }\n\n\n\n\n\nfunction inline__P4895(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = particles_ParticleSource__prune__P1289_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P4895.info = {"start":9506,"length":15,"line":317,"column":62,"endLine":317,"endColumn":77,"fileName":"pxt_modules/game/particles.ts","functionName":"inline","argumentNames":["s"]}\n\nfunction inline__P4895_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P4895, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction helpers_arraySlice__P52(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.res___4962 = undefined;\n s.len___4964 = undefined;\n s.i___4990 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_Array__mk();\n s.res___4962 = (r0);\n r0 = pxsim_Array__length(s.arg0);\n s.len___4964 = (r0);\n r0 = (s.arg1 === undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.arg1 = (0);\n { step = 4; continue; }\n case 1:\n r0 = (s.arg1 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n s.tmp_1 = Math_max__P61_mk(s);\n r0 = (s.len___4964 + s.arg1);\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = 0;\n s.pc = 16; return s.tmp_1;\n case 16:\n r0 = s.retval;\n s.arg1 = (r0);\n case 2:\n case 3:\n case 4:\n r0 = (s.arg1 > s.len___4964);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = s.res___4962;\n { step = 15; continue; }\n case 5:\n case 6:\n r0 = (s.arg2 === undefined);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 7; continue; }\n s.arg2 = (s.len___4964);\n { step = 10; continue; }\n case 7:\n r0 = (s.arg2 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 8; continue; }\n r0 = (s.len___4964 + s.arg2);\n s.arg2 = (r0);\n case 8:\n case 9:\n case 10:\n r0 = (s.arg2 > s.len___4964);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 11; continue; }\n s.arg2 = (s.len___4964);\n case 11:\n case 12:\n s.i___4990 = (s.arg1);\n case 13:\n r0 = (s.i___4990 < s.arg2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 14; continue; }\n s.tmp_1 = r0 = s.res___4962;\n r0 = pxsim_Array__getAt(s.arg0, s.i___4990);\n s.tmp_2 = r0;\n r0 = pxsim_Array__push(s.tmp_1, s.tmp_2);\n r0 = (s.i___4990 + 1);\n s.i___4990 = (r0);\n { step = 13; continue; }\n case 14:\n r0 = s.res___4962;\n case 15:\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_arraySlice__P52.info = {"start":6626,"length":690,"line":215,"column":4,"endLine":240,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"arraySlice","argumentNames":["arr","start","end"]}\n\nfunction helpers_arraySlice__P52_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_arraySlice__P52, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n res___4962: undefined,\n len___4964: undefined,\n i___4990: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction Math_max__P61(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 >= s.arg1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.arg0;\n { step = 3; continue; }\n case 1:\n case 2:\n r0 = s.arg1;\n case 3:\n return leave(s, r0)\n default: oops()\n} } }\nMath_max__P61.info = {"start":10801,"length":105,"line":365,"column":4,"endLine":368,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"max","argumentNames":["a","b"]}\n\nfunction Math_max__P61_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Math_max__P61, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction helpers_arrayForEach__P47(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.len___2852 = undefined;\n s.i___2855 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_Array__length(s.arg0);\n s.len___2852 = (r0);\n s.i___2855 = (0);\n case 1:\n r0 = (s.i___2855 < s.len___2852);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n s.tmp_1 = lambda_3_mk(s);\n s.tmp_1.argL = s.arg1;\n r0 = pxsim_Array__getAt(s.arg0, s.i___2855);\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = s.i___2855;\n setupLambda(s.tmp_1, s.tmp_1.argL);\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n r0 = (s.i___2855 + 1);\n s.i___2855 = (r0);\n { step = 1; continue; }\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_arrayForEach__P47.info = {"start":5156,"length":250,"line":170,"column":4,"endLine":175,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"arrayForEach","argumentNames":["arr","callbackfn"]}\n\nfunction helpers_arrayForEach__P47_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_arrayForEach__P47, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n len___2852: undefined,\n i___2855: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction particles_updateParticles__P1306(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.sources___7758 = undefined;\n s.time___7763 = undefined;\n s.dt___7766 = undefined;\n s.i___7771 = undefined;\n s.tmp_0 = particles_particleSources__P1320_mk(s);\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n s.sources___7758 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.sources___7758);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 5; continue; }\n case 1:\n case 2:\n s.tmp_2 = particles_sortSources__P1308_mk(s);\n s.tmp_2.arg0 = s.sources___7758;\n s.pc = 7; return s.tmp_2;\n case 7:\n r0 = s.retval;\n r0 = pxsim.control.millis();\n s.time___7763 = (r0);\n r0 = (s.time___7763 - globals.lastUpdate___1282);\n s.dt___7766 = (r0);\n globals.lastUpdate___1282 = (s.time___7763);\n s.i___7771 = (0);\n case 3:\n s.tmp_1 = r0 = s.i___7771;\n r0 = pxsim_Array__length(s.sources___7758);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 4; continue; }\n s.tmp_3 = particles_ParticleSource__update__P1288_mk(s);\n r0 = pxsim_Array__getAt(s.sources___7758, s.i___7771);\n s.tmp_3.arg0 = r0;\n s.tmp_3.arg1 = s.dt___7766;\n s.pc = 8; return s.tmp_3;\n case 8:\n r0 = s.retval;\n r0 = (s.i___7771 + 1);\n s.i___7771 = (r0);\n { step = 3; continue; }\n case 4:\n case 5:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_updateParticles__P1306.info = {"start":9027,"length":340,"line":301,"column":4,"endLine":313,"endColumn":5,"fileName":"pxt_modules/game/particles.ts","functionName":"updateParticles","argumentNames":[]}\n\nfunction particles_updateParticles__P1306_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_updateParticles__P1306, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n sources___7758: undefined,\n time___7763: undefined,\n dt___7766: undefined,\n i___7771: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleSource__update__P1288(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.p___7825 = undefined;\n s.current___7841 = undefined;\n s.fixedDt___7848 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleSource__C1285_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.tmp_0.fields["timer"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - s.arg1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["timer"] = (s.tmp_1);\n r0 = s.arg0.fields["lifespan"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 !== undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.tmp_2 = r0 = s.arg0;\n r0 = s.tmp_2.fields["lifespan"];\n s.tmp_4 = r0;\n r0 = (s.tmp_4 - s.arg1);\n s.tmp_3 = r0;\n r0 = (s.tmp_2).fields["lifespan"] = (s.tmp_3);\n r0 = s.arg0.fields["lifespan"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 <= 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = (s.arg0).fields["lifespan"] = (undefined);\n s.tmp_0 = particles_ParticleSource_destroy__P1294_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 28; return s.tmp_0;\n case 28:\n r0 = s.retval;\n case 1:\n case 2:\n { step = 10; continue; }\n case 3:\n r0 = s.arg0.fields["anchor"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 4; continue; }\n r0 = s.tmp_0;\n { step = 5; continue; }\n case 4:\n s.tmp_2 = if_flags_1_mk(s);\n r0 = s.arg0.fields["anchor"];\n s.tmp_2.arg0 = r0;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "flags");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["flags"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["flags"]; }\n else { s.pc = 29; return s.tmp_2; }\n }\n case 29:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 !== undefined);\n case 5:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBool(s.tmp_3);\n if (r0) { step = 6; continue; }\n r0 = s.tmp_3;\n { step = 7; continue; }\n case 6:\n s.tmp_5 = if_flags_1_mk(s);\n r0 = s.arg0.fields["anchor"];\n s.tmp_5.arg0 = r0;\n if (!s.tmp_5.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_5.arg0, "flags");\n } else {\n s.tmp_5.fn = s.tmp_5.arg0.vtable.iface["flags"];\n if (s.tmp_5.fn == null) { s.retval = s.tmp_5.arg0.fields["flags"]; }\n else { s.pc = 30; return s.tmp_5; }\n }\n case 30:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = (s.tmp_4 & 2);\n case 7:\n // jmp value (already in r0)\n s.tmp_6 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_6);\n if (!r0) { step = 8; continue; }\n r0 = (s.arg0).fields["lifespan"] = (750);\n case 8:\n case 9:\n case 10:\n case 11:\n r0 = s.arg0.fields["timer"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 12; continue; }\n r0 = s.tmp_0;\n { step = 13; continue; }\n case 12:\n s.tmp_2 = particles_ParticleSource_enabled__P1292_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 31; return s.tmp_2;\n case 31:\n r0 = s.retval;\n case 13:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 16; continue; }\n s.tmp_4 = r0 = s.arg0;\n r0 = s.tmp_4.fields["timer"];\n s.tmp_6 = r0;\n r0 = s.arg0.fields["period"];\n s.tmp_7 = r0;\n r0 = (s.tmp_6 + s.tmp_7);\n s.tmp_5 = r0;\n r0 = (s.tmp_4).fields["timer"] = (s.tmp_5);\n s.tmp_0 = particles_ParticleFactory__C1337_v0_2_mk(s);\n r0 = s.arg0.fields["_factory"];\n s.tmp_0.arg0 = r0;\n r0 = s.arg0.fields["anchor"];\n s.tmp_0.arg1 = r0;\n if (!checkSubtype(s.tmp_0.arg0, particles_ParticleFactory__C1337_VT)) failedCast(s.tmp_0.arg0);\n s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.createParticle;\n s.pc = 32; return s.tmp_0;\n case 32:\n r0 = s.retval;\n s.p___7825 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.p___7825);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 14; continue; }\n { step = 11; continue; }\n case 14:\n case 15:\n r0 = s.arg0.fields["head"];\n s.tmp_2 = r0;\n r0 = (s.p___7825).fields["next"] = (s.tmp_2);\n r0 = (s.arg0).fields["head"] = (s.p___7825);\n { step = 11; continue; }\n case 16:\n r0 = s.arg0.fields["head"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 17; continue; }\n { step = 27; continue; }\n case 17:\n case 18:\n r0 = s.arg0.fields["head"];\n s.current___7841 = (r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.tmp_0.fields["_dt"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.arg1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["_dt"] = (s.tmp_1);\n r0 = s.arg0.fields["_dt"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 * 256);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 | 0);\n s.fixedDt___7848 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.fixedDt___7848);\n if (!r0) { step = 23; continue; }\n case 19:\n r0 = s.current___7841.fields["lifespan"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 20; continue; }\n s.tmp_2 = r0 = s.current___7841;\n r0 = s.tmp_2.fields["lifespan"];\n s.tmp_4 = r0;\n r0 = (s.tmp_4 - s.arg1);\n s.tmp_3 = r0;\n r0 = (s.tmp_2).fields["lifespan"] = (s.tmp_3);\n s.tmp_0 = particles_ParticleSource__C1285_v4_3_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.current___7841;\n s.tmp_0.arg2 = s.fixedDt___7848;\n if (!checkSubtype(s.tmp_0.arg0, particles_ParticleSource__C1285_VT)) failedCast(s.tmp_0.arg0);\n s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.updateParticle;\n s.pc = 33; return s.tmp_0;\n case 33:\n r0 = s.retval;\n case 20:\n case 21:\n r0 = s.current___7841.fields["next"];\n s.tmp_0 = r0;\n s.current___7841 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 22; continue; }\n { step = 19; continue; }\n case 22:\n r0 = (s.arg0).fields["_dt"] = (0);\n { step = 26; continue; }\n case 23:\n case 24:\n s.tmp_0 = r0 = s.current___7841;\n r0 = s.tmp_0.fields["lifespan"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - s.arg1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["lifespan"] = (s.tmp_1);\n r0 = s.current___7841.fields["next"];\n s.tmp_0 = r0;\n s.current___7841 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 25; continue; }\n { step = 24; continue; }\n case 25:\n case 26:\n case 27:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleSource__update__P1288.info = {"start":3511,"length":1400,"line":121,"column":8,"endLine":161,"endColumn":9,"fileName":"pxt_modules/game/particles.ts","functionName":"_update","argumentNames":["this","dt"]}\n\nfunction particles_ParticleSource__update__P1288_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleSource__update__P1288, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n p___7825: undefined,\n current___7841: undefined,\n fixedDt___7848: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleFactory_createParticle__P1338(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.p___7941 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleFactory__C1337_VT)) failedCast(r0);\n r0 = pxsim_pxtcore_mkClassInstance(particles_Particle__C1283_VT);\n s.p___7941 = (r0);\n s.tmp_0 = r0 = s.p___7941;\n s.tmp_3 = if_x_1_mk(s);\n s.tmp_3.arg0 = s.arg1;\n if (!s.tmp_3.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, "x");\n } else {\n s.tmp_3.fn = s.tmp_3.arg0.vtable.iface["x"];\n if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields["x"]; }\n else { s.pc = 1; return s.tmp_3; }\n }\n case 1:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (s.tmp_2 * 256);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["_x"] = (s.tmp_1);\n s.tmp_0 = r0 = s.p___7941;\n s.tmp_3 = if_y_1_mk(s);\n s.tmp_3.arg0 = s.arg1;\n if (!s.tmp_3.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, "y");\n } else {\n s.tmp_3.fn = s.tmp_3.arg0.vtable.iface["y"];\n if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields["y"]; }\n else { s.pc = 2; return s.tmp_3; }\n }\n case 2:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (s.tmp_2 * 256);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["_y"] = (s.tmp_1);\n r0 = (s.p___7941).fields["vx"] = (globals.zeroFx8___79);\n r0 = (s.p___7941).fields["vy"] = (globals.zeroFx8___79);\n r0 = (s.p___7941).fields["lifespan"] = (500);\n r0 = s.p___7941;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleFactory_createParticle__P1338.info = {"start":1822,"length":282,"line":67,"column":8,"endLine":77,"endColumn":9,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"createParticle","argumentNames":["this","anchor"]}\n\nfunction particles_ParticleFactory_createParticle__P1338_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleFactory_createParticle__P1338, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n p___7941: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleSource_updateParticle__P1300(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleSource__C1285_VT)) failedCast(r0);\n r0 = (s.arg2 >> 10);\n s.arg2 = (r0);\n s.tmp_0 = r0 = s.arg1;\n r0 = s.arg1.fields["vx"];\n s.tmp_2 = r0;\n r0 = s.arg0.fields["ax"];\n s.tmp_4 = r0;\n r0 = pxsim.Math_.imul(s.tmp_4, s.arg2);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 >> 8);\n s.tmp_3 = r0;\n r0 = (s.tmp_2 + s.tmp_3);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["vx"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg1;\n r0 = s.arg1.fields["vy"];\n s.tmp_2 = r0;\n r0 = s.arg0.fields["ay"];\n s.tmp_4 = r0;\n r0 = pxsim.Math_.imul(s.tmp_4, s.arg2);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 >> 8);\n s.tmp_3 = r0;\n r0 = (s.tmp_2 + s.tmp_3);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["vy"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg1;\n r0 = s.arg1.fields["_x"];\n s.tmp_2 = r0;\n r0 = s.arg1.fields["vx"];\n s.tmp_4 = r0;\n r0 = pxsim.Math_.imul(s.tmp_4, s.arg2);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 >> 8);\n s.tmp_3 = r0;\n r0 = (s.tmp_2 + s.tmp_3);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["_x"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg1;\n r0 = s.arg1.fields["_y"];\n s.tmp_2 = r0;\n r0 = s.arg1.fields["vy"];\n s.tmp_4 = r0;\n r0 = pxsim.Math_.imul(s.tmp_4, s.arg2);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 >> 8);\n s.tmp_3 = r0;\n r0 = (s.tmp_2 + s.tmp_3);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["_y"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleSource_updateParticle__P1300.info = {"start":7756,"length":357,"line":265,"column":8,"endLine":273,"endColumn":9,"fileName":"pxt_modules/game/particles.ts","functionName":"updateParticle","argumentNames":["this","p","fixedDt"]}\n\nfunction particles_ParticleSource_updateParticle__P1300_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleSource_updateParticle__P1300, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction Fx_rightShift__P97(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 >> s.arg1);\n return leave(s, r0)\n default: oops()\n} } }\nFx_rightShift__P97.info = {"start":1883,"length":108,"line":62,"column":4,"endLine":64,"endColumn":5,"fileName":"pxt_modules/base/fixed.ts","functionName":"rightShift","argumentNames":["a","n"]}\n\nfunction Fx_rightShift__P97_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Fx_rightShift__P97, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Fx_mul__P89(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim.Math_.imul(s.arg0, s.arg1);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 >> 8);\n return leave(s, r0)\n default: oops()\n} } }\nFx_mul__P89.info = {"start":859,"length":133,"line":29,"column":4,"endLine":31,"endColumn":5,"fileName":"pxt_modules/base/fixed.ts","functionName":"mul","argumentNames":["a","b"]}\n\nfunction Fx_mul__P89_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Fx_mul__P89, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Fx_add__P86(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 + s.arg1);\n return leave(s, r0)\n default: oops()\n} } }\nFx_add__P86.info = {"start":498,"length":118,"line":20,"column":4,"endLine":22,"endColumn":5,"fileName":"pxt_modules/base/fixed.ts","functionName":"add","argumentNames":["a","b"]}\n\nfunction Fx_add__P86_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Fx_add__P86, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction particles_SprayFactory_constructor__P1347(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_SprayFactory__C1341_VT)) failedCast(r0);\n r0 = undefined;\n s.tmp_0 = particles_initTrig__P1331_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.tmp_0 = particles_SprayFactory_setSpeed__P1345_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n s.tmp_0 = particles_SprayFactory_setDirection__P1346_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg2;\n s.tmp_0.arg2 = s.arg3;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_SprayFactory_constructor__P1347.info = {"start":2623,"length":218,"line":98,"column":8,"endLine":103,"endColumn":9,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"inline","argumentNames":["this","speed","centerDegrees","arcDegrees"]}\n\nfunction particles_SprayFactory_constructor__P1347_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_SprayFactory_constructor__P1347, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction particles_SprayFactory_setDirection__P1346(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_SprayFactory__C1341_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_4 = particles_toRadians__P1336_mk(s);\n s.tmp_5 = r0 = s.arg1;\n r0 = (s.arg2 >> 1);\n s.tmp_6 = r0;\n r0 = (s.tmp_5 - s.tmp_6);\n s.tmp_4.arg0 = r0;\n s.pc = 1; return s.tmp_4;\n case 1:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_3 / globals.angleSlice___1328);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["minAngle"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_4 = particles_toRadians__P1336_mk(s);\n s.tmp_4.arg0 = s.arg2;\n s.pc = 2; return s.tmp_4;\n case 2:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_3 / globals.angleSlice___1328);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["spread"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_SprayFactory_setDirection__P1346.info = {"start":3424,"length":228,"line":123,"column":8,"endLine":126,"endColumn":9,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"setDirection","argumentNames":["this","centerDegrees","arcDegrees"]}\n\nfunction particles_SprayFactory_setDirection__P1346_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_SprayFactory_setDirection__P1346, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction particles_toRadians__P1336(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_3 = Math_abs__P59_mk(s);\n s.tmp_3.arg0 = s.arg0;\n s.pc = 3; return s.tmp_3;\n case 3:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (s.tmp_2 % 360);\n s.tmp_1 = r0;\n r0 = (360 - s.tmp_1);\n s.arg0 = (r0);\n { step = 2; continue; }\n case 1:\n r0 = (s.arg0 % 360);\n s.arg0 = (r0);\n case 2:\n r0 = (s.arg0 * globals.ratio___1334);\n return leave(s, r0)\n default: oops()\n} } }\nparticles_toRadians__P1336.info = {"start":1307,"length":206,"line":45,"column":4,"endLine":52,"endColumn":5,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"toRadians","argumentNames":["degrees"]}\n\nfunction particles_toRadians__P1336_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_toRadians__P1336, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleFactory_constructor__P1340(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleFactory__C1337_VT)) failedCast(r0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleFactory_constructor__P1340.info = {"start":1617,"length":78,"line":59,"column":8,"endLine":61,"endColumn":9,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"inline","argumentNames":["this"]}\n\nfunction particles_ParticleFactory_constructor__P1340_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleFactory_constructor__P1340, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction particles_initTrig__P1331(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals.cachedSin___1321);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_2 = particles_cacheSin__P1332_mk(s);\n s.tmp_2.arg0 = 100;\n s.pc = 3; return s.tmp_2;\n case 3:\n r0 = s.retval;\n globals.cachedSin___1321 = (r0);\n s.tmp_0 = particles_cacheCos__P1333_mk(s);\n s.tmp_0.arg0 = 100;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n globals.cachedCos___1322 = (r0);\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_initTrig__P1331.info = {"start":291,"length":155,"line":11,"column":4,"endLine":16,"endColumn":5,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"initTrig","argumentNames":[]}\n\nfunction particles_initTrig__P1331_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_initTrig__P1331, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n} }\n\n\n\n\n\nfunction particles_cacheCos__P1333(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.cos___7647 = undefined;\n s.anglePerSlice___7649 = undefined;\n s.i___7652 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_Array__mk();\n s.cos___7647 = (r0);\n r0 = (2 * 3.141592653589793);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 / s.arg0);\n s.anglePerSlice___7649 = (r0);\n s.i___7652 = (0);\n case 1:\n r0 = (s.i___7652 < s.arg0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n s.tmp_1 = r0 = s.cos___7647;\n r0 = (s.i___7652 * s.anglePerSlice___7649);\n s.tmp_4 = r0;\n r0 = pxsim.Math_.cos(s.tmp_4);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 * 256);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 | 0);\n s.tmp_2 = r0;\n r0 = pxsim_Array__push(s.tmp_1, s.tmp_2);\n r0 = (s.i___7652 + 1);\n s.i___7652 = (r0);\n { step = 1; continue; }\n case 2:\n r0 = s.cos___7647;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_cacheCos__P1333.info = {"start":1005,"length":263,"line":35,"column":4,"endLine":42,"endColumn":5,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"cacheCos","argumentNames":["slices"]}\n\nfunction particles_cacheCos__P1333_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_cacheCos__P1333, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n cos___7647: undefined,\n anglePerSlice___7649: undefined,\n i___7652: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction particles_cacheSin__P1332(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.sin___7668 = undefined;\n s.anglePerSlice___7670 = undefined;\n s.i___7673 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_Array__mk();\n s.sin___7668 = (r0);\n r0 = (2 * 3.141592653589793);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 / s.arg0);\n s.anglePerSlice___7670 = (r0);\n s.i___7673 = (0);\n case 1:\n r0 = (s.i___7673 < s.arg0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n s.tmp_1 = r0 = s.sin___7668;\n r0 = (s.i___7673 * s.anglePerSlice___7670);\n s.tmp_4 = r0;\n r0 = pxsim.Math_.sin(s.tmp_4);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 * 256);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 | 0);\n s.tmp_2 = r0;\n r0 = pxsim_Array__push(s.tmp_1, s.tmp_2);\n r0 = (s.i___7673 + 1);\n s.i___7673 = (r0);\n { step = 1; continue; }\n case 2:\n r0 = s.sin___7668;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_cacheSin__P1332.info = {"start":594,"length":263,"line":22,"column":4,"endLine":29,"endColumn":5,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"cacheSin","argumentNames":["slices"]}\n\nfunction particles_cacheSin__P1332_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_cacheSin__P1332, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n sin___7668: undefined,\n anglePerSlice___7670: undefined,\n i___7673: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleSource_setFactory__P1299(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleSource__C1285_VT)) failedCast(r0);\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n if (!r0) { step = 1; continue; }\n r0 = (s.arg0).fields["_factory"] = (s.arg1);\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleSource_setFactory__P1299.info = {"start":7632,"length":114,"line":260,"column":8,"endLine":263,"endColumn":9,"fileName":"pxt_modules/game/particles.ts","functionName":"setFactory","argumentNames":["this","factory"]}\n\nfunction particles_ParticleSource_setFactory__P1299_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleSource_setFactory__P1299, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleSource_setRate__P1297(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleSource__C1285_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = (1000 / s.arg1);\n s.tmp_2 = r0;\n r0 = pxsim.Math_.ceil(s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["period"] = (s.tmp_1);\n r0 = (s.arg0).fields["timer"] = (0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleSource_setRate__P1297.info = {"start":7310,"length":139,"line":247,"column":8,"endLine":250,"endColumn":9,"fileName":"pxt_modules/game/particles.ts","functionName":"setRate","argumentNames":["this","particlesPerSecond"]}\n\nfunction particles_ParticleSource_setRate__P1297_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleSource_setRate__P1297, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleSource_setAnchor__P1296(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleSource__C1285_VT)) failedCast(r0);\n r0 = (s.arg0).fields["anchor"] = (s.arg1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleSource_setAnchor__P1296.info = {"start":7101,"length":79,"line":239,"column":8,"endLine":241,"endColumn":9,"fileName":"pxt_modules/game/particles.ts","functionName":"setAnchor","argumentNames":["this","anchor"]}\n\nfunction particles_ParticleSource_setAnchor__P1296_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleSource_setAnchor__P1296, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleSource_clear__P1295(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleSource__C1285_VT)) failedCast(r0);\n r0 = (s.arg0).fields["head"] = (undefined);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleSource_clear__P1295.info = {"start":6931,"length":54,"line":231,"column":8,"endLine":233,"endColumn":9,"fileName":"pxt_modules/game/particles.ts","functionName":"clear","argumentNames":["this"]}\n\nfunction particles_ParticleSource_clear__P1295_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleSource_clear__P1295, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleSource_setAcceleration__P1290(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleSource__C1285_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg1 * 256);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["ax"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg2 * 256);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["ay"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleSource_setAcceleration__P1290.info = {"start":5843,"length":113,"line":191,"column":8,"endLine":194,"endColumn":9,"fileName":"pxt_modules/game/particles.ts","functionName":"setAcceleration","argumentNames":["this","ax","ay"]}\n\nfunction particles_ParticleSource_setAcceleration__P1290_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleSource_setAcceleration__P1290, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction sprites_BaseSprite_constructor__P516(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_BaseSprite__C508_VT)) failedCast(r0);\n s.tmp_0 = sprites_BaseSprite_z__P511_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.tmp_0 = scene_Scene_addSprite__P927_mk(s);\n s.tmp_1 = game_currentScene__P769_mk(s);\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = s.arg0;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_BaseSprite_constructor__P516.info = {"start":344,"length":170,"line":15,"column":8,"endLine":20,"endColumn":9,"fileName":"pxt_modules/game/basesprite.ts","functionName":"inline","argumentNames":["this","z"]}\n\nfunction sprites_BaseSprite_constructor__P516_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_BaseSprite_constructor__P516, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction scene_Scene_addSprite__P927(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Scene__C923_VT)) failedCast(r0);\n r0 = s.arg0.fields["allSprites"];\n s.tmp_0 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.arg1);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.tmp_0.fields["spriteNextId"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + 1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["spriteNextId"] = (s.tmp_1);\n s.tmp_3 = if_id_2_mk(s);\n s.tmp_3.arg0 = s.arg1;\n s.tmp_3.arg1 = s.tmp_2;\n if (!s.tmp_3.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapSetByString(s.tmp_3.arg0, "id", s.tmp_3.arg1);\n } else {\n s.tmp_3.fn = s.tmp_3.arg0.vtable.iface["set/id"];\n if (s.tmp_3.fn === null) { s.tmp_3.arg0.fields["id"] = s.tmp_3.arg1; }\n else if (s.tmp_3.fn === undefined) { failedCast(s.tmp_3.arg0) }\n else { s.pc = 1; return s.tmp_3; }\n }\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_Scene_addSprite__P927.info = {"start":5795,"length":128,"line":168,"column":8,"endLine":171,"endColumn":9,"fileName":"pxt_modules/game/scene.ts","functionName":"addSprite","argumentNames":["this","sprite"]}\n\nfunction scene_Scene_addSprite__P927_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Scene_addSprite__P927, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction sprites_BaseSprite_z__P511(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_BaseSprite__C508_VT)) failedCast(r0);\n r0 = s.arg0.fields["_z"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 !== s.arg1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = (s.arg0).fields["_z"] = (s.arg1);\n s.tmp_1 = game_currentScene__P769_mk(s);\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = s.tmp_0.fields["flags"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 | 2);\n s.tmp_2 = r0;\n r0 = (s.tmp_0).fields["flags"] = (s.tmp_2);\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_BaseSprite_z__P511.info = {"start":656,"length":174,"line":30,"column":8,"endLine":35,"endColumn":9,"fileName":"pxt_modules/game/basesprite.ts","functionName":"z","argumentNames":["this","v"]}\n\nfunction sprites_BaseSprite_z__P511_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_BaseSprite_z__P511, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction sprites_BaseSprite_z__P510(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_BaseSprite__C508_VT)) failedCast(r0);\n r0 = s.arg0.fields["_z"];\n return leave(s, r0)\n default: oops()\n} } }\nsprites_BaseSprite_z__P510.info = {"start":591,"length":55,"line":26,"column":8,"endLine":28,"endColumn":9,"fileName":"pxt_modules/game/basesprite.ts","functionName":"z","argumentNames":["this"]}\n\nfunction sprites_BaseSprite_z__P510_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_BaseSprite_z__P510, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction helpers_arrayShift__P38(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_Array_.removeAt(s.arg0, 0);\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_arrayShift__P38.info = {"start":1762,"length":82,"line":69,"column":4,"endLine":71,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"arrayShift","argumentNames":["arr"]}\n\nfunction helpers_arrayShift__P38_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_arrayShift__P38, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction particles_SprayFactory_setSpeed__P1345(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_SprayFactory__C1341_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg1 * 256);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["speed"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_SprayFactory_setSpeed__P1345.info = {"start":3322,"length":92,"line":119,"column":8,"endLine":121,"endColumn":9,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"setSpeed","argumentNames":["this","pixelsPerSecond"]}\n\nfunction particles_SprayFactory_setSpeed__P1345_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_SprayFactory_setSpeed__P1345, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction particles_ConfettiFactory_constructor__P1366(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.confetti___7975 = undefined;\n s.i___7991 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ConfettiFactory__C1364_VT)) failedCast(r0);\n r0 = pxsim_Array__mk();\n s.tmp_0 = r0;\n r0 = pxsim.image.ofBuffer(_hex7978);\n s.tmp_1 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_1);\n r0 = pxsim.image.ofBuffer(_hex7980);\n s.tmp_2 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_2);\n r0 = pxsim.image.ofBuffer(_hex7982);\n s.tmp_3 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_3);\n r0 = pxsim.image.ofBuffer(_hex7984);\n s.tmp_4 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_4);\n r0 = pxsim.image.ofBuffer(_hex7986);\n s.tmp_5 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_5);\n s.confetti___7975 = (s.tmp_0);\n s.tmp_0 = particles_ShapeFactory_constructor__P1363_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.tmp_0.arg2 = s.arg2;\n r0 = pxsim_Array__getAt(s.confetti___7975, 0);\n s.tmp_0.arg3 = r0;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.i___7991 = (1);\n case 1:\n s.tmp_1 = r0 = s.i___7991;\n r0 = pxsim_Array__length(s.confetti___7975);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n s.tmp_3 = particles_ShapeFactory_addShape__P1360_mk(s);\n s.tmp_3.arg0 = s.arg0;\n r0 = pxsim_Array__getAt(s.confetti___7975, s.i___7991);\n s.tmp_3.arg1 = r0;\n s.pc = 4; return s.tmp_3;\n case 4:\n r0 = s.retval;\n r0 = (s.i___7991 + 1);\n s.i___7991 = (r0);\n { step = 1; continue; }\n case 2:\n r0 = (s.arg0).fields["minLifespan"] = (1000);\n r0 = (s.arg0).fields["maxLifespan"] = (4500);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ConfettiFactory_constructor__P1366.info = {"start":7755,"length":706,"line":247,"column":8,"endLine":274,"endColumn":9,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"inline","argumentNames":["this","xRange","yRange"]}\n\nfunction particles_ConfettiFactory_constructor__P1366_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ConfettiFactory_constructor__P1366, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n confetti___7975: undefined,\n i___7991: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\nconst _hex7978 = pxsim.BufferMethods.createBufferFromHex("87040100010000000f000000")\nconst _hex7980 = pxsim.BufferMethods.createBufferFromHex("8704010002000000ff000000")\nconst _hex7982 = pxsim.BufferMethods.createBufferFromHex("87040200010000000f0000000f000000")\nconst _hex7984 = pxsim.BufferMethods.createBufferFromHex("8704020002000000ff0000000f000000")\nconst _hex7986 = pxsim.BufferMethods.createBufferFromHex("87040200020000000f000000ff000000")\n\n\n\n\nfunction particles_ShapeFactory_constructor__P1363(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ShapeFactory__C1358_VT)) failedCast(r0);\n s.tmp_0 = particles_AreaFactory_constructor__P1352_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.tmp_0.arg2 = s.arg2;\n s.tmp_0.arg3 = undefined;\n s.tmp_0.arg4 = undefined;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = pxsim_Array__mk();\n s.tmp_0 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.arg3);\n r0 = (s.arg0).fields["sources"] = (s.tmp_0);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_ImageMethods.width(s.arg3);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 >> 1);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 * 256);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["ox"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_ImageMethods.height(s.arg3);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 >> 1);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 * 256);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["oy"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ShapeFactory_constructor__P1363.info = {"start":6668,"length":285,"line":212,"column":8,"endLine":219,"endColumn":9,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"inline","argumentNames":["this","xRange","yRange","source"]}\n\nfunction particles_ShapeFactory_constructor__P1363_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ShapeFactory_constructor__P1363, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction particles_AreaFactory_constructor__P1352(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_AreaFactory__C1348_VT)) failedCast(r0);\n s.tmp_0 = particles_SprayFactory_constructor__P1347_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = 40;\n s.tmp_0.arg2 = 0;\n s.tmp_0.arg3 = 90;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n r0 = (s.arg0).fields["xRange"] = (s.arg1);\n r0 = (s.arg0).fields["yRange"] = (s.arg2);\n r0 = pxsim_numops_toBoolDecr(s.arg3);\n if (!r0) { step = 1; continue; }\n r0 = s.arg3;\n { step = 2; continue; }\n case 1:\n r0 = 150;\n case 2:\n // jmp value (already in r0)\n s.tmp_0 = r0;\n r0 = (s.arg0).fields["minLifespan"] = (s.tmp_0);\n r0 = pxsim_numops_toBoolDecr(s.arg4);\n if (!r0) { step = 3; continue; }\n r0 = s.arg4;\n { step = 4; continue; }\n case 3:\n r0 = 850;\n case 4:\n // jmp value (already in r0)\n s.tmp_0 = r0;\n r0 = (s.arg0).fields["maxLifespan"] = (s.tmp_0);\n r0 = pxsim_pxtcore_mkClassInstance(Math_FastRandom__C1156_VT);\n s.tmp_0 = r0;\n s.tmp_1 = Math_FastRandom_constructor__P1163_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = undefined;\n s.pc = 6; return s.tmp_1;\n case 6:\n r0 = s.retval;\n r0 = (s.arg0).fields["galois"] = (s.tmp_0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_AreaFactory_constructor__P1352.info = {"start":3950,"length":374,"line":139,"column":8,"endLine":146,"endColumn":9,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"inline","argumentNames":["this","xRange","yRange","minLifespan","maxLifespan"]}\n\nfunction particles_AreaFactory_constructor__P1352_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_AreaFactory_constructor__P1352, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n} }\n\n\n\n\n\nfunction particles_ShapeFactory_addShape__P1360(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ShapeFactory__C1358_VT)) failedCast(r0);\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n if (!r0) { step = 1; continue; }\n r0 = s.arg0.fields["sources"];\n s.tmp_0 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.arg1);\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ShapeFactory_addShape__P1360.info = {"start":7079,"length":83,"line":225,"column":8,"endLine":227,"endColumn":9,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"addShape","argumentNames":["this","shape"]}\n\nfunction particles_ShapeFactory_addShape__P1360_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ShapeFactory_addShape__P1360, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction effects_ScreenEffect_constructor__P1418(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, effects_ScreenEffect__C1414_VT)) failedCast(r0);\n s.tmp_0 = effects_ParticleEffect_constructor__P1407_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.tmp_0.arg2 = s.arg3;\n s.tmp_0.arg3 = s.arg4;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = (s.arg0).fields["sceneDefaultRate"] = (s.arg2);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\neffects_ScreenEffect_constructor__P1418.info = {"start":2771,"length":332,"line":80,"column":8,"endLine":84,"endColumn":9,"fileName":"pxt_modules/game/particleeffects.ts","functionName":"inline","argumentNames":["this","anchorDefault","sceneDefault","defaultLifespan","sourceFactory"]}\n\nfunction effects_ScreenEffect_constructor__P1418_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: effects_ScreenEffect_constructor__P1418, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n} }\n\n\n\n\n\nfunction effects_ParticleEffect_constructor__P1407(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, effects_ParticleEffect__C1404_VT)) failedCast(r0);\n r0 = (s.arg0).fields["sourceFactory"] = (s.arg3);\n r0 = (s.arg0).fields["defaultRate"] = (s.arg1);\n r0 = (s.arg0).fields["defaultLifespan"] = (s.arg2);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\neffects_ParticleEffect_constructor__P1407.info = {"start":384,"length":364,"line":13,"column":8,"endLine":18,"endColumn":9,"fileName":"pxt_modules/game/particleeffects.ts","functionName":"inline","argumentNames":["this","defaultParticlesPerSecond","defaultLifespan","sourceFactory"]}\n\nfunction effects_ParticleEffect_constructor__P1407_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: effects_ParticleEffect_constructor__P1407, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction effects_ScreenEffect_startScreenEffect__P1416(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, effects_ScreenEffect__C1414_VT)) failedCast(r0);\n r0 = s.arg0.fields["sourceFactory"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 13; continue; }\n case 1:\n case 2:\n r0 = s.arg0.fields["source"];\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBool(s.tmp_3);\n if (r0) { step = 3; continue; }\n r0 = s.tmp_3;\n { step = 4; continue; }\n case 3:\n s.tmp_4 = particles_ParticleSource_enabled__P1292_mk(s);\n r0 = s.arg0.fields["source"];\n s.tmp_4.arg0 = r0;\n s.pc = 14; return s.tmp_4;\n case 14:\n r0 = s.retval;\n case 4:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_5);\n if (!r0) { step = 7; continue; }\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n if (!r0) { step = 5; continue; }\n r0 = s.arg0.fields["source"];\n s.tmp_6 = r0;\n r0 = (s.tmp_6).fields["lifespan"] = (s.arg1);\n case 5:\n case 6:\n { step = 13; continue; }\n case 7:\n case 8:\n s.tmp_0 = effects_ScreenEffect_endScreenEffect__P1417_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 15; return s.tmp_0;\n case 15:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkClassInstance(effects_SceneAnchor__C1408_VT);\n s.tmp_0 = r0;\n s.tmp_1 = effects_SceneAnchor_constructor__P1413_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.pc = 16; return s.tmp_1;\n case 16:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(s.arg2);\n if (!r0) { step = 9; continue; }\n r0 = s.arg2;\n { step = 10; continue; }\n case 9:\n r0 = s.arg0.fields["sceneDefaultRate"];\n case 10:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n s.tmp_3 = r0 = s.arg0;\n s.tmp_5 = lambda_3_mk(s);\n r0 = s.arg0.fields["sourceFactory"];\n s.tmp_5.argL = r0;\n s.tmp_5.arg0 = s.tmp_0;\n s.tmp_5.arg1 = s.tmp_2;\n setupLambda(s.tmp_5, s.tmp_5.argL);\n s.pc = 17; return s.tmp_5;\n case 17:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = (s.tmp_3).fields["source"] = (s.tmp_4);\n r0 = s.arg0.fields["source"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0).fields["priority"] = (10);\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n if (!r0) { step = 11; continue; }\n r0 = s.arg0.fields["source"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0).fields["lifespan"] = (s.arg1);\n case 11:\n case 12:\n case 13:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\neffects_ScreenEffect_startScreenEffect__P1416.info = {"start":3541,"length":601,"line":96,"column":8,"endLine":111,"endColumn":9,"fileName":"pxt_modules/game/particleeffects.ts","functionName":"startScreenEffect","argumentNames":["this","duration","particlesPerSecond"]}\n\nfunction effects_ScreenEffect_startScreenEffect__P1416_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: effects_ScreenEffect_startScreenEffect__P1416, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction effects_SceneAnchor_constructor__P1413(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, effects_SceneAnchor__C1408_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_2 = game_currentScene__P769_mk(s);\n s.pc = 1; return s.tmp_2;\n case 1:\n r0 = s.retval;\n r0 = r0.fields["camera"];\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["camera"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\neffects_SceneAnchor_constructor__P1413.info = {"start":2156,"length":79,"line":54,"column":8,"endLine":56,"endColumn":9,"fileName":"pxt_modules/game/particleeffects.ts","functionName":"inline","argumentNames":["this"]}\n\nfunction effects_SceneAnchor_constructor__P1413_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: effects_SceneAnchor_constructor__P1413, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction info_score__P798(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = info_PlayerInfo_score__P827_mk(s);\n s.tmp_0.arg0 = globals.player1___845;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_score__P798.info = {"start":6767,"length":63,"line":224,"column":4,"endLine":226,"endColumn":5,"fileName":"pxt_modules/game/info.ts","functionName":"score","argumentNames":[]}\n\nfunction info_score__P798_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_score__P798, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction info_PlayerInfo_constructor__P840(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, info_PlayerInfo__C823_VT)) failedCast(r0);\n r0 = (s.arg0).fields["_player"] = (s.arg1);\n r0 = (s.arg0).fields["border"] = (1);\n r0 = (s.arg0).fields["fc"] = (1);\n r0 = (s.arg0).fields["visilibity"] = (0);\n r0 = (s.arg0).fields["showScore"] = (undefined);\n r0 = (s.arg0).fields["showLife"] = (undefined);\n r0 = (s.arg0).fields["showPlayer"] = (undefined);\n r0 = (s.arg0).fields["left"] = (undefined);\n r0 = (s.arg0).fields["up"] = (undefined);\n r0 = s.arg0.fields["_player"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 === 1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = pxsim_ImageMethods.isMono(globals.screen___464);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 1; continue; }\n r0 = 0;\n { step = 2; continue; }\n case 1:\n r0 = 2;\n case 2:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = (s.arg0).fields["bg"] = (s.tmp_3);\n r0 = (s.arg0).fields["x"] = (0);\n r0 = (s.arg0).fields["y"] = (0);\n { step = 14; continue; }\n case 3:\n r0 = (s.arg1 === 2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 6; continue; }\n r0 = pxsim_ImageMethods.isMono(globals.screen___464);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 4; continue; }\n r0 = 0;\n { step = 5; continue; }\n case 4:\n r0 = 8;\n case 5:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = (s.arg0).fields["bg"] = (s.tmp_2);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["x"] = (s.tmp_1);\n r0 = (s.arg0).fields["y"] = (0);\n r0 = (s.arg0).fields["left"] = (true);\n { step = 13; continue; }\n case 6:\n r0 = (s.arg1 === 3);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 9; continue; }\n r0 = pxsim_ImageMethods.isMono(globals.screen___464);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 7; continue; }\n r0 = 0;\n { step = 8; continue; }\n case 7:\n r0 = 4;\n case 8:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = (s.arg0).fields["bg"] = (s.tmp_2);\n r0 = (s.arg0).fields["x"] = (0);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["y"] = (s.tmp_1);\n r0 = (s.arg0).fields["up"] = (true);\n { step = 12; continue; }\n case 9:\n r0 = pxsim_ImageMethods.isMono(globals.screen___464);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 10; continue; }\n r0 = 0;\n { step = 11; continue; }\n case 10:\n r0 = 7;\n case 11:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = (s.arg0).fields["bg"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["x"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["y"] = (s.tmp_1);\n r0 = (s.arg0).fields["left"] = (true);\n r0 = (s.arg0).fields["up"] = (true);\n case 12:\n case 13:\n case 14:\n r0 = pxsim_numops_toBoolDecr(globals.players___746);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 15; continue; }\n r0 = pxsim_Array__mk();\n globals.players___746 = (r0);\n case 15:\n case 16:\n s.tmp_0 = r0 = globals.players___746;\n r0 = s.arg0.fields["_player"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - 1);\n s.tmp_1 = r0;\n r0 = pxsim_Array_.setAt(s.tmp_0, s.tmp_1, s.arg0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_PlayerInfo_constructor__P840.info = {"start":15459,"length":1370,"line":516,"column":8,"endLine":553,"endColumn":9,"fileName":"pxt_modules/game/info.ts","functionName":"inline","argumentNames":["this","player"]}\n\nfunction info_PlayerInfo_constructor__P840_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_PlayerInfo_constructor__P840, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction info_PlayerInfo_score__P827(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.state___4124 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, info_PlayerInfo__C823_VT)) failedCast(r0);\n r0 = s.arg0.fields["showScore"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 === undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = (s.arg0).fields["showScore"] = (true);\n case 1:\n case 2:\n r0 = s.arg0.fields["showPlayer"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 === undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = (s.arg0).fields["showPlayer"] = (true);\n case 3:\n case 4:\n s.tmp_0 = info_PlayerInfo_getState__P825_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 7; return s.tmp_0;\n case 7:\n r0 = s.retval;\n s.state___4124 = (r0);\n r0 = s.state___4124.fields["score"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 == null);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = (s.state___4124).fields["score"] = (0);\n case 5:\n case 6:\n r0 = s.state___4124.fields["score"];\n return leave(s, r0)\n default: oops()\n} } }\ninfo_PlayerInfo_score__P827.info = {"start":17505,"length":314,"line":579,"column":8,"endLine":588,"endColumn":9,"fileName":"pxt_modules/game/info.ts","functionName":"score","argumentNames":["this"]}\n\nfunction info_PlayerInfo_score__P827_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_PlayerInfo_score__P827, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n state___4124: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction info_PlayerInfo_getState__P825(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, info_PlayerInfo__C823_VT)) failedCast(r0);\n s.tmp_0 = info_PlayerInfo_init__P824_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = globals.infoState___745.fields["playerStates"];\n s.tmp_0 = r0;\n r0 = s.arg0.fields["_player"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - 1);\n s.tmp_1 = r0;\n r0 = pxsim_Array__getAt(s.tmp_0, s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\ninfo_PlayerInfo_getState__P825.info = {"start":17101,"length":121,"line":563,"column":8,"endLine":566,"endColumn":9,"fileName":"pxt_modules/game/info.ts","functionName":"getState","argumentNames":["this"]}\n\nfunction info_PlayerInfo_getState__P825_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_PlayerInfo_getState__P825, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction info_PlayerInfo_init__P824(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, info_PlayerInfo__C823_VT)) failedCast(r0);\n s.tmp_0 = info_initHUD__P793_mk(s);\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n r0 = s.arg0.fields["_player"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > 1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_2 = info_initMultiHUD__P794_mk(s);\n s.pc = 6; return s.tmp_2;\n case 6:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = globals.infoState___745.fields["playerStates"];\n s.tmp_3 = r0;\n r0 = s.arg0.fields["_player"];\n s.tmp_5 = r0;\n r0 = (s.tmp_5 - 1);\n s.tmp_4 = r0;\n r0 = pxsim_Array__getAt(s.tmp_3, s.tmp_4);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = pxsim_pxtcore_mkClassInstance(info_PlayerState__C740_VT);\n s.tmp_6 = r0;\n r0 = undefined;\n r0 = globals.infoState___745.fields["playerStates"];\n s.tmp_7 = r0;\n r0 = s.arg0.fields["_player"];\n s.tmp_9 = r0;\n r0 = (s.tmp_9 - 1);\n s.tmp_8 = r0;\n r0 = pxsim_Array_.setAt(s.tmp_7, s.tmp_8, s.tmp_6);\n case 3:\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_PlayerInfo_init__P824.info = {"start":16839,"length":252,"line":555,"column":8,"endLine":561,"endColumn":9,"fileName":"pxt_modules/game/info.ts","functionName":"init","argumentNames":["this"]}\n\nfunction info_PlayerInfo_init__P824_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_PlayerInfo_init__P824, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction info_initMultiHUD__P794(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = globals.infoState___745.fields["visibilityFlag"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 & 16);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 5; continue; }\n case 1:\n case 2:\n s.tmp_2 = r0 = globals.infoState___745;\n r0 = s.tmp_2.fields["visibilityFlag"];\n s.tmp_4 = r0;\n r0 = (s.tmp_4 | 16);\n s.tmp_3 = r0;\n r0 = (s.tmp_2).fields["visibilityFlag"] = (s.tmp_3);\n r0 = globals.infoState___745.fields["visibilityFlag"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 & 32);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.tmp_4 = r0 = globals.infoState___745;\n s.tmp_6 = info_defaultMultiplayerHeartImage__P796_mk(s);\n s.pc = 6; return s.tmp_6;\n case 6:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = (s.tmp_4).fields["heartImage"] = (s.tmp_5);\n case 3:\n case 4:\n s.tmp_0 = r0 = globals.infoState___745;\n r0 = pxsim.image.ofBuffer(_hex4292);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["multiplierImage"] = (s.tmp_1);\n case 5:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_initMultiHUD__P794.info = {"start":4706,"length":393,"line":150,"column":4,"endLine":161,"endColumn":5,"fileName":"pxt_modules/game/info.ts","functionName":"initMultiHUD","argumentNames":[]}\n\nfunction info_initMultiHUD__P794_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_initMultiHUD__P794, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n} }\n\nconst _hex4292 = pxsim.BufferMethods.createBufferFromHex("8704030003000000010100001000000001010000")\n\n\n\n\nfunction info_defaultMultiplayerHeartImage__P796(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_ImageMethods.isMono(globals.screen___464);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim.image.ofBuffer(_hex4296);\n { step = 2; continue; }\n case 1:\n r0 = pxsim.image.ofBuffer(_hex4298);\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = s.tmp_1;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_defaultMultiplayerHeartImage__P796.info = {"start":5703,"length":503,"line":186,"column":4,"endLine":203,"endColumn":5,"fileName":"pxt_modules/game/info.ts","functionName":"defaultMultiplayerHeartImage","argumentNames":[]}\n\nfunction info_defaultMultiplayerHeartImage__P796_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_defaultMultiplayerHeartImage__P796, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n} }\n\nconst _hex4296 = pxsim.BufferMethods.createBufferFromHex("870407000500000000000000100100000110000010000100011000001001000000000000")\nconst _hex4298 = pxsim.BufferMethods.createBufferFromHex("870407000500000000000000100100002112000010240100411200001001000000000000")\n\n\n\n\nfunction info_initHUD__P793(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals.infoState___745);\n if (!r0) { step = 1; continue; }\n { step = 3; continue; }\n case 1:\n case 2:\n r0 = pxsim_pxtcore_mkClassInstance(info_InfoState__C742_VT);\n s.tmp_0 = r0;\n s.tmp_1 = info_InfoState_constructor__P743_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.pc = 4; return s.tmp_1;\n case 4:\n r0 = s.retval;\n globals.infoState___745 = (s.tmp_0);\n s.tmp_0 = scene_createRenderable__P896_mk(s);\n s.tmp_0.arg0 = 100;\n s.tmp_0.arg1 = inline__P4306;\n s.tmp_0.arg2 = undefined;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n case 3:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_initHUD__P793.info = {"start":2588,"length":2112,"line":97,"column":4,"endLine":148,"endColumn":5,"fileName":"pxt_modules/game/info.ts","functionName":"initHUD","argumentNames":[]}\n\nfunction info_initHUD__P793_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_initHUD__P793, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n} }\n\n\n\n\n\nfunction inline__P4306(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.ps___4313 = undefined;\n s.p___4332 = undefined;\n s.scene___4363 = undefined;\n s.elapsed___4365 = undefined;\n s.t___4372 = undefined;\n r0 = pxsim_numops_toBoolDecr(globals.infoState___745);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 23; continue; }\n case 1:\n case 2:\n r0 = globals.infoState___745.fields["visibilityFlag"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 & 16);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.tmp_2 = helpers_arrayFilter__P48_mk(s);\n s.tmp_2.arg0 = globals.players___746;\n s.tmp_2.arg1 = inline__P4316;\n s.pc = 24; return s.tmp_2;\n case 24:\n r0 = s.retval;\n s.ps___4313 = (r0);\n s.tmp_0 = helpers_arrayForEach__P47_mk(s);\n s.tmp_0.arg0 = s.ps___4313;\n s.tmp_0.arg1 = inline__P4322;\n s.pc = 25; return s.tmp_0;\n case 25:\n r0 = s.retval;\n s.tmp_0 = helpers_arrayForEach__P47_mk(s);\n s.tmp_0.arg0 = s.ps___4313;\n s.tmp_0.arg1 = inline__P4328;\n s.pc = 26; return s.tmp_0;\n case 26:\n r0 = s.retval;\n { step = 12; continue; }\n case 3:\n s.p___4332 = (globals.player1___845);\n s.tmp_1 = info_PlayerInfo_hasScore__P830_mk(s);\n s.tmp_1.arg0 = s.p___4332;\n s.pc = 27; return s.tmp_1;\n case 27:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 4; continue; }\n r0 = s.tmp_0;\n { step = 5; continue; }\n case 4:\n r0 = globals.infoState___745.fields["visibilityFlag"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 & 2);\n case 5:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 6; continue; }\n s.tmp_4 = info_PlayerInfo_drawScore__P838_mk(s);\n s.tmp_4.arg0 = s.p___4332;\n s.pc = 28; return s.tmp_4;\n case 28:\n r0 = s.retval;\n case 6:\n case 7:\n s.tmp_1 = info_PlayerInfo_hasLife__P834_mk(s);\n s.tmp_1.arg0 = s.p___4332;\n s.pc = 29; return s.tmp_1;\n case 29:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 8; continue; }\n r0 = s.tmp_0;\n { step = 9; continue; }\n case 8:\n r0 = globals.infoState___745.fields["visibilityFlag"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 & 4);\n case 9:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 10; continue; }\n s.tmp_4 = info_PlayerInfo_drawLives__P839_mk(s);\n s.tmp_4.arg0 = s.p___4332;\n s.pc = 30; return s.tmp_4;\n case 30:\n r0 = s.retval;\n case 10:\n case 11:\n s.tmp_0 = info_PlayerInfo_raiseLifeZero__P836_mk(s);\n s.tmp_0.arg0 = s.p___4332;\n s.tmp_0.arg1 = true;\n s.pc = 31; return s.tmp_0;\n case 31:\n r0 = s.retval;\n case 12:\n r0 = globals.infoState___745.fields["gameEnd"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 !== undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 13; continue; }\n r0 = s.tmp_0;\n { step = 14; continue; }\n case 13:\n r0 = globals.infoState___745.fields["visibilityFlag"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 & 1);\n case 14:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 21; continue; }\n s.tmp_4 = game_currentScene__P769_mk(s);\n s.pc = 32; return s.tmp_4;\n case 32:\n r0 = s.retval;\n s.scene___4363 = (r0);\n r0 = globals.infoState___745.fields["gameEnd"];\n s.tmp_0 = r0;\n r0 = s.scene___4363.fields["_millis"];\n s.tmp_1 = r0;\n r0 = (s.tmp_0 - s.tmp_1);\n s.elapsed___4365 = (r0);\n s.tmp_0 = info_drawTimer__P822_mk(s);\n s.tmp_0.arg0 = s.elapsed___4365;\n s.pc = 33; return s.tmp_0;\n case 33:\n r0 = s.retval;\n r0 = (s.elapsed___4365 / 1000);\n s.t___4372 = (r0);\n r0 = (s.t___4372 <= 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 19; continue; }\n s.t___4372 = (0);\n r0 = globals.infoState___745.fields["countdownExpired"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 17; continue; }\n r0 = (globals.infoState___745).fields["countdownExpired"] = (true);\n r0 = globals.infoState___745.fields["countdownEndHandler"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 15; continue; }\n s.tmp_1 = lambda_1_mk(s);\n r0 = globals.infoState___745.fields["countdownEndHandler"];\n s.tmp_1.argL = r0;\n setupLambda(s.tmp_1, s.tmp_1.argL);\n s.pc = 34; return s.tmp_1;\n case 34:\n r0 = s.retval;\n r0 = (globals.infoState___745).fields["gameEnd"] = (undefined);\n { step = 16; continue; }\n case 15:\n s.tmp_0 = game_over__P1026_mk(s);\n s.tmp_0.arg0 = false;\n s.tmp_0.arg1 = undefined;\n s.pc = 35; return s.tmp_0;\n case 35:\n r0 = s.retval;\n case 16:\n case 17:\n case 18:\n case 19:\n case 20:\n case 21:\n case 22:\n case 23:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P4306.info = {"start":2748,"length":1935,"line":104,"column":12,"endLine":146,"endColumn":13,"fileName":"pxt_modules/game/info.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P4306_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P4306, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n ps___4313: undefined,\n p___4332: undefined,\n scene___4363: undefined,\n elapsed___4365: undefined,\n t___4372: undefined,\n} }\n\n\n\n\n\nfunction inline__P4316(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_numops_toBoolDecr(s.arg0);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\ninline__P4316.info = {"start":2996,"length":8,"line":109,"column":46,"endLine":109,"endColumn":54,"fileName":"pxt_modules/game/info.ts","functionName":"inline","argumentNames":["p"]}\n\nfunction inline__P4316_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P4316, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P4322(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = info_PlayerInfo_drawPlayer__P837_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P4322.info = {"start":3080,"length":19,"line":111,"column":31,"endLine":111,"endColumn":50,"fileName":"pxt_modules/game/info.ts","functionName":"inline","argumentNames":["p"]}\n\nfunction inline__P4322_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P4322, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P4328(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = info_PlayerInfo_raiseLifeZero__P836_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = false;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P4328.info = {"start":3182,"length":27,"line":113,"column":31,"endLine":113,"endColumn":58,"fileName":"pxt_modules/game/info.ts","functionName":"inline","argumentNames":["p"]}\n\nfunction inline__P4328_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P4328, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_over__P1026(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.scoreInfo___4404 = undefined;\n s.highScore___4407 = undefined;\n s.overDialog___4434 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = game_init__P1018_mk(s);\n s.pc = 18; return s.tmp_0;\n case 18:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(globals.__isOver___1014);\n if (!r0) { step = 1; continue; }\n { step = 17; continue; }\n case 1:\n case 2:\n globals.__isOver___1014 = (true);\n r0 = pxsim_numops_toBoolDecr(globals.__gameOverHandler___1013);\n if (!r0) { step = 3; continue; }\n s.tmp_0 = lambda_2_mk(s);\n s.tmp_0.argL = globals.__gameOverHandler___1013;\n s.tmp_0.arg0 = s.arg0;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 19; return s.tmp_0;\n case 19:\n r0 = s.retval;\n { step = 16; continue; }\n case 3:\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 6; continue; }\n r0 = pxsim_numops_toBoolDecr(s.arg0);\n if (!r0) { step = 4; continue; }\n r0 = globals.winEffect___1001;\n { step = 5; continue; }\n case 4:\n r0 = globals.loseEffect___1003;\n case 5:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n s.arg1 = (s.tmp_2);\n case 6:\n case 7:\n s.tmp_0 = info_PlayerInfo_getState__P825_mk(s);\n s.tmp_0.arg0 = globals.player1___845;\n s.pc = 20; return s.tmp_0;\n case 20:\n r0 = s.retval;\n s.scoreInfo___4404 = (r0);\n s.tmp_0 = info_highScore__P800_mk(s);\n s.pc = 21; return s.tmp_0;\n case 21:\n r0 = s.retval;\n s.highScore___4407 = (r0);\n r0 = s.scoreInfo___4404.fields["score"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > s.highScore___4407);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 8; continue; }\n s.tmp_2 = info_saveHighScore__P797_mk(s);\n s.pc = 22; return s.tmp_2;\n case 22:\n r0 = s.retval;\n case 8:\n case 9:\n case 10:\n s.tmp_0 = r0 = globals._sceneStack___1009;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 11; continue; }\n r0 = s.tmp_0;\n { step = 12; continue; }\n case 11:\n r0 = pxsim_Array__length(globals._sceneStack___1009);\n case 12:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 13; continue; }\n s.tmp_2 = scene_Scene_destroy__P928_mk(s);\n s.tmp_2.arg0 = globals._scene___1008;\n s.pc = 23; return s.tmp_2;\n case 23:\n r0 = s.retval;\n s.tmp_0 = game_popScene__P1020_mk(s);\n s.pc = 24; return s.tmp_0;\n case 24:\n r0 = s.retval;\n { step = 10; continue; }\n case 13:\n s.tmp_0 = game_pushScene__P1019_mk(s);\n s.pc = 25; return s.tmp_0;\n case 25:\n r0 = s.retval;\n s.tmp_0 = scene_setBackgroundImage__P937_mk(s);\n r0 = pxsim_ImageMethods.clone(globals.screen___464);\n s.tmp_0.arg0 = r0;\n s.pc = 26; return s.tmp_0;\n case 26:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(s.arg0);\n if (!r0) { step = 14; continue; }\n s.tmp_0 = music_Melody_play__P357_mk(s);\n s.tmp_0.arg0 = globals.winSound___1007;\n s.tmp_0.arg1 = 255;\n s.pc = 27; return s.tmp_0;\n case 27:\n r0 = s.retval;\n { step = 15; continue; }\n case 14:\n s.tmp_0 = music_Melody_play__P357_mk(s);\n s.tmp_0.arg0 = globals.loseSound___1005;\n s.tmp_0.arg1 = 255;\n s.pc = 28; return s.tmp_0;\n case 28:\n r0 = s.retval;\n case 15:\n s.tmp_0 = if_startScreenEffect_1_mk(s);\n s.tmp_0.arg0 = s.arg1;\n s.tmp_0.fn = s.tmp_0.arg0.vtable.iface["startScreenEffect"];\n if (s.tmp_0.fn == null) { s.retval = s.tmp_0.arg0.fields["startScreenEffect"]; }\n else { s.pc = 29; return s.tmp_0; }\n case 29:\n r0 = s.retval;\n s.tmp_0 = pause__P241_mk(s);\n s.tmp_0.arg0 = 400;\n s.pc = 30; return s.tmp_0;\n case 30:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkClassInstance(game_GameOverDialog__C983_VT);\n s.tmp_0 = r0;\n s.tmp_1 = game_GameOverDialog_constructor__P988_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = s.arg0;\n r0 = s.scoreInfo___4404.fields["score"];\n s.tmp_1.arg2 = r0;\n s.tmp_1.arg3 = s.highScore___4407;\n s.pc = 31; return s.tmp_1;\n case 31:\n r0 = s.retval;\n s.overDialog___4434 = (s.tmp_0);\n r0 = pxsim_pxtcore_mkAction(1, inline__P4444);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.overDialog___4434);\n s.tmp_1 = scene_createRenderable__P896_mk(s);\n s.tmp_1.arg0 = 100;\n s.tmp_1.arg1 = s.tmp_0;\n s.tmp_1.arg2 = undefined;\n s.pc = 32; return s.tmp_1;\n case 32:\n r0 = s.retval;\n s.tmp_0 = pause__P241_mk(s);\n s.tmp_0.arg0 = 500;\n s.pc = 33; return s.tmp_0;\n case 33:\n r0 = s.retval;\n s.tmp_0 = game_GameOverDialog_displayCursor__P985_mk(s);\n s.tmp_0.arg0 = s.overDialog___4434;\n s.pc = 34; return s.tmp_0;\n case 34:\n r0 = s.retval;\n s.tmp_0 = game_waitAnyButton__P1016_mk(s);\n s.pc = 35; return s.tmp_0;\n case 35:\n r0 = s.retval;\n setupResume(s, 36);\n pxsim.control.reset();\n checkResumeConsumed();\n return;\n case 36:\n r0 = s.retval;\n case 16:\n case 17:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_over__P1026.info = {"start":5311,"length":1776,"line":180,"column":4,"endLine":231,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"over","argumentNames":["win","effect"]}\n\nfunction game_over__P1026_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_over__P1026, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n scoreInfo___4404: undefined,\n highScore___4407: undefined,\n overDialog___4434: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction inline__P4444(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = game_GameOverDialog__C983_v0_1_mk(s);\n s.tmp_0.arg0 = s.caps[0];\n if (!checkSubtype(s.tmp_0.arg0, game_GameOverDialog__C983_VT)) failedCast(s.tmp_0.arg0);\n s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.update;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.tmp_0 = r0 = s.arg0;\n r0 = s.caps[0].fields["image"];\n s.tmp_1 = r0;\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n s.tmp_4 = r0;\n r0 = s.caps[0].fields["image"];\n s.tmp_6 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_6);\n s.tmp_5 = r0;\n r0 = (s.tmp_4 - s.tmp_5);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 >> 1);\n s.tmp_2 = r0;\n r0 = pxsim_ImageMethods.drawTransparentImage(s.tmp_0, s.tmp_1, 0, s.tmp_2);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P4444.info = {"start":6650,"length":256,"line":217,"column":48,"endLine":224,"endColumn":13,"fileName":"pxt_modules/game/game.ts","functionName":"inline","argumentNames":["target"]}\n\nfunction inline__P4444_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P4444, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_popScene__P1020(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.oldScene___5046 = undefined;\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 11; return s.tmp_0;\n case 11:\n r0 = s.retval;\n s.oldScene___5046 = (r0);\n s.tmp_0 = r0 = globals._sceneStack___1009;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = pxsim_Array__length(globals._sceneStack___1009);\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 3; continue; }\n r0 = pxsim_Array_.pop(globals._sceneStack___1009);\n globals._scene___1008 = (r0);\n s.tmp_0 = control_popEventContext__P237_mk(s);\n s.pc = 12; return s.tmp_0;\n case 12:\n r0 = s.retval;\n { step = 6; continue; }\n case 3:\n r0 = pxsim_numops_toBoolDecr(globals._scene___1008);\n if (!r0) { step = 4; continue; }\n s.tmp_0 = control_popEventContext__P237_mk(s);\n s.pc = 13; return s.tmp_0;\n case 13:\n r0 = s.retval;\n globals._scene___1008 = (undefined);\n case 4:\n case 5:\n case 6:\n r0 = pxsim_numops_toBoolDecr(globals._scene___1008);\n if (!r0) { step = 7; continue; }\n s.tmp_0 = particles_enableAll__P1319_mk(s);\n s.pc = 14; return s.tmp_0;\n case 14:\n r0 = s.retval;\n case 7:\n case 8:\n r0 = pxsim_numops_toBoolDecr(globals._scenePopHandlers___1011);\n if (!r0) { step = 9; continue; }\n r0 = pxsim_pxtcore_mkAction(1, inline__P5065);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.oldScene___5046);\n s.tmp_1 = helpers_arrayForEach__P47_mk(s);\n s.tmp_1.arg0 = globals._scenePopHandlers___1011;\n s.tmp_1.arg1 = s.tmp_0;\n s.pc = 15; return s.tmp_1;\n case 15:\n r0 = s.retval;\n case 9:\n case 10:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_popScene__P1020.info = {"start":1962,"length":548,"line":74,"column":4,"endLine":92,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"popScene","argumentNames":[]}\n\nfunction game_popScene__P1020_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_popScene__P1020, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n oldScene___5046: undefined,\n} }\n\n\n\n\n\nfunction inline__P5065(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = lambda_2_mk(s);\n s.tmp_0.argL = s.arg0;\n s.tmp_0.arg0 = s.caps[0];\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P5065.info = {"start":2474,"length":18,"line":90,"column":38,"endLine":90,"endColumn":56,"fileName":"pxt_modules/game/game.ts","functionName":"inline","argumentNames":["cb"]}\n\nfunction inline__P5065_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P5065, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction particles_enableAll__P1319(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.sources___5069 = undefined;\n s.tmp_0 = particles_particleSources__P1320_mk(s);\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.sources___5069 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.sources___5069);\n if (!r0) { step = 1; continue; }\n s.tmp_0 = helpers_arrayForEach__P47_mk(s);\n s.tmp_0.arg0 = s.sources___5069;\n s.tmp_0.arg1 = inline__P5074;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n s.tmp_0 = particles_pruneParticles__P1307_mk(s);\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_enableAll__P1319.info = {"start":12162,"length":193,"line":401,"column":4,"endLine":407,"endColumn":5,"fileName":"pxt_modules/game/particles.ts","functionName":"enableAll","argumentNames":[]}\n\nfunction particles_enableAll__P1319_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_enableAll__P1319, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n sources___5069: undefined,\n} }\n\n\n\n\n\nfunction inline__P5074(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = particles_ParticleSource_enabled__P1293_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = true;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = true;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P5074.info = {"start":12286,"length":21,"line":404,"column":28,"endLine":404,"endColumn":49,"fileName":"pxt_modules/game/particles.ts","functionName":"inline","argumentNames":["s"]}\n\nfunction inline__P5074_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P5074, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction control_popEventContext__P237(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.ctx___5080 = undefined;\n s.context___5087 = undefined;\n r0 = pxsim_numops_toBoolDecr(globals.eventContexts___234);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 7; continue; }\n case 1:\n case 2:\n r0 = pxsim_Array_.pop(globals.eventContexts___234);\n s.ctx___5080 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.ctx___5080);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n { step = 7; continue; }\n case 3:\n case 4:\n s.tmp_2 = control_EventContext_unregister__P225_mk(s);\n s.tmp_2.arg0 = s.ctx___5080;\n s.pc = 8; return s.tmp_2;\n case 8:\n r0 = s.retval;\n s.tmp_0 = r0 = globals.eventContexts___234;\n r0 = pxsim_Array__length(globals.eventContexts___234);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - 1);\n s.tmp_1 = r0;\n r0 = pxsim_Array__getAt(s.tmp_0, s.tmp_1);\n s.context___5087 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.context___5087);\n if (!r0) { step = 5; continue; }\n s.tmp_0 = control_EventContext_register__P224_mk(s);\n s.tmp_0.arg0 = s.context___5087;\n s.pc = 9; return s.tmp_0;\n case 9:\n r0 = s.retval;\n { step = 6; continue; }\n case 5:\n globals.eventContexts___234 = (undefined);\n case 6:\n case 7:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_popEventContext__P237.info = {"start":6831,"length":413,"line":213,"column":4,"endLine":227,"endColumn":5,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"popEventContext","argumentNames":[]}\n\nfunction control_popEventContext__P237_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_popEventContext__P237, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n ctx___5080: undefined,\n context___5087: undefined,\n} }\n\n\n\n\n\nfunction control_EventContext_unregister__P225(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.h___5250 = undefined;\n s.unnamed48___U1 = undefined;\n s.unnamed49___U2 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, control_EventContext__C220_VT)) failedCast(r0);\n s.h___5250 = (undefined);\n s.h___5250 = (undefined);\n r0 = s.arg0.fields["handlers"];\n s.unnamed48___U1 = (r0);\n s.unnamed49___U2 = (0);\n case 1:\n s.tmp_0 = r0 = s.unnamed49___U2;\n r0 = pxsim_Array__length(s.unnamed48___U1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 2; continue; }\n r0 = pxsim_Array__getAt(s.unnamed48___U1, s.unnamed49___U2);\n s.h___5250 = (r0);\n s.tmp_2 = control_EventHandler_unregister__P217_mk(s);\n s.tmp_2.arg0 = s.h___5250;\n s.pc = 3; return s.tmp_2;\n case 3:\n r0 = s.retval;\n r0 = (s.unnamed49___U2 + 1);\n s.unnamed49___U2 = (r0);\n { step = 1; continue; }\n case 2:\n s.unnamed48___U1 = (undefined);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.tmp_0.fields["frameWorker"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + 1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["frameWorker"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_EventContext_unregister__P225.info = {"start":4081,"length":131,"line":126,"column":8,"endLine":130,"endColumn":9,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"unregister","argumentNames":["this"]}\n\nfunction control_EventContext_unregister__P225_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_EventContext_unregister__P225, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n h___5250: undefined,\n unnamed48___U1: undefined,\n unnamed49___U2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction control_EventHandler_unregister__P217(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, control_EventHandler__C215_VT)) failedCast(r0);\n r0 = s.arg0.fields["src"];\n s.tmp_0 = r0;\n r0 = s.arg0.fields["value"];\n s.tmp_1 = r0;\n r0 = s.arg0.fields["flags"];\n s.tmp_2 = r0;\n r0 = pxsim.control.internalOnEvent(s.tmp_0, s.tmp_1, control_doNothing__P219, s.tmp_2);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_EventHandler_unregister__P217.info = {"start":1244,"length":106,"line":40,"column":8,"endLine":42,"endColumn":9,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"unregister","argumentNames":["this"]}\n\nfunction control_EventHandler_unregister__P217_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_EventHandler_unregister__P217, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction control_doNothing__P219(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_doNothing__P219.info = {"start":1362,"length":24,"line":45,"column":4,"endLine":45,"endColumn":28,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"doNothing","argumentNames":[]}\n\nfunction control_doNothing__P219_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_doNothing__P219, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n} }\n\n\n\n\n\nfunction control_EventContext_register__P224(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.h___5099 = undefined;\n s.unnamed46___U1 = undefined;\n s.unnamed47___U2 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, control_EventContext__C220_VT)) failedCast(r0);\n s.h___5099 = (undefined);\n s.h___5099 = (undefined);\n r0 = s.arg0.fields["handlers"];\n s.unnamed46___U1 = (r0);\n s.unnamed47___U2 = (0);\n case 1:\n s.tmp_0 = r0 = s.unnamed47___U2;\n r0 = pxsim_Array__length(s.unnamed46___U1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 2; continue; }\n r0 = pxsim_Array__getAt(s.unnamed46___U1, s.unnamed47___U2);\n s.h___5099 = (r0);\n s.tmp_2 = control_EventHandler_register__P216_mk(s);\n s.tmp_2.arg0 = s.h___5099;\n s.pc = 3; return s.tmp_2;\n case 3:\n r0 = s.retval;\n r0 = (s.unnamed47___U2 + 1);\n s.unnamed47___U2 = (r0);\n { step = 1; continue; }\n case 2:\n s.unnamed46___U1 = (undefined);\n s.tmp_0 = control_EventContext_registerFrameCallbacks__P223_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_EventContext_register__P224.info = {"start":3933,"length":138,"line":120,"column":8,"endLine":124,"endColumn":9,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"register","argumentNames":["this"]}\n\nfunction control_EventContext_register__P224_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_EventContext_register__P224, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n h___5099: undefined,\n unnamed46___U1: undefined,\n unnamed47___U2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction control_EventContext_registerFrameCallbacks__P223(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.worker___5124 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, control_EventContext__C220_VT)) failedCast(r0);\n r0 = s.arg0.fields["frameCallbacks"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 3; continue; }\n case 1:\n case 2:\n r0 = (s.arg0).fields["framesInSample"] = (0);\n r0 = (s.arg0).fields["timeInSample"] = (0);\n r0 = (s.arg0).fields["deltaTimeMillis"] = (0);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim.control.millis();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["prevTimeMillis"] = (s.tmp_1);\n r0 = s.arg0.fields["frameWorker"];\n s.worker___5124 = (r0);\n r0 = pxsim_pxtcore_mkAction(2, inline__P5130);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.worker___5124);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.arg0);\n r0 = pxsim.control.runInParallel(s.tmp_0);\n case 3:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_EventContext_registerFrameCallbacks__P223.info = {"start":3412,"length":511,"line":104,"column":8,"endLine":118,"endColumn":9,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"registerFrameCallbacks","argumentNames":["this"]}\n\nfunction control_EventContext_registerFrameCallbacks__P223_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_EventContext_registerFrameCallbacks__P223, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n worker___5124: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P5130(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.delay___5135 = undefined;\n case 1:\n r0 = s.caps[1].fields["frameWorker"];\n s.tmp_1 = r0;\n r0 = (s.caps[0] == s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n s.tmp_2 = control_EventContext_runCallbacks__P222_mk(s);\n s.tmp_2.arg0 = s.caps[1];\n s.pc = 3; return s.tmp_2;\n case 3:\n r0 = s.retval;\n s.delay___5135 = (r0);\n s.tmp_0 = pause__P241_mk(s);\n s.tmp_0.arg0 = s.delay___5135;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n { step = 1; continue; }\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P5130.info = {"start":3735,"length":177,"line":112,"column":34,"endLine":117,"endColumn":13,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P5130_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P5130, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n delay___5135: undefined,\n} }\n\n\n\n\n\nfunction control_EventContext_runCallbacks__P222(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.loopStart___5142 = undefined;\n s.f___5154 = undefined;\n s.unnamed44___U2 = undefined;\n s.unnamed45___U3 = undefined;\n s.runtime___5160 = undefined;\n s.fps___5176 = undefined;\n s.delay___5226 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, control_EventContext__C220_VT)) failedCast(r0);\n r0 = pxsim.control.millis();\n s.loopStart___5142 = (r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.arg0.fields["prevTimeMillis"];\n s.tmp_2 = r0;\n r0 = (s.loopStart___5142 - s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["deltaTimeMillis"] = (s.tmp_1);\n r0 = (s.arg0).fields["prevTimeMillis"] = (s.loopStart___5142);\n s.f___5154 = (undefined);\n s.f___5154 = (undefined);\n r0 = s.arg0.fields["frameCallbacks"];\n s.unnamed44___U2 = (r0);\n s.unnamed45___U3 = (0);\n case 1:\n s.tmp_0 = r0 = s.unnamed45___U3;\n r0 = pxsim_Array__length(s.unnamed44___U2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 2; continue; }\n r0 = pxsim_Array__getAt(s.unnamed44___U2, s.unnamed45___U3);\n s.f___5154 = (r0);\n s.tmp_2 = lambda_1_mk(s);\n r0 = s.f___5154.fields["handler"];\n s.tmp_2.argL = r0;\n setupLambda(s.tmp_2, s.tmp_2.argL);\n s.pc = 11; return s.tmp_2;\n case 11:\n r0 = s.retval;\n r0 = (s.unnamed45___U3 + 1);\n s.unnamed45___U3 = (r0);\n { step = 1; continue; }\n case 2:\n s.unnamed44___U2 = (undefined);\n r0 = pxsim.control.millis();\n s.tmp_0 = r0;\n r0 = (s.tmp_0 - s.loopStart___5142);\n s.runtime___5160 = (r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.tmp_0.fields["timeInSample"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.runtime___5160);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["timeInSample"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.tmp_0.fields["framesInSample"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + 1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["framesInSample"] = (s.tmp_1);\n r0 = s.arg0.fields["timeInSample"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > 1000);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = s.tmp_0;\n { step = 4; continue; }\n case 3:\n r0 = s.arg0.fields["framesInSample"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 > 30);\n case 4:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 9; continue; }\n r0 = s.arg0.fields["framesInSample"];\n s.tmp_4 = r0;\n r0 = s.arg0.fields["timeInSample"];\n s.tmp_6 = r0;\n r0 = (s.tmp_6 / 1000);\n s.tmp_5 = r0;\n r0 = (s.tmp_4 / s.tmp_5);\n s.fps___5176 = (r0);\n r0 = pxsim.Math_.round(s.fps___5176);\n s.tmp_1 = r0;\n if ((s.tmp_1) && (s.tmp_1).vtable) {\n setupResume(s, 12);\n pxsim_String__stringConv(s.tmp_1);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_1) + ""; }\n case 12:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_String__concat("fps:", s.tmp_0);\n globals.control_EventContext_lastStats___231 = (r0);\n r0 = (s.fps___5176 < 99);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n if ((globals.control_EventContext_lastStats___231) && (globals.control_EventContext_lastStats___231).vtable) {\n setupResume(s, 13);\n pxsim_String__stringConv(globals.control_EventContext_lastStats___231);\n checkResumeConsumed();\n return;\n } else { s.retval = (globals.control_EventContext_lastStats___231) + ""; }\n case 13:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.fps___5176 * 10);\n s.tmp_7 = r0;\n r0 = pxsim.Math_.round(s.tmp_7);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 % 10);\n s.tmp_5 = r0;\n if ((s.tmp_5) && (s.tmp_5).vtable) {\n setupResume(s, 14);\n pxsim_String__stringConv(s.tmp_5);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_5) + ""; }\n case 14:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = pxsim_String__concat(".", s.tmp_4);\n s.tmp_3 = r0;\n if ((s.tmp_3) && (s.tmp_3).vtable) {\n setupResume(s, 15);\n pxsim_String__stringConv(s.tmp_3);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_3) + ""; }\n case 15:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = pxsim_String__concat(s.tmp_1, s.tmp_2);\n globals.control_EventContext_lastStats___231 = (r0);\n case 5:\n case 6:\n r0 = pxsim.control.profilingEnabled();\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 7; continue; }\n r0 = pxsim_String_.mkEmpty();\n s.tmp_5 = r0;\n r0 = (s.fps___5176 * 100);\n s.tmp_8 = r0;\n r0 = (s.tmp_8 | 0);\n s.tmp_7 = r0;\n if ((s.tmp_7) && (s.tmp_7).vtable) {\n setupResume(s, 16);\n pxsim_String__stringConv(s.tmp_7);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_7) + ""; }\n case 16:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = pxsim_String__concat(s.tmp_5, s.tmp_6);\n s.tmp_4 = r0;\n r0 = pxsim_String__concat(s.tmp_4, "/100 fps - ");\n s.tmp_3 = r0;\n r0 = s.arg0.fields["framesInSample"];\n s.tmp_10 = r0;\n if ((s.tmp_10) && (s.tmp_10).vtable) {\n setupResume(s, 17);\n pxsim_String__stringConv(s.tmp_10);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_10) + ""; }\n case 17:\n r0 = s.retval;\n s.tmp_9 = r0;\n r0 = pxsim_String__concat(s.tmp_3, s.tmp_9);\n s.tmp_2 = r0;\n r0 = pxsim_String__concat(s.tmp_2, " frames");\n s.tmp_1 = r0;\n r0 = pxsim.control.dmesg(s.tmp_1);\n r0 = pxsim.control.gc();\n r0 = pxsim_pxtcore.dumpPerfCounters();\n case 7:\n case 8:\n r0 = (s.arg0).fields["timeInSample"] = (0);\n r0 = (s.arg0).fields["framesInSample"] = (0);\n case 9:\n case 10:\n s.tmp_0 = Math_max__P61_mk(s);\n s.tmp_0.arg0 = 1;\n r0 = (20 - s.runtime___5160);\n s.tmp_0.arg1 = r0;\n s.pc = 18; return s.tmp_0;\n case 18:\n r0 = s.retval;\n s.delay___5226 = (r0);\n r0 = s.delay___5226;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_EventContext_runCallbacks__P222.info = {"start":2188,"length":1214,"line":75,"column":8,"endLine":102,"endColumn":9,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"runCallbacks","argumentNames":["this"]}\n\nfunction control_EventContext_runCallbacks__P222_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_EventContext_runCallbacks__P222, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n loopStart___5142: undefined,\n f___5154: undefined,\n unnamed44___U2: undefined,\n unnamed45___U3: undefined,\n runtime___5160: undefined,\n fps___5176: undefined,\n delay___5226: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction control_EventHandler_register__P216(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, control_EventHandler__C215_VT)) failedCast(r0);\n r0 = pxsim_pxtcore_mkAction(1, inline__P5239);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n r0 = s.arg0.fields["src"];\n s.tmp_1 = r0;\n r0 = s.arg0.fields["value"];\n s.tmp_2 = r0;\n r0 = s.arg0.fields["flags"];\n s.tmp_3 = r0;\n r0 = pxsim.control.internalOnEvent(s.tmp_1, s.tmp_2, s.tmp_0, s.tmp_3);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_EventHandler_register__P216.info = {"start":1069,"length":165,"line":34,"column":8,"endLine":38,"endColumn":9,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"register","argumentNames":["this"]}\n\nfunction control_EventHandler_register__P216_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_EventHandler_register__P216, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P5239(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = s.caps[0].fields["handler"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_1 = lambda_1_mk(s);\n r0 = s.caps[0].fields["handler"];\n s.tmp_1.argL = r0;\n setupLambda(s.tmp_1, s.tmp_1.argL);\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P5239.info = {"start":1140,"length":71,"line":35,"column":58,"endLine":37,"endColumn":13,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P5239_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P5239, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n} }\n\n\n\n\n\nfunction game_pushScene__P1019(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.oldScene___4855 = undefined;\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n s.oldScene___4855 = (r0);\n s.tmp_0 = particles_clearAll__P1317_mk(s);\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n s.tmp_0 = particles_disableAll__P1318_mk(s);\n s.pc = 7; return s.tmp_0;\n case 7:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(globals._sceneStack___1009);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_Array__mk();\n globals._sceneStack___1009 = (r0);\n case 1:\n case 2:\n r0 = pxsim_Array__push(globals._sceneStack___1009, globals._scene___1008);\n globals._scene___1008 = (undefined);\n s.tmp_0 = game_init__P1018_mk(s);\n s.pc = 8; return s.tmp_0;\n case 8:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(globals._scenePushHandlers___1010);\n if (!r0) { step = 3; continue; }\n r0 = pxsim_pxtcore_mkAction(1, inline__P4872);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.oldScene___4855);\n s.tmp_1 = helpers_arrayForEach__P47_mk(s);\n s.tmp_1.arg0 = globals._scenePushHandlers___1010;\n s.tmp_1.arg1 = s.tmp_0;\n s.pc = 9; return s.tmp_1;\n case 9:\n r0 = s.retval;\n case 3:\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_pushScene__P1019.info = {"start":1587,"length":369,"line":60,"column":4,"endLine":72,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"pushScene","argumentNames":[]}\n\nfunction game_pushScene__P1019_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_pushScene__P1019, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n oldScene___4855: undefined,\n} }\n\n\n\n\n\nfunction inline__P4872(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = lambda_2_mk(s);\n s.tmp_0.argL = s.arg0;\n s.tmp_0.arg0 = s.caps[0];\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P4872.info = {"start":1920,"length":18,"line":70,"column":39,"endLine":70,"endColumn":57,"fileName":"pxt_modules/game/game.ts","functionName":"inline","argumentNames":["cb"]}\n\nfunction inline__P4872_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P4872, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction particles_disableAll__P1318(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.sources___4876 = undefined;\n s.tmp_0 = particles_particleSources__P1320_mk(s);\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.sources___4876 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.sources___4876);\n if (!r0) { step = 1; continue; }\n s.tmp_0 = helpers_arrayForEach__P47_mk(s);\n s.tmp_0.arg0 = s.sources___4876;\n s.tmp_0.arg1 = inline__P4881;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n s.tmp_0 = particles_pruneParticles__P1307_mk(s);\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_disableAll__P1318.info = {"start":11883,"length":195,"line":390,"column":4,"endLine":396,"endColumn":5,"fileName":"pxt_modules/game/particles.ts","functionName":"disableAll","argumentNames":[]}\n\nfunction particles_disableAll__P1318_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_disableAll__P1318, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n sources___4876: undefined,\n} }\n\n\n\n\n\nfunction inline__P4881(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = particles_ParticleSource_enabled__P1293_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = false;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = false;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P4881.info = {"start":12008,"length":22,"line":393,"column":28,"endLine":393,"endColumn":50,"fileName":"pxt_modules/game/particles.ts","functionName":"inline","argumentNames":["s"]}\n\nfunction inline__P4881_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P4881, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction particles_clearAll__P1317(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.sources___5032 = undefined;\n s.tmp_0 = particles_particleSources__P1320_mk(s);\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.sources___5032 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.sources___5032);\n if (!r0) { step = 1; continue; }\n s.tmp_0 = helpers_arrayForEach__P47_mk(s);\n s.tmp_0.arg0 = s.sources___5032;\n s.tmp_0.arg1 = inline__P5037;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n s.tmp_0 = particles_pruneParticles__P1307_mk(s);\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_clearAll__P1317.info = {"start":11611,"length":185,"line":379,"column":4,"endLine":385,"endColumn":5,"fileName":"pxt_modules/game/particles.ts","functionName":"clearAll","argumentNames":[]}\n\nfunction particles_clearAll__P1317_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_clearAll__P1317, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n sources___5032: undefined,\n} }\n\n\n\n\n\nfunction inline__P5037(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = particles_ParticleSource_clear__P1295_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P5037.info = {"start":11734,"length":14,"line":382,"column":28,"endLine":382,"endColumn":42,"fileName":"pxt_modules/game/particles.ts","functionName":"inline","argumentNames":["s"]}\n\nfunction inline__P5037_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P5037, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_init__P1018(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals._scene___1008);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_pxtcore_mkClassInstance(scene_Scene__C923_VT);\n s.tmp_2 = r0;\n s.tmp_3 = scene_Scene_constructor__P932_mk(s);\n s.tmp_3.arg0 = s.tmp_2;\n s.tmp_4 = control_pushEventContext__P236_mk(s);\n s.pc = 12; return s.tmp_4;\n case 12:\n r0 = s.retval;\n s.tmp_3.arg1 = r0;\n s.pc = 11; return s.tmp_3;\n case 11:\n r0 = s.retval;\n globals._scene___1008 = (s.tmp_2);\n case 1:\n case 2:\n s.tmp_0 = scene_Scene_init__P924_mk(s);\n s.tmp_0.arg0 = globals._scene___1008;\n s.pc = 13; return s.tmp_0;\n case 13:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(globals.winEffect___1001);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n globals.winEffect___1001 = (globals.confetti___1424);\n case 3:\n case 4:\n r0 = pxsim_numops_toBoolDecr(globals.loseEffect___1003);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n globals.loseEffect___1003 = (globals.melt___1444);\n case 5:\n case 6:\n r0 = pxsim_numops_toBoolDecr(globals.winSound___1007);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 7; continue; }\n globals.winSound___1007 = (globals.powerUp___371);\n case 7:\n case 8:\n r0 = pxsim_numops_toBoolDecr(globals.loseSound___1005);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 9; continue; }\n globals.loseSound___1005 = (globals.wawawawaa___368);\n case 9:\n case 10:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_init__P1018.info = {"start":1202,"length":379,"line":45,"column":4,"endLine":58,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"init","argumentNames":[]}\n\nfunction game_init__P1018_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_init__P1018, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n} }\n\n\n\n\n\nfunction inline__P5347(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.rounds___5350 = undefined;\n s.j___5355 = undefined;\n s.x___5359 = undefined;\n s.y___5364 = undefined;\n s.c___5369 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_ImageMethods.width(s.arg0);\n s.tmp_1 = r0;\n r0 = pxsim_ImageMethods.height(s.arg0);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 * s.tmp_2);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 >> 5);\n s.rounds___5350 = (r0);\n s.j___5355 = (0);\n case 1:\n r0 = (s.j___5355 < s.rounds___5350);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n s.tmp_1 = Math_FastRandom_randomRange__P1158_mk(s);\n s.tmp_1.arg0 = s.arg1;\n s.tmp_1.arg1 = 0;\n r0 = pxsim_ImageMethods.width(s.arg0);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - 1);\n s.tmp_1.arg2 = r0;\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n s.x___5359 = (r0);\n s.tmp_0 = Math_FastRandom_randomRange__P1158_mk(s);\n s.tmp_0.arg0 = s.arg1;\n s.tmp_0.arg1 = 0;\n r0 = pxsim_ImageMethods.height(s.arg0);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - 3);\n s.tmp_0.arg2 = r0;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n s.y___5364 = (r0);\n r0 = pxsim_ImageMethods.getPixel(s.arg0, s.x___5359, s.y___5364);\n s.c___5369 = (r0);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_1 = r0 = s.x___5359;\n r0 = (s.y___5364 + 1);\n s.tmp_2 = r0;\n r0 = pxsim_ImageMethods.setPixel(s.tmp_0, s.tmp_1, s.tmp_2, s.c___5369);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_1 = r0 = s.x___5359;\n r0 = (s.y___5364 + 2);\n s.tmp_2 = r0;\n r0 = pxsim_ImageMethods.setPixel(s.tmp_0, s.tmp_1, s.tmp_2, s.c___5369);\n r0 = (s.j___5355 + 1);\n s.j___5355 = (r0);\n { step = 1; continue; }\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P5347.info = {"start":2652,"length":386,"line":72,"column":45,"endLine":81,"endColumn":5,"fileName":"pxt_modules/game/effects.ts","functionName":"inline","argumentNames":["input","r"]}\n\nfunction inline__P5347_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P5347, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n rounds___5350: undefined,\n j___5355: undefined,\n x___5359: undefined,\n y___5364: undefined,\n c___5369: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Math_FastRandom_randomRange__P1158(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Math_FastRandom__C1156_VT)) failedCast(r0);\n r0 = (s.arg2 > s.arg1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_2 = Math_FastRandom_next__P1157_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 3; return s.tmp_2;\n case 3:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.arg2 - s.arg1);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 + 1);\n s.tmp_3 = r0;\n r0 = (s.tmp_1 % s.tmp_3);\n { step = 2; continue; }\n case 1:\n r0 = 0;\n case 2:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n r0 = (s.arg1 + s.tmp_5);\n return leave(s, r0)\n default: oops()\n} } }\nMath_FastRandom_randomRange__P1158.info = {"start":2046,"length":131,"line":61,"column":8,"endLine":63,"endColumn":9,"fileName":"pxt_modules/game/mathUtil.ts","functionName":"randomRange","argumentNames":["this","min","max"]}\n\nfunction Math_FastRandom_randomRange__P1158_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Math_FastRandom_randomRange__P1158, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction Math_FastRandom_next__P1157(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Math_FastRandom__C1156_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.arg0.fields["lfsr"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 >> 1);\n s.tmp_2 = r0;\n r0 = s.arg0.fields["lfsr"];\n s.tmp_7 = r0;\n r0 = (s.tmp_7 & 1);\n s.tmp_6 = r0;\n r0 = (0 - s.tmp_6);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 & 46080);\n s.tmp_4 = r0;\n r0 = (s.tmp_2 ^ s.tmp_4);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["lfsr"] = (s.tmp_1);\n r0 = s.tmp_1;\n return leave(s, r0)\n default: oops()\n} } }\nMath_FastRandom_next__P1157.info = {"start":1680,"length":107,"line":52,"column":8,"endLine":54,"endColumn":9,"fileName":"pxt_modules/game/mathUtil.ts","functionName":"next","argumentNames":["this"]}\n\nfunction Math_FastRandom_next__P1157_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Math_FastRandom_next__P1157, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction effects_ImageEffect_constructor__P1442(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, effects_ImageEffect__C1438_VT)) failedCast(r0);\n r0 = (s.arg0).fields["effect"] = (s.arg2);\n r0 = pxsim_pxtcore_mkClassInstance(Math_FastRandom__C1156_VT);\n s.tmp_0 = r0;\n s.tmp_1 = Math_FastRandom_constructor__P1163_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = undefined;\n s.pc = 1; return s.tmp_1;\n case 1:\n r0 = s.retval;\n r0 = (s.arg0).fields["fastRandom"] = (s.tmp_0);\n r0 = (s.arg0).fields["preferredDelay"] = (s.arg1);\n r0 = (s.arg0).fields["times"] = (undefined);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\neffects_ImageEffect_constructor__P1442.info = {"start":410,"length":290,"line":10,"column":8,"endLine":15,"endColumn":9,"fileName":"pxt_modules/game/effects.ts","functionName":"inline","argumentNames":["this","defaultRate","effectFactory"]}\n\nfunction effects_ImageEffect_constructor__P1442_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: effects_ImageEffect_constructor__P1442, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction scene_Scene_constructor__P932(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Scene__C923_VT)) failedCast(r0);\n r0 = (s.arg0).fields["eventContext"] = (s.arg1);\n r0 = (s.arg0).fields["flags"] = (0);\n r0 = pxsim_pxtcore_mkClassInstance(ArcadePhysicsEngine__C727_VT);\n s.tmp_0 = r0;\n s.tmp_1 = ArcadePhysicsEngine_constructor__P739_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = 500;\n s.tmp_1.arg2 = 2;\n s.tmp_1.arg3 = 4;\n s.pc = 1; return s.tmp_1;\n case 1:\n r0 = s.retval;\n r0 = (s.arg0).fields["physicsEngine"] = (s.tmp_0);\n r0 = pxsim_pxtcore_mkClassInstance(scene_Camera__C886_VT);\n s.tmp_0 = r0;\n s.tmp_1 = scene_Camera_constructor__P889_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n r0 = (s.arg0).fields["camera"] = (s.tmp_0);\n r0 = pxsim_pxtcore_mkClassInstance(scene_Background__C846_VT);\n s.tmp_0 = r0;\n s.tmp_1 = scene_Background_constructor__P852_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n r0 = s.arg0.fields["camera"];\n s.tmp_1.arg1 = r0;\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n r0 = (s.arg0).fields["background"] = (s.tmp_0);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["destroyedHandlers"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["createdHandlers"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["overlapHandlers"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_pxtrt.mkMap();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["overlapMap"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["collisionHandlers"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["gameForeverHandlers"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_pxtrt.mkMap();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["spritesByKind"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["controlledSprites"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_pxtrt.mkMap();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["_data"] = (s.tmp_1);\n r0 = (s.arg0).fields["_millis"] = (0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_Scene_constructor__P932.info = {"start":2508,"length":672,"line":81,"column":8,"endLine":97,"endColumn":9,"fileName":"pxt_modules/game/scene.ts","functionName":"inline","argumentNames":["this","eventContext"]}\n\nfunction scene_Scene_constructor__P932_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Scene_constructor__P932, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction scene_Camera_constructor__P889(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Camera__C886_VT)) failedCast(r0);\n r0 = (s.arg0).fields["offsetX"] = (0);\n r0 = (s.arg0).fields["offsetY"] = (0);\n r0 = (s.arg0).fields["drawOffsetX"] = (0);\n r0 = (s.arg0).fields["drawOffsetY"] = (0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_Camera_constructor__P889.info = {"start":427,"length":154,"line":14,"column":8,"endLine":20,"endColumn":9,"fileName":"pxt_modules/game/camera.ts","functionName":"inline","argumentNames":["this"]}\n\nfunction scene_Camera_constructor__P889_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Camera_constructor__P889, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_Background_constructor__P852(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Background__C846_VT)) failedCast(r0);\n r0 = (s.arg0).fields["color"] = (0);\n r0 = (s.arg0).fields["camera"] = (s.arg1);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["_layers"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_Background_constructor__P852.info = {"start":367,"length":132,"line":20,"column":8,"endLine":24,"endColumn":9,"fileName":"pxt_modules/game/background.ts","functionName":"inline","argumentNames":["this","camera"]}\n\nfunction scene_Background_constructor__P852_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Background_constructor__P852, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction ArcadePhysicsEngine_constructor__P739(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, ArcadePhysicsEngine__C727_VT)) failedCast(r0);\n r0 = undefined;\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["sprites"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg1 * 256);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["maxVelocity"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.arg0.fields["maxVelocity"];\n s.tmp_2 = r0;\n r0 = (0 - s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["maxNegativeVelocity"] = (s.tmp_1);\n r0 = pxsim_pxtcore_mkClassInstance(sprites_SpriteMap__C659_VT);\n s.tmp_0 = r0;\n s.tmp_1 = sprites_SpriteMap_constructor__P671_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.pc = 1; return s.tmp_1;\n case 1:\n r0 = s.retval;\n r0 = (s.arg0).fields["map"] = (s.tmp_0);\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg2 * 256);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["minSingleStep"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg3 * 256);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["maxSingleStep"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nArcadePhysicsEngine_constructor__P739.info = {"start":1262,"length":368,"line":53,"column":4,"endLine":61,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"inline","argumentNames":["this","maxVelocity","minSingleStep","maxSingleStep"]}\n\nfunction ArcadePhysicsEngine_constructor__P739_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: ArcadePhysicsEngine_constructor__P739, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction PhysicsEngine_constructor__P715(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, PhysicsEngine__C708_VT)) failedCast(r0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nPhysicsEngine_constructor__P715.info = {"start":26,"length":21,"line":1,"column":4,"endLine":2,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"inline","argumentNames":["this"]}\n\nfunction PhysicsEngine_constructor__P715_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: PhysicsEngine_constructor__P715, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction sprites_SpriteMap_constructor__P671(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_SpriteMap__C659_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["buckets"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_SpriteMap_constructor__P671.info = {"start":237,"length":56,"line":8,"column":8,"endLine":10,"endColumn":9,"fileName":"pxt_modules/game/spritemap.ts","functionName":"inline","argumentNames":["this"]}\n\nfunction sprites_SpriteMap_constructor__P671_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_SpriteMap_constructor__P671, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Fx_neg__P84(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = (0 - s.arg0);\n return leave(s, r0)\n default: oops()\n} } }\nFx_neg__P84.info = {"start":298,"length":88,"line":14,"column":4,"endLine":16,"endColumn":5,"fileName":"pxt_modules/base/fixed.ts","functionName":"neg","argumentNames":["a"]}\n\nfunction Fx_neg__P84_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Fx_neg__P84, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_Scene_init__P924(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Scene__C923_VT)) failedCast(r0);\n r0 = s.arg0.fields["allSprites"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 3; continue; }\n case 1:\n case 2:\n s.tmp_1 = power_poke__P392_mk(s);\n s.pc = 4; return s.tmp_1;\n case 4:\n r0 = s.retval;\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["allSprites"] = (s.tmp_1);\n r0 = (s.arg0).fields["spriteNextId"] = (0);\n r0 = pxsim_pxtcore_mkAction(1, inline__P5404);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n s.tmp_1 = control_EventContext_registerFrameHandler__P226_mk(s);\n r0 = s.arg0.fields["eventContext"];\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = 8;\n s.tmp_1.arg2 = s.tmp_0;\n s.pc = 5; return s.tmp_1;\n case 5:\n r0 = s.retval;\n s.tmp_0 = control_EventContext_registerFrameHandler__P226_mk(s);\n r0 = s.arg0.fields["eventContext"];\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = 13;\n s.tmp_0.arg2 = controller__moveSprites__P556;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkAction(1, inline__P5427);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n s.tmp_1 = control_EventContext_registerFrameHandler__P226_mk(s);\n r0 = s.arg0.fields["eventContext"];\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = 15;\n s.tmp_1.arg2 = s.tmp_0;\n s.pc = 7; return s.tmp_1;\n case 7:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkAction(1, inline__P5455);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n s.tmp_1 = control_EventContext_registerFrameHandler__P226_mk(s);\n r0 = s.arg0.fields["eventContext"];\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = 90;\n s.tmp_1.arg2 = s.tmp_0;\n s.pc = 8; return s.tmp_1;\n case 8:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkAction(1, inline__P5467);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n s.tmp_1 = control_EventContext_registerFrameHandler__P226_mk(s);\n r0 = s.arg0.fields["eventContext"];\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = 150;\n s.tmp_1.arg2 = s.tmp_0;\n s.pc = 9; return s.tmp_1;\n case 9:\n r0 = s.retval;\n s.tmp_0 = control_EventContext_registerFrameHandler__P226_mk(s);\n r0 = s.arg0.fields["eventContext"];\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = 200;\n s.tmp_0.arg2 = control___screen_update__P435;\n s.pc = 10; return s.tmp_0;\n case 10:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkAction(1, inline__P5497);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n s.tmp_1 = helpers_arrayForEach__P47_mk(s);\n s.tmp_1.arg0 = globals.scene_Scene_initializers___931;\n s.tmp_1.arg1 = s.tmp_0;\n s.pc = 11; return s.tmp_1;\n case 11:\n r0 = s.retval;\n case 3:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_Scene_init__P924.info = {"start":3190,"length":2391,"line":99,"column":8,"endLine":155,"endColumn":9,"fileName":"pxt_modules/game/scene.ts","functionName":"init","argumentNames":["this"]}\n\nfunction scene_Scene_init__P924_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Scene_init__P924, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P5404(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = r0 = s.caps[0];\n r0 = s.tmp_0.fields["_millis"];\n s.tmp_2 = r0;\n r0 = s.caps[0].fields["eventContext"];\n r0 = r0.fields["deltaTimeMillis"];\n s.tmp_3 = r0;\n r0 = (s.tmp_2 + s.tmp_3);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["_millis"] = (s.tmp_1);\n s.tmp_0 = controller___update__P582_mk(s);\n r0 = s.caps[0].fields["eventContext"];\n s.tmp_1 = r0;\n r0 = s.tmp_1.fields["deltaTimeMillis"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 / 1000);\n s.tmp_0.arg0 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P5404.info = {"start":3480,"length":217,"line":106,"column":72,"endLine":110,"endColumn":13,"fileName":"pxt_modules/game/scene.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P5404_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P5404, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n} }\n\n\n\n\n\nfunction inline__P5427(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.dt___5430 = undefined;\n s.s___5442 = undefined;\n s.unnamed66___U2 = undefined;\n s.unnamed67___U3 = undefined;\n r0 = s.caps[0].fields["eventContext"];\n s.tmp_0 = r0;\n r0 = s.tmp_0.fields["deltaTimeMillis"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 / 1000);\n s.dt___5430 = (r0);\n s.tmp_0 = PhysicsEngine__C708_v4_2_mk(s);\n r0 = s.caps[0].fields["physicsEngine"];\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = s.dt___5430;\n if (!checkSubtype(s.tmp_0.arg0, PhysicsEngine__C708_VT)) failedCast(s.tmp_0.arg0);\n s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.move;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.tmp_0 = scene_Camera_update__P888_mk(s);\n r0 = s.caps[0].fields["camera"];\n s.tmp_0.arg0 = r0;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n s.s___5442 = (undefined);\n s.s___5442 = (undefined);\n r0 = s.caps[0].fields["allSprites"];\n s.unnamed66___U2 = (r0);\n s.unnamed67___U3 = (0);\n case 1:\n s.tmp_0 = r0 = s.unnamed67___U3;\n r0 = pxsim_Array__length(s.unnamed66___U2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 2; continue; }\n r0 = pxsim_Array__getAt(s.unnamed66___U2, s.unnamed67___U3);\n s.s___5442 = (r0);\n s.tmp_2 = if___update_3_mk(s);\n s.tmp_2.arg0 = s.s___5442;\n r0 = s.caps[0].fields["camera"];\n s.tmp_2.arg1 = r0;\n s.tmp_2.arg2 = s.dt___5430;\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["__update"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["__update"]; }\n else { s.pc = 5; return s.tmp_2; }\n case 5:\n r0 = s.retval;\n r0 = (s.unnamed67___U3 + 1);\n s.unnamed67___U3 = (r0);\n { step = 1; continue; }\n case 2:\n s.unnamed66___U2 = (undefined);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P5427.info = {"start":3992,"length":328,"line":115,"column":69,"endLine":124,"endColumn":13,"fileName":"pxt_modules/game/scene.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P5427_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P5427, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n dt___5430: undefined,\n s___5442: undefined,\n unnamed66___U2: undefined,\n unnamed67___U3: undefined,\n} }\n\n\n\n\n\nfunction inline__P5455(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = (s.caps[0]).fields["cachedRender"] = (undefined);\n s.tmp_0 = scene_Scene_renderCore__P930_mk(s);\n s.tmp_0.arg0 = s.caps[0];\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P5455.info = {"start":4495,"length":160,"line":130,"column":76,"endLine":134,"endColumn":13,"fileName":"pxt_modules/game/scene.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P5455_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P5455, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction inline__P5467(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = r0 = globals.stats___999;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = globals.control_EventContext_onStats___232;\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 3; continue; }\n s.tmp_2 = lambda_2_mk(s);\n s.tmp_2.argL = globals.control_EventContext_onStats___232;\n if ((globals.control_EventContext_lastStats___231) && (globals.control_EventContext_lastStats___231).vtable) {\n setupResume(s, 8);\n pxsim_String__stringConv(globals.control_EventContext_lastStats___231);\n checkResumeConsumed();\n return;\n } else { s.retval = (globals.control_EventContext_lastStats___231) + ""; }\n case 8:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = s.caps[0].fields["allSprites"];\n s.tmp_8 = r0;\n r0 = pxsim_Array__length(s.tmp_8);\n s.tmp_7 = r0;\n if ((s.tmp_7) && (s.tmp_7).vtable) {\n setupResume(s, 9);\n pxsim_String__stringConv(s.tmp_7);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_7) + ""; }\n case 9:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = pxsim_String__concat(" sprites:", s.tmp_6);\n s.tmp_5 = r0;\n if ((s.tmp_5) && (s.tmp_5).vtable) {\n setupResume(s, 10);\n pxsim_String__stringConv(s.tmp_5);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_5) + ""; }\n case 10:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = pxsim_String__concat(s.tmp_3, s.tmp_4);\n s.tmp_2.arg0 = r0;\n setupLambda(s.tmp_2, s.tmp_2.argL);\n s.pc = 7; return s.tmp_2;\n case 7:\n r0 = s.retval;\n case 3:\n case 4:\n r0 = pxsim_numops_toBoolDecr(globals.debug___998);\n if (!r0) { step = 5; continue; }\n s.tmp_0 = PhysicsEngine__C708_v3_1_mk(s);\n r0 = s.caps[0].fields["physicsEngine"];\n s.tmp_0.arg0 = r0;\n if (!checkSubtype(s.tmp_0.arg0, PhysicsEngine__C708_VT)) failedCast(s.tmp_0.arg0);\n s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.draw;\n s.pc = 11; return s.tmp_0;\n case 11:\n r0 = s.retval;\n case 5:\n case 6:\n s.tmp_0 = game_consoleOverlay_draw__P1271_mk(s);\n s.pc = 12; return s.tmp_0;\n case 12:\n r0 = s.retval;\n r0 = (s.caps[0]).fields["flags"] = (0);\n s.tmp_0 = power_checkDeepSleep__P393_mk(s);\n s.pc = 13; return s.tmp_0;\n case 13:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P5467.info = {"start":4772,"length":567,"line":136,"column":80,"endLine":150,"endColumn":13,"fileName":"pxt_modules/game/scene.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P5467_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P5467, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n} }\n\n\n\n\n\nfunction inline__P5497(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = lambda_2_mk(s);\n s.tmp_0.argL = s.arg0;\n s.tmp_0.arg0 = s.caps[0];\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P5497.info = {"start":5557,"length":12,"line":154,"column":39,"endLine":154,"endColumn":51,"fileName":"pxt_modules/game/scene.ts","functionName":"inline","argumentNames":["f"]}\n\nfunction inline__P5497_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P5497, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_consoleOverlay_draw__P1271(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.height___5534 = undefined;\n s.top___5538 = undefined;\n s.i___5543 = undefined;\n s.t___5554 = undefined;\n s.tOff___5560 = undefined;\n s.tab___5562 = undefined;\n s.unnamed70___U6 = undefined;\n s.unnamed71___U7 = undefined;\n s.padding___5564 = undefined;\n r0 = pxsim_numops_toBoolDecr(globals.consoleStrings___1239);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = pxsim_numops_toBoolDecr(globals.instance___1164);\n s.tmp_4 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_4);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n case 2:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_5);\n if (!r0) { step = 3; continue; }\n { step = 13; continue; }\n case 3:\n case 4:\n s.tmp_7 = if_charHeight_1_mk(s);\n s.tmp_7.arg0 = globals.consoleFont___1244;\n if (!s.tmp_7.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_7.arg0, "charHeight");\n } else {\n s.tmp_7.fn = s.tmp_7.arg0.vtable.iface["charHeight"];\n if (s.tmp_7.fn == null) { s.retval = s.tmp_7.arg0.fields["charHeight"]; }\n else { s.pc = 14; return s.tmp_7; }\n }\n case 14:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = (s.tmp_6 + 2);\n s.height___5534 = (r0);\n r0 = pxsim_numops_toBoolDecr(globals.stats___999);\n if (!r0) { step = 5; continue; }\n r0 = s.height___5534;\n { step = 6; continue; }\n case 5:\n r0 = 0;\n case 6:\n // jmp value (already in r0)\n s.tmp_0 = r0;\n r0 = (2 + s.tmp_0);\n s.top___5538 = (r0);\n s.i___5543 = (0);\n case 7:\n s.tmp_1 = r0 = s.i___5543;\n r0 = pxsim_Array__length(globals.consoleStrings___1239);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 12; continue; }\n r0 = pxsim_Array__getAt(globals.consoleStrings___1239, s.i___5543);\n s.tmp_5 = r0;\n r0 = pxsim_String_.indexOf(s.tmp_5, "\\t", undefined);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 >= 0);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 10; continue; }\n s.tmp_6 = helpers_stringSplit__P55_mk(s);\n r0 = pxsim_Array__getAt(globals.consoleStrings___1239, s.i___5543);\n s.tmp_6.arg0 = r0;\n s.tmp_6.arg1 = "\\t";\n s.tmp_6.arg2 = undefined;\n s.pc = 15; return s.tmp_6;\n case 15:\n r0 = s.retval;\n s.t___5554 = (r0);\n s.tOff___5560 = (0);\n s.tab___5562 = (undefined);\n s.tab___5562 = (undefined);\n s.unnamed70___U6 = (s.t___5554);\n s.unnamed71___U7 = (0);\n case 8:\n s.tmp_0 = r0 = s.unnamed71___U7;\n r0 = pxsim_Array__length(s.unnamed70___U6);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 9; continue; }\n r0 = pxsim_Array__getAt(s.unnamed70___U6, s.unnamed71___U7);\n s.tab___5562 = (r0);\n s.tmp_2 = r0 = globals.tabSize___1240;\n s.tmp_5 = r0 = s.tOff___5560;\n r0 = pxsim_String_.length(s.tab___5562);\n s.tmp_6 = r0;\n r0 = (s.tmp_5 + s.tmp_6);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 % globals.tabSize___1240);\n s.tmp_3 = r0;\n r0 = (s.tmp_2 - s.tmp_3);\n s.padding___5564 = (r0);\n s.tmp_0 = helpers_imagePrint__P432_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_0.arg1 = s.tab___5562;\n s.tmp_2 = r0 = s.tOff___5560;\n s.tmp_4 = if_charWidth_1_mk(s);\n s.tmp_4.arg0 = globals.consoleFont___1244;\n if (!s.tmp_4.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_4.arg0, "charWidth");\n } else {\n s.tmp_4.fn = s.tmp_4.arg0.vtable.iface["charWidth"];\n if (s.tmp_4.fn == null) { s.retval = s.tmp_4.arg0.fields["charWidth"]; }\n else { s.pc = 17; return s.tmp_4; }\n }\n case 17:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_2 * s.tmp_3);\n s.tmp_1 = r0;\n r0 = (4 + s.tmp_1);\n s.tmp_0.arg2 = r0;\n s.tmp_5 = r0 = s.top___5538;\n r0 = (s.i___5543 * s.height___5534);\n s.tmp_6 = r0;\n r0 = (s.tmp_5 + s.tmp_6);\n s.tmp_0.arg3 = r0;\n s.tmp_0.arg4 = globals.consoleColor___1238;\n s.tmp_0.arg5 = globals.consoleFont___1244;\n s.tmp_0.arg6 = undefined;\n s.pc = 16; return s.tmp_0;\n case 16:\n r0 = s.retval;\n s.tmp_0 = r0 = s.tOff___5560;\n r0 = pxsim_String_.length(s.tab___5562);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.padding___5564);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n s.tOff___5560 = (r0);\n r0 = (s.unnamed71___U7 + 1);\n s.unnamed71___U7 = (r0);\n { step = 8; continue; }\n case 9:\n s.unnamed70___U6 = (undefined);\n { step = 11; continue; }\n case 10:\n s.tmp_0 = helpers_imagePrint__P432_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n r0 = pxsim_Array__getAt(globals.consoleStrings___1239, s.i___5543);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = 4;\n s.tmp_1 = r0 = s.top___5538;\n r0 = (s.i___5543 * s.height___5534);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 + s.tmp_2);\n s.tmp_0.arg3 = r0;\n s.tmp_0.arg4 = globals.consoleColor___1238;\n s.tmp_0.arg5 = globals.consoleFont___1244;\n s.tmp_0.arg6 = undefined;\n s.pc = 18; return s.tmp_0;\n case 18:\n r0 = s.retval;\n case 11:\n r0 = (s.i___5543 + 1);\n s.i___5543 = (r0);\n { step = 7; continue; }\n case 12:\n case 13:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_consoleOverlay_draw__P1271.info = {"start":1364,"length":859,"line":44,"column":4,"endLine":61,"endColumn":5,"fileName":"pxt_modules/game/console.ts","functionName":"draw","argumentNames":[]}\n\nfunction game_consoleOverlay_draw__P1271_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_consoleOverlay_draw__P1271, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n height___5534: undefined,\n top___5538: undefined,\n i___5543: undefined,\n t___5554: undefined,\n tOff___5560: undefined,\n tab___5562: undefined,\n unnamed70___U6: undefined,\n unnamed71___U7: undefined,\n padding___5564: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_isVisible__P1198(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals.instance___1164);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_isVisible__P1198.info = {"start":12489,"length":62,"line":378,"column":4,"endLine":380,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"isVisible","argumentNames":[]}\n\nfunction scene_systemMenu_isVisible__P1198_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_isVisible__P1198, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n} }\n\n\n\n\n\nfunction helpers_imagePrint__P432(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.x0___2456 = undefined;\n s.cp___2458 = undefined;\n s.mult___2459 = undefined;\n s.dataW___2465 = undefined;\n s.dataH___2471 = undefined;\n s.byteHeight___2477 = undefined;\n s.charSize___2480 = undefined;\n s.dataSize___2483 = undefined;\n s.fontdata___2486 = undefined;\n s.lastchar___2490 = undefined;\n s.imgBuf___2497 = undefined;\n s.xOffset___2518 = undefined;\n s.yOffset___2519 = undefined;\n s.ch___2533 = undefined;\n s.l___2550 = undefined;\n s.r___2551 = undefined;\n s.off___2553 = undefined;\n s.guess___2554 = undefined;\n s.m___2570 = undefined;\n s.v___2575 = undefined;\n s.i___2622 = undefined;\n s.j___2626 = undefined;\n s.mask___2627 = undefined;\n s.c___2628 = undefined;\n s.n___2643 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.arg5 = (s.lambdaArgs[5]);\n s.arg6 = (s.lambdaArgs[6]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg2 | 0);\n s.arg2 = (r0);\n r0 = (s.arg3 | 0);\n s.arg3 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.arg5);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_2 = image_getFontForText__P425_mk(s);\n s.tmp_2.arg0 = s.arg1;\n s.pc = 39; return s.tmp_2;\n case 39:\n r0 = s.retval;\n s.arg5 = (r0);\n case 1:\n case 2:\n r0 = pxsim_numops_toBoolDecr(s.arg4);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.arg4 = (1);\n case 3:\n case 4:\n s.x0___2456 = (s.arg2);\n s.cp___2458 = (0);\n s.tmp_1 = if_multiplier_1_mk(s);\n s.tmp_1.arg0 = s.arg5;\n if (!s.tmp_1.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, "multiplier");\n } else {\n s.tmp_1.fn = s.tmp_1.arg0.vtable.iface["multiplier"];\n if (s.tmp_1.fn == null) { s.retval = s.tmp_1.arg0.fields["multiplier"]; }\n else { s.pc = 40; return s.tmp_1; }\n }\n case 40:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n s.tmp_2 = if_multiplier_1_mk(s);\n s.tmp_2.arg0 = s.arg5;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "multiplier");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["multiplier"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["multiplier"]; }\n else { s.pc = 41; return s.tmp_2; }\n }\n case 41:\n r0 = s.retval;\n { step = 6; continue; }\n case 5:\n r0 = 1;\n case 6:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n s.mult___2459 = (s.tmp_3);\n s.tmp_1 = if_charWidth_1_mk(s);\n s.tmp_1.arg0 = s.arg5;\n if (!s.tmp_1.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, "charWidth");\n } else {\n s.tmp_1.fn = s.tmp_1.arg0.vtable.iface["charWidth"];\n if (s.tmp_1.fn == null) { s.retval = s.tmp_1.arg0.fields["charWidth"]; }\n else { s.pc = 42; return s.tmp_1; }\n }\n case 42:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim.Math_.idiv(s.tmp_0, s.mult___2459);\n s.dataW___2465 = (r0);\n s.tmp_1 = if_charHeight_1_mk(s);\n s.tmp_1.arg0 = s.arg5;\n if (!s.tmp_1.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, "charHeight");\n } else {\n s.tmp_1.fn = s.tmp_1.arg0.vtable.iface["charHeight"];\n if (s.tmp_1.fn == null) { s.retval = s.tmp_1.arg0.fields["charHeight"]; }\n else { s.pc = 43; return s.tmp_1; }\n }\n case 43:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim.Math_.idiv(s.tmp_0, s.mult___2459);\n s.dataH___2471 = (r0);\n r0 = (s.dataH___2471 + 7);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 >> 3);\n s.byteHeight___2477 = (r0);\n r0 = (s.byteHeight___2477 * s.dataW___2465);\n s.charSize___2480 = (r0);\n r0 = (2 + s.charSize___2480);\n s.dataSize___2483 = (r0);\n s.tmp_0 = if_data_1_mk(s);\n s.tmp_0.arg0 = s.arg5;\n if (!s.tmp_0.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_0.arg0, "data");\n } else {\n s.tmp_0.fn = s.tmp_0.arg0.vtable.iface["data"];\n if (s.tmp_0.fn == null) { s.retval = s.tmp_0.arg0.fields["data"]; }\n else { s.pc = 44; return s.tmp_0; }\n }\n case 44:\n r0 = s.retval;\n s.fontdata___2486 = (r0);\n r0 = pxsim.BufferMethods.length(s.fontdata___2486);\n s.tmp_1 = r0;\n r0 = pxsim.Math_.idiv(s.tmp_1, s.dataSize___2483);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 - 1);\n s.lastchar___2490 = (r0);\n r0 = (s.mult___2459 == 1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 7; continue; }\n r0 = (8 + s.charSize___2480);\n s.tmp_1 = r0;\n r0 = pxsim.control.createBuffer(s.tmp_1);\n s.imgBuf___2497 = (r0);\n r0 = pxsim.BufferMethods.setByte(s.imgBuf___2497, 0, 135);\n r0 = pxsim.BufferMethods.setByte(s.imgBuf___2497, 1, 1);\n r0 = pxsim.BufferMethods.setByte(s.imgBuf___2497, 2, s.dataW___2465);\n r0 = pxsim.BufferMethods.setByte(s.imgBuf___2497, 4, s.dataH___2471);\n case 7:\n case 8:\n case 9:\n s.tmp_1 = r0 = s.cp___2458;\n r0 = pxsim_String_.length(s.arg1);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 38; continue; }\n s.xOffset___2518 = (0);\n s.yOffset___2519 = (0);\n s.tmp_0 = r0 = s.arg6;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 10; continue; }\n r0 = s.tmp_0;\n { step = 11; continue; }\n case 10:\n s.tmp_1 = r0 = s.cp___2458;\n r0 = pxsim_Array__length(s.arg6);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n case 11:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 12; continue; }\n s.tmp_4 = if_xOffset_1_mk(s);\n r0 = pxsim_Array__getAt(s.arg6, s.cp___2458);\n s.tmp_4.arg0 = r0;\n if (!s.tmp_4.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_4.arg0, "xOffset");\n } else {\n s.tmp_4.fn = s.tmp_4.arg0.vtable.iface["xOffset"];\n if (s.tmp_4.fn == null) { s.retval = s.tmp_4.arg0.fields["xOffset"]; }\n else { s.pc = 45; return s.tmp_4; }\n }\n case 45:\n r0 = s.retval;\n s.xOffset___2518 = (r0);\n s.tmp_0 = if_yOffset_1_mk(s);\n r0 = pxsim_Array__getAt(s.arg6, s.cp___2458);\n s.tmp_0.arg0 = r0;\n if (!s.tmp_0.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_0.arg0, "yOffset");\n } else {\n s.tmp_0.fn = s.tmp_0.arg0.vtable.iface["yOffset"];\n if (s.tmp_0.fn == null) { s.retval = s.tmp_0.arg0.fields["yOffset"]; }\n else { s.pc = 46; return s.tmp_0; }\n }\n case 46:\n r0 = s.retval;\n s.yOffset___2519 = (r0);\n case 12:\n case 13:\n s.tmp_0 = r0 = s.cp___2458;\n r0 = (s.tmp_0 + 1);\n s.cp___2458 = (r0);\n r0 = pxsim_String_.charCodeAt(s.arg1, s.tmp_0);\n s.ch___2533 = (r0);\n r0 = (s.ch___2533 == 10);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 14; continue; }\n s.tmp_1 = r0 = s.arg3;\n s.tmp_4 = if_charHeight_1_mk(s);\n s.tmp_4.arg0 = s.arg5;\n if (!s.tmp_4.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_4.arg0, "charHeight");\n } else {\n s.tmp_4.fn = s.tmp_4.arg0.vtable.iface["charHeight"];\n if (s.tmp_4.fn == null) { s.retval = s.tmp_4.arg0.fields["charHeight"]; }\n else { s.pc = 47; return s.tmp_4; }\n }\n case 47:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_3 + 2);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 + s.tmp_2);\n s.arg3 = (r0);\n s.arg2 = (s.x0___2456);\n case 14:\n case 15:\n r0 = (s.ch___2533 < 32);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 16; continue; }\n { step = 9; continue; }\n case 16:\n case 17:\n s.l___2550 = (0);\n s.r___2551 = (s.lastchar___2490);\n s.off___2553 = (0);\n r0 = (s.ch___2533 - 32);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 * s.dataSize___2483);\n s.guess___2554 = (r0);\n r0 = pxsim.BufferMethods.getNumber(s.fontdata___2486, 4, s.guess___2554);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 == s.ch___2533);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 18; continue; }\n s.off___2553 = (s.guess___2554);\n { step = 25; continue; }\n case 18:\n case 19:\n r0 = (s.l___2550 <= s.r___2551);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 24; continue; }\n s.tmp_1 = r0 = s.l___2550;\n r0 = (s.r___2551 - s.l___2550);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 >> 1);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 + s.tmp_2);\n s.m___2570 = (r0);\n s.tmp_0 = r0 = s.fontdata___2486;\n r0 = (s.m___2570 * s.dataSize___2483);\n s.tmp_1 = r0;\n r0 = pxsim.BufferMethods.getNumber(s.tmp_0, 4, s.tmp_1);\n s.v___2575 = (r0);\n r0 = (s.v___2575 == s.ch___2533);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 20; continue; }\n r0 = (s.m___2570 * s.dataSize___2483);\n s.off___2553 = (r0);\n { step = 24; continue; }\n case 20:\n case 21:\n r0 = (s.v___2575 < s.ch___2533);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 22; continue; }\n r0 = (s.m___2570 + 1);\n s.l___2550 = (r0);\n { step = 23; continue; }\n case 22:\n r0 = (s.m___2570 - 1);\n s.r___2551 = (r0);\n case 23:\n { step = 19; continue; }\n case 24:\n case 25:\n r0 = (s.mult___2459 == 1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 26; continue; }\n s.tmp_1 = r0 = s.imgBuf___2497;\n s.tmp_3 = r0 = s.fontdata___2486;\n r0 = (s.off___2553 + 2);\n s.tmp_4 = r0;\n r0 = pxsim.BufferMethods.slice(s.tmp_3, s.tmp_4, s.charSize___2480);\n s.tmp_2 = r0;\n r0 = pxsim.BufferMethods.write(s.tmp_1, 8, s.tmp_2);\n s.tmp_0 = helpers_imageDrawIcon__P410_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.imgBuf___2497;\n r0 = (s.arg2 + s.xOffset___2518);\n s.tmp_0.arg2 = r0;\n r0 = (s.arg3 + s.yOffset___2519);\n s.tmp_0.arg3 = r0;\n s.tmp_0.arg4 = s.arg4;\n s.pc = 48; return s.tmp_0;\n case 48:\n r0 = s.retval;\n s.tmp_0 = r0 = s.arg2;\n s.tmp_2 = if_charWidth_1_mk(s);\n s.tmp_2.arg0 = s.arg5;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "charWidth");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["charWidth"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["charWidth"]; }\n else { s.pc = 49; return s.tmp_2; }\n }\n case 49:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n s.arg2 = (r0);\n { step = 37; continue; }\n case 26:\n r0 = (s.off___2553 + 2);\n s.off___2553 = (r0);\n s.i___2622 = (0);\n case 27:\n r0 = (s.i___2622 < s.dataW___2465);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 36; continue; }\n s.j___2626 = (0);\n s.mask___2627 = (1);\n s.tmp_0 = r0 = s.off___2553;\n r0 = (s.tmp_0 + 1);\n s.off___2553 = (r0);\n r0 = pxsim.BufferMethods.getByte(s.fontdata___2486, s.tmp_0);\n s.c___2628 = (r0);\n case 28:\n r0 = (s.j___2626 < s.dataH___2471);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 35; continue; }\n r0 = (s.mask___2627 == 256);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 29; continue; }\n s.tmp_2 = r0 = s.off___2553;\n r0 = (s.tmp_2 + 1);\n s.off___2553 = (r0);\n r0 = pxsim.BufferMethods.getByte(s.fontdata___2486, s.tmp_2);\n s.c___2628 = (r0);\n s.mask___2627 = (1);\n case 29:\n case 30:\n s.n___2643 = (0);\n case 31:\n r0 = (s.c___2628 & s.mask___2627);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 32; continue; }\n r0 = (s.n___2643 + 1);\n s.n___2643 = (r0);\n r0 = (s.mask___2627 << 1);\n s.mask___2627 = (r0);\n { step = 31; continue; }\n case 32:\n r0 = pxsim_numops_toBoolDecr(s.n___2643);\n if (!r0) { step = 33; continue; }\n s.tmp_0 = helpers_imageFillRect__P411_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_1 = r0 = s.arg2;\n r0 = (s.xOffset___2518 * s.mult___2459);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 + s.tmp_2);\n s.tmp_0.arg1 = r0;\n s.tmp_3 = r0 = s.arg3;\n r0 = (s.j___2626 + s.yOffset___2519);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 * s.mult___2459);\n s.tmp_4 = r0;\n r0 = (s.tmp_3 + s.tmp_4);\n s.tmp_0.arg2 = r0;\n s.tmp_0.arg3 = s.mult___2459;\n r0 = (s.mult___2459 * s.n___2643);\n s.tmp_0.arg4 = r0;\n s.tmp_0.arg5 = s.arg4;\n s.pc = 50; return s.tmp_0;\n case 50:\n r0 = s.retval;\n r0 = (s.j___2626 + s.n___2643);\n s.j___2626 = (r0);\n { step = 34; continue; }\n case 33:\n r0 = (s.mask___2627 << 1);\n s.mask___2627 = (r0);\n r0 = (s.j___2626 + 1);\n s.j___2626 = (r0);\n case 34:\n { step = 28; continue; }\n case 35:\n r0 = (s.arg2 + s.mult___2459);\n s.arg2 = (r0);\n r0 = (s.i___2622 + 1);\n s.i___2622 = (r0);\n { step = 27; continue; }\n case 36:\n case 37:\n { step = 9; continue; }\n case 38:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_imagePrint__P432.info = {"start":15326,"length":3300,"line":213,"column":4,"endLine":306,"endColumn":5,"fileName":"pxt_modules/screen/text.ts","functionName":"imagePrint","argumentNames":["img","text","x","y","color","font","offsets"]}\n\nfunction helpers_imagePrint__P432_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_imagePrint__P432, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n x0___2456: undefined,\n cp___2458: undefined,\n mult___2459: undefined,\n dataW___2465: undefined,\n dataH___2471: undefined,\n byteHeight___2477: undefined,\n charSize___2480: undefined,\n dataSize___2483: undefined,\n fontdata___2486: undefined,\n lastchar___2490: undefined,\n imgBuf___2497: undefined,\n xOffset___2518: undefined,\n yOffset___2519: undefined,\n ch___2533: undefined,\n l___2550: undefined,\n r___2551: undefined,\n off___2553: undefined,\n guess___2554: undefined,\n m___2570: undefined,\n v___2575: undefined,\n i___2622: undefined,\n j___2626: undefined,\n mask___2627: undefined,\n c___2628: undefined,\n n___2643: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n arg5: undefined,\n arg6: undefined,\n} }\n\n\n\n\n\nfunction image_getFontForText__P425(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.i___2721 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.i___2721 = (0);\n case 1:\n s.tmp_1 = r0 = s.i___2721;\n r0 = pxsim_String_.length(s.arg0);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 4; continue; }\n r0 = pxsim_String_.charCodeAt(s.arg0, s.i___2721);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 > 8192);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 2; continue; }\n r0 = globals.font12___424;\n { step = 5; continue; }\n case 2:\n case 3:\n r0 = (s.i___2721 + 1);\n s.i___2721 = (r0);\n { step = 1; continue; }\n case 4:\n r0 = globals.font8___423;\n case 5:\n return leave(s, r0)\n default: oops()\n} } }\nimage_getFontForText__P425.info = {"start":11713,"length":259,"line":136,"column":4,"endLine":143,"endColumn":5,"fileName":"pxt_modules/screen/text.ts","functionName":"getFontForText","argumentNames":["text"]}\n\nfunction image_getFontForText__P425_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: image_getFontForText__P425, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n i___2721: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction helpers_imageFillRect__P411(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.arg5 = (s.lambdaArgs[5]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = r0 = s.arg0;\n s.tmp_2 = helpers_pack__P408_mk(s);\n s.tmp_2.arg0 = s.arg1;\n s.tmp_2.arg1 = s.arg2;\n s.pc = 1; return s.tmp_2;\n case 1:\n r0 = s.retval;\n s.tmp_1 = r0;\n s.tmp_4 = helpers_pack__P408_mk(s);\n s.tmp_4.arg0 = s.arg3;\n s.tmp_4.arg1 = s.arg4;\n s.pc = 2; return s.tmp_4;\n case 2:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods._fillRect(s.tmp_0, s.tmp_1, s.tmp_3, s.arg5);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_imageFillRect__P411.info = {"start":3648,"length":159,"line":131,"column":4,"endLine":133,"endColumn":5,"fileName":"pxt_modules/screen/image.ts","functionName":"imageFillRect","argumentNames":["img","x","y","w","h","c"]}\n\nfunction helpers_imageFillRect__P411_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_imageFillRect__P411, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n arg5: undefined,\n} }\n\n\n\n\n\nfunction helpers_pack__P408(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n s.tmp_2 = Math_clamp__P58_mk(s);\n s.tmp_2.arg0 = -30000;\n s.tmp_2.arg1 = 30000;\n r0 = (s.arg0 | 0);\n s.tmp_2.arg2 = r0;\n s.pc = 1; return s.tmp_2;\n case 1:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 & 65535);\n s.tmp_0 = r0;\n s.tmp_5 = Math_clamp__P58_mk(s);\n s.tmp_5.arg0 = -30000;\n s.tmp_5.arg1 = 30000;\n r0 = (s.arg1 | 0);\n s.tmp_5.arg2 = r0;\n s.pc = 2; return s.tmp_5;\n case 2:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = (s.tmp_4 << 16);\n s.tmp_3 = r0;\n r0 = (s.tmp_0 | s.tmp_3);\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_pack__P408.info = {"start":3151,"length":145,"line":120,"column":4,"endLine":122,"endColumn":5,"fileName":"pxt_modules/screen/image.ts","functionName":"pack","argumentNames":["x","y"]}\n\nfunction helpers_pack__P408_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_pack__P408, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Math_clamp__P58(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = Math_min__P62_mk(s);\n s.tmp_0.arg0 = s.arg1;\n s.tmp_1 = Math_max__P61_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.tmp_1.arg1 = s.arg2;\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n return leave(s, r0)\n default: oops()\n} } }\nMath_clamp__P58.info = {"start":9924,"length":130,"line":339,"column":4,"endLine":341,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"clamp","argumentNames":["min","max","value"]}\n\nfunction Math_clamp__P58_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Math_clamp__P58, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction Math_min__P62(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 <= s.arg1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.arg0;\n { step = 3; continue; }\n case 1:\n case 2:\n r0 = s.arg1;\n case 3:\n return leave(s, r0)\n default: oops()\n} } }\nMath_min__P62.info = {"start":10994,"length":105,"line":373,"column":4,"endLine":376,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"min","argumentNames":["a","b"]}\n\nfunction Math_min__P62_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Math_min__P62, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction helpers_imageDrawIcon__P410(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = r0 = s.arg0;\n s.tmp_1 = r0 = s.arg1;\n s.tmp_3 = helpers_pack__P408_mk(s);\n s.tmp_3.arg0 = s.arg2;\n s.tmp_3.arg1 = s.arg3;\n s.pc = 1; return s.tmp_3;\n case 1:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = pxsim_ImageMethods._drawIcon(s.tmp_0, s.tmp_1, s.tmp_2, s.arg4);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_imageDrawIcon__P410.info = {"start":3498,"length":145,"line":128,"column":4,"endLine":130,"endColumn":5,"fileName":"pxt_modules/screen/image.ts","functionName":"imageDrawIcon","argumentNames":["img","icon","x","y","c"]}\n\nfunction helpers_imageDrawIcon__P410_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_imageDrawIcon__P410, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n} }\n\n\n\n\n\nfunction helpers_stringSplit__P55(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.A___5609 = undefined;\n s.lim___5611 = undefined;\n s.s___5619 = undefined;\n s.p___5622 = undefined;\n s.R___5623 = undefined;\n s.z___5634 = undefined;\n s.T___5645 = undefined;\n s.q___5646 = undefined;\n s.e___5651 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_Array__mk();\n s.A___5609 = (r0);\n s.lim___5611 = (0);\n r0 = (s.arg2 === undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = (1 << 29);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - 1);\n s.lim___5611 = (r0);\n { step = 4; continue; }\n case 1:\n r0 = (s.arg2 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n s.lim___5611 = (0);\n { step = 3; continue; }\n case 2:\n r0 = (s.arg2 | 0);\n s.lim___5611 = (r0);\n case 3:\n case 4:\n r0 = pxsim_String_.length(s.arg0);\n s.s___5619 = (r0);\n s.p___5622 = (0);\n s.R___5623 = (s.arg1);\n r0 = (s.lim___5611 == 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = s.A___5609;\n { step = 21; continue; }\n case 5:\n case 6:\n r0 = (s.arg1 === undefined);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 7; continue; }\n r0 = pxsim_Array_.setAt(s.A___5609, 0, s.arg0);\n r0 = s.A___5609;\n { step = 21; continue; }\n case 7:\n case 8:\n r0 = (s.s___5619 == 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 11; continue; }\n s.tmp_1 = helpers_splitMatch__P56_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.tmp_1.arg1 = 0;\n s.tmp_1.arg2 = s.R___5623;\n s.pc = 22; return s.tmp_1;\n case 22:\n r0 = s.retval;\n s.z___5634 = (r0);\n r0 = (s.z___5634 > -1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 9; continue; }\n r0 = s.A___5609;\n { step = 21; continue; }\n case 9:\n case 10:\n r0 = pxsim_Array_.setAt(s.A___5609, 0, s.arg0);\n r0 = s.A___5609;\n { step = 21; continue; }\n case 11:\n case 12:\n s.q___5646 = (s.p___5622);\n case 13:\n r0 = (s.q___5646 != s.s___5619);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 20; continue; }\n s.tmp_1 = helpers_splitMatch__P56_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.tmp_1.arg1 = s.q___5646;\n s.tmp_1.arg2 = s.R___5623;\n s.pc = 23; return s.tmp_1;\n case 23:\n r0 = s.retval;\n s.e___5651 = (r0);\n r0 = (s.e___5651 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 14; continue; }\n r0 = (s.q___5646 + 1);\n s.q___5646 = (r0);\n { step = 19; continue; }\n case 14:\n r0 = (s.e___5651 == s.p___5622);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 15; continue; }\n r0 = (s.q___5646 + 1);\n s.q___5646 = (r0);\n { step = 18; continue; }\n case 15:\n s.tmp_0 = helpers_stringSlice__P53_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.p___5622;\n s.tmp_0.arg2 = s.q___5646;\n s.pc = 24; return s.tmp_0;\n case 24:\n r0 = s.retval;\n s.T___5645 = (r0);\n r0 = pxsim_Array__push(s.A___5609, s.T___5645);\n r0 = pxsim_Array__length(s.A___5609);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 == s.lim___5611);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 16; continue; }\n r0 = s.A___5609;\n { step = 21; continue; }\n case 16:\n case 17:\n s.p___5622 = (s.e___5651);\n s.q___5646 = (s.p___5622);\n case 18:\n case 19:\n { step = 13; continue; }\n case 20:\n s.tmp_0 = helpers_stringSlice__P53_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.p___5622;\n s.tmp_0.arg2 = s.q___5646;\n s.pc = 25; return s.tmp_0;\n case 25:\n r0 = s.retval;\n s.T___5645 = (r0);\n r0 = pxsim_Array__push(s.A___5609, s.T___5645);\n r0 = s.A___5609;\n case 21:\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_stringSplit__P55.info = {"start":8205,"length":1319,"line":276,"column":4,"endLine":320,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"stringSplit","argumentNames":["S","separator","limit"]}\n\nfunction helpers_stringSplit__P55_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_stringSplit__P55, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n A___5609: undefined,\n lim___5611: undefined,\n s___5619: undefined,\n p___5622: undefined,\n R___5623: undefined,\n z___5634: undefined,\n T___5645: undefined,\n q___5646: undefined,\n e___5651: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction helpers_splitMatch__P56(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.r___5719 = undefined;\n s.s___5722 = undefined;\n s.i___5729 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_String_.length(s.arg2);\n s.r___5719 = (r0);\n r0 = pxsim_String_.length(s.arg0);\n s.s___5722 = (r0);\n r0 = (s.arg1 + s.r___5719);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > s.s___5722);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = -1;\n { step = 7; continue; }\n case 1:\n case 2:\n s.i___5729 = (0);\n case 3:\n r0 = (s.i___5729 < s.r___5719);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 6; continue; }\n s.tmp_3 = r0 = s.arg0;\n r0 = (s.arg1 + s.i___5729);\n s.tmp_4 = r0;\n r0 = pxsim_String_.charAt(s.tmp_3, s.tmp_4);\n s.tmp_2 = r0;\n r0 = pxsim_String_.charAt(s.arg2, s.i___5729);\n s.tmp_5 = r0;\n r0 = (s.tmp_2 != s.tmp_5);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 4; continue; }\n r0 = -1;\n { step = 7; continue; }\n case 4:\n case 5:\n r0 = (s.i___5729 + 1);\n s.i___5729 = (r0);\n { step = 3; continue; }\n case 6:\n r0 = (s.arg1 + s.r___5719);\n case 7:\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_splitMatch__P56.info = {"start":9530,"length":289,"line":322,"column":4,"endLine":331,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"splitMatch","argumentNames":["S","q","R"]}\n\nfunction helpers_splitMatch__P56_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_splitMatch__P56, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n r___5719: undefined,\n s___5722: undefined,\n i___5729: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction helpers_stringSlice__P53(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.len___5693 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_String_.length(s.arg0);\n s.len___5693 = (r0);\n r0 = (s.arg1 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_1 = Math_max__P61_mk(s);\n r0 = (s.len___5693 + s.arg1);\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = 0;\n s.pc = 7; return s.tmp_1;\n case 7:\n r0 = s.retval;\n s.arg1 = (r0);\n case 1:\n case 2:\n r0 = (s.arg2 == null);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.arg2 = (s.len___5693);\n case 3:\n case 4:\n r0 = (s.arg2 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = (s.len___5693 + s.arg2);\n s.arg2 = (r0);\n case 5:\n case 6:\n s.tmp_0 = r0 = s.arg0;\n s.tmp_1 = r0 = s.arg1;\n r0 = (s.arg2 - s.arg1);\n s.tmp_2 = r0;\n r0 = pxsim_String_.substr(s.tmp_0, s.tmp_1, s.tmp_2);\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_stringSlice__P53.info = {"start":7322,"length":365,"line":242,"column":4,"endLine":258,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"stringSlice","argumentNames":["s","start","end"]}\n\nfunction helpers_stringSlice__P53_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_stringSlice__P53, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n len___5693: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction scene_Scene_renderCore__P930(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.s___5780 = undefined;\n s.unnamed68___U1 = undefined;\n s.unnamed69___U2 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Scene__C923_VT)) failedCast(r0);\n s.tmp_0 = scene_Background_draw__P851_mk(s);\n r0 = s.arg0.fields["background"];\n s.tmp_0.arg0 = r0;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n r0 = s.arg0.fields["flags"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 & 2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_2 = helpers_arraySort__P43_mk(s);\n r0 = s.arg0.fields["allSprites"];\n s.tmp_2.arg0 = r0;\n s.tmp_2.arg1 = inline__P5763;\n s.pc = 6; return s.tmp_2;\n case 6:\n r0 = s.retval;\n case 1:\n case 2:\n s.s___5780 = (undefined);\n s.s___5780 = (undefined);\n r0 = s.arg0.fields["allSprites"];\n s.unnamed68___U1 = (r0);\n s.unnamed69___U2 = (0);\n case 3:\n s.tmp_0 = r0 = s.unnamed69___U2;\n r0 = pxsim_Array__length(s.unnamed68___U1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 4; continue; }\n r0 = pxsim_Array__getAt(s.unnamed68___U1, s.unnamed69___U2);\n s.s___5780 = (r0);\n s.tmp_2 = if___draw_2_mk(s);\n s.tmp_2.arg0 = s.s___5780;\n r0 = s.arg0.fields["camera"];\n s.tmp_2.arg1 = r0;\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["__draw"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["__draw"]; }\n else { s.pc = 7; return s.tmp_2; }\n case 7:\n r0 = s.retval;\n r0 = (s.unnamed69___U2 + 1);\n s.unnamed69___U2 = (r0);\n { step = 3; continue; }\n case 4:\n s.unnamed68___U1 = (undefined);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_Scene_renderCore__P930.info = {"start":6966,"length":490,"line":206,"column":8,"endLine":219,"endColumn":9,"fileName":"pxt_modules/game/scene.ts","functionName":"renderCore","argumentNames":["this"]}\n\nfunction scene_Scene_renderCore__P930_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Scene_renderCore__P930, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n s___5780: undefined,\n unnamed68___U1: undefined,\n unnamed69___U2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P5763(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n s.tmp_2 = if_z_1_mk(s);\n s.tmp_2.arg0 = s.arg0;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "z");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["z"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["z"]; }\n else { s.pc = 3; return s.tmp_2; }\n }\n case 3:\n r0 = s.retval;\n s.tmp_1 = r0;\n s.tmp_4 = if_z_1_mk(s);\n s.tmp_4.arg0 = s.arg1;\n if (!s.tmp_4.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_4.arg0, "z");\n } else {\n s.tmp_4.fn = s.tmp_4.arg0.vtable.iface["z"];\n if (s.tmp_4.fn == null) { s.retval = s.tmp_4.arg0.fields["z"]; }\n else { s.pc = 4; return s.tmp_4; }\n }\n case 4:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_1 - s.tmp_3);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n s.tmp_6 = if_id_1_mk(s);\n s.tmp_6.arg0 = s.arg0;\n if (!s.tmp_6.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_6.arg0, "id");\n } else {\n s.tmp_6.fn = s.tmp_6.arg0.vtable.iface["id"];\n if (s.tmp_6.fn == null) { s.retval = s.tmp_6.arg0.fields["id"]; }\n else { s.pc = 5; return s.tmp_6; }\n }\n case 5:\n r0 = s.retval;\n s.tmp_5 = r0;\n s.tmp_8 = if_id_1_mk(s);\n s.tmp_8.arg0 = s.arg1;\n if (!s.tmp_8.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_8.arg0, "id");\n } else {\n s.tmp_8.fn = s.tmp_8.arg0.vtable.iface["id"];\n if (s.tmp_8.fn == null) { s.retval = s.tmp_8.arg0.fields["id"]; }\n else { s.pc = 6; return s.tmp_8; }\n }\n case 6:\n r0 = s.retval;\n s.tmp_7 = r0;\n r0 = (s.tmp_5 - s.tmp_7);\n case 2:\n // jmp value (already in r0)\n s.tmp_9 = r0;\n r0 = s.tmp_9;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P5763.info = {"start":7225,"length":52,"line":212,"column":37,"endLine":212,"endColumn":89,"fileName":"pxt_modules/game/scene.ts","functionName":"inline","argumentNames":["a","b"]}\n\nfunction inline__P5763_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P5763, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction scene_Background_draw__P851(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Background__C846_VT)) failedCast(r0);\n r0 = s.arg0.fields["color"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.fill(globals.screen___464, s.tmp_0);\n r0 = s.arg0.fields["_image"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.arg0.fields["_image"];\n s.tmp_1 = r0;\n r0 = pxsim_ImageMethods.drawTransparentImage(globals.screen___464, s.tmp_1, 0, 0);\n case 1:\n case 2:\n r0 = s.arg0.fields["_layers"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = pxsim_pxtcore_mkAction(1, inline__P5905);\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_1, 0, s.arg0);\n s.tmp_2 = helpers_arrayForEach__P47_mk(s);\n r0 = s.arg0.fields["_layers"];\n s.tmp_2.arg0 = r0;\n s.tmp_2.arg1 = s.tmp_1;\n s.pc = 5; return s.tmp_2;\n case 5:\n r0 = s.retval;\n case 3:\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_Background_draw__P851.info = {"start":1166,"length":545,"line":48,"column":8,"endLine":60,"endColumn":9,"fileName":"pxt_modules/game/background.ts","functionName":"draw","argumentNames":["this"]}\n\nfunction scene_Background_draw__P851_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Background_draw__P851, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P5905(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.ox___5907 = undefined;\n s.oy___5919 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.caps[0].fields["camera"];\n r0 = r0.fields["drawOffsetX"];\n s.tmp_1 = r0;\n r0 = s.arg0.fields["distance"];\n s.tmp_3 = r0;\n r0 = (1 + s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 / s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim.Math_.round(s.tmp_0);\n s.ox___5907 = (r0);\n r0 = s.caps[0].fields["camera"];\n r0 = r0.fields["drawOffsetY"];\n s.tmp_1 = r0;\n r0 = s.arg0.fields["distance"];\n s.tmp_3 = r0;\n r0 = (1 + s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 / s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim.Math_.round(s.tmp_0);\n s.oy___5919 = (r0);\n s.tmp_0 = scene_BackgroundLayer_draw__P854_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.ox___5907;\n s.tmp_0.arg2 = s.oy___5919;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P5905.info = {"start":1373,"length":312,"line":53,"column":37,"endLine":58,"endColumn":17,"fileName":"pxt_modules/game/background.ts","functionName":"inline","argumentNames":["layer"]}\n\nfunction inline__P5905_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P5905, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n ox___5907: undefined,\n oy___5919: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_BackgroundLayer_draw__P854(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.w___5936 = undefined;\n s.h___5939 = undefined;\n s.pw___5942 = undefined;\n s.ph___5947 = undefined;\n s.rx___5954 = undefined;\n s.ry___5956 = undefined;\n s.y___6011 = undefined;\n s.py___6012 = undefined;\n s.dh___6019 = undefined;\n s.x___6025 = undefined;\n s.rxl___6026 = undefined;\n s.px___6031 = undefined;\n s.dw___6034 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_BackgroundLayer__C853_VT)) failedCast(r0);\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.w___5936 = (r0);\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n s.h___5939 = (r0);\n r0 = s.arg0.fields["img"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_0);\n s.pw___5942 = (r0);\n r0 = s.arg0.fields["img"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_0);\n s.ph___5947 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.pw___5942);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = pxsim_numops_toBoolDecr(s.ph___5947);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n case 2:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 3; continue; }\n { step = 23; continue; }\n case 3:\n case 4:\n r0 = (0 - s.arg1);\n s.rx___5954 = (r0);\n r0 = (0 - s.arg2);\n s.ry___5956 = (r0);\n r0 = s.arg0.fields["alignX"];\n s.tmp_0 = r0;\n r0 = pxsim_pxtcore.switch_eq(2, s.tmp_0);\n if (r0) { step = 5; continue; }\n r0 = pxsim_pxtcore.switch_eq(5, s.tmp_0);\n if (r0) { step = 6; continue; }\n r0 = s.tmp_0;\n { step = 7; continue; }\n case 5:\n s.tmp_1 = r0 = s.rx___5954;\n r0 = (s.w___5936 + s.pw___5942);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 - s.tmp_2);\n s.rx___5954 = (r0);\n { step = 7; continue; }\n case 6:\n s.tmp_0 = r0 = s.rx___5954;\n r0 = (s.w___5936 + s.pw___5942);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 >> 1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 - s.tmp_1);\n s.rx___5954 = (r0);\n case 7:\n r0 = s.arg0.fields["alignY"];\n s.tmp_0 = r0;\n r0 = pxsim_pxtcore.switch_eq(4, s.tmp_0);\n if (r0) { step = 8; continue; }\n r0 = pxsim_pxtcore.switch_eq(5, s.tmp_0);\n if (r0) { step = 9; continue; }\n r0 = s.tmp_0;\n { step = 10; continue; }\n case 8:\n s.tmp_1 = r0 = s.ry___5956;\n r0 = (s.h___5939 + s.ph___5947);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 - s.tmp_2);\n s.ry___5956 = (r0);\n { step = 10; continue; }\n case 9:\n s.tmp_0 = r0 = s.ry___5956;\n r0 = (s.h___5939 + s.ph___5947);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 >> 1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 - s.tmp_1);\n s.ry___5956 = (r0);\n case 10:\n r0 = (s.rx___5954 % s.w___5936);\n s.rx___5954 = (r0);\n r0 = (s.rx___5954 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 11; continue; }\n r0 = (s.rx___5954 + s.w___5936);\n s.rx___5954 = (r0);\n case 11:\n case 12:\n r0 = (s.ry___5956 % s.h___5939);\n s.ry___5956 = (r0);\n r0 = (s.ry___5956 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 13; continue; }\n r0 = (s.ry___5956 + s.h___5939);\n s.ry___5956 = (r0);\n case 13:\n case 14:\n r0 = pxsim.Math_.floor(s.rx___5954);\n s.rx___5954 = (r0);\n r0 = pxsim.Math_.floor(s.ry___5956);\n s.ry___5956 = (r0);\n s.y___6011 = (0);\n s.py___6012 = (0);\n case 15:\n r0 = (s.y___6011 < s.h___5939);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 22; continue; }\n r0 = (s.y___6011 % s.ph___5947);\n s.py___6012 = (r0);\n s.tmp_0 = Math_min__P62_mk(s);\n r0 = (s.ph___5947 - s.py___6012);\n s.tmp_0.arg0 = r0;\n r0 = (s.h___5939 - s.ry___5956);\n s.tmp_0.arg1 = r0;\n s.pc = 24; return s.tmp_0;\n case 24:\n r0 = s.retval;\n s.dh___6019 = (r0);\n s.x___6025 = (0);\n s.rxl___6026 = (s.rx___5954);\n case 16:\n r0 = (s.x___6025 < s.w___5936);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 19; continue; }\n r0 = (s.x___6025 % s.pw___5942);\n s.px___6031 = (r0);\n s.tmp_0 = Math_min__P62_mk(s);\n r0 = (s.pw___5942 - s.px___6031);\n s.tmp_0.arg0 = r0;\n r0 = (s.w___5936 - s.rxl___6026);\n s.tmp_0.arg1 = r0;\n s.pc = 25; return s.tmp_0;\n case 25:\n r0 = s.retval;\n s.dw___6034 = (r0);\n r0 = s.arg0.fields["img"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.drawImage(globals.screen___464, s.tmp_0, s.rxl___6026, s.ry___5956);\n r0 = (s.rxl___6026 + s.dw___6034);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 % s.w___5936);\n s.rxl___6026 = (r0);\n r0 = s.arg0.fields["repeatX"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 17; continue; }\n r0 = s.dw___6034;\n { step = 18; continue; }\n case 17:\n r0 = s.w___5936;\n case 18:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = (s.x___6025 + s.tmp_1);\n s.x___6025 = (r0);\n { step = 16; continue; }\n case 19:\n r0 = (s.ry___5956 + s.dh___6019);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 % s.h___5939);\n s.ry___5956 = (r0);\n r0 = s.arg0.fields["repeatY"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 20; continue; }\n r0 = s.dh___6019;\n { step = 21; continue; }\n case 20:\n r0 = s.h___5939;\n case 21:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = (s.y___6011 + s.tmp_1);\n s.y___6011 = (r0);\n { step = 15; continue; }\n case 22:\n case 23:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_BackgroundLayer_draw__P854.info = {"start":3063,"length":1537,"line":99,"column":8,"endLine":144,"endColumn":9,"fileName":"pxt_modules/game/background.ts","functionName":"draw","argumentNames":["this","offsetX","offsetY"]}\n\nfunction scene_BackgroundLayer_draw__P854_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_BackgroundLayer_draw__P854, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n w___5936: undefined,\n h___5939: undefined,\n pw___5942: undefined,\n ph___5947: undefined,\n rx___5954: undefined,\n ry___5956: undefined,\n y___6011: undefined,\n py___6012: undefined,\n dh___6019: undefined,\n x___6025: undefined,\n rxl___6026: undefined,\n px___6031: undefined,\n dw___6034: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction scene_Camera_update__P888(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.scene___6073 = undefined;\n s.elapsed___6131 = undefined;\n s.percentComplete___6143 = undefined;\n s.dampStart___6147 = undefined;\n s.damp___6148 = undefined;\n s.f___6154 = undefined;\n s.x___6159 = undefined;\n s.y___6163 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Camera__C886_VT)) failedCast(r0);\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 13; return s.tmp_0;\n case 13:\n r0 = s.retval;\n s.scene___6073 = (r0);\n r0 = s.arg0.fields["sprite"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_1 = r0 = s.arg0;\n s.tmp_4 = Sprite_x__P609_mk(s);\n r0 = s.arg0.fields["sprite"];\n s.tmp_4.arg0 = r0;\n s.pc = 14; return s.tmp_4;\n case 14:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 >> 1);\n s.tmp_5 = r0;\n r0 = (s.tmp_3 - s.tmp_5);\n s.tmp_2 = r0;\n r0 = (s.tmp_1).fields["offsetX"] = (s.tmp_2);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_3 = Sprite_y__P611_mk(s);\n r0 = s.arg0.fields["sprite"];\n s.tmp_3.arg0 = r0;\n s.pc = 15; return s.tmp_3;\n case 15:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 >> 1);\n s.tmp_4 = r0;\n r0 = (s.tmp_2 - s.tmp_4);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["offsetY"] = (s.tmp_1);\n case 1:\n case 2:\n r0 = s.scene___6073.fields["tileMap"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 3; continue; }\n r0 = s.tmp_0;\n { step = 4; continue; }\n case 3:\n r0 = s.scene___6073.fields["tileMap"];\n s.tmp_1 = r0;\n r0 = s.tmp_1.fields["_map"];\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_5);\n s.tmp_4 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_4);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n case 4:\n // jmp value (already in r0)\n s.tmp_6 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_6);\n if (!r0) { step = 5; continue; }\n s.tmp_7 = r0 = s.arg0;\n s.tmp_9 = tiles_TileMap_offsetX__P867_mk(s);\n r0 = s.scene___6073.fields["tileMap"];\n s.tmp_9.arg0 = r0;\n r0 = s.arg0.fields["offsetX"];\n s.tmp_9.arg1 = r0;\n s.pc = 16; return s.tmp_9;\n case 16:\n r0 = s.retval;\n s.tmp_8 = r0;\n r0 = (s.tmp_7).fields["offsetX"] = (s.tmp_8);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_2 = tiles_TileMap_offsetY__P868_mk(s);\n r0 = s.scene___6073.fields["tileMap"];\n s.tmp_2.arg0 = r0;\n r0 = s.arg0.fields["offsetY"];\n s.tmp_2.arg1 = r0;\n s.pc = 17; return s.tmp_2;\n case 17:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["offsetY"] = (s.tmp_1);\n case 5:\n case 6:\n s.tmp_0 = r0 = s.arg0;\n r0 = s.tmp_0.fields["offsetX"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["offsetX"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.tmp_0.fields["offsetY"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["offsetY"] = (s.tmp_1);\n r0 = s.arg0.fields["offsetX"];\n s.tmp_0 = r0;\n r0 = (s.arg0).fields["drawOffsetX"] = (s.tmp_0);\n r0 = s.arg0.fields["offsetY"];\n s.tmp_0 = r0;\n r0 = (s.arg0).fields["drawOffsetY"] = (s.tmp_0);\n r0 = s.arg0.fields["shakeStartTime"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 !== undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 11; continue; }\n r0 = pxsim.control.millis();\n s.tmp_2 = r0;\n r0 = s.arg0.fields["shakeStartTime"];\n s.tmp_3 = r0;\n r0 = (s.tmp_2 - s.tmp_3);\n s.elapsed___6131 = (r0);\n r0 = s.arg0.fields["shakeDuration"];\n s.tmp_1 = r0;\n r0 = (s.elapsed___6131 >= s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 7; continue; }\n r0 = (s.arg0).fields["shakeStartTime"] = (undefined);\n { step = 10; continue; }\n case 7:\n r0 = s.arg0.fields["shakeDuration"];\n s.tmp_0 = r0;\n r0 = (s.elapsed___6131 / s.tmp_0);\n s.percentComplete___6143 = (r0);\n s.dampStart___6147 = (0.75);\n s.damp___6148 = (1);\n r0 = (s.percentComplete___6143 >= s.dampStart___6147);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 8; continue; }\n s.tmp_1 = Math_max__P61_mk(s);\n s.tmp_1.arg0 = 0;\n r0 = (1 - s.percentComplete___6143);\n s.tmp_1.arg1 = r0;\n s.pc = 18; return s.tmp_1;\n case 18:\n r0 = s.retval;\n s.damp___6148 = (r0);\n case 8:\n case 9:\n r0 = s.arg0.fields["shakeAmplitude"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 * s.damp___6148);\n s.f___6154 = (r0);\n r0 = pxsim.Math_.random();\n s.tmp_1 = r0;\n r0 = (s.tmp_1 * s.f___6154);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 >> 0);\n s.x___6159 = (r0);\n r0 = pxsim.Math_.random();\n s.tmp_1 = r0;\n r0 = (s.tmp_1 * s.f___6154);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 >> 0);\n s.y___6163 = (r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.tmp_0.fields["drawOffsetX"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.x___6159);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["drawOffsetX"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.tmp_0.fields["drawOffsetY"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.y___6163);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["drawOffsetY"] = (s.tmp_1);\n case 10:\n case 11:\n case 12:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_Camera_update__P888.info = {"start":1096,"length":1691,"line":34,"column":8,"endLine":77,"endColumn":9,"fileName":"pxt_modules/game/camera.ts","functionName":"update","argumentNames":["this"]}\n\nfunction scene_Camera_update__P888_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Camera_update__P888, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n scene___6073: undefined,\n elapsed___6131: undefined,\n percentComplete___6143: undefined,\n dampStart___6147: undefined,\n damp___6148: undefined,\n f___6154: undefined,\n x___6159: undefined,\n y___6163: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction tiles_TileMap_enabled__P873(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, tiles_TileMap__C865_VT)) failedCast(r0);\n r0 = s.arg0.fields["_map"];\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\ntiles_TileMap_enabled__P873.info = {"start":3529,"length":66,"line":129,"column":8,"endLine":131,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"enabled","argumentNames":["this"]}\n\nfunction tiles_TileMap_enabled__P873_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: tiles_TileMap_enabled__P873, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction tiles_TileMap_offsetY__P868(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, tiles_TileMap__C865_VT)) failedCast(r0);\n s.tmp_0 = Math_clamp__P58_mk(s);\n s.tmp_0.arg0 = 0;\n s.tmp_1 = Math_max__P61_mk(s);\n s.tmp_3 = tiles_TileMap_areaHeight__P870_mk(s);\n s.tmp_3.arg0 = s.arg0;\n s.pc = 3; return s.tmp_3;\n case 3:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n s.tmp_4 = r0;\n r0 = (s.tmp_2 - s.tmp_4);\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = 0;\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = s.arg1;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n return leave(s, r0)\n default: oops()\n} } }\ntiles_TileMap_offsetY__P868.info = {"start":2982,"length":123,"line":107,"column":8,"endLine":109,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"offsetY","argumentNames":["this","value"]}\n\nfunction tiles_TileMap_offsetY__P868_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: tiles_TileMap_offsetY__P868, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction tiles_TileMap_areaHeight__P870(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, tiles_TileMap__C865_VT)) failedCast(r0);\n r0 = s.arg0.fields["_map"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.arg0.fields["_map"];\n s.tmp_2 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_2);\n s.tmp_1 = r0;\n r0 = s.arg0.fields["scale"];\n s.tmp_3 = r0;\n r0 = (s.tmp_1 << s.tmp_3);\n { step = 2; continue; }\n case 1:\n r0 = 0;\n case 2:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n r0 = s.tmp_4;\n return leave(s, r0)\n default: oops()\n} } }\ntiles_TileMap_areaHeight__P870.info = {"start":3216,"length":93,"line":115,"column":8,"endLine":117,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"areaHeight","argumentNames":["this"]}\n\nfunction tiles_TileMap_areaHeight__P870_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: tiles_TileMap_areaHeight__P870, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction tiles_TileMap_offsetX__P867(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, tiles_TileMap__C865_VT)) failedCast(r0);\n s.tmp_0 = Math_clamp__P58_mk(s);\n s.tmp_0.arg0 = 0;\n s.tmp_1 = Math_max__P61_mk(s);\n s.tmp_3 = tiles_TileMap_areaWidth__P869_mk(s);\n s.tmp_3.arg0 = s.arg0;\n s.pc = 3; return s.tmp_3;\n case 3:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_4 = r0;\n r0 = (s.tmp_2 - s.tmp_4);\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = 0;\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = s.arg1;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n return leave(s, r0)\n default: oops()\n} } }\ntiles_TileMap_offsetX__P867.info = {"start":2851,"length":121,"line":103,"column":8,"endLine":105,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"offsetX","argumentNames":["this","value"]}\n\nfunction tiles_TileMap_offsetX__P867_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: tiles_TileMap_offsetX__P867, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction tiles_TileMap_areaWidth__P869(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, tiles_TileMap__C865_VT)) failedCast(r0);\n r0 = s.arg0.fields["_map"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.arg0.fields["_map"];\n s.tmp_2 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_2);\n s.tmp_1 = r0;\n r0 = s.arg0.fields["scale"];\n s.tmp_3 = r0;\n r0 = (s.tmp_1 << s.tmp_3);\n { step = 2; continue; }\n case 1:\n r0 = 0;\n case 2:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n r0 = s.tmp_4;\n return leave(s, r0)\n default: oops()\n} } }\ntiles_TileMap_areaWidth__P869.info = {"start":3115,"length":91,"line":111,"column":8,"endLine":113,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"areaWidth","argumentNames":["this"]}\n\nfunction tiles_TileMap_areaWidth__P869_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: tiles_TileMap_areaWidth__P869, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Sprite_y__P611(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields["_y"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 + 128);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 >> 8);\n s.tmp_0 = r0;\n r0 = s.arg0.fields["_image"];\n s.tmp_5 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_5);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 >> 1);\n s.tmp_3 = r0;\n r0 = (s.tmp_0 + s.tmp_3);\n return leave(s, r0)\n default: oops()\n} } }\nSprite_y__P611.info = {"start":1505,"length":84,"line":64,"column":4,"endLine":66,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"y","argumentNames":["this"]}\n\nfunction Sprite_y__P611_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_y__P611, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Fx_toInt__P98(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 + 128);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 >> 8);\n return leave(s, r0)\n default: oops()\n} } }\nFx_toInt__P98.info = {"start":1996,"length":86,"line":65,"column":4,"endLine":67,"endColumn":5,"fileName":"pxt_modules/base/fixed.ts","functionName":"toInt","argumentNames":["v"]}\n\nfunction Fx_toInt__P98_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Fx_toInt__P98, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction PhysicsEngine_move__P713(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, PhysicsEngine__C708_VT)) failedCast(r0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nPhysicsEngine_move__P713.info = {"start":351,"length":20,"line":18,"column":4,"endLine":18,"endColumn":24,"fileName":"pxt_modules/game/physics.ts","functionName":"move","argumentNames":["this","dt"]}\n\nfunction PhysicsEngine_move__P713_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: PhysicsEngine_move__P713, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction PhysicsEngine_draw__P712(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, PhysicsEngine__C708_VT)) failedCast(r0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nPhysicsEngine_draw__P712.info = {"start":279,"length":10,"line":15,"column":4,"endLine":15,"endColumn":14,"fileName":"pxt_modules/game/physics.ts","functionName":"draw","argumentNames":["this"]}\n\nfunction PhysicsEngine_draw__P712_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: PhysicsEngine_draw__P712, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller___update__P582(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.dtms___6498 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 * 1000);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 | 0);\n s.dtms___6498 = (r0);\n r0 = pxsim_pxtcore_mkAction(1, inline__P6502);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.dtms___6498);\n s.tmp_1 = helpers_arrayForEach__P47_mk(s);\n s.tmp_2 = controller_players__P553_mk(s);\n s.pc = 2; return s.tmp_2;\n case 2:\n r0 = s.retval;\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = s.tmp_0;\n s.pc = 1; return s.tmp_1;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller___update__P582.info = {"start":16179,"length":137,"line":504,"column":4,"endLine":507,"endColumn":5,"fileName":"pxt_modules/game/controller.ts","functionName":"__update","argumentNames":["dt"]}\n\nfunction controller___update__P582_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller___update__P582, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n dtms___6498: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P6502(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = controller_Controller___update__P579_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.caps[0];\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P6502.info = {"start":16281,"length":27,"line":506,"column":26,"endLine":506,"endColumn":53,"fileName":"pxt_modules/game/controller.ts","functionName":"inline","argumentNames":["ctrl"]}\n\nfunction inline__P6502_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P6502, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller_Controller___update__P579(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Controller__C557_VT)) failedCast(r0);\n r0 = pxsim_pxtrt.mklocRef();\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.arg1);\n s.arg1 = (s.tmp_0);\n s.tmp_1 = r0 = s.arg1;\n r0 = pxsim_pxtrt_ldlocRef(s.arg1);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 | 0);\n s.tmp_2 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_1, s.tmp_2);\n r0 = pxsim_pxtcore_mkAction(1, inline__P6514);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg1);\n s.tmp_1 = helpers_arrayForEach__P47_mk(s);\n r0 = s.arg0.fields["buttons"];\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = s.tmp_0;\n s.pc = 1; return s.tmp_1;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Controller___update__P579.info = {"start":15657,"length":124,"line":486,"column":8,"endLine":489,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"__update","argumentNames":["this","dtms"]}\n\nfunction controller_Controller___update__P579_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Controller___update__P579, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction inline__P6514(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = controller_Button___update__P547_mk(s);\n s.tmp_0.arg0 = s.arg0;\n r0 = pxsim_pxtrt_ldlocRef(s.caps[0]);\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P6514.info = {"start":15744,"length":25,"line":488,"column":33,"endLine":488,"endColumn":58,"fileName":"pxt_modules/game/controller.ts","functionName":"inline","argumentNames":["btn"]}\n\nfunction inline__P6514_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P6514, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller_Button___update__P547(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.delay___6528 = undefined;\n s.interval___6536 = undefined;\n s.count___6547 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Button__C538_VT)) failedCast(r0);\n r0 = s.arg0.fields["_pressed"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 11; continue; }\n case 1:\n case 2:\n s.tmp_3 = r0 = s.arg0;\n r0 = s.tmp_3.fields["_pressedElasped"];\n s.tmp_5 = r0;\n r0 = (s.tmp_5 + s.arg1);\n s.tmp_4 = r0;\n r0 = (s.tmp_3).fields["_pressedElasped"] = (s.tmp_4);\n r0 = s.arg0.fields["repeatDelay"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 === undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = globals.defaultRepeatDelay___536;\n { step = 4; continue; }\n case 3:\n r0 = s.arg0.fields["repeatDelay"];\n case 4:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n s.delay___6528 = (s.tmp_2);\n r0 = s.arg0.fields["repeatInterval"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 === undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = globals.defaultRepeatInterval___537;\n { step = 6; continue; }\n case 5:\n r0 = s.arg0.fields["repeatInterval"];\n case 6:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n s.interval___6536 = (s.tmp_2);\n r0 = s.arg0.fields["_pressedElasped"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 < s.delay___6528);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 7; continue; }\n { step = 11; continue; }\n case 7:\n case 8:\n r0 = s.arg0.fields["_pressedElasped"];\n s.tmp_5 = r0;\n r0 = (s.tmp_5 - s.delay___6528);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 - s.interval___6536);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 / s.interval___6536);\n s.tmp_2 = r0;\n r0 = pxsim.Math_.floor(s.tmp_2);\n s.count___6547 = (r0);\n r0 = s.arg0.fields["_repeatCount"];\n s.tmp_1 = r0;\n r0 = (s.count___6547 != s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 9; continue; }\n s.tmp_2 = controller_Button_raiseButtonRepeat__P542_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 12; return s.tmp_2;\n case 12:\n r0 = s.retval;\n r0 = (s.arg0).fields["_repeatCount"] = (s.count___6547);\n case 9:\n case 10:\n case 11:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Button___update__P547.info = {"start":4819,"length":704,"line":148,"column":8,"endLine":165,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"__update","argumentNames":["this","dtms"]}\n\nfunction controller_Button___update__P547_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Button___update__P547, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n delay___6528: undefined,\n interval___6536: undefined,\n count___6547: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction controller_Button_raiseButtonRepeat__P542(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Button__C538_VT)) failedCast(r0);\n r0 = pxsim_numops_toBoolDecr(globals._userEventsEnabled___535);\n if (!r0) { step = 1; continue; }\n r0 = s.arg0.fields["id"];\n s.tmp_0 = r0;\n r0 = pxsim.control.raiseEvent(2054, s.tmp_0);\n { step = 2; continue; }\n case 1:\n r0 = s.arg0.fields["id"];\n s.tmp_0 = r0;\n r0 = pxsim.control.raiseEvent(2055, s.tmp_0);\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Button_raiseButtonRepeat__P542.info = {"start":2994,"length":211,"line":95,"column":8,"endLine":100,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"raiseButtonRepeat","argumentNames":["this"]}\n\nfunction controller_Button_raiseButtonRepeat__P542_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Button_raiseButtonRepeat__P542, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller_players__P553(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = controller_player1__P552_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.tmp_0 = helpers_arrayFilter__P48_mk(s);\n s.tmp_0.arg0 = globals._players___550;\n s.tmp_0.arg1 = inline__P6381;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_players__P553.info = {"start":6479,"length":143,"line":193,"column":4,"endLine":196,"endColumn":5,"fileName":"pxt_modules/game/controller.ts","functionName":"players","argumentNames":[]}\n\nfunction controller_players__P553_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_players__P553, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction inline__P6381(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_numops_toBoolDecr(s.arg0);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\ninline__P6381.info = {"start":6600,"length":14,"line":195,"column":31,"endLine":195,"endColumn":45,"fileName":"pxt_modules/game/controller.ts","functionName":"inline","argumentNames":["ctrl"]}\n\nfunction inline__P6381_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P6381, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller_player1__P552(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals._players___550);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = pxsim_Array__getAt(globals._players___550, 0);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n case 2:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n if (!r0) { step = 3; continue; }\n r0 = pxsim_pxtcore_mkClassInstance(controller_Controller__C557_VT);\n s.tmp_5 = r0;\n r0 = pxsim_Array__mk();\n s.tmp_6 = r0;\n r0 = pxsim_Array__push(s.tmp_6, globals.left___527);\n r0 = pxsim_Array__push(s.tmp_6, globals.up___528);\n r0 = pxsim_Array__push(s.tmp_6, globals.right___529);\n r0 = pxsim_Array__push(s.tmp_6, globals.down___530);\n r0 = pxsim_Array__push(s.tmp_6, globals.A___525);\n r0 = pxsim_Array__push(s.tmp_6, globals.B___526);\n r0 = pxsim_Array__push(s.tmp_6, globals.menu___531);\n s.tmp_7 = controller_Controller_constructor__P581_mk(s);\n s.tmp_7.arg0 = s.tmp_5;\n s.tmp_7.arg1 = 1;\n s.tmp_7.arg2 = s.tmp_6;\n s.pc = 5; return s.tmp_7;\n case 5:\n r0 = s.retval;\n case 3:\n case 4:\n r0 = pxsim_Array__getAt(globals._players___550, 0);\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_player1__P552.info = {"start":6223,"length":250,"line":187,"column":4,"endLine":191,"endColumn":5,"fileName":"pxt_modules/game/controller.ts","functionName":"player1","argumentNames":[]}\n\nfunction controller_player1__P552_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_player1__P552, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n} }\n\n\n\n\n\nfunction controller_Controller_constructor__P581(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.leftId___6450 = undefined;\n s.i___6455 = undefined;\n s.i___6469 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Controller__C557_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim.control.allocateNotifyEvent();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["_id"] = (s.tmp_1);\n r0 = (s.arg0).fields["_connected"] = (false);\n r0 = (s.arg0).fields["playerIndex"] = (s.arg1);\n r0 = pxsim_numops_toBoolDecr(s.arg2);\n if (!r0) { step = 1; continue; }\n r0 = (s.arg0).fields["buttons"] = (s.arg2);\n { step = 4; continue; }\n case 1:\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["buttons"] = (s.tmp_1);\n r0 = s.arg0.fields["playerIndex"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - 1);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 * 7);\n s.tmp_0 = r0;\n r0 = (1 + s.tmp_0);\n s.leftId___6450 = (r0);\n s.i___6455 = (0);\n case 2:\n r0 = (s.i___6455 < 7);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = pxsim_pxtcore_mkClassInstance(controller_Button__C538_VT);\n s.tmp_1 = r0;\n s.tmp_2 = controller_Button_constructor__P548_mk(s);\n s.tmp_2.arg0 = s.tmp_1;\n r0 = (s.leftId___6450 + s.i___6455);\n s.tmp_2.arg1 = r0;\n s.tmp_2.arg2 = -1;\n s.pc = 7; return s.tmp_2;\n case 7:\n r0 = s.retval;\n r0 = s.arg0.fields["buttons"];\n s.tmp_3 = r0;\n r0 = pxsim_Array__push(s.tmp_3, s.tmp_1);\n r0 = (s.i___6455 + 1);\n s.i___6455 = (r0);\n { step = 2; continue; }\n case 3:\n case 4:\n s.i___6469 = (0);\n case 5:\n s.tmp_1 = r0 = s.i___6469;\n r0 = s.arg0.fields["buttons"];\n s.tmp_3 = r0;\n r0 = pxsim_Array__length(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 6; continue; }\n r0 = s.arg0.fields["buttons"];\n s.tmp_5 = r0;\n r0 = pxsim_Array__getAt(s.tmp_5, s.i___6469);\n s.tmp_4 = r0;\n r0 = (s.tmp_4).fields["_owner"] = (s.arg0);\n r0 = (s.i___6469 + 1);\n s.i___6469 = (r0);\n { step = 5; continue; }\n case 6:\n s.tmp_0 = controller_addController__P551_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 8; return s.tmp_0;\n case 8:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Controller_constructor__P581.info = {"start":7262,"length":663,"line":221,"column":8,"endLine":237,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"inline","argumentNames":["this","playerIndex","buttons"]}\n\nfunction controller_Controller_constructor__P581_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Controller_constructor__P581, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n leftId___6450: undefined,\n i___6455: undefined,\n i___6469: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction controller_addController__P551(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_numops_toBoolDecr(globals._players___550);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_Array__mk();\n globals._players___550 = (r0);\n case 1:\n case 2:\n s.tmp_0 = r0 = globals._players___550;\n r0 = s.arg0.fields["playerIndex"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - 1);\n s.tmp_1 = r0;\n r0 = pxsim_Array_.setAt(s.tmp_0, s.tmp_1, s.arg0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_addController__P551.info = {"start":6060,"length":157,"line":180,"column":4,"endLine":185,"endColumn":5,"fileName":"pxt_modules/game/controller.ts","functionName":"addController","argumentNames":["ctrl"]}\n\nfunction controller_addController__P551_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_addController__P551, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller__moveSprites__P556(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = helpers_arrayForEach__P47_mk(s);\n s.tmp_1 = controller_players__P553_mk(s);\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = inline__P6228;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller__moveSprites__P556.info = {"start":6838,"length":182,"line":207,"column":4,"endLine":211,"endColumn":5,"fileName":"pxt_modules/game/controller.ts","functionName":"_moveSprites","argumentNames":[]}\n\nfunction controller__moveSprites__P556_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller__moveSprites__P556, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n} }\n\n\n\n\n\nfunction inline__P6228(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = controller_Controller___preUpdate__P578_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P6228.info = {"start":6986,"length":26,"line":210,"column":26,"endLine":210,"endColumn":52,"fileName":"pxt_modules/game/controller.ts","functionName":"inline","argumentNames":["ctrl"]}\n\nfunction inline__P6228_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P6228, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller_Controller___preUpdate__P578(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.deadSprites___6234 = undefined;\n s.svx___6235 = undefined;\n s.svy___6236 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Controller__C557_VT)) failedCast(r0);\n s.tmp_3 = controller_Controller__controlledSprites__P558_mk(s);\n s.tmp_3.arg0 = s.arg0;\n s.pc = 6; return s.tmp_3;\n case 6:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 5; continue; }\n case 1:\n case 2:\n r0 = pxsim_pxtrt.mklocRef();\n s.deadSprites___6234 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.deadSprites___6234, false);\n r0 = pxsim_pxtrt.mklocRef();\n s.svx___6235 = (r0);\n r0 = pxsim_pxtrt.mklocRef();\n s.svy___6236 = (r0);\n r0 = pxsim_pxtcore_mkAction(4, inline__P6239);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.deadSprites___6234);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.svx___6235);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 2, s.svy___6236);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 3, s.arg0);\n s.tmp_1 = helpers_arrayForEach__P47_mk(s);\n s.tmp_2 = controller_Controller__controlledSprites__P558_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 8; return s.tmp_2;\n case 8:\n r0 = s.retval;\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = s.tmp_0;\n s.pc = 7; return s.tmp_1;\n case 7:\n r0 = s.retval;\n r0 = pxsim_pxtrt_ldlocRef(s.deadSprites___6234);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.tmp_1 = controller_Controller__controlledSprites__P559_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.tmp_2 = helpers_arrayFilter__P48_mk(s);\n s.tmp_3 = controller_Controller__controlledSprites__P558_mk(s);\n s.tmp_3.arg0 = s.arg0;\n s.pc = 11; return s.tmp_3;\n case 11:\n r0 = s.retval;\n s.tmp_2.arg0 = r0;\n s.tmp_2.arg1 = inline__P6314;\n s.pc = 10; return s.tmp_2;\n case 10:\n r0 = s.retval;\n s.tmp_1.arg1 = r0;\n s.pc = 9; return s.tmp_1;\n case 9:\n r0 = s.retval;\n case 3:\n case 4:\n case 5:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Controller___preUpdate__P578.info = {"start":14007,"length":1640,"line":433,"column":8,"endLine":484,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"__preUpdate","argumentNames":["this"]}\n\nfunction controller_Controller___preUpdate__P578_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Controller___preUpdate__P578, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n deadSprites___6234: undefined,\n svx___6235: undefined,\n svy___6236: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P6239(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0.fields["s"];\n r0 = r0.fields["flags"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 & 2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_pxtrt_stlocRef(s.caps[0], true);\n { step = 29; continue; }\n case 1:\n case 2:\n r0 = pxsim_pxtrt_stlocRef(s.caps[1], 0);\n r0 = pxsim_pxtrt_stlocRef(s.caps[2], 0);\n r0 = s.arg0.fields["vx"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 7; continue; }\n s.tmp_3 = controller_Controller_right__P563_mk(s);\n s.tmp_3.arg0 = s.caps[3];\n s.pc = 30; return s.tmp_3;\n case 30:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = s.tmp_2.fields["_pressed"];\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 3; continue; }\n s.tmp_4 = r0 = s.caps[1];\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_6 = r0;\n r0 = s.arg0.fields["vx"];\n s.tmp_7 = r0;\n r0 = (s.tmp_6 + s.tmp_7);\n s.tmp_5 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_4, s.tmp_5);\n case 3:\n case 4:\n s.tmp_2 = controller_Controller_left__P562_mk(s);\n s.tmp_2.arg0 = s.caps[3];\n s.pc = 31; return s.tmp_2;\n case 31:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = s.tmp_1.fields["_pressed"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n s.tmp_3 = r0 = s.caps[1];\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_5 = r0;\n r0 = s.arg0.fields["vx"];\n s.tmp_6 = r0;\n r0 = (s.tmp_5 - s.tmp_6);\n s.tmp_4 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_3, s.tmp_4);\n case 5:\n case 6:\n case 7:\n case 8:\n r0 = s.arg0.fields["vy"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 13; continue; }\n s.tmp_3 = controller_Controller_down__P565_mk(s);\n s.tmp_3.arg0 = s.caps[3];\n s.pc = 32; return s.tmp_3;\n case 32:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = s.tmp_2.fields["_pressed"];\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 9; continue; }\n s.tmp_4 = r0 = s.caps[2];\n r0 = pxsim_pxtrt_ldlocRef(s.caps[2]);\n s.tmp_6 = r0;\n r0 = s.arg0.fields["vy"];\n s.tmp_7 = r0;\n r0 = (s.tmp_6 + s.tmp_7);\n s.tmp_5 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_4, s.tmp_5);\n case 9:\n case 10:\n s.tmp_2 = controller_Controller_up__P564_mk(s);\n s.tmp_2.arg0 = s.caps[3];\n s.pc = 33; return s.tmp_2;\n case 33:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = s.tmp_1.fields["_pressed"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 11; continue; }\n s.tmp_3 = r0 = s.caps[2];\n r0 = pxsim_pxtrt_ldlocRef(s.caps[2]);\n s.tmp_5 = r0;\n r0 = s.arg0.fields["vy"];\n s.tmp_6 = r0;\n r0 = (s.tmp_5 - s.tmp_6);\n s.tmp_4 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_3, s.tmp_4);\n case 11:\n case 12:\n case 13:\n case 14:\n r0 = s.arg0.fields["_inputLastFrame"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 19; continue; }\n r0 = s.arg0.fields["vx"];\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 15; continue; }\n s.tmp_2 = Sprite_vx__P614_mk(s);\n r0 = s.arg0.fields["s"];\n s.tmp_2.arg0 = r0;\n s.tmp_2.arg1 = 0;\n s.pc = 34; return s.tmp_2;\n case 34:\n r0 = s.retval;\n case 15:\n case 16:\n r0 = s.arg0.fields["vy"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 17; continue; }\n s.tmp_1 = Sprite_vy__P616_mk(s);\n r0 = s.arg0.fields["s"];\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = 0;\n s.pc = 35; return s.tmp_1;\n case 35:\n r0 = s.retval;\n case 17:\n case 18:\n case 19:\n case 20:\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 21; continue; }\n r0 = s.tmp_0;\n { step = 22; continue; }\n case 21:\n r0 = pxsim_pxtrt_ldlocRef(s.caps[2]);\n case 22:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 27; continue; }\n r0 = s.arg0.fields["vx"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 23; continue; }\n s.tmp_3 = Sprite_vx__P614_mk(s);\n r0 = s.arg0.fields["s"];\n s.tmp_3.arg0 = r0;\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_3.arg1 = r0;\n s.pc = 36; return s.tmp_3;\n case 36:\n r0 = s.retval;\n case 23:\n case 24:\n r0 = s.arg0.fields["vy"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 25; continue; }\n s.tmp_1 = Sprite_vy__P616_mk(s);\n r0 = s.arg0.fields["s"];\n s.tmp_1.arg0 = r0;\n r0 = pxsim_pxtrt_ldlocRef(s.caps[2]);\n s.tmp_1.arg1 = r0;\n s.pc = 37; return s.tmp_1;\n case 37:\n r0 = s.retval;\n case 25:\n case 26:\n r0 = (s.arg0).fields["_inputLastFrame"] = (true);\n { step = 28; continue; }\n case 27:\n r0 = (s.arg0).fields["_inputLastFrame"] = (false);\n case 28:\n case 29:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P6239.info = {"start":14213,"length":1253,"line":439,"column":44,"endLine":479,"endColumn":13,"fileName":"pxt_modules/game/controller.ts","functionName":"inline","argumentNames":["sprite"]}\n\nfunction inline__P6239_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P6239, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P6314(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0.fields["s"];\n r0 = r0.fields["flags"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 & 2);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\ninline__P6314.info = {"start":15593,"length":42,"line":483,"column":28,"endLine":483,"endColumn":70,"fileName":"pxt_modules/game/controller.ts","functionName":"inline","argumentNames":["s"]}\n\nfunction inline__P6314_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P6314, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Sprite_vx__P614(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg1 * 256);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["_vx"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_vx__P614.info = {"start":2030,"length":51,"line":80,"column":4,"endLine":82,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"vx","argumentNames":["this","v"]}\n\nfunction Sprite_vx__P614_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_vx__P614, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_vx__P613(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields["_vx"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 / 256);\n return leave(s, r0)\n default: oops()\n} } }\nSprite_vx__P613.info = {"start":1868,"length":60,"line":75,"column":4,"endLine":77,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"vx","argumentNames":["this"]}\n\nfunction Sprite_vx__P613_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_vx__P613, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Fx_toFloat__P99(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 / 256);\n return leave(s, r0)\n default: oops()\n} } }\nFx_toFloat__P99.info = {"start":2087,"length":81,"line":68,"column":4,"endLine":70,"endColumn":5,"fileName":"pxt_modules/base/fixed.ts","functionName":"toFloat","argumentNames":["v"]}\n\nfunction Fx_toFloat__P99_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Fx_toFloat__P99, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller_Controller_down__P565(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Controller__C557_VT)) failedCast(r0);\n r0 = s.arg0.fields["buttons"];\n s.tmp_0 = r0;\n r0 = (4 - 1);\n s.tmp_1 = r0;\n r0 = pxsim_Array__getAt(s.tmp_0, s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Controller_down__P565.info = {"start":8908,"length":77,"line":283,"column":8,"endLine":285,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"down","argumentNames":["this"]}\n\nfunction controller_Controller_down__P565_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Controller_down__P565, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller_Controller_button__P570(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Controller__C557_VT)) failedCast(r0);\n r0 = s.arg0.fields["buttons"];\n s.tmp_0 = r0;\n r0 = (s.arg1 - 1);\n s.tmp_1 = r0;\n r0 = pxsim_Array__getAt(s.tmp_0, s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Controller_button__P570.info = {"start":10870,"length":105,"line":344,"column":8,"endLine":346,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"button","argumentNames":["this","button"]}\n\nfunction controller_Controller_button__P570_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Controller_button__P570, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction controller_Controller_up__P564(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Controller__C557_VT)) failedCast(r0);\n r0 = s.arg0.fields["buttons"];\n s.tmp_0 = r0;\n r0 = (2 - 1);\n s.tmp_1 = r0;\n r0 = pxsim_Array__getAt(s.tmp_0, s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Controller_up__P564.info = {"start":8756,"length":73,"line":275,"column":8,"endLine":277,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"up","argumentNames":["this"]}\n\nfunction controller_Controller_up__P564_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Controller_up__P564, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller_Controller_right__P563(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Controller__C557_VT)) failedCast(r0);\n r0 = s.arg0.fields["buttons"];\n s.tmp_0 = r0;\n r0 = (3 - 1);\n s.tmp_1 = r0;\n r0 = pxsim_Array__getAt(s.tmp_0, s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Controller_right__P563.info = {"start":8598,"length":79,"line":267,"column":8,"endLine":269,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"right","argumentNames":["this"]}\n\nfunction controller_Controller_right__P563_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Controller_right__P563, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller_Controller_left__P562(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Controller__C557_VT)) failedCast(r0);\n r0 = s.arg0.fields["buttons"];\n s.tmp_0 = r0;\n r0 = (1 - 1);\n s.tmp_1 = r0;\n r0 = pxsim_Array__getAt(s.tmp_0, s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Controller_left__P562.info = {"start":8442,"length":77,"line":259,"column":8,"endLine":261,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"left","argumentNames":["this"]}\n\nfunction controller_Controller_left__P562_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Controller_left__P562, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller_Controller__controlledSprites__P559(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Controller__C557_VT)) failedCast(r0);\n s.tmp_1 = game_currentScene__P769_mk(s);\n s.pc = 1; return s.tmp_1;\n case 1:\n r0 = s.retval;\n r0 = r0.fields["controlledSprites"];\n s.tmp_0 = r0;\n r0 = s.arg0.fields["playerIndex"];\n s.tmp_2 = r0;\n r0 = pxsim_Array_.setAt(s.tmp_0, s.tmp_2, s.arg1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Controller__controlledSprites__P559.info = {"start":8077,"length":134,"line":243,"column":8,"endLine":245,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"_controlledSprites","argumentNames":["this","cps"]}\n\nfunction controller_Controller__controlledSprites__P559_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Controller__controlledSprites__P559, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction controller_Controller__controlledSprites__P558(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Controller__C557_VT)) failedCast(r0);\n s.tmp_1 = game_currentScene__P769_mk(s);\n s.pc = 1; return s.tmp_1;\n case 1:\n r0 = s.retval;\n r0 = r0.fields["controlledSprites"];\n s.tmp_0 = r0;\n r0 = s.arg0.fields["playerIndex"];\n s.tmp_2 = r0;\n r0 = pxsim_Array__getAt(s.tmp_0, s.tmp_2);\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Controller__controlledSprites__P558.info = {"start":7935,"length":132,"line":239,"column":8,"endLine":241,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"_controlledSprites","argumentNames":["this"]}\n\nfunction controller_Controller__controlledSprites__P558_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Controller__controlledSprites__P558, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller_Button_isPressed__P545(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Button__C538_VT)) failedCast(r0);\n r0 = s.arg0.fields["_pressed"];\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Button_isPressed__P545.info = {"start":4235,"length":57,"line":128,"column":8,"endLine":130,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"isPressed","argumentNames":["this"]}\n\nfunction controller_Button_isPressed__P545_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Button_isPressed__P545, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction power_checkDeepSleep__P393(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.p___5501 = undefined;\n s.to___5503 = undefined;\n s.tmp_0 = power_init__P395_mk(s);\n s.pc = 11; return s.tmp_0;\n case 11:\n r0 = s.retval;\n s.tmp_0 = r0 = globals._poked___389;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = 0;\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n s.p___5501 = (s.tmp_1);\n s.tmp_0 = r0 = globals._timeout___390;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = s.tmp_0;\n { step = 4; continue; }\n case 3:\n r0 = 0;\n case 4:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n s.to___5503 = (s.tmp_1);\n r0 = (s.to___5503 > 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 5; continue; }\n r0 = s.tmp_0;\n { step = 6; continue; }\n case 5:\n r0 = pxsim.control.millis();\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - s.p___5501);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > s.to___5503);\n case 6:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBool(s.tmp_3);\n if (r0) { step = 7; continue; }\n r0 = s.tmp_3;\n { step = 8; continue; }\n case 7:\n r0 = pxsim.control.isUSBInitialized();\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_5);\n s.tmp_4 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_4);\n case 8:\n // jmp value (already in r0)\n s.tmp_6 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_6);\n if (!r0) { step = 9; continue; }\n r0 = pxsim_pxtcore.deepSleep();\n case 9:\n case 10:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\npower_checkDeepSleep__P393.info = {"start":1087,"length":298,"line":36,"column":4,"endLine":46,"endColumn":5,"fileName":"pxt_modules/power/power.ts","functionName":"checkDeepSleep","argumentNames":[]}\n\nfunction power_checkDeepSleep__P393_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: power_checkDeepSleep__P393, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n p___5501: undefined,\n to___5503: undefined,\n} }\n\n\n\n\n\nfunction power_init__P395(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.minDeepSleepTimeout___5524 = undefined;\n r0 = (globals._timeout___390 !== undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 7; continue; }\n case 1:\n case 2:\n r0 = pxsim_pxtcore.getConfig(212, -1);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 * 1000);\n globals._timeout___390 = (r0);\n s.minDeepSleepTimeout___5524 = (300000);\n r0 = (globals._timeout___390 > 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 3; continue; }\n r0 = s.tmp_0;\n { step = 4; continue; }\n case 3:\n r0 = (globals._timeout___390 < s.minDeepSleepTimeout___5524);\n case 4:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 5; continue; }\n globals._timeout___390 = (s.minDeepSleepTimeout___5524);\n case 5:\n case 6:\n case 7:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\npower_init__P395.info = {"start":1610,"length":376,"line":57,"column":4,"endLine":66,"endColumn":5,"fileName":"pxt_modules/power/power.ts","functionName":"init","argumentNames":[]}\n\nfunction power_init__P395_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: power_init__P395, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n minDeepSleepTimeout___5524: undefined,\n} }\n\n\n\n\n\nfunction power_poke__P392(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = power_init__P395_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = pxsim.control.millis();\n globals._poked___389 = (r0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\npower_poke__P392.info = {"start":795,"length":81,"line":26,"column":4,"endLine":29,"endColumn":5,"fileName":"pxt_modules/power/power.ts","functionName":"poke","argumentNames":[]}\n\nfunction power_poke__P392_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: power_poke__P392, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction control_EventContext_registerFrameHandler__P226(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.fn___6585 = undefined;\n s.i___6595 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, control_EventContext__C220_VT)) failedCast(r0);\n r0 = s.arg0.fields["frameCallbacks"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_3 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_4 = r0;\n r0 = (s.tmp_3).fields["frameCallbacks"] = (s.tmp_4);\n s.tmp_0 = control_EventContext_registerFrameCallbacks__P223_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 8; return s.tmp_0;\n case 8:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = pxsim_pxtcore_mkClassInstance(control_FrameCallback__C214_VT);\n s.fn___6585 = (r0);\n r0 = (s.fn___6585).fields["order"] = (s.arg1);\n r0 = (s.fn___6585).fields["handler"] = (s.arg2);\n s.i___6595 = (0);\n case 3:\n s.tmp_1 = r0 = s.i___6595;\n r0 = s.arg0.fields["frameCallbacks"];\n s.tmp_3 = r0;\n r0 = pxsim_Array__length(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 6; continue; }\n r0 = s.arg0.fields["frameCallbacks"];\n s.tmp_6 = r0;\n r0 = pxsim_Array__getAt(s.tmp_6, s.i___6595);\n r0 = r0.fields["order"];\n s.tmp_5 = r0;\n r0 = (s.tmp_5 > s.arg1);\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n if (!r0) { step = 4; continue; }\n r0 = s.arg0.fields["frameCallbacks"];\n s.tmp_7 = r0;\n r0 = pxsim_Array_.insertAt(s.tmp_7, s.i___6595, s.fn___6585);\n { step = 7; continue; }\n case 4:\n case 5:\n r0 = (s.i___6595 + 1);\n s.i___6595 = (r0);\n { step = 3; continue; }\n case 6:\n r0 = s.arg0.fields["frameCallbacks"];\n s.tmp_0 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.fn___6585);\n case 7:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_EventContext_registerFrameHandler__P226.info = {"start":4222,"length":600,"line":132,"column":8,"endLine":148,"endColumn":9,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"registerFrameHandler","argumentNames":["this","order","handler"]}\n\nfunction control_EventContext_registerFrameHandler__P226_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_EventContext_registerFrameHandler__P226, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n fn___6585: undefined,\n i___6595: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction control_EventContext_deltaTime__P221(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, control_EventContext__C220_VT)) failedCast(r0);\n r0 = s.arg0.fields["deltaTimeMillis"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 / 1000);\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_EventContext_deltaTime__P221.info = {"start":2103,"length":75,"line":71,"column":8,"endLine":73,"endColumn":9,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"deltaTime","argumentNames":["this"]}\n\nfunction control_EventContext_deltaTime__P221_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_EventContext_deltaTime__P221, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction music_Melody_constructor__P361(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, music_Melody__C349_VT)) failedCast(r0);\n r0 = (s.arg0).fields["_text"] = (s.arg1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nmusic_Melody_constructor__P361.info = {"start":6295,"length":67,"line":198,"column":8,"endLine":200,"endColumn":9,"fileName":"pxt_modules/mixer/melody.ts","functionName":"inline","argumentNames":["this","text"]}\n\nfunction music_Melody_constructor__P361_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_Melody_constructor__P361, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction control_pushEventContext__P236(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.ctx___6628 = undefined;\n s.n___6633 = undefined;\n r0 = pxsim_numops_toBoolDecr(globals.eventContexts___234);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_Array__mk();\n globals.eventContexts___234 = (r0);\n case 1:\n case 2:\n s.tmp_0 = control_eventContext__P235_mk(s);\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n s.ctx___6628 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.ctx___6628);\n if (!r0) { step = 3; continue; }\n s.tmp_0 = control_EventContext_unregister__P225_mk(s);\n s.tmp_0.arg0 = s.ctx___6628;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n case 3:\n case 4:\n r0 = pxsim_pxtcore_mkClassInstance(control_EventContext__C220_VT);\n s.tmp_0 = r0;\n s.tmp_1 = control_EventContext_constructor__P233_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.pc = 7; return s.tmp_1;\n case 7:\n r0 = s.retval;\n s.n___6633 = (s.tmp_0);\n r0 = pxsim_Array__push(globals.eventContexts___234, s.n___6633);\n r0 = s.n___6633;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_pushEventContext__P236.info = {"start":6386,"length":340,"line":197,"column":4,"endLine":208,"endColumn":5,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"pushEventContext","argumentNames":[]}\n\nfunction control_pushEventContext__P236_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_pushEventContext__P236, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n ctx___6628: undefined,\n n___6633: undefined,\n} }\n\n\n\n\n\nfunction control_eventContext__P235(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals.eventContexts___234);\n if (!r0) { step = 1; continue; }\n s.tmp_0 = r0 = globals.eventContexts___234;\n r0 = pxsim_Array__length(globals.eventContexts___234);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - 1);\n s.tmp_1 = r0;\n r0 = pxsim_Array__getAt(s.tmp_0, s.tmp_1);\n { step = 2; continue; }\n case 1:\n r0 = undefined;\n case 2:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = s.tmp_3;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_eventContext__P235.info = {"start":6170,"length":136,"line":190,"column":4,"endLine":192,"endColumn":5,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"eventContext","argumentNames":[]}\n\nfunction control_eventContext__P235_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_eventContext__P235, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n} }\n\n\n\n\n\nfunction control_EventContext_constructor__P233(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, control_EventContext__C220_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["handlers"] = (s.tmp_1);\n r0 = (s.arg0).fields["framesInSample"] = (0);\n r0 = (s.arg0).fields["timeInSample"] = (0);\n r0 = (s.arg0).fields["deltaTimeMillis"] = (0);\n r0 = (s.arg0).fields["frameWorker"] = (0);\n r0 = (s.arg0).fields["idleCallbacks"] = (undefined);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_EventContext_constructor__P233.info = {"start":1848,"length":245,"line":62,"column":8,"endLine":69,"endColumn":9,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"inline","argumentNames":["this"]}\n\nfunction control_EventContext_constructor__P233_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_EventContext_constructor__P233, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_waitAnyButton__P1016(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals.__waitAnyButton___1012);\n if (!r0) { step = 1; continue; }\n s.tmp_0 = lambda_1_mk(s);\n s.tmp_0.argL = globals.__waitAnyButton___1012;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n { step = 2; continue; }\n case 1:\n s.tmp_0 = pause__P241_mk(s);\n s.tmp_0.arg0 = 3000;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_waitAnyButton__P1016.info = {"start":967,"length":111,"line":35,"column":4,"endLine":38,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"waitAnyButton","argumentNames":[]}\n\nfunction game_waitAnyButton__P1016_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_waitAnyButton__P1016, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction game_GameOverDialog_constructor__P988(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_GameOverDialog__C983_VT)) failedCast(r0);\n r0 = (s.arg0).fields["win"] = (s.arg1);\n r0 = (s.arg0).fields["score"] = (s.arg2);\n r0 = (s.arg0).fields["highScore"] = (s.arg3);\n s.tmp_0 = game_BaseDialog_constructor__P965_mk(s);\n s.tmp_0.arg0 = s.arg0;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = 46;\n s.tmp_1 = game_defaultSplashFrame__P991_mk(s);\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n s.tmp_0.arg3 = r0;\n s.tmp_0.arg4 = undefined;\n s.tmp_0.arg5 = undefined;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = (s.arg0).fields["cursorOn"] = (false);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.arg0.fields["score"];\n s.tmp_2 = r0;\n r0 = s.arg0.fields["highScore"];\n s.tmp_3 = r0;\n r0 = (s.tmp_2 > s.tmp_3);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["isNewHighScore"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_GameOverDialog_constructor__P988.info = {"start":12305,"length":308,"line":362,"column":8,"endLine":370,"endColumn":9,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"inline","argumentNames":["this","win","score","highScore"]}\n\nfunction game_GameOverDialog_constructor__P988_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_GameOverDialog_constructor__P988, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction game_defaultSplashFrame__P991(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_ImageMethods.isMono(globals.screen___464);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim.image.ofBuffer(_hex4695);\n { step = 2; continue; }\n case 1:\n r0 = pxsim.image.ofBuffer(_hex4697);\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = s.tmp_1;\n return leave(s, r0)\n default: oops()\n} } }\ngame_defaultSplashFrame__P991.info = {"start":18476,"length":220,"line":562,"column":4,"endLine":575,"endColumn":5,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"defaultSplashFrame","argumentNames":[]}\n\nfunction game_defaultSplashFrame__P991_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_defaultSplashFrame__P991, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n} }\n\nconst _hex4695 = pxsim.BufferMethods.createBufferFromHex("8704030003000000010100000101000001010000")\nconst _hex4697 = pxsim.BufferMethods.createBufferFromHex("8704030003000000f1010000f1010000f1010000")\n\n\n\n\nfunction game_BaseDialog_constructor__P965(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.arg5 = (s.lambdaArgs[5]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_BaseDialog__C952_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim.image.create(s.arg1, s.arg2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["image"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg3;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = globals.dialogFrame___949;\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBool(s.tmp_1);\n if (!r0) { step = 3; continue; }\n r0 = s.tmp_1;\n { step = 4; continue; }\n case 3:\n s.tmp_3 = game_defaultFrame__P990_mk(s);\n s.pc = 13; return s.tmp_3;\n case 13:\n r0 = s.retval;\n s.tmp_2 = r0;\n globals.dialogFrame___949 = (r0);\n r0 = s.tmp_2;\n case 4:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n r0 = (s.arg0).fields["frame"] = (s.tmp_4);\n s.tmp_0 = r0 = s.arg4;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = s.tmp_0;\n { step = 6; continue; }\n case 5:\n r0 = globals.font8___423;\n case 6:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = (s.arg0).fields["font"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg5;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 7; continue; }\n r0 = s.tmp_0;\n { step = 8; continue; }\n case 7:\n r0 = globals.dialogCursor___950;\n case 8:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBool(s.tmp_1);\n if (!r0) { step = 9; continue; }\n r0 = s.tmp_1;\n { step = 10; continue; }\n case 9:\n s.tmp_3 = game_defaultCursorImage__P992_mk(s);\n s.pc = 14; return s.tmp_3;\n case 14:\n r0 = s.retval;\n s.tmp_2 = r0;\n globals.dialogCursor___950 = (r0);\n r0 = s.tmp_2;\n case 10:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n r0 = (s.arg0).fields["cursor"] = (s.tmp_4);\n r0 = (globals.dialogTextColor___951 == undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 11; continue; }\n globals.dialogTextColor___951 = (15);\n r0 = 15;\n { step = 12; continue; }\n case 11:\n r0 = globals.dialogTextColor___951;\n case 12:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = (s.arg0).fields["textColor"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.arg0.fields["frame"];\n s.tmp_4 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_4);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 / 3);\n s.tmp_2 = r0;\n r0 = pxsim.Math_.floor(s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["unit"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.arg0.fields["unit"];\n s.tmp_3 = r0;\n r0 = (s.arg1 / s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim.Math_.floor(s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["columns"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.arg0.fields["unit"];\n s.tmp_3 = r0;\n r0 = (s.arg2 / s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim.Math_.floor(s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["rows"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_3 = r0 = s.arg1;\n r0 = s.arg0.fields["columns"];\n s.tmp_5 = r0;\n r0 = s.arg0.fields["unit"];\n s.tmp_6 = r0;\n r0 = (s.tmp_5 * s.tmp_6);\n s.tmp_4 = r0;\n r0 = (s.tmp_3 - s.tmp_4);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 >> 1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["innerLeft"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_3 = r0 = s.arg2;\n r0 = s.arg0.fields["rows"];\n s.tmp_5 = r0;\n r0 = s.arg0.fields["unit"];\n s.tmp_6 = r0;\n r0 = (s.tmp_5 * s.tmp_6);\n s.tmp_4 = r0;\n r0 = (s.tmp_3 - s.tmp_4);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 >> 1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["innerTop"] = (s.tmp_1);\n r0 = (s.arg0).fields["cursorCount"] = (0);\n s.tmp_0 = game_BaseDialog_drawBorder__P957_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 15; return s.tmp_0;\n case 15:\n r0 = s.retval;\n s.tmp_0 = game_BaseDialog_clearInterior__P958_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 16; return s.tmp_0;\n case 16:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_BaseDialog_constructor__P965.info = {"start":634,"length":895,"line":36,"column":8,"endLine":58,"endColumn":9,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"inline","argumentNames":["this","width","height","frame","font","cursor"]}\n\nfunction game_BaseDialog_constructor__P965_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_BaseDialog_constructor__P965, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n arg5: undefined,\n} }\n\n\n\n\n\nfunction game_defaultCursorImage__P992(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_ImageMethods.isMono(globals.screen___464);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim.image.ofBuffer(_hex4819);\n { step = 2; continue; }\n case 1:\n r0 = pxsim.image.ofBuffer(_hex4821);\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = s.tmp_1;\n return leave(s, r0)\n default: oops()\n} } }\ngame_defaultCursorImage__P992.info = {"start":18702,"length":690,"line":577,"column":4,"endLine":603,"endColumn":5,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"defaultCursorImage","argumentNames":[]}\n\nfunction game_defaultCursorImage__P992_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_defaultCursorImage__P992, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n} }\n\nconst _hex4819 = pxsim.BufferMethods.createBufferFromHex("87040a000800000011111101010000010111010111100001011101010100000101000001100010000001010000100000")\nconst _hex4821 = pxsim.BufferMethods.createBufferFromHex("87040b000b00000000606686080000006076776686000000607777676608000076171111670800007671177766080000767117776608000076711777660800007617111167080000607777676608000060767766860000000060668608000000")\n\n\n\n\nfunction game_defaultFrame__P990(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_ImageMethods.isMono(globals.screen___464);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim.image.ofBuffer(_hex4825);\n { step = 2; continue; }\n case 1:\n r0 = pxsim.image.ofBuffer(_hex4827);\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = s.tmp_1;\n return leave(s, r0)\n default: oops()\n} } }\ngame_defaultFrame__P990.info = {"start":17914,"length":556,"line":538,"column":4,"endLine":560,"endColumn":5,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"defaultFrame","argumentNames":[]}\n\nfunction game_defaultFrame__P990_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_defaultFrame__P990, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n} }\n\nconst _hex4825 = pxsim.BufferMethods.createBufferFromHex("8704030003000000110100000101000011010000")\nconst _hex4827 = pxsim.BufferMethods.createBufferFromHex("87040c000c0000000000000000000000b0bbbbbbbb0b0000b0bbbbbbbbcb0000b0db1111bdcb0000b01b1111b1cb0000b01b1111b1cb0000b01b1111b1cb0000b01b1111b1cb0000b0db1111bdcb0000b0bbbbbbbbcb0000b0bbbbbbbbcb000000cccccccccc0000")\n\n\n\n\nfunction game_BaseDialog_clearInterior__P958(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.d___4597 = undefined;\n s.s___4603 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_BaseDialog__C952_VT)) failedCast(r0);\n s.d___4597 = (1);\n case 1:\n s.tmp_1 = r0 = s.d___4597;\n r0 = s.arg0.fields["columns"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 - 1);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 4; continue; }\n s.s___4603 = (1);\n case 2:\n s.tmp_1 = r0 = s.s___4603;\n r0 = s.arg0.fields["rows"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 - 1);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.tmp_4 = game_BaseDialog_drawPartial__P959_mk(s);\n s.tmp_4.arg0 = s.arg0;\n s.tmp_4.arg1 = 4;\n s.tmp_4.arg2 = s.d___4597;\n s.tmp_4.arg3 = s.s___4603;\n s.pc = 5; return s.tmp_4;\n case 5:\n r0 = s.retval;\n r0 = (s.s___4603 + 1);\n s.s___4603 = (r0);\n { step = 2; continue; }\n case 3:\n r0 = (s.d___4597 + 1);\n s.d___4597 = (r0);\n { step = 1; continue; }\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_BaseDialog_clearInterior__P958.info = {"start":3078,"length":230,"line":111,"column":8,"endLine":117,"endColumn":9,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"clearInterior","argumentNames":["this"]}\n\nfunction game_BaseDialog_clearInterior__P958_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_BaseDialog_clearInterior__P958, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n d___4597: undefined,\n s___4603: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_BaseDialog_drawPartial__P959(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.x0___4620 = undefined;\n s.y0___4627 = undefined;\n s.xf___4634 = undefined;\n s.yf___4638 = undefined;\n s.e___4644 = undefined;\n s.t___4649 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_BaseDialog__C952_VT)) failedCast(r0);\n r0 = s.arg0.fields["innerLeft"];\n s.tmp_0 = r0;\n r0 = s.arg0.fields["unit"];\n s.tmp_2 = r0;\n r0 = (s.arg2 * s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n s.x0___4620 = (r0);\n r0 = s.arg0.fields["innerTop"];\n s.tmp_0 = r0;\n r0 = s.arg0.fields["unit"];\n s.tmp_2 = r0;\n r0 = (s.arg3 * s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n s.y0___4627 = (r0);\n r0 = (s.arg1 % 3);\n s.tmp_0 = r0;\n r0 = s.arg0.fields["unit"];\n s.tmp_1 = r0;\n r0 = (s.tmp_0 * s.tmp_1);\n s.xf___4634 = (r0);\n r0 = (s.arg1 / 3);\n s.tmp_1 = r0;\n r0 = pxsim.Math_.floor(s.tmp_1);\n s.tmp_0 = r0;\n r0 = s.arg0.fields["unit"];\n s.tmp_2 = r0;\n r0 = (s.tmp_0 * s.tmp_2);\n s.yf___4638 = (r0);\n s.e___4644 = (0);\n case 1:\n r0 = s.arg0.fields["unit"];\n s.tmp_1 = r0;\n r0 = (s.e___4644 < s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 4; continue; }\n s.t___4649 = (0);\n case 2:\n r0 = s.arg0.fields["unit"];\n s.tmp_1 = r0;\n r0 = (s.t___4649 < s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = s.arg0.fields["image"];\n s.tmp_2 = r0;\n r0 = (s.x0___4620 + s.e___4644);\n s.tmp_3 = r0;\n r0 = (s.y0___4627 + s.t___4649);\n s.tmp_4 = r0;\n r0 = s.arg0.fields["frame"];\n s.tmp_6 = r0;\n r0 = (s.xf___4634 + s.e___4644);\n s.tmp_7 = r0;\n r0 = (s.yf___4638 + s.t___4649);\n s.tmp_8 = r0;\n r0 = pxsim_ImageMethods.getPixel(s.tmp_6, s.tmp_7, s.tmp_8);\n s.tmp_5 = r0;\n r0 = pxsim_ImageMethods.setPixel(s.tmp_2, s.tmp_3, s.tmp_4, s.tmp_5);\n r0 = (s.t___4649 + 1);\n s.t___4649 = (r0);\n { step = 2; continue; }\n case 3:\n r0 = (s.e___4644 + 1);\n s.e___4644 = (r0);\n { step = 1; continue; }\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_BaseDialog_drawPartial__P959.info = {"start":3318,"length":606,"line":119,"column":8,"endLine":134,"endColumn":9,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"drawPartial","argumentNames":["this","index","colTo","rowTo"]}\n\nfunction game_BaseDialog_drawPartial__P959_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_BaseDialog_drawPartial__P959, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n x0___4620: undefined,\n y0___4627: undefined,\n xf___4634: undefined,\n yf___4638: undefined,\n e___4644: undefined,\n t___4649: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction game_BaseDialog_drawBorder__P957(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.c___4776 = undefined;\n s.r___4803 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_BaseDialog__C952_VT)) failedCast(r0);\n s.c___4776 = (0);\n case 1:\n r0 = s.arg0.fields["columns"];\n s.tmp_1 = r0;\n r0 = (s.c___4776 < s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 6; continue; }\n r0 = (s.c___4776 == 0);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 2; continue; }\n s.tmp_3 = game_BaseDialog_drawPartial__P959_mk(s);\n s.tmp_3.arg0 = s.arg0;\n s.tmp_3.arg1 = 0;\n s.tmp_3.arg2 = 0;\n s.tmp_3.arg3 = 0;\n s.pc = 9; return s.tmp_3;\n case 9:\n r0 = s.retval;\n s.tmp_0 = game_BaseDialog_drawPartial__P959_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = 6;\n s.tmp_0.arg2 = 0;\n r0 = s.arg0.fields["rows"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - 1);\n s.tmp_0.arg3 = r0;\n s.pc = 10; return s.tmp_0;\n case 10:\n r0 = s.retval;\n { step = 5; continue; }\n case 2:\n s.tmp_1 = r0 = s.c___4776;\n r0 = s.arg0.fields["columns"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 - 1);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 === s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.tmp_4 = game_BaseDialog_drawPartial__P959_mk(s);\n s.tmp_4.arg0 = s.arg0;\n s.tmp_4.arg1 = 2;\n s.tmp_4.arg2 = s.c___4776;\n s.tmp_4.arg3 = 0;\n s.pc = 11; return s.tmp_4;\n case 11:\n r0 = s.retval;\n s.tmp_0 = game_BaseDialog_drawPartial__P959_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = 8;\n s.tmp_0.arg2 = s.c___4776;\n r0 = s.arg0.fields["rows"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - 1);\n s.tmp_0.arg3 = r0;\n s.pc = 12; return s.tmp_0;\n case 12:\n r0 = s.retval;\n { step = 4; continue; }\n case 3:\n s.tmp_0 = game_BaseDialog_drawPartial__P959_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = 1;\n s.tmp_0.arg2 = s.c___4776;\n s.tmp_0.arg3 = 0;\n s.pc = 13; return s.tmp_0;\n case 13:\n r0 = s.retval;\n s.tmp_0 = game_BaseDialog_drawPartial__P959_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = 7;\n s.tmp_0.arg2 = s.c___4776;\n r0 = s.arg0.fields["rows"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - 1);\n s.tmp_0.arg3 = r0;\n s.pc = 14; return s.tmp_0;\n case 14:\n r0 = s.retval;\n case 4:\n case 5:\n r0 = (s.c___4776 + 1);\n s.c___4776 = (r0);\n { step = 1; continue; }\n case 6:\n s.r___4803 = (1);\n case 7:\n s.tmp_1 = r0 = s.r___4803;\n r0 = s.arg0.fields["rows"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 - 1);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 8; continue; }\n s.tmp_4 = game_BaseDialog_drawPartial__P959_mk(s);\n s.tmp_4.arg0 = s.arg0;\n s.tmp_4.arg1 = 3;\n s.tmp_4.arg2 = 0;\n s.tmp_4.arg3 = s.r___4803;\n s.pc = 15; return s.tmp_4;\n case 15:\n r0 = s.retval;\n s.tmp_0 = game_BaseDialog_drawPartial__P959_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = 5;\n r0 = s.arg0.fields["columns"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - 1);\n s.tmp_0.arg2 = r0;\n s.tmp_0.arg3 = s.r___4803;\n s.pc = 16; return s.tmp_0;\n case 16:\n r0 = s.retval;\n r0 = (s.r___4803 + 1);\n s.r___4803 = (r0);\n { step = 7; continue; }\n case 8:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_BaseDialog_drawBorder__P957.info = {"start":2321,"length":747,"line":89,"column":8,"endLine":109,"endColumn":9,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"drawBorder","argumentNames":["this"]}\n\nfunction game_BaseDialog_drawBorder__P957_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_BaseDialog_drawBorder__P957, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n c___4776: undefined,\n r___4803: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_GameOverDialog_update__P986(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_GameOverDialog__C983_VT)) failedCast(r0);\n s.tmp_0 = game_BaseDialog_clearInterior__P958_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.tmp_0 = game_GameOverDialog__C983_v1_1_mk(s);\n s.tmp_0.arg0 = s.arg0;\n if (!checkSubtype(s.tmp_0.arg0, game_GameOverDialog__C983_VT)) failedCast(s.tmp_0.arg0);\n s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.drawTextCore;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n r0 = s.arg0.fields["cursorOn"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_1 = game_BaseDialog_drawCursorRow__P956_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.pc = 5; return s.tmp_1;\n case 5:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_GameOverDialog_update__P986.info = {"start":12694,"length":173,"line":376,"column":8,"endLine":383,"endColumn":9,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"update","argumentNames":["this"]}\n\nfunction game_GameOverDialog_update__P986_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_GameOverDialog_update__P986, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_GameOverDialog_drawTextCore__P987(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.titleHeight___4542 = undefined;\n s.scoreHeight___4557 = undefined;\n s.highScoreHeight___4558 = undefined;\n s.scoreColor___4559 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_GameOverDialog__C983_VT)) failedCast(r0);\n s.titleHeight___4542 = (8);\n r0 = s.arg0.fields["win"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = "YOU WIN!";\n { step = 2; continue; }\n case 1:\n r0 = "GAME OVER!";\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_ImageMethods.isMono(globals.screen___464);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 3; continue; }\n r0 = 1;\n { step = 4; continue; }\n case 3:\n r0 = 5;\n case 4:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n s.tmp_4 = helpers_imagePrintCenter__P431_mk(s);\n r0 = s.arg0.fields["image"];\n s.tmp_4.arg0 = r0;\n s.tmp_4.arg1 = s.tmp_1;\n s.tmp_4.arg2 = s.titleHeight___4542;\n s.tmp_4.arg3 = s.tmp_3;\n s.tmp_4.arg4 = globals.font8___423;\n s.pc = 11; return s.tmp_4;\n case 11:\n r0 = s.retval;\n r0 = s.arg0.fields["score"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 !== undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 9; continue; }\n s.scoreHeight___4557 = (23);\n s.highScoreHeight___4558 = (34);\n r0 = pxsim_ImageMethods.isMono(globals.screen___464);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = 1;\n { step = 6; continue; }\n case 5:\n r0 = 2;\n case 6:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n s.scoreColor___4559 = (s.tmp_1);\n s.tmp_0 = helpers_imagePrintCenter__P431_mk(s);\n r0 = s.arg0.fields["image"];\n s.tmp_0.arg0 = r0;\n r0 = s.arg0.fields["score"];\n s.tmp_2 = r0;\n if ((s.tmp_2) && (s.tmp_2).vtable) {\n setupResume(s, 13);\n pxsim_String__stringConv(s.tmp_2);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_2) + ""; }\n case 13:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_String__concat("Score:", s.tmp_1);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = s.scoreHeight___4557;\n s.tmp_0.arg3 = s.scoreColor___4559;\n s.tmp_0.arg4 = globals.font8___423;\n s.pc = 12; return s.tmp_0;\n case 12:\n r0 = s.retval;\n r0 = s.arg0.fields["isNewHighScore"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 7; continue; }\n s.tmp_1 = helpers_imagePrintCenter__P431_mk(s);\n r0 = s.arg0.fields["image"];\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = "New High Score!";\n s.tmp_1.arg2 = s.highScoreHeight___4558;\n s.tmp_1.arg3 = s.scoreColor___4559;\n s.tmp_1.arg4 = globals.font5___428;\n s.pc = 14; return s.tmp_1;\n case 14:\n r0 = s.retval;\n { step = 8; continue; }\n case 7:\n s.tmp_0 = helpers_imagePrintCenter__P431_mk(s);\n r0 = s.arg0.fields["image"];\n s.tmp_0.arg0 = r0;\n r0 = s.arg0.fields["highScore"];\n s.tmp_2 = r0;\n if ((s.tmp_2) && (s.tmp_2).vtable) {\n setupResume(s, 16);\n pxsim_String__stringConv(s.tmp_2);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_2) + ""; }\n case 16:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_String__concat("HI", s.tmp_1);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = s.highScoreHeight___4558;\n s.tmp_0.arg3 = s.scoreColor___4559;\n s.tmp_0.arg4 = globals.font8___423;\n s.pc = 15; return s.tmp_0;\n case 15:\n r0 = s.retval;\n case 8:\n case 9:\n case 10:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_GameOverDialog_drawTextCore__P987.info = {"start":12877,"length":1200,"line":385,"column":8,"endLine":422,"endColumn":9,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"drawTextCore","argumentNames":["this"]}\n\nfunction game_GameOverDialog_drawTextCore__P987_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_GameOverDialog_drawTextCore__P987, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n titleHeight___4542: undefined,\n scoreHeight___4557: undefined,\n highScoreHeight___4558: undefined,\n scoreColor___4559: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction helpers_imagePrintCenter__P431(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.w___2421 = undefined;\n s.x___2427 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_numops_toBoolDecr(s.arg4);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_2 = image_getFontForText__P425_mk(s);\n s.tmp_2.arg0 = s.arg1;\n s.pc = 3; return s.tmp_2;\n case 3:\n r0 = s.retval;\n s.arg4 = (r0);\n case 1:\n case 2:\n r0 = pxsim_String_.length(s.arg1);\n s.tmp_0 = r0;\n s.tmp_2 = if_charWidth_1_mk(s);\n s.tmp_2.arg0 = s.arg4;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "charWidth");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["charWidth"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["charWidth"]; }\n else { s.pc = 4; return s.tmp_2; }\n }\n case 4:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0 * s.tmp_1);\n s.w___2421 = (r0);\n r0 = pxsim_ImageMethods.width(s.arg0);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - s.w___2421);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 / 2);\n s.x___2427 = (r0);\n s.tmp_0 = helpers_imagePrint__P432_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.tmp_0.arg2 = s.x___2427;\n s.tmp_0.arg3 = s.arg2;\n s.tmp_0.arg4 = s.arg3;\n s.tmp_0.arg5 = s.arg4;\n s.tmp_0.arg6 = undefined;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_imagePrintCenter__P431.info = {"start":15025,"length":295,"line":206,"column":4,"endLine":211,"endColumn":5,"fileName":"pxt_modules/screen/text.ts","functionName":"imagePrintCenter","argumentNames":["img","text","y","color","font"]}\n\nfunction helpers_imagePrintCenter__P431_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_imagePrintCenter__P431, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n w___2421: undefined,\n x___2427: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n} }\n\n\n\n\n\nfunction game_BaseDialog_drawCursorRow__P956(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.offset___4478 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_BaseDialog__C952_VT)) failedCast(r0);\n s.offset___4478 = (0);\n r0 = s.arg0.fields["cursorCount"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > 20);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.offset___4478 = (1);\n case 1:\n case 2:\n s.tmp_0 = r0 = s.arg0;\n r0 = s.arg0.fields["cursorCount"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 + 1);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 % 40);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["cursorCount"] = (s.tmp_1);\n r0 = s.arg0.fields["image"];\n s.tmp_0 = r0;\n r0 = s.arg0.fields["cursor"];\n s.tmp_1 = r0;\n r0 = s.arg0.fields["innerLeft"];\n s.tmp_6 = r0;\n s.tmp_8 = game_BaseDialog_textAreaWidth__P962_mk(s);\n s.tmp_8.arg0 = s.arg0;\n s.pc = 3; return s.tmp_8;\n case 3:\n r0 = s.retval;\n s.tmp_7 = r0;\n r0 = (s.tmp_6 + s.tmp_7);\n s.tmp_5 = r0;\n r0 = s.arg0.fields["unit"];\n s.tmp_9 = r0;\n r0 = (s.tmp_5 + s.tmp_9);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 + s.offset___4478);\n s.tmp_3 = r0;\n r0 = s.arg0.fields["cursor"];\n s.tmp_11 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_11);\n s.tmp_10 = r0;\n r0 = (s.tmp_3 - s.tmp_10);\n s.tmp_2 = r0;\n r0 = s.arg0.fields["innerTop"];\n s.tmp_16 = r0;\n r0 = s.arg0.fields["unit"];\n s.tmp_17 = r0;\n r0 = (s.tmp_16 + s.tmp_17);\n s.tmp_15 = r0;\n s.tmp_19 = game_BaseDialog_textAreaHeight__P963_mk(s);\n s.tmp_19.arg0 = s.arg0;\n s.pc = 4; return s.tmp_19;\n case 4:\n r0 = s.retval;\n s.tmp_18 = r0;\n r0 = (s.tmp_15 + s.tmp_18);\n s.tmp_14 = r0;\n r0 = (s.tmp_14 + 1);\n s.tmp_13 = r0;\n r0 = s.arg0.fields["cursor"];\n s.tmp_22 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_22);\n s.tmp_21 = r0;\n r0 = (s.tmp_21 + 1);\n s.tmp_20 = r0;\n r0 = (s.tmp_13 - s.tmp_20);\n s.tmp_12 = r0;\n r0 = pxsim_ImageMethods.drawTransparentImage(s.tmp_0, s.tmp_1, s.tmp_2, s.tmp_12);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_BaseDialog_drawCursorRow__P956.info = {"start":1832,"length":479,"line":74,"column":8,"endLine":87,"endColumn":9,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"drawCursorRow","argumentNames":["this"]}\n\nfunction game_BaseDialog_drawCursorRow__P956_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_BaseDialog_drawCursorRow__P956, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n tmp_12: undefined,\n tmp_13: undefined,\n tmp_14: undefined,\n tmp_15: undefined,\n tmp_16: undefined,\n tmp_17: undefined,\n tmp_18: undefined,\n tmp_19: undefined,\n tmp_20: undefined,\n tmp_21: undefined,\n tmp_22: undefined,\n offset___4478: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_BaseDialog_textAreaHeight__P963(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_BaseDialog__C952_VT)) failedCast(r0);\n r0 = s.arg0.fields["image"];\n s.tmp_2 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_2);\n s.tmp_1 = r0;\n r0 = s.arg0.fields["innerTop"];\n s.tmp_5 = r0;\n r0 = s.arg0.fields["unit"];\n s.tmp_6 = r0;\n r0 = (s.tmp_5 + s.tmp_6);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 << 1);\n s.tmp_3 = r0;\n r0 = (s.tmp_1 - s.tmp_3);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 - 1);\n return leave(s, r0)\n default: oops()\n} } }\ngame_BaseDialog_textAreaHeight__P963.info = {"start":4240,"length":117,"line":148,"column":8,"endLine":150,"endColumn":9,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"textAreaHeight","argumentNames":["this"]}\n\nfunction game_BaseDialog_textAreaHeight__P963_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_BaseDialog_textAreaHeight__P963, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_BaseDialog_textAreaWidth__P962(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_BaseDialog__C952_VT)) failedCast(r0);\n r0 = s.arg0.fields["image"];\n s.tmp_2 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_2);\n s.tmp_1 = r0;\n r0 = s.arg0.fields["innerLeft"];\n s.tmp_5 = r0;\n r0 = s.arg0.fields["unit"];\n s.tmp_6 = r0;\n r0 = (s.tmp_5 + s.tmp_6);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 << 1);\n s.tmp_3 = r0;\n r0 = (s.tmp_1 - s.tmp_3);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 - 2);\n return leave(s, r0)\n default: oops()\n} } }\ngame_BaseDialog_textAreaWidth__P962.info = {"start":4114,"length":116,"line":144,"column":8,"endLine":146,"endColumn":9,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"textAreaWidth","argumentNames":["this"]}\n\nfunction game_BaseDialog_textAreaWidth__P962_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_BaseDialog_textAreaWidth__P962, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_BaseDialog_cursorRowHeight__P960(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_BaseDialog__C952_VT)) failedCast(r0);\n r0 = s.arg0.fields["cursor"];\n s.tmp_1 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_1);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 + 1);\n return leave(s, r0)\n default: oops()\n} } }\ngame_BaseDialog_cursorRowHeight__P960.info = {"start":3934,"length":82,"line":136,"column":8,"endLine":138,"endColumn":9,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"cursorRowHeight","argumentNames":["this"]}\n\nfunction game_BaseDialog_cursorRowHeight__P960_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_BaseDialog_cursorRowHeight__P960, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_GameOverDialog_displayCursor__P985(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_GameOverDialog__C983_VT)) failedCast(r0);\n r0 = (s.arg0).fields["cursorOn"] = (true);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_GameOverDialog_displayCursor__P985.info = {"start":12623,"length":61,"line":372,"column":8,"endLine":374,"endColumn":9,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"displayCursor","argumentNames":["this"]}\n\nfunction game_GameOverDialog_displayCursor__P985_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_GameOverDialog_displayCursor__P985, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_setBackgroundImage__P937(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.scene___4829 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.scene___4829 = (r0);\n s.tmp_0 = scene_Background_image__P849_mk(s);\n r0 = s.scene___4829.fields["background"];\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = s.arg0;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_setBackgroundImage__P937.info = {"start":1735,"length":135,"line":62,"column":4,"endLine":65,"endColumn":5,"fileName":"pxt_modules/game/scenes.ts","functionName":"setBackgroundImage","argumentNames":["img"]}\n\nfunction scene_setBackgroundImage__P937_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_setBackgroundImage__P937, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n scene___4829: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_Background_image__P849(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Background__C846_VT)) failedCast(r0);\n r0 = (s.arg0).fields["_image"] = (s.arg1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_Background_image__P849.info = {"start":1003,"length":68,"line":40,"column":8,"endLine":42,"endColumn":9,"fileName":"pxt_modules/game/background.ts","functionName":"image","argumentNames":["this","image"]}\n\nfunction scene_Background_image__P849_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Background_image__P849, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction scene_Background_image__P848(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Background__C846_VT)) failedCast(r0);\n r0 = s.arg0.fields["_image"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_3 = r0 = s.arg0;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_5 = r0;\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n s.tmp_6 = r0;\n r0 = pxsim.image.create(s.tmp_5, s.tmp_6);\n s.tmp_4 = r0;\n r0 = (s.tmp_3).fields["_image"] = (s.tmp_4);\n case 1:\n case 2:\n r0 = s.arg0.fields["_image"];\n return leave(s, r0)\n default: oops()\n} } }\nscene_Background_image__P848.info = {"start":811,"length":174,"line":33,"column":8,"endLine":38,"endColumn":9,"fileName":"pxt_modules/game/background.ts","functionName":"image","argumentNames":["this"]}\n\nfunction scene_Background_image__P848_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Background_image__P848, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_Scene_destroy__P928(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Scene__C923_VT)) failedCast(r0);\n r0 = (s.arg0).fields["eventContext"] = (undefined);\n r0 = (s.arg0).fields["background"] = (undefined);\n r0 = (s.arg0).fields["tileMap"] = (undefined);\n r0 = (s.arg0).fields["allSprites"] = (undefined);\n r0 = (s.arg0).fields["spriteNextId"] = (undefined);\n r0 = (s.arg0).fields["spritesByKind"] = (undefined);\n r0 = (s.arg0).fields["physicsEngine"] = (undefined);\n r0 = (s.arg0).fields["camera"] = (undefined);\n r0 = (s.arg0).fields["flags"] = (undefined);\n r0 = (s.arg0).fields["destroyedHandlers"] = (undefined);\n r0 = (s.arg0).fields["createdHandlers"] = (undefined);\n r0 = (s.arg0).fields["overlapHandlers"] = (undefined);\n r0 = (s.arg0).fields["collisionHandlers"] = (undefined);\n r0 = (s.arg0).fields["gameForeverHandlers"] = (undefined);\n r0 = (s.arg0).fields["_data"] = (undefined);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_Scene_destroy__P928.info = {"start":5933,"length":662,"line":173,"column":8,"endLine":189,"endColumn":9,"fileName":"pxt_modules/game/scene.ts","functionName":"destroy","argumentNames":["this"]}\n\nfunction scene_Scene_destroy__P928_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Scene_destroy__P928, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction info_highScore__P800(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_1 = settings_readNumber__P500_mk(s);\n s.tmp_1.arg0 = "high-score";\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = 0;\n case 2:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = s.tmp_2;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_highScore__P800.info = {"start":7111,"length":98,"line":241,"column":4,"endLine":243,"endColumn":5,"fileName":"pxt_modules/game/info.ts","functionName":"highScore","argumentNames":[]}\n\nfunction info_highScore__P800_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_highScore__P800, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n} }\n\n\n\n\n\nfunction settings_readNumber__P500(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.buf___4044 = undefined;\n s.nums___4049 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim.settings._get(s.arg0);\n s.buf___4044 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.buf___4044);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = undefined;\n { step = 7; continue; }\n { step = 6; continue; }\n case 1:\n s.tmp_2 = msgpack_unpackNumberArray__P111_mk(s);\n s.tmp_2.arg0 = s.buf___4044;\n s.tmp_2.arg1 = 0;\n s.pc = 8; return s.tmp_2;\n case 8:\n r0 = s.retval;\n s.nums___4049 = (r0);\n s.tmp_0 = r0 = s.nums___4049;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 2; continue; }\n r0 = s.tmp_0;\n { step = 3; continue; }\n case 2:\n r0 = pxsim_Array__length(s.nums___4049);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 >= 1);\n case 3:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 4; continue; }\n r0 = pxsim_Array__getAt(s.nums___4049, 0);\n { step = 7; continue; }\n case 4:\n case 5:\n r0 = undefined;\n { step = 7; continue; }\n case 6:\n r0 = undefined;\n case 7:\n return leave(s, r0)\n default: oops()\n} } }\nsettings_readNumber__P500.info = {"start":2742,"length":313,"line":109,"column":4,"endLine":119,"endColumn":5,"fileName":"pxt_modules/settings/settings.ts","functionName":"readNumber","argumentNames":["key"]}\n\nfunction settings_readNumber__P500_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: settings_readNumber__P500, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n buf___4044: undefined,\n nums___4049: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction settings_readBuffer__P498(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim.settings._get(s.arg0);\n return leave(s, r0)\n default: oops()\n} } }\nsettings_readBuffer__P498.info = {"start":2371,"length":72,"line":91,"column":4,"endLine":93,"endColumn":5,"fileName":"pxt_modules/settings/settings.ts","functionName":"readBuffer","argumentNames":["key"]}\n\nfunction settings_readBuffer__P498_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: settings_readBuffer__P498, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction msgpack_unpackNumberArray__P111(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.res___4059 = undefined;\n s.fmt___4065 = undefined;\n s.v___4073 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_Array__mk();\n s.res___4059 = (r0);\n case 1:\n s.tmp_1 = r0 = s.arg1;\n r0 = pxsim.BufferMethods.length(s.arg0);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 10; continue; }\n s.tmp_3 = r0 = s.arg1;\n r0 = (s.tmp_3 + 1);\n s.arg1 = (r0);\n s.tmp_4 = msgpack_tagFormat__P109_mk(s);\n r0 = pxsim.BufferMethods.getByte(s.arg0, s.tmp_3);\n s.tmp_4.arg0 = r0;\n s.pc = 12; return s.tmp_4;\n case 12:\n r0 = s.retval;\n s.fmt___4065 = (r0);\n r0 = (s.fmt___4065 === null);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 6; continue; }\n s.tmp_1 = r0 = s.arg0;\n r0 = (s.arg1 - 1);\n s.tmp_2 = r0;\n r0 = pxsim.BufferMethods.getNumber(s.tmp_1, 6, s.tmp_2);\n s.v___4073 = (r0);\n r0 = (-31 <= s.v___4073);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 2; continue; }\n r0 = s.tmp_0;\n { step = 3; continue; }\n case 2:\n r0 = (s.v___4073 <= 127);\n case 3:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 4; continue; }\n r0 = pxsim_Array__push(s.res___4059, s.v___4073);\n { step = 5; continue; }\n case 4:\n r0 = null;\n { step = 11; continue; }\n case 5:\n { step = 7; continue; }\n case 6:\n s.tmp_0 = r0 = s.res___4059;\n r0 = pxsim.BufferMethods.getNumber(s.arg0, s.fmt___4065, s.arg1);\n s.tmp_1 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_1);\n s.tmp_0 = r0 = s.arg1;\n s.tmp_2 = pins_sizeOf__P100_mk(s);\n s.tmp_2.arg0 = s.fmt___4065;\n s.pc = 13; return s.tmp_2;\n case 13:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n s.arg1 = (r0);\n case 7:\n case 8:\n r0 = pxsim.BufferMethods.getByte(s.arg0, s.arg1);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 === 193);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 9; continue; }\n r0 = (s.arg1 + 1);\n s.arg1 = (r0);\n { step = 8; continue; }\n case 9:\n { step = 1; continue; }\n case 10:\n r0 = s.res___4059;\n case 11:\n return leave(s, r0)\n default: oops()\n} } }\nmsgpack_unpackNumberArray__P111.info = {"start":6107,"length":669,"line":193,"column":4,"endLine":213,"endColumn":5,"fileName":"pxt_modules/base/buffer.ts","functionName":"unpackNumberArray","argumentNames":["buf","offset"]}\n\nfunction msgpack_unpackNumberArray__P111_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: msgpack_unpackNumberArray__P111, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n res___4059: undefined,\n fmt___4065: undefined,\n v___4073: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction msgpack_tagFormat__P109(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_pxtcore.switch_eq(203, s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = pxsim_pxtcore.switch_eq(204, s.tmp_0);\n if (r0) { step = 2; continue; }\n r0 = pxsim_pxtcore.switch_eq(205, s.tmp_0);\n if (r0) { step = 3; continue; }\n r0 = pxsim_pxtcore.switch_eq(206, s.tmp_0);\n if (r0) { step = 4; continue; }\n r0 = pxsim_pxtcore.switch_eq(208, s.tmp_0);\n if (r0) { step = 5; continue; }\n r0 = pxsim_pxtcore.switch_eq(209, s.tmp_0);\n if (r0) { step = 6; continue; }\n r0 = pxsim_pxtcore.switch_eq(210, s.tmp_0);\n if (r0) { step = 7; continue; }\n r0 = s.tmp_0;\n { step = 8; continue; }\n case 1:\n r0 = 16;\n { step = 9; continue; }\n case 2:\n r0 = 7;\n { step = 9; continue; }\n case 3:\n r0 = 9;\n { step = 9; continue; }\n case 4:\n r0 = 12;\n { step = 9; continue; }\n case 5:\n r0 = 6;\n { step = 9; continue; }\n case 6:\n r0 = 8;\n { step = 9; continue; }\n case 7:\n r0 = 10;\n { step = 9; continue; }\n case 8:\n r0 = null;\n { step = 9; continue; }\n r0 = undefined;\n case 9:\n return leave(s, r0)\n default: oops()\n} } }\nmsgpack_tagFormat__P109.info = {"start":4602,"length":481,"line":144,"column":4,"endLine":156,"endColumn":5,"fileName":"pxt_modules/base/buffer.ts","functionName":"tagFormat","argumentNames":["tag"]}\n\nfunction msgpack_tagFormat__P109_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: msgpack_tagFormat__P109, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction pins_sizeOf__P100(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_pxtcore.switch_eq(1, s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = pxsim_pxtcore.switch_eq(2, s.tmp_0);\n if (r0) { step = 2; continue; }\n r0 = pxsim_pxtcore.switch_eq(6, s.tmp_0);\n if (r0) { step = 3; continue; }\n r0 = pxsim_pxtcore.switch_eq(7, s.tmp_0);\n if (r0) { step = 4; continue; }\n r0 = pxsim_pxtcore.switch_eq(3, s.tmp_0);\n if (r0) { step = 5; continue; }\n r0 = pxsim_pxtcore.switch_eq(4, s.tmp_0);\n if (r0) { step = 6; continue; }\n r0 = pxsim_pxtcore.switch_eq(8, s.tmp_0);\n if (r0) { step = 7; continue; }\n r0 = pxsim_pxtcore.switch_eq(9, s.tmp_0);\n if (r0) { step = 8; continue; }\n r0 = pxsim_pxtcore.switch_eq(5, s.tmp_0);\n if (r0) { step = 9; continue; }\n r0 = pxsim_pxtcore.switch_eq(10, s.tmp_0);\n if (r0) { step = 10; continue; }\n r0 = pxsim_pxtcore.switch_eq(12, s.tmp_0);\n if (r0) { step = 11; continue; }\n r0 = pxsim_pxtcore.switch_eq(11, s.tmp_0);\n if (r0) { step = 12; continue; }\n r0 = pxsim_pxtcore.switch_eq(15, s.tmp_0);\n if (r0) { step = 13; continue; }\n r0 = pxsim_pxtcore.switch_eq(13, s.tmp_0);\n if (r0) { step = 14; continue; }\n r0 = pxsim_pxtcore.switch_eq(16, s.tmp_0);\n if (r0) { step = 15; continue; }\n r0 = pxsim_pxtcore.switch_eq(14, s.tmp_0);\n if (r0) { step = 16; continue; }\n r0 = s.tmp_0;\n { step = 17; continue; }\n case 1:\n case 2:\n case 3:\n case 4:\n r0 = 1;\n { step = 18; continue; }\n case 5:\n case 6:\n case 7:\n case 8:\n r0 = 2;\n { step = 18; continue; }\n case 9:\n case 10:\n case 11:\n case 12:\n case 13:\n case 14:\n r0 = 4;\n { step = 18; continue; }\n case 15:\n case 16:\n r0 = 8;\n { step = 18; continue; }\n case 17:\n r0 = 0;\n case 18:\n return leave(s, r0)\n default: oops()\n} } }\npins_sizeOf__P100.info = {"start":102,"length":844,"line":5,"column":4,"endLine":29,"endColumn":5,"fileName":"pxt_modules/base/buffer.ts","functionName":"sizeOf","argumentNames":["format"]}\n\nfunction pins_sizeOf__P100_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: pins_sizeOf__P100, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction info_saveHighScore__P797(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.hs___3879 = undefined;\n s.curr___3895 = undefined;\n r0 = pxsim_numops_toBoolDecr(globals.players___746);\n if (!r0) { step = 5; continue; }\n r0 = pxsim_pxtrt.mklocRef();\n s.hs___3879 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.hs___3879, 0);\n r0 = pxsim_pxtcore_mkAction(1, inline__P3888);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.hs___3879);\n s.tmp_1 = helpers_arrayForEach__P47_mk(s);\n s.tmp_2 = helpers_arrayFilter__P48_mk(s);\n s.tmp_2.arg0 = globals.players___746;\n s.tmp_2.arg1 = inline__P3883;\n s.pc = 8; return s.tmp_2;\n case 8:\n r0 = s.retval;\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = s.tmp_0;\n s.pc = 7; return s.tmp_1;\n case 7:\n r0 = s.retval;\n s.tmp_0 = settings_readNumber__P500_mk(s);\n s.tmp_0.arg0 = "high-score";\n s.pc = 9; return s.tmp_0;\n case 9:\n r0 = s.retval;\n s.curr___3895 = (r0);\n r0 = (s.curr___3895 == null);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = pxsim_pxtrt_ldlocRef(s.hs___3879);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > s.curr___3895);\n case 2:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 3; continue; }\n s.tmp_3 = settings_writeNumber__P496_mk(s);\n s.tmp_3.arg0 = "high-score";\n r0 = pxsim_pxtrt_ldlocRef(s.hs___3879);\n s.tmp_3.arg1 = r0;\n s.pc = 10; return s.tmp_3;\n case 10:\n r0 = s.retval;\n case 3:\n case 4:\n case 5:\n case 6:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_saveHighScore__P797.info = {"start":6212,"length":383,"line":205,"column":4,"endLine":215,"endColumn":5,"fileName":"pxt_modules/game/info.ts","functionName":"saveHighScore","argumentNames":[]}\n\nfunction info_saveHighScore__P797_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_saveHighScore__P797, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n hs___3879: undefined,\n curr___3895: undefined,\n} }\n\n\n\n\n\nfunction inline__P3883(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n s.tmp_1 = info_PlayerInfo_hasScore__P830_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n case 2:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = s.tmp_2;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P3883.info = {"start":6337,"length":22,"line":209,"column":24,"endLine":209,"endColumn":46,"fileName":"pxt_modules/game/info.ts","functionName":"inline","argumentNames":["p"]}\n\nfunction inline__P3883_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P3883, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P3888(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = r0 = s.caps[0];\n s.tmp_2 = Math_max__P61_mk(s);\n r0 = pxsim_pxtrt_ldlocRef(s.caps[0]);\n s.tmp_2.arg0 = r0;\n s.tmp_3 = info_PlayerInfo_score__P827_mk(s);\n s.tmp_3.arg0 = s.arg0;\n s.pc = 2; return s.tmp_3;\n case 2:\n r0 = s.retval;\n s.tmp_2.arg1 = r0;\n s.pc = 1; return s.tmp_2;\n case 1:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1);\n r0 = s.tmp_1;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P3888.info = {"start":6386,"length":33,"line":210,"column":25,"endLine":210,"endColumn":58,"fileName":"pxt_modules/game/info.ts","functionName":"inline","argumentNames":["p"]}\n\nfunction inline__P3888_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P3888, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction settings_writeNumber__P496(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_Array__mk();\n s.tmp_0 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.arg1);\n s.tmp_1 = settings_writeBuffer__P494_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.tmp_2 = msgpack_packNumberArray__P112_mk(s);\n s.tmp_2.arg0 = s.tmp_0;\n s.pc = 2; return s.tmp_2;\n case 2:\n r0 = s.retval;\n s.tmp_1.arg1 = r0;\n s.pc = 1; return s.tmp_1;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsettings_writeNumber__P496.info = {"start":1942,"length":122,"line":77,"column":4,"endLine":79,"endColumn":5,"fileName":"pxt_modules/settings/settings.ts","functionName":"writeNumber","argumentNames":["key","value"]}\n\nfunction settings_writeNumber__P496_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: settings_writeNumber__P496, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction settings_writeBuffer__P494(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim.settings._set(s.arg0, s.arg1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim.settings._userClean();\n r0 = pxsim_pxtrt.panic(920);\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsettings_writeBuffer__P494.info = {"start":1393,"length":290,"line":58,"column":4,"endLine":65,"endColumn":5,"fileName":"pxt_modules/settings/settings.ts","functionName":"writeBuffer","argumentNames":["key","value"]}\n\nfunction settings_writeBuffer__P494_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: settings_writeBuffer__P494, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction msgpack_packNumberArray__P112(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.off___3912 = undefined;\n s.n___3914 = undefined;\n s.unnamed40___U2 = undefined;\n s.unnamed41___U3 = undefined;\n s.buf___3923 = undefined;\n s.n___3929 = undefined;\n s.unnamed42___U6 = undefined;\n s.unnamed43___U7 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.off___3912 = (0);\n s.n___3914 = (undefined);\n s.n___3914 = (undefined);\n s.unnamed40___U2 = (s.arg0);\n s.unnamed41___U3 = (0);\n case 1:\n s.tmp_0 = r0 = s.unnamed41___U3;\n r0 = pxsim_Array__length(s.unnamed40___U2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 2; continue; }\n r0 = pxsim_Array__getAt(s.unnamed40___U2, s.unnamed41___U3);\n s.n___3914 = (r0);\n s.tmp_2 = r0 = s.off___3912;\n s.tmp_4 = msgpack_packNumberCore__P110_mk(s);\n s.tmp_4.arg0 = null;\n s.tmp_4.arg1 = s.off___3912;\n s.tmp_4.arg2 = s.n___3914;\n s.pc = 5; return s.tmp_4;\n case 5:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_2 + s.tmp_3);\n s.off___3912 = (r0);\n r0 = (s.unnamed41___U3 + 1);\n s.unnamed41___U3 = (r0);\n { step = 1; continue; }\n case 2:\n s.unnamed40___U2 = (undefined);\n r0 = pxsim.control.createBuffer(s.off___3912);\n s.buf___3923 = (r0);\n s.off___3912 = (0);\n s.n___3929 = (undefined);\n s.n___3929 = (undefined);\n s.unnamed42___U6 = (s.arg0);\n s.unnamed43___U7 = (0);\n case 3:\n s.tmp_0 = r0 = s.unnamed43___U7;\n r0 = pxsim_Array__length(s.unnamed42___U6);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 4; continue; }\n r0 = pxsim_Array__getAt(s.unnamed42___U6, s.unnamed43___U7);\n s.n___3929 = (r0);\n s.tmp_2 = r0 = s.off___3912;\n s.tmp_4 = msgpack_packNumberCore__P110_mk(s);\n s.tmp_4.arg0 = s.buf___3923;\n s.tmp_4.arg1 = s.off___3912;\n s.tmp_4.arg2 = s.n___3929;\n s.pc = 6; return s.tmp_4;\n case 6:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_2 + s.tmp_3);\n s.off___3912 = (r0);\n r0 = (s.unnamed43___U7 + 1);\n s.unnamed43___U7 = (r0);\n { step = 3; continue; }\n case 4:\n s.unnamed42___U6 = (undefined);\n r0 = s.buf___3923;\n return leave(s, r0)\n default: oops()\n} } }\nmsgpack_packNumberArray__P112.info = {"start":6884,"length":337,"line":219,"column":4,"endLine":230,"endColumn":5,"fileName":"pxt_modules/base/buffer.ts","functionName":"packNumberArray","argumentNames":["nums"]}\n\nfunction msgpack_packNumberArray__P112_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: msgpack_packNumberArray__P112, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n off___3912: undefined,\n n___3914: undefined,\n unnamed40___U2: undefined,\n unnamed41___U3: undefined,\n buf___3923: undefined,\n n___3929: undefined,\n unnamed42___U6: undefined,\n unnamed43___U7: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction msgpack_packNumberCore__P110(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tag___3942 = undefined;\n s.fmt___3970 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n s.tag___3942 = (203);\n s.tmp_1 = r0 = s.arg2;\n r0 = (s.arg2 << 0);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 == s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n s.tmp_3 = r0 = s.arg2;\n r0 = (s.arg2 >>> 0);\n s.tmp_4 = r0;\n r0 = (s.tmp_3 == s.tmp_4);\n case 2:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_5);\n if (!r0) { step = 19; continue; }\n r0 = (-31 <= s.arg2);\n s.tmp_6 = r0;\n r0 = pxsim_numops_toBool(s.tmp_6);\n if (r0) { step = 3; continue; }\n r0 = s.tmp_6;\n { step = 4; continue; }\n case 3:\n r0 = (s.arg2 <= 127);\n case 4:\n // jmp value (already in r0)\n s.tmp_7 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_7);\n if (!r0) { step = 7; continue; }\n r0 = pxsim_numops_toBoolDecr(s.arg0);\n if (!r0) { step = 5; continue; }\n r0 = pxsim.BufferMethods.setByte(s.arg0, s.arg1, s.arg2);\n case 5:\n case 6:\n r0 = 1;\n { step = 23; continue; }\n { step = 18; continue; }\n case 7:\n r0 = (0 <= s.arg2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 12; continue; }\n r0 = (s.arg2 <= 255);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 8; continue; }\n s.tag___3942 = (204);\n { step = 11; continue; }\n case 8:\n r0 = (s.arg2 <= 65535);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 9; continue; }\n s.tag___3942 = (205);\n { step = 10; continue; }\n case 9:\n s.tag___3942 = (206);\n case 10:\n case 11:\n { step = 17; continue; }\n case 12:\n r0 = (-127 <= s.arg2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 13; continue; }\n s.tag___3942 = (208);\n { step = 16; continue; }\n case 13:\n r0 = (-32767 <= s.arg2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 14; continue; }\n s.tag___3942 = (209);\n { step = 15; continue; }\n case 14:\n s.tag___3942 = (210);\n case 15:\n case 16:\n case 17:\n case 18:\n case 19:\n case 20:\n s.tmp_0 = msgpack_tagFormat__P109_mk(s);\n s.tmp_0.arg0 = s.tag___3942;\n s.pc = 24; return s.tmp_0;\n case 24:\n r0 = s.retval;\n s.fmt___3970 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.arg0);\n if (!r0) { step = 21; continue; }\n r0 = pxsim.BufferMethods.setByte(s.arg0, s.arg1, s.tag___3942);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_1 = r0 = s.fmt___3970;\n r0 = (s.arg1 + 1);\n s.tmp_2 = r0;\n r0 = pxsim.BufferMethods.setNumber(s.tmp_0, s.tmp_1, s.tmp_2, s.arg2);\n case 21:\n case 22:\n s.tmp_1 = pins_sizeOf__P100_mk(s);\n s.tmp_1.arg0 = s.fmt___3970;\n s.pc = 25; return s.tmp_1;\n case 25:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = (s.tmp_0 + 1);\n case 23:\n return leave(s, r0)\n default: oops()\n} } }\nmsgpack_packNumberCore__P110.info = {"start":5089,"length":951,"line":158,"column":4,"endLine":188,"endColumn":5,"fileName":"pxt_modules/base/buffer.ts","functionName":"packNumberCore","argumentNames":["buf","offset","num"]}\n\nfunction msgpack_packNumberCore__P110_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: msgpack_packNumberCore__P110, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tag___3942: undefined,\n fmt___3970: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction music_Melody_play__P357(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, music_Melody__C349_VT)) failedCast(r0);\n s.tmp_0 = music_Melody_playCore__P355_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.tmp_0.arg2 = false;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nmusic_Melody_play__P357.info = {"start":8825,"length":71,"line":277,"column":8,"endLine":279,"endColumn":9,"fileName":"pxt_modules/mixer/melody.ts","functionName":"play","argumentNames":["this","volume"]}\n\nfunction music_Melody_play__P357_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_Melody_play__P357, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction music_Melody_playCore__P355(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.p___3352 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, music_Melody__C349_VT)) failedCast(r0);\n s.tmp_0 = music_Melody_stop__P352_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkClassInstance(music_MelodyPlayer__C363_VT);\n s.tmp_0 = r0;\n s.tmp_1 = music_MelodyPlayer_constructor__P366_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = s.arg0;\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n r0 = (s.arg0).fields["_player"] = (s.tmp_0);\n s.p___3352 = (s.tmp_0);\n s.tmp_0 = music_Melody_registerMelody__P353_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkAction(4, inline__P3361);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.p___3352);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 2, s.arg1);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 3, s.arg2);\n r0 = pxsim.control.runInParallel(s.tmp_0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nmusic_Melody_playCore__P355.info = {"start":7649,"length":434,"line":241,"column":8,"endLine":253,"endColumn":9,"fileName":"pxt_modules/mixer/melody.ts","functionName":"playCore","argumentNames":["this","volume","loop"]}\n\nfunction music_Melody_playCore__P355_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_Melody_playCore__P355, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n p___3352: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction inline__P3361(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n case 1:\n r0 = s.caps[0].fields["_player"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 == s.caps[1]);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 4; continue; }\n s.tmp_2 = music_MelodyPlayer_play__P365_mk(s);\n s.tmp_2.arg0 = s.caps[1];\n s.tmp_2.arg1 = s.caps[2];\n s.pc = 5; return s.tmp_2;\n case 5:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(s.caps[3]);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n { step = 4; continue; }\n case 2:\n case 3:\n { step = 1; continue; }\n case 4:\n s.tmp_2 = music_Melody_unregisterMelody__P354_mk(s);\n s.tmp_2.arg0 = s.caps[0];\n s.pc = 6; return s.tmp_2;\n case 6:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P3361.info = {"start":7852,"length":220,"line":245,"column":34,"endLine":252,"endColumn":13,"fileName":"pxt_modules/mixer/melody.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P3361_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P3361, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n} }\n\n\n\n\n\nfunction music_MelodyPlayer_constructor__P366(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, music_MelodyPlayer__C363_VT)) failedCast(r0);\n r0 = (s.arg0).fields["melody"] = (s.arg1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nmusic_MelodyPlayer_constructor__P366.info = {"start":10674,"length":62,"line":328,"column":8,"endLine":330,"endColumn":9,"fileName":"pxt_modules/mixer/melody.ts","functionName":"inline","argumentNames":["this","m"]}\n\nfunction music_MelodyPlayer_constructor__P366_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_MelodyPlayer_constructor__P366, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction music_MelodyPlayer_play__P365(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.notes___3385 = undefined;\n s.pos___3389 = undefined;\n s.duration___3390 = undefined;\n s.octave___3391 = undefined;\n s.tempo___3392 = undefined;\n s.hz___3393 = undefined;\n s.endHz___3394 = undefined;\n s.ms___3396 = undefined;\n s.timePos___3397 = undefined;\n s.startTime___3398 = undefined;\n s.now___3401 = undefined;\n s.envA___3402 = undefined;\n s.envD___3403 = undefined;\n s.envS___3404 = undefined;\n s.envR___3405 = undefined;\n s.soundWave___3406 = undefined;\n s.sndInstr___3407 = undefined;\n s.sndInstrPtr___3411 = undefined;\n s.addForm___3412 = undefined;\n s.scanNextWord___3461 = undefined;\n s.token___3505 = undefined;\n s.tokenKind___3506 = undefined;\n s.consumeToken___3509 = undefined;\n s.currNote___3580 = undefined;\n s.prevNote___3582 = undefined;\n s.timeLeft___3584 = undefined;\n s.note___3597 = undefined;\n s.i___3601 = undefined;\n s.noteChar___3606 = undefined;\n s.keyNumber___3678 = undefined;\n s.currMs___3688 = undefined;\n s.beat___3691 = undefined;\n s.timeLeft___3738 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, music_MelodyPlayer__C363_VT)) failedCast(r0);\n r0 = pxsim_pxtrt.mklocRef();\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.arg1);\n s.arg1 = (s.tmp_0);\n r0 = s.arg0.fields["melody"];\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 1; continue; }\n { step = 59; continue; }\n case 1:\n case 2:\n s.tmp_4 = r0 = s.arg1;\n s.tmp_6 = Math_clamp__P58_mk(s);\n s.tmp_6.arg0 = 0;\n s.tmp_6.arg1 = 255;\n r0 = pxsim_pxtrt_ldlocRef(s.arg1);\n s.tmp_8 = r0;\n s.tmp_10 = music_volume__P342_mk(s);\n s.pc = 61; return s.tmp_10;\n case 61:\n r0 = s.retval;\n s.tmp_9 = r0;\n r0 = (s.tmp_8 * s.tmp_9);\n s.tmp_7 = r0;\n r0 = (s.tmp_7 >> 8);\n s.tmp_6.arg2 = r0;\n s.pc = 60; return s.tmp_6;\n case 60:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_4, s.tmp_5);\n r0 = s.arg0.fields["melody"];\n r0 = r0.fields["_text"];\n s.notes___3385 = (r0);\n r0 = pxsim_pxtrt.mklocRef();\n s.pos___3389 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.pos___3389, 0);\n r0 = pxsim_pxtrt.mklocRef();\n s.duration___3390 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.duration___3390, 4);\n r0 = pxsim_pxtrt.mklocRef();\n s.octave___3391 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.octave___3391, 4);\n r0 = pxsim_pxtrt.mklocRef();\n s.tempo___3392 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.tempo___3392, 120);\n r0 = pxsim_pxtrt.mklocRef();\n s.hz___3393 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.hz___3393, 0);\n r0 = pxsim_pxtrt.mklocRef();\n s.endHz___3394 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.endHz___3394, -1);\n r0 = pxsim_pxtrt.mklocRef();\n s.ms___3396 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.ms___3396, 0);\n s.timePos___3397 = (0);\n r0 = pxsim.control.millis();\n s.startTime___3398 = (r0);\n s.now___3401 = (0);\n r0 = pxsim_pxtrt.mklocRef();\n s.envA___3402 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.envA___3402, 0);\n r0 = pxsim_pxtrt.mklocRef();\n s.envD___3403 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.envD___3403, 0);\n r0 = pxsim_pxtrt.mklocRef();\n s.envS___3404 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.envS___3404, 255);\n r0 = pxsim_pxtrt.mklocRef();\n s.envR___3405 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.envR___3405, 0);\n r0 = pxsim_pxtrt.mklocRef();\n s.soundWave___3406 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.soundWave___3406, 1);\n r0 = (5 * 12);\n s.tmp_0 = r0;\n r0 = pxsim.control.createBuffer(s.tmp_0);\n s.sndInstr___3407 = (r0);\n r0 = pxsim_pxtrt.mklocRef();\n s.sndInstrPtr___3411 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.sndInstrPtr___3411, 0);\n r0 = pxsim_pxtcore_mkAction(10, inline__P3413);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.hz___3393);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.endHz___3394);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 2, s.ms___3396);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 3, s.duration___3390);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 4, s.tempo___3392);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 5, s.envR___3405);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 6, s.sndInstrPtr___3411);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 7, s.sndInstr___3407);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 8, s.soundWave___3406);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 9, s.arg1);\n s.addForm___3412 = (s.tmp_0);\n r0 = pxsim_pxtcore_mkAction(3, inline__P3462);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.pos___3389);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 2, s.notes___3385);\n s.scanNextWord___3461 = (s.tmp_0);\n r0 = pxsim_pxtrt.mklocRef();\n s.token___3505 = (r0);\n s.tmp_0 = r0 = s.token___3505;\n r0 = pxsim_String_.mkEmpty();\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1);\n r0 = pxsim_pxtrt.mklocRef();\n s.tokenKind___3506 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.tokenKind___3506, 0);\n r0 = pxsim_pxtcore_mkAction(13, inline__P3510);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.token___3505);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.tokenKind___3506);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 2, s.octave___3391);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 3, s.duration___3390);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 4, s.ms___3396);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 5, s.tempo___3392);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 6, s.hz___3393);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 7, s.soundWave___3406);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 8, s.envA___3402);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 9, s.envD___3403);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 10, s.envS___3404);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 11, s.envR___3405);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 12, s.endHz___3394);\n s.consumeToken___3509 = (s.tmp_0);\n case 3:\n r0 = pxsim_numops_toBoolDecr(true);\n if (!r0) { step = 58; continue; }\n s.tmp_0 = lambda_1_mk(s);\n s.tmp_0.argL = s.scanNextWord___3461;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 62; return s.tmp_0;\n case 62:\n r0 = s.retval;\n s.currNote___3580 = (r0);\n s.prevNote___3582 = (false);\n r0 = pxsim_numops_toBoolDecr(s.currNote___3580);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 8; continue; }\n r0 = (s.timePos___3397 - s.now___3401);\n s.timeLeft___3584 = (r0);\n r0 = (s.timeLeft___3584 > 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 4; continue; }\n s.tmp_1 = pause__P241_mk(s);\n s.tmp_1.arg0 = s.timeLeft___3584;\n s.pc = 63; return s.tmp_1;\n case 63:\n r0 = s.retval;\n case 4:\n case 5:\n r0 = s.arg0.fields["onPlayFinished"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 6; continue; }\n s.tmp_1 = lambda_1_mk(s);\n r0 = s.arg0.fields["onPlayFinished"];\n s.tmp_1.argL = r0;\n setupLambda(s.tmp_1, s.tmp_1.argL);\n s.pc = 64; return s.tmp_1;\n case 64:\n r0 = s.retval;\n case 6:\n case 7:\n { step = 59; continue; }\n case 8:\n case 9:\n r0 = pxsim_pxtrt_stlocRef(s.hz___3393, -1);\n s.note___3597 = (0);\n s.tmp_0 = r0 = s.token___3505;\n r0 = pxsim_String_.mkEmpty();\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1);\n r0 = pxsim_pxtrt_stlocRef(s.tokenKind___3506, 0);\n s.i___3601 = (0);\n case 10:\n s.tmp_1 = r0 = s.i___3601;\n r0 = pxsim_String_.length(s.currNote___3580);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 41; continue; }\n r0 = pxsim_String_.charAt(s.currNote___3580, s.i___3601);\n s.noteChar___3606 = (r0);\n s.tmp_0 = r0 = s.noteChar___3606;\n r0 = pxsim_pxtcore.switch_eq("c", s.tmp_0);\n if (r0) { step = 11; continue; }\n r0 = pxsim_pxtcore.switch_eq("C", s.tmp_0);\n if (r0) { step = 12; continue; }\n r0 = pxsim_pxtcore.switch_eq("d", s.tmp_0);\n if (r0) { step = 13; continue; }\n r0 = pxsim_pxtcore.switch_eq("D", s.tmp_0);\n if (r0) { step = 14; continue; }\n r0 = pxsim_pxtcore.switch_eq("e", s.tmp_0);\n if (r0) { step = 15; continue; }\n r0 = pxsim_pxtcore.switch_eq("E", s.tmp_0);\n if (r0) { step = 16; continue; }\n r0 = pxsim_pxtcore.switch_eq("f", s.tmp_0);\n if (r0) { step = 17; continue; }\n r0 = pxsim_pxtcore.switch_eq("F", s.tmp_0);\n if (r0) { step = 18; continue; }\n r0 = pxsim_pxtcore.switch_eq("g", s.tmp_0);\n if (r0) { step = 19; continue; }\n r0 = pxsim_pxtcore.switch_eq("G", s.tmp_0);\n if (r0) { step = 20; continue; }\n r0 = pxsim_pxtcore.switch_eq("a", s.tmp_0);\n if (r0) { step = 21; continue; }\n r0 = pxsim_pxtcore.switch_eq("A", s.tmp_0);\n if (r0) { step = 22; continue; }\n r0 = pxsim_pxtcore.switch_eq("B", s.tmp_0);\n if (r0) { step = 23; continue; }\n r0 = pxsim_pxtcore.switch_eq("r", s.tmp_0);\n if (r0) { step = 24; continue; }\n r0 = pxsim_pxtcore.switch_eq("R", s.tmp_0);\n if (r0) { step = 25; continue; }\n r0 = pxsim_pxtcore.switch_eq("#", s.tmp_0);\n if (r0) { step = 26; continue; }\n r0 = pxsim_pxtcore.switch_eq("b", s.tmp_0);\n if (r0) { step = 27; continue; }\n r0 = pxsim_pxtcore.switch_eq(",", s.tmp_0);\n if (r0) { step = 30; continue; }\n r0 = pxsim_pxtcore.switch_eq("!", s.tmp_0);\n if (r0) { step = 31; continue; }\n r0 = pxsim_pxtcore.switch_eq("@", s.tmp_0);\n if (r0) { step = 32; continue; }\n r0 = pxsim_pxtcore.switch_eq("~", s.tmp_0);\n if (r0) { step = 33; continue; }\n r0 = pxsim_pxtcore.switch_eq(":", s.tmp_0);\n if (r0) { step = 34; continue; }\n r0 = pxsim_pxtcore.switch_eq("-", s.tmp_0);\n if (r0) { step = 35; continue; }\n r0 = pxsim_pxtcore.switch_eq("^", s.tmp_0);\n if (r0) { step = 36; continue; }\n r0 = s.tmp_0;\n { step = 37; continue; }\n case 11:\n case 12:\n s.note___3597 = (1);\n s.prevNote___3582 = (true);\n { step = 40; continue; }\n case 13:\n case 14:\n s.note___3597 = (3);\n s.prevNote___3582 = (true);\n { step = 40; continue; }\n case 15:\n case 16:\n s.note___3597 = (5);\n s.prevNote___3582 = (true);\n { step = 40; continue; }\n case 17:\n case 18:\n s.note___3597 = (6);\n s.prevNote___3582 = (true);\n { step = 40; continue; }\n case 19:\n case 20:\n s.note___3597 = (8);\n s.prevNote___3582 = (true);\n { step = 40; continue; }\n case 21:\n case 22:\n s.note___3597 = (10);\n s.prevNote___3582 = (true);\n { step = 40; continue; }\n case 23:\n s.note___3597 = (12);\n s.prevNote___3582 = (true);\n { step = 40; continue; }\n case 24:\n case 25:\n r0 = pxsim_pxtrt_stlocRef(s.hz___3393, 0);\n s.prevNote___3582 = (false);\n { step = 40; continue; }\n case 26:\n r0 = (s.note___3597 + 1);\n s.note___3597 = (r0);\n s.prevNote___3582 = (false);\n { step = 40; continue; }\n case 27:\n r0 = pxsim_numops_toBoolDecr(s.prevNote___3582);\n if (!r0) { step = 28; continue; }\n r0 = (s.note___3597 - 1);\n s.note___3597 = (r0);\n { step = 29; continue; }\n case 28:\n s.note___3597 = (12);\n s.prevNote___3582 = (true);\n case 29:\n { step = 40; continue; }\n case 30:\n s.tmp_0 = lambda_1_mk(s);\n s.tmp_0.argL = s.consumeToken___3509;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 65; return s.tmp_0;\n case 65:\n r0 = s.retval;\n s.prevNote___3582 = (false);\n { step = 40; continue; }\n case 31:\n r0 = pxsim_pxtrt_stlocRef(s.tokenKind___3506, 4);\n s.prevNote___3582 = (false);\n { step = 40; continue; }\n case 32:\n s.tmp_0 = lambda_1_mk(s);\n s.tmp_0.argL = s.consumeToken___3509;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 66; return s.tmp_0;\n case 66:\n r0 = s.retval;\n r0 = pxsim_pxtrt_stlocRef(s.tokenKind___3506, 8);\n s.prevNote___3582 = (false);\n { step = 40; continue; }\n case 33:\n s.tmp_0 = lambda_1_mk(s);\n s.tmp_0.argL = s.consumeToken___3509;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 67; return s.tmp_0;\n case 67:\n r0 = s.retval;\n r0 = pxsim_pxtrt_stlocRef(s.tokenKind___3506, 7);\n s.prevNote___3582 = (false);\n { step = 40; continue; }\n case 34:\n s.tmp_0 = lambda_1_mk(s);\n s.tmp_0.argL = s.consumeToken___3509;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 68; return s.tmp_0;\n case 68:\n r0 = s.retval;\n r0 = pxsim_pxtrt_stlocRef(s.tokenKind___3506, 2);\n s.prevNote___3582 = (false);\n { step = 40; continue; }\n case 35:\n s.tmp_0 = lambda_1_mk(s);\n s.tmp_0.argL = s.consumeToken___3509;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 69; return s.tmp_0;\n case 69:\n r0 = s.retval;\n r0 = pxsim_pxtrt_stlocRef(s.tokenKind___3506, 3);\n s.prevNote___3582 = (false);\n { step = 40; continue; }\n case 36:\n s.tmp_0 = lambda_1_mk(s);\n s.tmp_0.argL = s.consumeToken___3509;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 70; return s.tmp_0;\n case 70:\n r0 = s.retval;\n r0 = pxsim_pxtrt_stlocRef(s.tokenKind___3506, 5);\n { step = 40; continue; }\n case 37:\n r0 = pxsim_pxtrt_ldlocRef(s.tokenKind___3506);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 == 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 38; continue; }\n r0 = pxsim_pxtrt_stlocRef(s.tokenKind___3506, 1);\n case 38:\n case 39:\n s.tmp_0 = r0 = s.token___3505;\n r0 = pxsim_pxtrt_ldlocRef(s.token___3505);\n s.tmp_3 = r0;\n if ((s.tmp_3) && (s.tmp_3).vtable) {\n setupResume(s, 71);\n pxsim_String__stringConv(s.tmp_3);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_3) + ""; }\n case 71:\n r0 = s.retval;\n s.tmp_2 = r0;\n if ((s.noteChar___3606) && (s.noteChar___3606).vtable) {\n setupResume(s, 72);\n pxsim_String__stringConv(s.noteChar___3606);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.noteChar___3606) + ""; }\n case 72:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = pxsim_String__concat(s.tmp_2, s.tmp_4);\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1);\n s.prevNote___3582 = (false);\n case 40:\n r0 = (s.i___3601 + 1);\n s.i___3601 = (r0);\n { step = 10; continue; }\n case 41:\n s.tmp_0 = lambda_1_mk(s);\n s.tmp_0.argL = s.consumeToken___3509;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 73; return s.tmp_0;\n case 73:\n r0 = s.retval;\n s.tmp_0 = r0 = s.note___3597;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 42; continue; }\n r0 = s.tmp_0;\n { step = 43; continue; }\n case 42:\n r0 = pxsim_pxtrt_ldlocRef(s.hz___3393);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 < 0);\n case 43:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 46; continue; }\n s.tmp_3 = r0 = s.note___3597;\n r0 = pxsim_pxtrt_ldlocRef(s.octave___3391);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 - 1);\n s.tmp_5 = r0;\n r0 = (12 * s.tmp_5);\n s.tmp_4 = r0;\n r0 = (s.tmp_3 + s.tmp_4);\n s.keyNumber___3678 = (r0);\n s.tmp_1 = r0 = globals.freqs___333;\n r0 = (s.keyNumber___3678 * 2);\n s.tmp_2 = r0;\n r0 = pxsim.BufferMethods.getNumber(s.tmp_1, 4, s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 44; continue; }\n r0 = s.tmp_0;\n { step = 45; continue; }\n case 44:\n r0 = 0;\n case 45:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.hz___3393, s.tmp_3);\n case 46:\n case 47:\n r0 = pxsim_pxtrt_ldlocRef(s.ms___3396);\n s.currMs___3688 = (r0);\n r0 = (s.currMs___3688 <= 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 48; continue; }\n r0 = pxsim_pxtrt_ldlocRef(s.tempo___3392);\n s.tmp_1 = r0;\n r0 = pxsim.Math_.idiv(15000, s.tmp_1);\n s.beat___3691 = (r0);\n r0 = pxsim_pxtrt_ldlocRef(s.duration___3390);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 * s.beat___3691);\n s.currMs___3688 = (r0);\n case 48:\n case 49:\n r0 = pxsim_pxtrt_ldlocRef(s.hz___3393);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 50; continue; }\n { step = 55; continue; }\n case 50:\n r0 = pxsim_pxtrt_ldlocRef(s.hz___3393);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 == 0);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 51; continue; }\n r0 = (s.timePos___3397 + s.currMs___3688);\n s.timePos___3397 = (r0);\n { step = 54; continue; }\n case 51:\n r0 = pxsim_pxtrt_ldlocRef(s.endHz___3394);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 52; continue; }\n s.tmp_2 = r0 = s.endHz___3394;\n r0 = pxsim_pxtrt_ldlocRef(s.hz___3393);\n s.tmp_3 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_2, s.tmp_3);\n case 52:\n case 53:\n r0 = pxsim_pxtrt_stlocRef(s.sndInstrPtr___3411, 0);\n s.tmp_0 = lambda_5_mk(s);\n s.tmp_0.argL = s.addForm___3412;\n r0 = pxsim_pxtrt_ldlocRef(s.envA___3402);\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = 0;\n s.tmp_0.arg2 = 255;\n s.tmp_0.arg3 = 0;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 74; return s.tmp_0;\n case 74:\n r0 = s.retval;\n s.tmp_0 = lambda_5_mk(s);\n s.tmp_0.argL = s.addForm___3412;\n r0 = pxsim_pxtrt_ldlocRef(s.envD___3403);\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = 255;\n r0 = pxsim_pxtrt_ldlocRef(s.envS___3404);\n s.tmp_0.arg2 = r0;\n r0 = pxsim_pxtrt_ldlocRef(s.envA___3402);\n s.tmp_0.arg3 = r0;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 75; return s.tmp_0;\n case 75:\n r0 = s.retval;\n s.tmp_0 = lambda_5_mk(s);\n s.tmp_0.argL = s.addForm___3412;\n s.tmp_1 = r0 = s.currMs___3688;\n r0 = pxsim_pxtrt_ldlocRef(s.envA___3402);\n s.tmp_3 = r0;\n r0 = pxsim_pxtrt_ldlocRef(s.envD___3403);\n s.tmp_4 = r0;\n r0 = (s.tmp_3 + s.tmp_4);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 - s.tmp_2);\n s.tmp_0.arg0 = r0;\n r0 = pxsim_pxtrt_ldlocRef(s.envS___3404);\n s.tmp_0.arg1 = r0;\n r0 = pxsim_pxtrt_ldlocRef(s.envS___3404);\n s.tmp_0.arg2 = r0;\n r0 = pxsim_pxtrt_ldlocRef(s.envD___3403);\n s.tmp_5 = r0;\n r0 = pxsim_pxtrt_ldlocRef(s.envA___3402);\n s.tmp_6 = r0;\n r0 = (s.tmp_5 + s.tmp_6);\n s.tmp_0.arg3 = r0;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 76; return s.tmp_0;\n case 76:\n r0 = s.retval;\n s.tmp_0 = lambda_5_mk(s);\n s.tmp_0.argL = s.addForm___3412;\n r0 = pxsim_pxtrt_ldlocRef(s.envR___3405);\n s.tmp_0.arg0 = r0;\n r0 = pxsim_pxtrt_ldlocRef(s.envS___3404);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = 0;\n s.tmp_0.arg3 = s.currMs___3688;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 77; return s.tmp_0;\n case 77:\n r0 = s.retval;\n r0 = (s.timePos___3397 - s.now___3401);\n s.tmp_0 = r0;\n s.tmp_2 = r0 = s.sndInstr___3407;\n r0 = pxsim_pxtrt_ldlocRef(s.sndInstrPtr___3411);\n s.tmp_3 = r0;\n r0 = pxsim.BufferMethods.slice(s.tmp_2, 0, s.tmp_3);\n s.tmp_1 = r0;\n r0 = pxsim.music.queuePlayInstructions(s.tmp_0, s.tmp_1);\n r0 = pxsim_pxtrt_stlocRef(s.endHz___3394, -1);\n r0 = (s.timePos___3397 + s.currMs___3688);\n s.timePos___3397 = (r0);\n case 54:\n case 55:\n r0 = (s.timePos___3397 - s.now___3401);\n s.timeLeft___3738 = (r0);\n r0 = (s.timeLeft___3738 > 200);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 56; continue; }\n s.tmp_1 = pause__P241_mk(s);\n r0 = (s.timeLeft___3738 - 100);\n s.tmp_1.arg0 = r0;\n s.pc = 78; return s.tmp_1;\n case 78:\n r0 = s.retval;\n r0 = pxsim.control.millis();\n s.tmp_0 = r0;\n r0 = (s.tmp_0 - s.startTime___3398);\n s.now___3401 = (r0);\n case 56:\n case 57:\n { step = 3; continue; }\n case 58:\n case 59:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nmusic_MelodyPlayer_play__P365.info = {"start":10805,"length":9001,"line":336,"column":8,"endLine":567,"endColumn":9,"fileName":"pxt_modules/mixer/melody.ts","functionName":"play","argumentNames":["this","volume"]}\n\nfunction music_MelodyPlayer_play__P365_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_MelodyPlayer_play__P365, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n notes___3385: undefined,\n pos___3389: undefined,\n duration___3390: undefined,\n octave___3391: undefined,\n tempo___3392: undefined,\n hz___3393: undefined,\n endHz___3394: undefined,\n ms___3396: undefined,\n timePos___3397: undefined,\n startTime___3398: undefined,\n now___3401: undefined,\n envA___3402: undefined,\n envD___3403: undefined,\n envS___3404: undefined,\n envR___3405: undefined,\n soundWave___3406: undefined,\n sndInstr___3407: undefined,\n sndInstrPtr___3411: undefined,\n addForm___3412: undefined,\n scanNextWord___3461: undefined,\n token___3505: undefined,\n tokenKind___3506: undefined,\n consumeToken___3509: undefined,\n currNote___3580: undefined,\n prevNote___3582: undefined,\n timeLeft___3584: undefined,\n note___3597: undefined,\n i___3601: undefined,\n noteChar___3606: undefined,\n keyNumber___3678: undefined,\n currMs___3688: undefined,\n beat___3691: undefined,\n timeLeft___3738: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction inline__P3413(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.freqStart___3418 = undefined;\n s.freqEnd___3420 = undefined;\n s.envelopeWidth___3422 = undefined;\n s.slope___3435 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_pxtrt_ldlocRef(s.caps[0]);\n s.freqStart___3418 = (r0);\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.freqEnd___3420 = (r0);\n r0 = pxsim_pxtrt_ldlocRef(s.caps[2]);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_pxtrt_ldlocRef(s.caps[2]);\n { step = 2; continue; }\n case 1:\n r0 = pxsim_pxtrt_ldlocRef(s.caps[3]);\n s.tmp_3 = r0;\n r0 = pxsim_pxtrt_ldlocRef(s.caps[4]);\n s.tmp_5 = r0;\n r0 = pxsim.Math_.idiv(15000, s.tmp_5);\n s.tmp_4 = r0;\n r0 = (s.tmp_3 * s.tmp_4);\n s.tmp_2 = r0;\n r0 = pxsim_pxtrt_ldlocRef(s.caps[5]);\n s.tmp_6 = r0;\n r0 = (s.tmp_2 + s.tmp_6);\n case 2:\n // jmp value (already in r0)\n s.tmp_7 = r0;\n s.envelopeWidth___3422 = (s.tmp_7);\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_ldlocRef(s.caps[0]);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 != s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 3; continue; }\n r0 = s.tmp_0;\n { step = 4; continue; }\n case 3:\n r0 = (s.envelopeWidth___3422 != 0);\n case 4:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 5; continue; }\n r0 = (s.freqEnd___3420 - s.freqStart___3418);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 / s.envelopeWidth___3422);\n s.slope___3435 = (r0);\n r0 = pxsim_pxtrt_ldlocRef(s.caps[0]);\n s.tmp_0 = r0;\n r0 = (s.slope___3435 * s.arg3);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n s.freqStart___3418 = (r0);\n r0 = pxsim_pxtrt_ldlocRef(s.caps[0]);\n s.tmp_0 = r0;\n s.tmp_2 = r0 = s.slope___3435;\n r0 = (s.arg3 + s.arg0);\n s.tmp_3 = r0;\n r0 = (s.tmp_2 * s.tmp_3);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n s.freqEnd___3420 = (r0);\n case 5:\n case 6:\n s.tmp_0 = r0 = s.caps[6];\n s.tmp_2 = music_addNote__P362_mk(s);\n s.tmp_2.arg0 = s.caps[7];\n r0 = pxsim_pxtrt_ldlocRef(s.caps[6]);\n s.tmp_2.arg1 = r0;\n s.tmp_2.arg2 = s.arg0;\n s.tmp_2.arg3 = s.arg1;\n s.tmp_2.arg4 = s.arg2;\n r0 = pxsim_pxtrt_ldlocRef(s.caps[8]);\n s.tmp_2.arg5 = r0;\n s.tmp_2.arg6 = s.freqStart___3418;\n r0 = pxsim_pxtrt_ldlocRef(s.caps[9]);\n s.tmp_2.arg7 = r0;\n s.tmp_2.arg8 = s.freqEnd___3420;\n s.pc = 7; return s.tmp_2;\n case 7:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P3413.info = {"start":11613,"length":643,"line":362,"column":28,"endLine":373,"endColumn":13,"fileName":"pxt_modules/mixer/melody.ts","functionName":"inline","argumentNames":["formDuration","beg","end","msOff"]}\n\nfunction inline__P3413_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P3413, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n freqStart___3418: undefined,\n freqEnd___3420: undefined,\n envelopeWidth___3422: undefined,\n slope___3435: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction inline__P3462(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.c___3469 = undefined;\n s.note___3481 = undefined;\n s.c___3486 = undefined;\n r0 = s.caps[0].fields["melody"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_String_.mkEmpty();\n { step = 23; continue; }\n case 1:\n case 2:\n case 3:\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_4 = r0;\n r0 = pxsim_String_.length(s.caps[2]);\n s.tmp_5 = r0;\n r0 = (s.tmp_4 < s.tmp_5);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 12; continue; }\n s.tmp_6 = r0 = s.caps[2];\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_7 = r0;\n r0 = pxsim_String_.charAt(s.tmp_6, s.tmp_7);\n s.c___3469 = (r0);\n r0 = (s.c___3469 != " ");\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 4; continue; }\n r0 = s.tmp_0;\n { step = 5; continue; }\n case 4:\n r0 = (s.c___3469 != "\\r");\n case 5:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBool(s.tmp_1);\n if (r0) { step = 6; continue; }\n r0 = s.tmp_1;\n { step = 7; continue; }\n case 6:\n r0 = (s.c___3469 != "\\n");\n case 7:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBool(s.tmp_2);\n if (r0) { step = 8; continue; }\n r0 = s.tmp_2;\n { step = 9; continue; }\n case 8:\n r0 = (s.c___3469 != "\\t");\n case 9:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 10; continue; }\n { step = 12; continue; }\n case 10:\n case 11:\n s.tmp_4 = r0 = s.caps[1];\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 + 1);\n s.tmp_5 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_4, s.tmp_5);\n { step = 3; continue; }\n case 12:\n r0 = pxsim_String_.mkEmpty();\n s.note___3481 = (r0);\n case 13:\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_1 = r0;\n r0 = pxsim_String_.length(s.caps[2]);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 22; continue; }\n s.tmp_3 = r0 = s.caps[2];\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_4 = r0;\n r0 = pxsim_String_.charAt(s.tmp_3, s.tmp_4);\n s.c___3486 = (r0);\n r0 = (s.c___3486 == " ");\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 14; continue; }\n r0 = s.tmp_0;\n { step = 15; continue; }\n case 14:\n r0 = (s.c___3486 == "\\r");\n case 15:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBool(s.tmp_1);\n if (!r0) { step = 16; continue; }\n r0 = s.tmp_1;\n { step = 17; continue; }\n case 16:\n r0 = (s.c___3486 == "\\n");\n case 17:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBool(s.tmp_2);\n if (!r0) { step = 18; continue; }\n r0 = s.tmp_2;\n { step = 19; continue; }\n case 18:\n r0 = (s.c___3486 == "\\t");\n case 19:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 20; continue; }\n { step = 22; continue; }\n case 20:\n case 21:\n if ((s.note___3481) && (s.note___3481).vtable) {\n setupResume(s, 24);\n pxsim_String__stringConv(s.note___3481);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.note___3481) + ""; }\n case 24:\n r0 = s.retval;\n s.tmp_4 = r0;\n if ((s.c___3486) && (s.c___3486).vtable) {\n setupResume(s, 25);\n pxsim_String__stringConv(s.c___3486);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.c___3486) + ""; }\n case 25:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = pxsim_String__concat(s.tmp_4, s.tmp_5);\n s.note___3481 = (r0);\n s.tmp_0 = r0 = s.caps[1];\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + 1);\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1);\n { step = 13; continue; }\n case 22:\n r0 = s.note___3481;\n case 23:\n return leave(s, r0)\n default: oops()\n} } }\ninline__P3462.info = {"start":12291,"length":708,"line":375,"column":33,"endLine":397,"endColumn":13,"fileName":"pxt_modules/mixer/melody.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P3462_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P3462, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n c___3469: undefined,\n note___3481: undefined,\n c___3486: undefined,\n} }\n\n\n\n\n\nfunction inline__P3510(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.d___3514 = undefined;\n r0 = pxsim_pxtrt_ldlocRef(s.caps[0]);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 != 0);\n case 2:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 15; continue; }\n r0 = pxsim_pxtrt_ldlocRef(s.caps[0]);\n s.tmp_3 = r0;\n r0 = pxsim_String_.toNumber(s.tmp_3);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 >> 0);\n s.d___3514 = (r0);\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_0 = r0;\n r0 = pxsim_pxtcore.switch_eq(1, s.tmp_0);\n if (r0) { step = 3; continue; }\n r0 = pxsim_pxtcore.switch_eq(2, s.tmp_0);\n if (r0) { step = 4; continue; }\n r0 = pxsim_pxtcore.switch_eq(3, s.tmp_0);\n if (r0) { step = 5; continue; }\n r0 = pxsim_pxtcore.switch_eq(4, s.tmp_0);\n if (r0) { step = 6; continue; }\n r0 = pxsim_pxtcore.switch_eq(6, s.tmp_0);\n if (r0) { step = 7; continue; }\n r0 = pxsim_pxtcore.switch_eq(7, s.tmp_0);\n if (r0) { step = 8; continue; }\n r0 = pxsim_pxtcore.switch_eq(8, s.tmp_0);\n if (r0) { step = 9; continue; }\n r0 = pxsim_pxtcore.switch_eq(9, s.tmp_0);\n if (r0) { step = 10; continue; }\n r0 = pxsim_pxtcore.switch_eq(10, s.tmp_0);\n if (r0) { step = 11; continue; }\n r0 = pxsim_pxtcore.switch_eq(11, s.tmp_0);\n if (r0) { step = 12; continue; }\n r0 = pxsim_pxtcore.switch_eq(5, s.tmp_0);\n if (r0) { step = 13; continue; }\n r0 = s.tmp_0;\n { step = 14; continue; }\n case 3:\n r0 = pxsim_pxtrt_stlocRef(s.caps[2], s.d___3514);\n { step = 14; continue; }\n case 4:\n s.tmp_0 = r0 = s.caps[3];\n s.tmp_2 = Math_max__P61_mk(s);\n s.tmp_2.arg0 = 1;\n s.tmp_3 = Math_min__P62_mk(s);\n s.tmp_3.arg0 = 16;\n s.tmp_3.arg1 = s.d___3514;\n s.pc = 18; return s.tmp_3;\n case 18:\n r0 = s.retval;\n s.tmp_2.arg1 = r0;\n s.pc = 17; return s.tmp_2;\n case 17:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1);\n r0 = pxsim_pxtrt_stlocRef(s.caps[4], -1);\n { step = 14; continue; }\n case 5:\n s.tmp_0 = r0 = s.caps[5];\n s.tmp_2 = Math_max__P61_mk(s);\n s.tmp_2.arg0 = 1;\n s.tmp_2.arg1 = s.d___3514;\n s.pc = 19; return s.tmp_2;\n case 19:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1);\n { step = 14; continue; }\n case 6:\n r0 = pxsim_pxtrt_stlocRef(s.caps[6], s.d___3514);\n r0 = pxsim_pxtrt_stlocRef(s.caps[1], 6);\n { step = 14; continue; }\n case 7:\n r0 = pxsim_pxtrt_stlocRef(s.caps[4], s.d___3514);\n { step = 14; continue; }\n case 8:\n s.tmp_0 = r0 = s.caps[7];\n s.tmp_2 = Math_clamp__P58_mk(s);\n s.tmp_2.arg0 = 1;\n s.tmp_2.arg1 = 15;\n s.tmp_2.arg2 = s.d___3514;\n s.pc = 20; return s.tmp_2;\n case 20:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1);\n { step = 14; continue; }\n case 9:\n r0 = pxsim_pxtrt_stlocRef(s.caps[8], s.d___3514);\n r0 = pxsim_pxtrt_stlocRef(s.caps[1], 9);\n { step = 14; continue; }\n case 10:\n r0 = pxsim_pxtrt_stlocRef(s.caps[9], s.d___3514);\n r0 = pxsim_pxtrt_stlocRef(s.caps[1], 10);\n { step = 14; continue; }\n case 11:\n s.tmp_0 = r0 = s.caps[10];\n s.tmp_2 = Math_clamp__P58_mk(s);\n s.tmp_2.arg0 = 0;\n s.tmp_2.arg1 = 255;\n s.tmp_2.arg2 = s.d___3514;\n s.pc = 21; return s.tmp_2;\n case 21:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1);\n r0 = pxsim_pxtrt_stlocRef(s.caps[1], 11);\n { step = 14; continue; }\n case 12:\n r0 = pxsim_pxtrt_stlocRef(s.caps[11], s.d___3514);\n { step = 14; continue; }\n case 13:\n r0 = pxsim_pxtrt_stlocRef(s.caps[12], s.d___3514);\n case 14:\n s.tmp_0 = r0 = s.caps[0];\n r0 = pxsim_String_.mkEmpty();\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1);\n case 15:\n case 16:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P3510.info = {"start":14032,"length":1189,"line":433,"column":33,"endLine":454,"endColumn":13,"fileName":"pxt_modules/mixer/melody.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P3510_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P3510, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n d___3514: undefined,\n} }\n\n\n\n\n\nfunction music_addNote__P362(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.arg5 = (s.lambdaArgs[5]);\n s.arg6 = (s.lambdaArgs[6]);\n s.arg7 = (s.lambdaArgs[7]);\n s.arg8 = (s.lambdaArgs[8]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg2 > 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim.BufferMethods.setNumber(s.arg0, 2, s.arg1, s.arg5);\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg1 + 1);\n s.tmp_1 = r0;\n r0 = pxsim.BufferMethods.setNumber(s.tmp_0, 2, s.tmp_1, 0);\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg1 + 2);\n s.tmp_1 = r0;\n r0 = pxsim.BufferMethods.setNumber(s.tmp_0, 4, s.tmp_1, s.arg6);\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg1 + 4);\n s.tmp_1 = r0;\n r0 = pxsim.BufferMethods.setNumber(s.tmp_0, 4, s.tmp_1, s.arg2);\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg1 + 6);\n s.tmp_1 = r0;\n r0 = (s.arg3 * s.arg7);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 >> 6);\n s.tmp_2 = r0;\n r0 = pxsim.BufferMethods.setNumber(s.tmp_0, 4, s.tmp_1, s.tmp_2);\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg1 + 8);\n s.tmp_1 = r0;\n r0 = (s.arg4 * s.arg7);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 >> 6);\n s.tmp_2 = r0;\n r0 = pxsim.BufferMethods.setNumber(s.tmp_0, 4, s.tmp_1, s.tmp_2);\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg1 + 10);\n s.tmp_1 = r0;\n r0 = pxsim.BufferMethods.setNumber(s.tmp_0, 4, s.tmp_1, s.arg8);\n r0 = (s.arg1 + 12);\n s.arg1 = (r0);\n case 1:\n case 2:\n r0 = pxsim.BufferMethods.setNumber(s.arg0, 2, s.arg1, 0);\n r0 = s.arg1;\n return leave(s, r0)\n default: oops()\n} } }\nmusic_addNote__P362.info = {"start":9672,"length":904,"line":307,"column":4,"endLine":320,"endColumn":5,"fileName":"pxt_modules/mixer/melody.ts","functionName":"addNote","argumentNames":["sndInstr","sndInstrPtr","ms","beg","end","soundWave","hz","volume","endHz"]}\n\nfunction music_addNote__P362_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_addNote__P362, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n arg5: undefined,\n arg6: undefined,\n arg7: undefined,\n arg8: undefined,\n} }\n\n\n\n\n\nfunction music_volume__P342(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = music_initVolume__P340_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = globals.globalVolume___337;\n return leave(s, r0)\n default: oops()\n} } }\nmusic_volume__P342.info = {"start":1781,"length":90,"line":61,"column":4,"endLine":64,"endColumn":5,"fileName":"pxt_modules/mixer/melody.ts","functionName":"volume","argumentNames":[]}\n\nfunction music_volume__P342_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_volume__P342, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction music_initVolume__P340(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = (globals.globalVolume___337 === null);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n globals.globalVolume___337 = (0);\n s.tmp_0 = music_setVolume__P341_mk(s);\n r0 = pxsim_pxtcore.getConfig(59, 128);\n s.tmp_0.arg0 = r0;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nmusic_initVolume__P340.info = {"start":1014,"length":180,"line":33,"column":4,"endLine":38,"endColumn":5,"fileName":"pxt_modules/mixer/melody.ts","functionName":"initVolume","argumentNames":[]}\n\nfunction music_initVolume__P340_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_initVolume__P340, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction music_setVolume__P341(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = Math_clamp__P58_mk(s);\n s.tmp_0.arg0 = 0;\n s.tmp_0.arg1 = 255;\n r0 = (s.arg0 | 0);\n s.tmp_0.arg2 = r0;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n globals.globalVolume___337 = (r0);\n r0 = (globals.globalVolume___337 > 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = 1;\n { step = 2; continue; }\n case 1:\n r0 = 0;\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = undefined;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nmusic_setVolume__P341.info = {"start":1533,"length":153,"line":51,"column":4,"endLine":54,"endColumn":5,"fileName":"pxt_modules/mixer/melody.ts","functionName":"setVolume","argumentNames":["volume"]}\n\nfunction music_setVolume__P341_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_setVolume__P341, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction music_enableAmp__P339(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nmusic_enableAmp__P339.info = {"start":944,"length":64,"line":29,"column":4,"endLine":31,"endColumn":5,"fileName":"pxt_modules/mixer/melody.ts","functionName":"enableAmp","argumentNames":["en"]}\n\nfunction music_enableAmp__P339_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_enableAmp__P339, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction parseInt__P34(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_String_.toNumber(s.arg0);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 >> 0);\n return leave(s, r0)\n default: oops()\n} } }\nparseInt__P34.info = {"start":394,"length":77,"line":17,"column":0,"endLine":19,"endColumn":1,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"parseInt","argumentNames":["text"]}\n\nfunction parseInt__P34_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: parseInt__P34, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction music_Melody_unregisterMelody__P354(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, music_Melody__C349_VT)) failedCast(r0);\n r0 = pxsim_numops_toBoolDecr(globals.music_Melody_playingMelodies___360);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_Array_.removeElement(globals.music_Melody_playingMelodies___360, s.arg0);\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nmusic_Melody_unregisterMelody__P354.info = {"start":7438,"length":201,"line":234,"column":8,"endLine":239,"endColumn":9,"fileName":"pxt_modules/mixer/melody.ts","functionName":"unregisterMelody","argumentNames":["this"]}\n\nfunction music_Melody_unregisterMelody__P354_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_Melody_unregisterMelody__P354, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction music_Melody_registerMelody__P353(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, music_Melody__C349_VT)) failedCast(r0);\n r0 = pxsim_numops_toBoolDecr(globals.music_Melody_playingMelodies___360);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_Array__mk();\n globals.music_Melody_playingMelodies___360 = (r0);\n case 1:\n case 2:\n r0 = pxsim_Array__length(globals.music_Melody_playingMelodies___360);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > 4);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.tmp_2 = music_Melody_stop__P352_mk(s);\n s.tmp_3 = r0 = globals.music_Melody_playingMelodies___360;\n r0 = pxsim_Array__length(globals.music_Melody_playingMelodies___360);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 - 1);\n s.tmp_4 = r0;\n r0 = pxsim_Array__getAt(s.tmp_3, s.tmp_4);\n s.tmp_2.arg0 = r0;\n s.pc = 5; return s.tmp_2;\n case 5:\n r0 = s.retval;\n case 3:\n case 4:\n r0 = pxsim_Array_.removeElement(globals.music_Melody_playingMelodies___360, s.arg0);\n r0 = pxsim_Array__push(globals.music_Melody_playingMelodies___360, s.arg0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nmusic_Melody_registerMelody__P353.info = {"start":6856,"length":573,"line":222,"column":8,"endLine":233,"endColumn":9,"fileName":"pxt_modules/mixer/melody.ts","functionName":"registerMelody","argumentNames":["this"]}\n\nfunction music_Melody_registerMelody__P353_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_Melody_registerMelody__P353, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction music_Melody_stop__P352(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, music_Melody__C349_VT)) failedCast(r0);\n r0 = s.arg0.fields["_player"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_1 = music_MelodyPlayer_stop__P364_mk(s);\n r0 = s.arg0.fields["_player"];\n s.tmp_1.arg0 = r0;\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n r0 = (s.arg0).fields["_player"] = (null);\n case 1:\n case 2:\n s.tmp_0 = music_Melody_unregisterMelody__P354_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nmusic_Melody_stop__P352.info = {"start":6673,"length":173,"line":214,"column":8,"endLine":220,"endColumn":9,"fileName":"pxt_modules/mixer/melody.ts","functionName":"stop","argumentNames":["this"]}\n\nfunction music_Melody_stop__P352_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_Melody_stop__P352, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction music_MelodyPlayer_stop__P364(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, music_MelodyPlayer__C363_VT)) failedCast(r0);\n r0 = (s.arg0).fields["melody"] = (null);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nmusic_MelodyPlayer_stop__P364.info = {"start":10746,"length":49,"line":332,"column":8,"endLine":334,"endColumn":9,"fileName":"pxt_modules/mixer/melody.ts","functionName":"stop","argumentNames":["this"]}\n\nfunction music_MelodyPlayer_stop__P364_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_MelodyPlayer_stop__P364, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_Scene_millis__P926(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Scene__C923_VT)) failedCast(r0);\n r0 = s.arg0.fields["_millis"];\n return leave(s, r0)\n default: oops()\n} } }\nscene_Scene_millis__P926.info = {"start":5724,"length":61,"line":164,"column":8,"endLine":166,"endColumn":9,"fileName":"pxt_modules/game/scene.ts","functionName":"millis","argumentNames":["this"]}\n\nfunction scene_Scene_millis__P926_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Scene_millis__P926, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_createRenderable__P896(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.renderable___7425 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_pxtcore_mkClassInstance(scene_Renderable__C890_VT);\n s.tmp_0 = r0;\n s.tmp_1 = r0 = s.arg2;\n r0 = pxsim_numops_toBool(s.tmp_1);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_1;\n { step = 2; continue; }\n case 1:\n r0 = inline__P7430;\n case 2:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n s.tmp_3 = scene_Renderable_constructor__P895_mk(s);\n s.tmp_3.arg0 = s.tmp_0;\n s.tmp_3.arg1 = s.arg1;\n s.tmp_3.arg2 = s.tmp_2;\n s.tmp_3.arg3 = s.arg0;\n s.pc = 3; return s.tmp_3;\n case 3:\n r0 = s.retval;\n s.renderable___7425 = (s.tmp_0);\n r0 = s.renderable___7425;\n return leave(s, r0)\n default: oops()\n} } }\nscene_createRenderable__P896.info = {"start":608,"length":339,"line":24,"column":4,"endLine":36,"endColumn":5,"fileName":"pxt_modules/game/renderable.ts","functionName":"createRenderable","argumentNames":["z","handler","shouldBeVisible"]}\n\nfunction scene_createRenderable__P896_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_createRenderable__P896, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n renderable___7425: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction inline__P7430(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = true;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P7430.info = {"start":875,"length":10,"line":31,"column":32,"endLine":31,"endColumn":42,"fileName":"pxt_modules/game/renderable.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P7430_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P7430, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n} }\n\n\n\n\n\nfunction scene_Renderable_constructor__P895(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Renderable__C890_VT)) failedCast(r0);\n r0 = (s.arg0).fields["handler"] = (s.arg1);\n r0 = (s.arg0).fields["shouldBeVisible"] = (s.arg2);\n s.tmp_0 = sprites_BaseSprite_constructor__P516_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg3;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_Renderable_constructor__P895.info = {"start":83,"length":212,"line":2,"column":8,"endLine":8,"endColumn":9,"fileName":"pxt_modules/game/renderable.ts","functionName":"inline","argumentNames":["this","handler","shouldBeVisible","z"]}\n\nfunction scene_Renderable_constructor__P895_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Renderable_constructor__P895, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction info_PlayerInfo_drawLives__P839(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.state___6913 = undefined;\n s.font___6918 = undefined;\n s.i___6954 = undefined;\n s.num___6973 = undefined;\n s.textWidth___6980 = undefined;\n s.mult___7026 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, info_PlayerInfo__C823_VT)) failedCast(r0);\n s.tmp_0 = info_PlayerInfo_getState__P825_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 8; return s.tmp_0;\n case 8:\n r0 = s.retval;\n s.state___6913 = (r0);\n r0 = s.state___6913.fields["life"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 7; continue; }\n case 1:\n case 2:\n s.font___6918 = (globals.font8___423);\n r0 = s.state___6913.fields["life"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 <= 4);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n s.tmp_2 = helpers_imageFillRect__P411_mk(s);\n s.tmp_2.arg0 = globals.screen___464;\n s.tmp_2.arg1 = 0;\n s.tmp_2.arg2 = 0;\n r0 = s.state___6913.fields["life"];\n s.tmp_4 = r0;\n r0 = globals.infoState___745.fields["heartImage"];\n s.tmp_7 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_7);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 + 1);\n s.tmp_5 = r0;\n r0 = (s.tmp_4 * s.tmp_5);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 + 3);\n s.tmp_2.arg3 = r0;\n r0 = globals.infoState___745.fields["heartImage"];\n s.tmp_9 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_9);\n s.tmp_8 = r0;\n r0 = (s.tmp_8 + 4);\n s.tmp_2.arg4 = r0;\n r0 = globals.infoState___745.fields["borderColor"];\n s.tmp_2.arg5 = r0;\n s.pc = 9; return s.tmp_2;\n case 9:\n r0 = s.retval;\n s.tmp_0 = helpers_imageFillRect__P411_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_0.arg1 = 0;\n s.tmp_0.arg2 = 0;\n r0 = s.state___6913.fields["life"];\n s.tmp_2 = r0;\n r0 = globals.infoState___745.fields["heartImage"];\n s.tmp_5 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_5);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 + 1);\n s.tmp_3 = r0;\n r0 = (s.tmp_2 * s.tmp_3);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 + 2);\n s.tmp_0.arg3 = r0;\n r0 = globals.infoState___745.fields["heartImage"];\n s.tmp_7 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_7);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 + 3);\n s.tmp_0.arg4 = r0;\n r0 = globals.infoState___745.fields["bgColor"];\n s.tmp_0.arg5 = r0;\n s.pc = 10; return s.tmp_0;\n case 10:\n r0 = s.retval;\n s.i___6954 = (0);\n case 3:\n r0 = s.state___6913.fields["life"];\n s.tmp_1 = r0;\n r0 = (s.i___6954 < s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 4; continue; }\n s.tmp_2 = r0 = globals.screen___464;\n r0 = globals.infoState___745.fields["heartImage"];\n s.tmp_3 = r0;\n s.tmp_6 = r0 = s.i___6954;\n r0 = globals.infoState___745.fields["heartImage"];\n s.tmp_9 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_9);\n s.tmp_8 = r0;\n r0 = (s.tmp_8 + 1);\n s.tmp_7 = r0;\n r0 = (s.tmp_6 * s.tmp_7);\n s.tmp_5 = r0;\n r0 = (1 + s.tmp_5);\n s.tmp_4 = r0;\n r0 = pxsim_ImageMethods.drawTransparentImage(s.tmp_2, s.tmp_3, s.tmp_4, 1);\n r0 = (s.i___6954 + 1);\n s.i___6954 = (r0);\n { step = 3; continue; }\n case 4:\n { step = 6; continue; }\n case 5:\n r0 = s.state___6913.fields["life"];\n s.tmp_1 = r0;\n if ((s.tmp_1) && (s.tmp_1).vtable) {\n setupResume(s, 11);\n pxsim_String__stringConv(s.tmp_1);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_1) + ""; }\n case 11:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_String_.mkEmpty();\n s.tmp_2 = r0;\n r0 = pxsim_String__concat(s.tmp_0, s.tmp_2);\n s.num___6973 = (r0);\n r0 = pxsim_String_.length(s.num___6973);\n s.tmp_1 = r0;\n s.tmp_3 = if_charWidth_1_mk(s);\n s.tmp_3.arg0 = s.font___6918;\n if (!s.tmp_3.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, "charWidth");\n } else {\n s.tmp_3.fn = s.tmp_3.arg0.vtable.iface["charWidth"];\n if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields["charWidth"]; }\n else { s.pc = 12; return s.tmp_3; }\n }\n case 12:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (s.tmp_1 * s.tmp_2);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 - 1);\n s.textWidth___6980 = (r0);\n s.tmp_0 = helpers_imageFillRect__P411_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_0.arg1 = 0;\n s.tmp_0.arg2 = 0;\n r0 = globals.infoState___745.fields["heartImage"];\n s.tmp_4 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_4);\n s.tmp_3 = r0;\n r0 = globals.infoState___745.fields["multiplierImage"];\n s.tmp_6 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_6);\n s.tmp_5 = r0;\n r0 = (s.tmp_3 + s.tmp_5);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.textWidth___6980);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 + 5);\n s.tmp_0.arg3 = r0;\n r0 = globals.infoState___745.fields["heartImage"];\n s.tmp_8 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_8);\n s.tmp_7 = r0;\n r0 = (s.tmp_7 + 4);\n s.tmp_0.arg4 = r0;\n r0 = globals.infoState___745.fields["borderColor"];\n s.tmp_0.arg5 = r0;\n s.pc = 13; return s.tmp_0;\n case 13:\n r0 = s.retval;\n s.tmp_0 = helpers_imageFillRect__P411_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_0.arg1 = 0;\n s.tmp_0.arg2 = 0;\n r0 = globals.infoState___745.fields["heartImage"];\n s.tmp_4 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_4);\n s.tmp_3 = r0;\n r0 = globals.infoState___745.fields["multiplierImage"];\n s.tmp_6 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_6);\n s.tmp_5 = r0;\n r0 = (s.tmp_3 + s.tmp_5);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.textWidth___6980);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 + 4);\n s.tmp_0.arg3 = r0;\n r0 = globals.infoState___745.fields["heartImage"];\n s.tmp_8 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_8);\n s.tmp_7 = r0;\n r0 = (s.tmp_7 + 3);\n s.tmp_0.arg4 = r0;\n r0 = globals.infoState___745.fields["bgColor"];\n s.tmp_0.arg5 = r0;\n s.pc = 14; return s.tmp_0;\n case 14:\n r0 = s.retval;\n r0 = globals.infoState___745.fields["heartImage"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.drawTransparentImage(globals.screen___464, s.tmp_0, 1, 1);\n r0 = globals.infoState___745.fields["multiplierImage"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.clone(s.tmp_0);\n s.mult___7026 = (r0);\n r0 = globals.infoState___745.fields["fontColor"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.replace(s.mult___7026, 1, s.tmp_0);\n s.tmp_0 = r0 = globals.screen___464;\n s.tmp_1 = r0 = s.mult___7026;\n r0 = globals.infoState___745.fields["heartImage"];\n s.tmp_4 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_4);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 + 2);\n s.tmp_2 = r0;\n s.tmp_8 = if_charHeight_1_mk(s);\n s.tmp_8.arg0 = s.font___6918;\n if (!s.tmp_8.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_8.arg0, "charHeight");\n } else {\n s.tmp_8.fn = s.tmp_8.arg0.vtable.iface["charHeight"];\n if (s.tmp_8.fn == null) { s.retval = s.tmp_8.arg0.fields["charHeight"]; }\n else { s.pc = 15; return s.tmp_8; }\n }\n case 15:\n r0 = s.retval;\n s.tmp_7 = r0;\n r0 = globals.infoState___745.fields["multiplierImage"];\n s.tmp_10 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_10);\n s.tmp_9 = r0;\n r0 = (s.tmp_7 - s.tmp_9);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 - 1);\n s.tmp_5 = r0;\n r0 = pxsim_ImageMethods.drawTransparentImage(s.tmp_0, s.tmp_1, s.tmp_2, s.tmp_5);\n s.tmp_0 = helpers_imagePrint__P432_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_0.arg1 = s.num___6973;\n r0 = globals.infoState___745.fields["heartImage"];\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + 3);\n s.tmp_1 = r0;\n r0 = globals.infoState___745.fields["multiplierImage"];\n s.tmp_5 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_5);\n s.tmp_4 = r0;\n r0 = (s.tmp_1 + s.tmp_4);\n s.tmp_0.arg2 = r0;\n s.tmp_0.arg3 = 1;\n r0 = globals.infoState___745.fields["fontColor"];\n s.tmp_0.arg4 = r0;\n s.tmp_0.arg5 = s.font___6918;\n s.tmp_0.arg6 = undefined;\n s.pc = 16; return s.tmp_0;\n case 16:\n r0 = s.retval;\n case 6:\n case 7:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_PlayerInfo_drawLives__P839.info = {"start":25972,"length":2458,"line":848,"column":8,"endLine":914,"endColumn":9,"fileName":"pxt_modules/game/info.ts","functionName":"drawLives","argumentNames":["this"]}\n\nfunction info_PlayerInfo_drawLives__P839_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_PlayerInfo_drawLives__P839, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n state___6913: undefined,\n font___6918: undefined,\n i___6954: undefined,\n num___6973: undefined,\n textWidth___6980: undefined,\n mult___7026: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction info_PlayerInfo_drawScore__P838(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.s___7076 = undefined;\n s.font___7078 = undefined;\n s.offsetY___7079 = undefined;\n s.num___7087 = undefined;\n s.width___7091 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, info_PlayerInfo__C823_VT)) failedCast(r0);\n s.tmp_1 = info_PlayerInfo_score__P827_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = (s.tmp_0 | 0);\n s.s___7076 = (r0);\n r0 = (s.s___7076 >= 1000000);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.offsetY___7079 = (2);\n s.font___7078 = (globals.font5___428);\n { step = 2; continue; }\n case 1:\n s.offsetY___7079 = (1);\n s.font___7078 = (globals.font8___423);\n case 2:\n r0 = pxsim_numops.toString(s.s___7076);\n s.num___7087 = (r0);\n r0 = pxsim_String_.length(s.num___7087);\n s.tmp_0 = r0;\n s.tmp_2 = if_charWidth_1_mk(s);\n s.tmp_2.arg0 = s.font___7078;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "charWidth");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["charWidth"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["charWidth"]; }\n else { s.pc = 4; return s.tmp_2; }\n }\n case 4:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0 * s.tmp_1);\n s.width___7091 = (r0);\n s.tmp_0 = helpers_imageFillRect__P411_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - s.width___7091);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - 2);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = 0;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_0.arg3 = r0;\n s.tmp_4 = if_charHeight_1_mk(s);\n s.tmp_4.arg0 = globals.font8___423;\n if (!s.tmp_4.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_4.arg0, "charHeight");\n } else {\n s.tmp_4.fn = s.tmp_4.arg0.vtable.iface["charHeight"];\n if (s.tmp_4.fn == null) { s.retval = s.tmp_4.arg0.fields["charHeight"]; }\n else { s.pc = 6; return s.tmp_4; }\n }\n case 6:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_3 + 3);\n s.tmp_0.arg4 = r0;\n r0 = globals.infoState___745.fields["borderColor"];\n s.tmp_0.arg5 = r0;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n s.tmp_0 = helpers_imageFillRect__P411_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - s.width___7091);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - 1);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = 0;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_0.arg3 = r0;\n s.tmp_4 = if_charHeight_1_mk(s);\n s.tmp_4.arg0 = globals.font8___423;\n if (!s.tmp_4.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_4.arg0, "charHeight");\n } else {\n s.tmp_4.fn = s.tmp_4.arg0.vtable.iface["charHeight"];\n if (s.tmp_4.fn == null) { s.retval = s.tmp_4.arg0.fields["charHeight"]; }\n else { s.pc = 8; return s.tmp_4; }\n }\n case 8:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_3 + 2);\n s.tmp_0.arg4 = r0;\n r0 = globals.infoState___745.fields["bgColor"];\n s.tmp_0.arg5 = r0;\n s.pc = 7; return s.tmp_0;\n case 7:\n r0 = s.retval;\n s.tmp_0 = helpers_imagePrint__P432_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_0.arg1 = s.num___7087;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - s.width___7091);\n s.tmp_0.arg2 = r0;\n s.tmp_0.arg3 = s.offsetY___7079;\n r0 = globals.infoState___745.fields["fontColor"];\n s.tmp_0.arg4 = r0;\n s.tmp_0.arg5 = s.font___7078;\n s.tmp_0.arg6 = undefined;\n s.pc = 9; return s.tmp_0;\n case 9:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_PlayerInfo_drawScore__P838.info = {"start":24914,"length":1048,"line":808,"column":8,"endLine":846,"endColumn":9,"fileName":"pxt_modules/game/info.ts","functionName":"drawScore","argumentNames":["this"]}\n\nfunction info_PlayerInfo_drawScore__P838_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_PlayerInfo_drawScore__P838, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n s___7076: undefined,\n font___7078: undefined,\n offsetY___7079: undefined,\n num___7087: undefined,\n width___7091: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction info_PlayerInfo_drawPlayer__P837(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.state___7153 = undefined;\n s.font___7155 = undefined;\n s.score___7157 = undefined;\n s.life___7158 = undefined;\n s.height___7159 = undefined;\n s.scoreWidth___7160 = undefined;\n s.lifeWidth___7161 = undefined;\n s.offsetX___7162 = undefined;\n s.offsetY___7163 = undefined;\n s.showScore___7164 = undefined;\n s.showLife___7170 = undefined;\n s.width___7230 = undefined;\n s.x___7238 = undefined;\n s.y___7244 = undefined;\n s.bump___7271 = undefined;\n s.xLoc___7292 = undefined;\n s.mult___7301 = undefined;\n s.pNum___7356 = undefined;\n s.iconWidth___7363 = undefined;\n s.iconHeight___7370 = undefined;\n s.iconX___7376 = undefined;\n s.iconY___7385 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, info_PlayerInfo__C823_VT)) failedCast(r0);\n s.tmp_0 = info_PlayerInfo_getState__P825_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 43; return s.tmp_0;\n case 43:\n r0 = s.retval;\n s.state___7153 = (r0);\n s.font___7155 = (globals.font5___428);\n s.height___7159 = (4);\n s.scoreWidth___7160 = (0);\n s.lifeWidth___7161 = (0);\n s.offsetX___7162 = (1);\n s.offsetY___7163 = (2);\n r0 = s.arg0.fields["showScore"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = s.state___7153.fields["score"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 !== undefined);\n case 2:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n s.showScore___7164 = (s.tmp_2);\n r0 = s.arg0.fields["showLife"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 3; continue; }\n r0 = s.tmp_0;\n { step = 4; continue; }\n case 3:\n r0 = s.state___7153.fields["life"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 !== undefined);\n case 4:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n s.showLife___7170 = (s.tmp_2);\n r0 = pxsim_numops_toBoolDecr(s.showScore___7164);\n if (!r0) { step = 5; continue; }\n r0 = pxsim_String_.mkEmpty();\n s.tmp_0 = r0;\n r0 = s.state___7153.fields["score"];\n s.tmp_2 = r0;\n if ((s.tmp_2) && (s.tmp_2).vtable) {\n setupResume(s, 44);\n pxsim_String__stringConv(s.tmp_2);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_2) + ""; }\n case 44:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_String__concat(s.tmp_0, s.tmp_1);\n s.score___7157 = (r0);\n r0 = pxsim_String_.length(s.score___7157);\n s.tmp_1 = r0;\n s.tmp_3 = if_charWidth_1_mk(s);\n s.tmp_3.arg0 = s.font___7155;\n if (!s.tmp_3.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, "charWidth");\n } else {\n s.tmp_3.fn = s.tmp_3.arg0.vtable.iface["charWidth"];\n if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields["charWidth"]; }\n else { s.pc = 45; return s.tmp_3; }\n }\n case 45:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (s.tmp_1 * s.tmp_2);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 + 3);\n s.scoreWidth___7160 = (r0);\n s.tmp_0 = r0 = s.height___7159;\n s.tmp_2 = if_charHeight_1_mk(s);\n s.tmp_2.arg0 = s.font___7155;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "charHeight");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["charHeight"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["charHeight"]; }\n else { s.pc = 46; return s.tmp_2; }\n }\n case 46:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n s.height___7159 = (r0);\n s.tmp_0 = r0 = s.offsetY___7163;\n s.tmp_3 = if_charHeight_1_mk(s);\n s.tmp_3.arg0 = s.font___7155;\n if (!s.tmp_3.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, "charHeight");\n } else {\n s.tmp_3.fn = s.tmp_3.arg0.vtable.iface["charHeight"];\n if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields["charHeight"]; }\n else { s.pc = 47; return s.tmp_3; }\n }\n case 47:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + 1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n s.offsetY___7163 = (r0);\n case 5:\n case 6:\n r0 = pxsim_numops_toBoolDecr(s.showLife___7170);\n if (!r0) { step = 9; continue; }\n r0 = s.state___7153.fields["life"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 7; continue; }\n r0 = s.tmp_0;\n { step = 8; continue; }\n case 7:\n r0 = 0;\n case 8:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_String_.mkEmpty();\n s.tmp_2 = r0;\n if ((s.tmp_1) && (s.tmp_1).vtable) {\n setupResume(s, 48);\n pxsim_String__stringConv(s.tmp_1);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_1) + ""; }\n case 48:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = pxsim_String__concat(s.tmp_2, s.tmp_3);\n s.life___7158 = (r0);\n r0 = globals.infoState___745.fields["heartImage"];\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_3);\n s.tmp_2 = r0;\n r0 = globals.infoState___745.fields["multiplierImage"];\n s.tmp_5 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_5);\n s.tmp_4 = r0;\n r0 = (s.tmp_2 + s.tmp_4);\n s.tmp_1 = r0;\n r0 = pxsim_String_.length(s.life___7158);\n s.tmp_7 = r0;\n s.tmp_9 = if_charWidth_1_mk(s);\n s.tmp_9.arg0 = s.font___7155;\n if (!s.tmp_9.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_9.arg0, "charWidth");\n } else {\n s.tmp_9.fn = s.tmp_9.arg0.vtable.iface["charWidth"];\n if (s.tmp_9.fn == null) { s.retval = s.tmp_9.arg0.fields["charWidth"]; }\n else { s.pc = 49; return s.tmp_9; }\n }\n case 49:\n r0 = s.retval;\n s.tmp_8 = r0;\n r0 = (s.tmp_7 * s.tmp_8);\n s.tmp_6 = r0;\n r0 = (s.tmp_1 + s.tmp_6);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 + 3);\n s.lifeWidth___7161 = (r0);\n s.tmp_0 = r0 = s.height___7159;\n r0 = globals.infoState___745.fields["heartImage"];\n s.tmp_2 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n s.height___7159 = (r0);\n case 9:\n case 10:\n s.tmp_0 = Math_max__P61_mk(s);\n s.tmp_0.arg0 = s.scoreWidth___7160;\n s.tmp_0.arg1 = s.lifeWidth___7161;\n s.pc = 50; return s.tmp_0;\n case 50:\n r0 = s.retval;\n s.width___7230 = (r0);\n s.tmp_0 = r0 = s.showScore___7164;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 11; continue; }\n r0 = s.tmp_0;\n { step = 12; continue; }\n case 11:\n r0 = s.showLife___7170;\n case 12:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 13; continue; }\n r0 = (s.height___7159 + 1);\n s.height___7159 = (r0);\n case 13:\n case 14:\n r0 = s.arg0.fields["left"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 15; continue; }\n r0 = s.width___7230;\n { step = 16; continue; }\n case 15:\n r0 = 0;\n case 16:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = s.arg0.fields["x"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - s.tmp_1);\n s.x___7238 = (r0);\n r0 = s.arg0.fields["up"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 17; continue; }\n r0 = s.height___7159;\n { step = 18; continue; }\n case 17:\n r0 = 0;\n case 18:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = s.arg0.fields["y"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - s.tmp_1);\n s.y___7244 = (r0);\n s.tmp_0 = r0 = s.showScore___7164;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 19; continue; }\n r0 = s.tmp_0;\n { step = 20; continue; }\n case 19:\n r0 = s.showLife___7170;\n case 20:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 21; continue; }\n s.tmp_2 = helpers_imageFillRect__P411_mk(s);\n s.tmp_2.arg0 = globals.screen___464;\n s.tmp_2.arg1 = s.x___7238;\n s.tmp_2.arg2 = s.y___7244;\n s.tmp_2.arg3 = s.width___7230;\n s.tmp_2.arg4 = s.height___7159;\n r0 = s.arg0.fields["border"];\n s.tmp_2.arg5 = r0;\n s.pc = 51; return s.tmp_2;\n case 51:\n r0 = s.retval;\n s.tmp_0 = helpers_imageFillRect__P411_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n r0 = (s.x___7238 + 1);\n s.tmp_0.arg1 = r0;\n r0 = (s.y___7244 + 1);\n s.tmp_0.arg2 = r0;\n r0 = (s.width___7230 - 2);\n s.tmp_0.arg3 = r0;\n r0 = (s.height___7159 - 2);\n s.tmp_0.arg4 = r0;\n r0 = s.arg0.fields["bg"];\n s.tmp_0.arg5 = r0;\n s.pc = 52; return s.tmp_0;\n case 52:\n r0 = s.retval;\n case 21:\n case 22:\n r0 = pxsim_numops_toBoolDecr(s.showScore___7164);\n if (!r0) { step = 25; continue; }\n r0 = s.arg0.fields["left"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 23; continue; }\n r0 = (s.width___7230 - s.scoreWidth___7160);\n { step = 24; continue; }\n case 23:\n r0 = 0;\n case 24:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n s.bump___7271 = (s.tmp_1);\n s.tmp_0 = helpers_imagePrint__P432_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_0.arg1 = s.score___7157;\n r0 = (s.x___7238 + s.offsetX___7162);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.bump___7271);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 + 1);\n s.tmp_0.arg2 = r0;\n r0 = (s.y___7244 + 2);\n s.tmp_0.arg3 = r0;\n r0 = s.arg0.fields["fc"];\n s.tmp_0.arg4 = r0;\n s.tmp_0.arg5 = s.font___7155;\n s.tmp_0.arg6 = undefined;\n s.pc = 53; return s.tmp_0;\n case 53:\n r0 = s.retval;\n case 25:\n case 26:\n r0 = pxsim_numops_toBoolDecr(s.showLife___7170);\n if (!r0) { step = 29; continue; }\n r0 = s.arg0.fields["left"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 27; continue; }\n r0 = (s.width___7230 - s.lifeWidth___7161);\n { step = 28; continue; }\n case 27:\n r0 = 0;\n case 28:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = (s.x___7238 + s.offsetX___7162);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.tmp_1);\n s.xLoc___7292 = (r0);\n r0 = globals.infoState___745.fields["multiplierImage"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.clone(s.tmp_0);\n s.mult___7301 = (r0);\n r0 = s.arg0.fields["fc"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.replace(s.mult___7301, 1, s.tmp_0);\n s.tmp_0 = r0 = globals.screen___464;\n r0 = globals.infoState___745.fields["heartImage"];\n s.tmp_1 = r0;\n s.tmp_2 = r0 = s.xLoc___7292;\n r0 = (s.y___7244 + s.offsetY___7163);\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.drawTransparentImage(s.tmp_0, s.tmp_1, s.tmp_2, s.tmp_3);\n s.tmp_0 = r0 = globals.screen___464;\n s.tmp_1 = r0 = s.mult___7301;\n s.tmp_3 = r0 = s.xLoc___7292;\n r0 = globals.infoState___745.fields["heartImage"];\n s.tmp_5 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_5);\n s.tmp_4 = r0;\n r0 = (s.tmp_3 + s.tmp_4);\n s.tmp_2 = r0;\n r0 = (s.y___7244 + s.offsetY___7163);\n s.tmp_9 = r0;\n s.tmp_11 = if_charHeight_1_mk(s);\n s.tmp_11.arg0 = s.font___7155;\n if (!s.tmp_11.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_11.arg0, "charHeight");\n } else {\n s.tmp_11.fn = s.tmp_11.arg0.vtable.iface["charHeight"];\n if (s.tmp_11.fn == null) { s.retval = s.tmp_11.arg0.fields["charHeight"]; }\n else { s.pc = 54; return s.tmp_11; }\n }\n case 54:\n r0 = s.retval;\n s.tmp_10 = r0;\n r0 = (s.tmp_9 + s.tmp_10);\n s.tmp_8 = r0;\n r0 = globals.infoState___745.fields["multiplierImage"];\n s.tmp_13 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_13);\n s.tmp_12 = r0;\n r0 = (s.tmp_8 - s.tmp_12);\n s.tmp_7 = r0;\n r0 = (s.tmp_7 - 1);\n s.tmp_6 = r0;\n r0 = pxsim_ImageMethods.drawTransparentImage(s.tmp_0, s.tmp_1, s.tmp_2, s.tmp_6);\n s.tmp_0 = helpers_imagePrint__P432_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_0.arg1 = s.life___7158;\n s.tmp_3 = r0 = s.xLoc___7292;\n r0 = globals.infoState___745.fields["heartImage"];\n s.tmp_5 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_5);\n s.tmp_4 = r0;\n r0 = (s.tmp_3 + s.tmp_4);\n s.tmp_2 = r0;\n r0 = globals.infoState___745.fields["multiplierImage"];\n s.tmp_7 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_7);\n s.tmp_6 = r0;\n r0 = (s.tmp_2 + s.tmp_6);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 + 1);\n s.tmp_0.arg2 = r0;\n r0 = (s.y___7244 + s.offsetY___7163);\n s.tmp_0.arg3 = r0;\n r0 = s.arg0.fields["fc"];\n s.tmp_0.arg4 = r0;\n s.tmp_0.arg5 = s.font___7155;\n s.tmp_0.arg6 = undefined;\n s.pc = 55; return s.tmp_0;\n case 55:\n r0 = s.retval;\n case 29:\n case 30:\n r0 = s.arg0.fields["showPlayer"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 41; continue; }\n r0 = pxsim_String_.mkEmpty();\n s.tmp_1 = r0;\n r0 = s.arg0.fields["_player"];\n s.tmp_3 = r0;\n if ((s.tmp_3) && (s.tmp_3).vtable) {\n setupResume(s, 56);\n pxsim_String__stringConv(s.tmp_3);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_3) + ""; }\n case 56:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = pxsim_String__concat(s.tmp_1, s.tmp_2);\n s.pNum___7356 = (r0);\n r0 = pxsim_String_.length(s.pNum___7356);\n s.tmp_1 = r0;\n s.tmp_3 = if_charWidth_1_mk(s);\n s.tmp_3.arg0 = s.font___7155;\n if (!s.tmp_3.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, "charWidth");\n } else {\n s.tmp_3.fn = s.tmp_3.arg0.vtable.iface["charWidth"];\n if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields["charWidth"]; }\n else { s.pc = 57; return s.tmp_3; }\n }\n case 57:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (s.tmp_1 * s.tmp_2);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 + 1);\n s.iconWidth___7363 = (r0);\n s.tmp_0 = Math_max__P61_mk(s);\n s.tmp_0.arg0 = s.height___7159;\n s.tmp_2 = if_charHeight_1_mk(s);\n s.tmp_2.arg0 = s.font___7155;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "charHeight");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["charHeight"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["charHeight"]; }\n else { s.pc = 59; return s.tmp_2; }\n }\n case 59:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 + 2);\n s.tmp_0.arg1 = r0;\n s.pc = 58; return s.tmp_0;\n case 58:\n r0 = s.retval;\n s.iconHeight___7370 = (r0);\n r0 = s.arg0.fields["left"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 31; continue; }\n r0 = (s.x___7238 - s.iconWidth___7363);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 + 1);\n { step = 32; continue; }\n case 31:\n r0 = (s.x___7238 + s.width___7230);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - 1);\n case 32:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n s.iconX___7376 = (s.tmp_3);\n s.iconY___7385 = (s.y___7244);\n r0 = pxsim_numops_toBoolDecr(s.showScore___7164);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 33; continue; }\n r0 = s.tmp_0;\n { step = 34; continue; }\n case 33:\n r0 = pxsim_numops_toBoolDecr(s.showLife___7170);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n case 34:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 39; continue; }\n r0 = s.arg0.fields["left"];\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n if (!r0) { step = 35; continue; }\n r0 = -1;\n { step = 36; continue; }\n case 35:\n r0 = 1;\n case 36:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n r0 = (s.iconX___7376 + s.tmp_5);\n s.iconX___7376 = (r0);\n r0 = s.arg0.fields["up"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 37; continue; }\n r0 = (s.iconY___7385 - 3);\n s.iconY___7385 = (r0);\n case 37:\n case 38:\n case 39:\n case 40:\n s.tmp_0 = helpers_imageFillRect__P411_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_0.arg1 = s.iconX___7376;\n s.tmp_0.arg2 = s.iconY___7385;\n s.tmp_0.arg3 = s.iconWidth___7363;\n s.tmp_0.arg4 = s.iconHeight___7370;\n r0 = s.arg0.fields["border"];\n s.tmp_0.arg5 = r0;\n s.pc = 60; return s.tmp_0;\n case 60:\n r0 = s.retval;\n s.tmp_0 = helpers_imagePrint__P432_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_0.arg1 = s.pNum___7356;\n r0 = (s.iconX___7376 + 1);\n s.tmp_0.arg2 = r0;\n s.tmp_2 = r0 = s.iconY___7385;\n r0 = (s.iconHeight___7370 >> 1);\n s.tmp_3 = r0;\n r0 = (s.tmp_2 + s.tmp_3);\n s.tmp_1 = r0;\n s.tmp_6 = if_charHeight_1_mk(s);\n s.tmp_6.arg0 = s.font___7155;\n if (!s.tmp_6.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_6.arg0, "charHeight");\n } else {\n s.tmp_6.fn = s.tmp_6.arg0.vtable.iface["charHeight"];\n if (s.tmp_6.fn == null) { s.retval = s.tmp_6.arg0.fields["charHeight"]; }\n else { s.pc = 62; return s.tmp_6; }\n }\n case 62:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = (s.tmp_5 >> 1);\n s.tmp_4 = r0;\n r0 = (s.tmp_1 - s.tmp_4);\n s.tmp_0.arg3 = r0;\n r0 = s.arg0.fields["bg"];\n s.tmp_0.arg4 = r0;\n s.tmp_0.arg5 = s.font___7155;\n s.tmp_0.arg6 = undefined;\n s.pc = 61; return s.tmp_0;\n case 61:\n r0 = s.retval;\n case 41:\n case 42:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_PlayerInfo_drawPlayer__P837.info = {"start":21269,"length":3635,"line":703,"column":8,"endLine":806,"endColumn":9,"fileName":"pxt_modules/game/info.ts","functionName":"drawPlayer","argumentNames":["this"]}\n\nfunction info_PlayerInfo_drawPlayer__P837_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_PlayerInfo_drawPlayer__P837, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n tmp_12: undefined,\n tmp_13: undefined,\n state___7153: undefined,\n font___7155: undefined,\n score___7157: undefined,\n life___7158: undefined,\n height___7159: undefined,\n scoreWidth___7160: undefined,\n lifeWidth___7161: undefined,\n offsetX___7162: undefined,\n offsetY___7163: undefined,\n showScore___7164: undefined,\n showLife___7170: undefined,\n width___7230: undefined,\n x___7238: undefined,\n y___7244: undefined,\n bump___7271: undefined,\n xLoc___7292: undefined,\n mult___7301: undefined,\n pNum___7356: undefined,\n iconWidth___7363: undefined,\n iconHeight___7370: undefined,\n iconX___7376: undefined,\n iconY___7385: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction info_PlayerInfo_raiseLifeZero__P836(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.state___7133 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, info_PlayerInfo__C823_VT)) failedCast(r0);\n s.tmp_0 = info_PlayerInfo_getState__P825_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 9; return s.tmp_0;\n case 9:\n r0 = s.retval;\n s.state___7133 = (r0);\n r0 = s.state___7133.fields["life"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 !== null);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = s.state___7133.fields["life"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 <= 0);\n case 2:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 7; continue; }\n r0 = (s.state___7133).fields["life"] = (null);\n r0 = s.state___7133.fields["lifeZeroHandler"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.tmp_1 = lambda_1_mk(s);\n r0 = s.state___7133.fields["lifeZeroHandler"];\n s.tmp_1.argL = r0;\n setupLambda(s.tmp_1, s.tmp_1.argL);\n s.pc = 10; return s.tmp_1;\n case 10:\n r0 = s.retval;\n { step = 6; continue; }\n case 3:\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n if (!r0) { step = 4; continue; }\n s.tmp_0 = game_over__P1026_mk(s);\n s.tmp_0.arg0 = false;\n s.tmp_0.arg1 = undefined;\n s.pc = 11; return s.tmp_0;\n case 11:\n r0 = s.retval;\n case 4:\n case 5:\n case 6:\n case 7:\n case 8:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_PlayerInfo_raiseLifeZero__P836.info = {"start":20885,"length":374,"line":691,"column":8,"endLine":701,"endColumn":9,"fileName":"pxt_modules/game/info.ts","functionName":"raiseLifeZero","argumentNames":["this","gameOver"]}\n\nfunction info_PlayerInfo_raiseLifeZero__P836_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_PlayerInfo_raiseLifeZero__P836, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n state___7133: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction info_PlayerInfo_hasLife__P834(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.state___7066 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, info_PlayerInfo__C823_VT)) failedCast(r0);\n s.tmp_0 = info_PlayerInfo_getState__P825_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.state___7066 = (r0);\n r0 = s.state___7066.fields["life"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 !== undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = s.state___7066.fields["life"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 !== null);\n case 2:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = s.tmp_3;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_PlayerInfo_hasLife__P834.info = {"start":20361,"length":141,"line":674,"column":8,"endLine":677,"endColumn":9,"fileName":"pxt_modules/game/info.ts","functionName":"hasLife","argumentNames":["this"]}\n\nfunction info_PlayerInfo_hasLife__P834_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_PlayerInfo_hasLife__P834, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n state___7066: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction info_PlayerInfo_hasScore__P830(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.state___4134 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, info_PlayerInfo__C823_VT)) failedCast(r0);\n s.tmp_0 = info_PlayerInfo_getState__P825_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.state___4134 = (r0);\n r0 = s.state___4134.fields["score"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 !== undefined);\n return leave(s, r0)\n default: oops()\n} } }\ninfo_PlayerInfo_hasScore__P830.info = {"start":18633,"length":111,"line":617,"column":8,"endLine":620,"endColumn":9,"fileName":"pxt_modules/game/info.ts","functionName":"hasScore","argumentNames":["this"]}\n\nfunction info_PlayerInfo_hasScore__P830_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_PlayerInfo_hasScore__P830, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n state___4134: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction info_drawTimer__P822(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.font___6779 = undefined;\n s.smallFont___6781 = undefined;\n s.seconds___6783 = undefined;\n s.width___6787 = undefined;\n s.left___6790 = undefined;\n s.color1___6796 = undefined;\n s.color2___6800 = undefined;\n s.temp___6810 = undefined;\n s.top___6837 = undefined;\n s.remainder___6838 = undefined;\n s.decimalLeft___6856 = undefined;\n s.minutes___6871 = undefined;\n s.remainder___6875 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.arg0 = (0);\n case 1:\n case 2:\n r0 = (s.arg0 | 0);\n s.arg0 = (r0);\n s.font___6779 = (globals.font8___423);\n s.smallFont___6781 = (globals.font5___428);\n r0 = pxsim.Math_.idiv(s.arg0, 1000);\n s.seconds___6783 = (r0);\n s.tmp_2 = if_charWidth_1_mk(s);\n s.tmp_2.arg0 = s.font___6779;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "charWidth");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["charWidth"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["charWidth"]; }\n else { s.pc = 11; return s.tmp_2; }\n }\n case 11:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 * 5);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 - 2);\n s.width___6787 = (r0);\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 >> 1);\n s.tmp_1 = r0;\n r0 = (s.width___6787 >> 1);\n s.tmp_3 = r0;\n r0 = (s.tmp_1 - s.tmp_3);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 + 1);\n s.left___6790 = (r0);\n r0 = globals.infoState___745.fields["fontColor"];\n s.color1___6796 = (r0);\n r0 = globals.infoState___745.fields["bgColor"];\n s.color2___6800 = (r0);\n r0 = (s.seconds___6783 < 10);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 3; continue; }\n r0 = s.tmp_0;\n { step = 4; continue; }\n case 3:\n r0 = (s.seconds___6783 & 1);\n case 4:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBool(s.tmp_1);\n if (r0) { step = 5; continue; }\n r0 = s.tmp_1;\n { step = 6; continue; }\n case 5:\n r0 = pxsim_ImageMethods.isMono(globals.screen___464);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n case 6:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n if (!r0) { step = 7; continue; }\n s.temp___6810 = (s.color1___6796);\n s.color1___6796 = (s.color2___6800);\n s.color2___6800 = (s.temp___6810);\n case 7:\n case 8:\n s.tmp_0 = helpers_imageFillRect__P411_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n r0 = (s.left___6790 - 3);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = 0;\n r0 = (s.width___6787 + 6);\n s.tmp_0.arg3 = r0;\n s.tmp_2 = if_charHeight_1_mk(s);\n s.tmp_2.arg0 = s.font___6779;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "charHeight");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["charHeight"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["charHeight"]; }\n else { s.pc = 13; return s.tmp_2; }\n }\n case 13:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 + 3);\n s.tmp_0.arg4 = r0;\n r0 = globals.infoState___745.fields["borderColor"];\n s.tmp_0.arg5 = r0;\n s.pc = 12; return s.tmp_0;\n case 12:\n r0 = s.retval;\n s.tmp_0 = helpers_imageFillRect__P411_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n r0 = (s.left___6790 - 2);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = 0;\n r0 = (s.width___6787 + 4);\n s.tmp_0.arg3 = r0;\n s.tmp_2 = if_charHeight_1_mk(s);\n s.tmp_2.arg0 = s.font___6779;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "charHeight");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["charHeight"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["charHeight"]; }\n else { s.pc = 15; return s.tmp_2; }\n }\n case 15:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 + 2);\n s.tmp_0.arg4 = r0;\n s.tmp_0.arg5 = s.color2___6800;\n s.pc = 14; return s.tmp_0;\n case 14:\n r0 = s.retval;\n r0 = (s.seconds___6783 < 60);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 9; continue; }\n s.top___6837 = (1);\n r0 = (s.arg0 % 1000);\n s.tmp_0 = r0;\n r0 = pxsim.Math_.idiv(s.tmp_0, 10);\n s.remainder___6838 = (r0);\n s.tmp_0 = helpers_imagePrint__P432_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_3 = info_formatDecimal__P841_mk(s);\n s.tmp_3.arg0 = s.seconds___6783;\n s.pc = 17; return s.tmp_3;\n case 17:\n r0 = s.retval;\n s.tmp_2 = r0;\n if ((s.tmp_2) && (s.tmp_2).vtable) {\n setupResume(s, 18);\n pxsim_String__stringConv(s.tmp_2);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_2) + ""; }\n case 18:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_String__concat(s.tmp_1, ".");\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = s.left___6790;\n s.tmp_0.arg3 = s.top___6837;\n s.tmp_0.arg4 = s.color1___6796;\n s.tmp_0.arg5 = s.font___6779;\n s.tmp_0.arg6 = undefined;\n s.pc = 16; return s.tmp_0;\n case 16:\n r0 = s.retval;\n s.tmp_0 = r0 = s.left___6790;\n s.tmp_3 = if_charWidth_1_mk(s);\n s.tmp_3.arg0 = s.font___6779;\n if (!s.tmp_3.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, "charWidth");\n } else {\n s.tmp_3.fn = s.tmp_3.arg0.vtable.iface["charWidth"];\n if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields["charWidth"]; }\n else { s.pc = 19; return s.tmp_3; }\n }\n case 19:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (3 * s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n s.decimalLeft___6856 = (r0);\n s.tmp_0 = helpers_imagePrint__P432_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_1 = info_formatDecimal__P841_mk(s);\n s.tmp_1.arg0 = s.remainder___6838;\n s.pc = 21; return s.tmp_1;\n case 21:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = s.decimalLeft___6856;\n r0 = (s.top___6837 + 2);\n s.tmp_0.arg3 = r0;\n s.tmp_0.arg4 = s.color1___6796;\n s.tmp_0.arg5 = s.smallFont___6781;\n s.tmp_0.arg6 = undefined;\n s.pc = 20; return s.tmp_0;\n case 20:\n r0 = s.retval;\n { step = 10; continue; }\n case 9:\n r0 = pxsim.Math_.idiv(s.seconds___6783, 60);\n s.minutes___6871 = (r0);\n r0 = (s.seconds___6783 % 60);\n s.remainder___6875 = (r0);\n s.tmp_0 = helpers_imagePrint__P432_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_5 = info_formatDecimal__P841_mk(s);\n s.tmp_5.arg0 = s.minutes___6871;\n s.pc = 23; return s.tmp_5;\n case 23:\n r0 = s.retval;\n s.tmp_4 = r0;\n if ((s.tmp_4) && (s.tmp_4).vtable) {\n setupResume(s, 24);\n pxsim_String__stringConv(s.tmp_4);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_4) + ""; }\n case 24:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = pxsim_String__concat(s.tmp_3, ":");\n s.tmp_2 = r0;\n if ((s.tmp_2) && (s.tmp_2).vtable) {\n setupResume(s, 25);\n pxsim_String__stringConv(s.tmp_2);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_2) + ""; }\n case 25:\n r0 = s.retval;\n s.tmp_1 = r0;\n s.tmp_8 = info_formatDecimal__P841_mk(s);\n s.tmp_8.arg0 = s.remainder___6875;\n s.pc = 26; return s.tmp_8;\n case 26:\n r0 = s.retval;\n s.tmp_7 = r0;\n if ((s.tmp_7) && (s.tmp_7).vtable) {\n setupResume(s, 27);\n pxsim_String__stringConv(s.tmp_7);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_7) + ""; }\n case 27:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = pxsim_String__concat(s.tmp_1, s.tmp_6);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = s.left___6790;\n s.tmp_0.arg3 = 1;\n s.tmp_0.arg4 = s.color1___6796;\n s.tmp_0.arg5 = s.font___6779;\n s.tmp_0.arg6 = undefined;\n s.pc = 22; return s.tmp_0;\n case 22:\n r0 = s.retval;\n case 10:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_drawTimer__P822.info = {"start":13501,"length":1328,"line":463,"column":4,"endLine":498,"endColumn":5,"fileName":"pxt_modules/game/info.ts","functionName":"drawTimer","argumentNames":["millis"]}\n\nfunction info_drawTimer__P822_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_drawTimer__P822, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n font___6779: undefined,\n smallFont___6781: undefined,\n seconds___6783: undefined,\n width___6787: undefined,\n left___6790: undefined,\n color1___6796: undefined,\n color2___6800: undefined,\n temp___6810: undefined,\n top___6837: undefined,\n remainder___6838: undefined,\n decimalLeft___6856: undefined,\n minutes___6871: undefined,\n remainder___6875: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction info_formatDecimal__P841(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 | 0);\n s.arg0 = (r0);\n r0 = (s.arg0 < 10);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n if ((s.arg0) && (s.arg0).vtable) {\n setupResume(s, 4);\n pxsim_String__stringConv(s.arg0);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.arg0) + ""; }\n case 4:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_String__concat("0", s.tmp_1);\n { step = 3; continue; }\n case 1:\n case 2:\n r0 = pxsim_numops.toString(s.arg0);\n case 3:\n return leave(s, r0)\n default: oops()\n} } }\ninfo_formatDecimal__P841.info = {"start":28442,"length":156,"line":917,"column":4,"endLine":923,"endColumn":5,"fileName":"pxt_modules/game/info.ts","functionName":"formatDecimal","argumentNames":["val"]}\n\nfunction info_formatDecimal__P841_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_formatDecimal__P841, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction info_InfoState_constructor__P743(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, info_InfoState__C742_VT)) failedCast(r0);\n r0 = (s.arg0).fields["visibilityFlag"] = (8);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["playerStates"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_2 = info_defaultHeartImage__P795_mk(s);\n s.pc = 7; return s.tmp_2;\n case 7:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["heartImage"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim.image.ofBuffer(_hex7488);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["multiplierImage"] = (s.tmp_1);\n r0 = pxsim_ImageMethods.isMono(globals.screen___464);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = 0;\n { step = 2; continue; }\n case 1:\n r0 = 1;\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = (s.arg0).fields["bgColor"] = (s.tmp_1);\n r0 = pxsim_ImageMethods.isMono(globals.screen___464);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = 1;\n { step = 4; continue; }\n case 3:\n r0 = 3;\n case 4:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = (s.arg0).fields["borderColor"] = (s.tmp_1);\n r0 = pxsim_ImageMethods.isMono(globals.screen___464);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = 1;\n { step = 6; continue; }\n case 5:\n r0 = 3;\n case 6:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = (s.arg0).fields["fontColor"] = (s.tmp_1);\n r0 = (s.arg0).fields["countdownExpired"] = (undefined);\n r0 = (s.arg0).fields["countdownEndHandler"] = (undefined);\n r0 = (s.arg0).fields["gameEnd"] = (undefined);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["playerStates"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_InfoState_constructor__P743.info = {"start":1038,"length":674,"line":43,"column":8,"endLine":61,"endColumn":9,"fileName":"pxt_modules/game/info.ts","functionName":"inline","argumentNames":["this"]}\n\nfunction info_InfoState_constructor__P743_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_InfoState_constructor__P743, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\nconst _hex7488 = pxsim.BufferMethods.createBufferFromHex("87040500050000000100010010100000000100001010000001000100")\n\n\n\n\nfunction info_defaultHeartImage__P795(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_ImageMethods.isMono(globals.screen___464);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim.image.ofBuffer(_hex7516);\n { step = 2; continue; }\n case 1:\n r0 = pxsim.image.ofBuffer(_hex7518);\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = s.tmp_1;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_defaultHeartImage__P795.info = {"start":5105,"length":592,"line":163,"column":4,"endLine":184,"endColumn":5,"fileName":"pxt_modules/game/info.ts","functionName":"defaultHeartImage","argumentNames":[]}\n\nfunction info_defaultHeartImage__P795_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_defaultHeartImage__P795, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n} }\n\nconst _hex7516 = pxsim.BufferMethods.createBufferFromHex("87040800070000001011000001000100010010001000000101001000010001001011000000000000")\nconst _hex7518 = pxsim.BufferMethods.createBufferFromHex("8704080007000000c0cc00002c220c002222c2002222220c20222202222422004222020020220000")\n\n\n\n\nfunction helpers_arrayFilter__P48(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.res___2828 = undefined;\n s.len___2830 = undefined;\n s.i___2833 = undefined;\n s.v___2837 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_Array__mk();\n s.res___2828 = (r0);\n r0 = pxsim_Array__length(s.arg0);\n s.len___2830 = (r0);\n s.i___2833 = (0);\n case 1:\n r0 = (s.i___2833 < s.len___2830);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 4; continue; }\n r0 = pxsim_Array__getAt(s.arg0, s.i___2833);\n s.v___2837 = (r0);\n s.tmp_1 = lambda_3_mk(s);\n s.tmp_1.argL = s.arg1;\n s.tmp_1.arg0 = s.v___2837;\n s.tmp_1.arg1 = s.i___2833;\n setupLambda(s.tmp_1, s.tmp_1.argL);\n s.pc = 5; return s.tmp_1;\n case 5:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n r0 = pxsim_Array__push(s.res___2828, s.v___2837);\n case 2:\n case 3:\n r0 = (s.i___2833 + 1);\n s.i___2833 = (r0);\n { step = 1; continue; }\n case 4:\n r0 = s.res___2828;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_arrayFilter__P48.info = {"start":5412,"length":317,"line":177,"column":4,"endLine":185,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"arrayFilter","argumentNames":["arr","callbackfn"]}\n\nfunction helpers_arrayFilter__P48_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_arrayFilter__P48, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n res___2828: undefined,\n len___2830: undefined,\n i___2833: undefined,\n v___2837: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction info_PlayerState_constructor__P741(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, info_PlayerState__C740_VT)) failedCast(r0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_PlayerState_constructor__P741.info = {"start":601,"length":17,"line":27,"column":8,"endLine":27,"endColumn":25,"fileName":"pxt_modules/game/info.ts","functionName":"inline","argumentNames":["this"]}\n\nfunction info_PlayerState_constructor__P741_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_PlayerState_constructor__P741, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction info_changeScoreBy__P802(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = info_PlayerInfo_changeScoreBy__P829_mk(s);\n s.tmp_0.arg0 = globals.player1___845;\n s.tmp_0.arg1 = s.arg0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_changeScoreBy__P802.info = {"start":7719,"length":90,"line":264,"column":4,"endLine":266,"endColumn":5,"fileName":"pxt_modules/game/info.ts","functionName":"changeScoreBy","argumentNames":["value"]}\n\nfunction info_changeScoreBy__P802_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_changeScoreBy__P802, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction info_PlayerInfo_changeScoreBy__P829(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, info_PlayerInfo__C823_VT)) failedCast(r0);\n s.tmp_0 = info_PlayerInfo_setScore__P828_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_2 = info_PlayerInfo_score__P827_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 2; return s.tmp_2;\n case 2:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 + s.arg1);\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_PlayerInfo_changeScoreBy__P829.info = {"start":18528,"length":95,"line":613,"column":8,"endLine":615,"endColumn":9,"fileName":"pxt_modules/game/info.ts","functionName":"changeScoreBy","argumentNames":["this","value"]}\n\nfunction info_PlayerInfo_changeScoreBy__P829_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_PlayerInfo_changeScoreBy__P829, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction info_PlayerInfo_setScore__P828(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.state___8150 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, info_PlayerInfo__C823_VT)) failedCast(r0);\n s.tmp_0 = info_PlayerInfo_getState__P825_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.state___8150 = (r0);\n s.tmp_0 = info_updateFlag__P815_mk(s);\n s.tmp_0.arg0 = 2;\n s.tmp_0.arg1 = true;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n s.tmp_0 = info_PlayerInfo_score__P827_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.tmp_0 = r0 = s.state___8150;\n r0 = (s.arg1 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["score"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_PlayerInfo_setScore__P828.info = {"start":18041,"length":220,"line":597,"column":8,"endLine":603,"endColumn":9,"fileName":"pxt_modules/game/info.ts","functionName":"setScore","argumentNames":["this","value"]}\n\nfunction info_PlayerInfo_setScore__P828_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_PlayerInfo_setScore__P828, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n state___8150: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction info_updateFlag__P815(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = info_initHUD__P793_mk(s);\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n if (!r0) { step = 1; continue; }\n s.tmp_0 = r0 = globals.infoState___745;\n r0 = s.tmp_0.fields["visibilityFlag"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | s.arg0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["visibilityFlag"] = (s.tmp_1);\n { step = 2; continue; }\n case 1:\n s.tmp_0 = r0 = globals.infoState___745;\n r0 = globals.infoState___745.fields["visibilityFlag"];\n s.tmp_4 = r0;\n r0 = (~ s.tmp_4);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 | s.arg0);\n s.tmp_2 = r0;\n r0 = (~ s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["visibilityFlag"] = (s.tmp_1);\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_updateFlag__P815.info = {"start":11468,"length":204,"line":394,"column":4,"endLine":398,"endColumn":5,"fileName":"pxt_modules/game/info.ts","functionName":"updateFlag","argumentNames":["flag","on"]}\n\nfunction info_updateFlag__P815_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_updateFlag__P815, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Math_percentChance__P1154(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 >= 100);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = true;\n { step = 5; continue; }\n { step = 4; continue; }\n case 1:\n r0 = (s.arg0 <= 0);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 2; continue; }\n r0 = false;\n { step = 5; continue; }\n case 2:\n case 3:\n case 4:\n r0 = pxsim.Math_.randomRange(0, 99);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 < s.arg0);\n case 5:\n return leave(s, r0)\n default: oops()\n} } }\nMath_percentChance__P1154.info = {"start":336,"length":259,"line":8,"column":4,"endLine":16,"endColumn":5,"fileName":"pxt_modules/game/mathUtil.ts","functionName":"percentChance","argumentNames":["percentage"]}\n\nfunction Math_percentChance__P1154_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Math_percentChance__P1154, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Sprite_setKind__P638(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.spritesByKind___8186 = undefined;\n s.overlapMap___8212 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = (s.arg1 == undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = s.arg0.fields["_kind"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 === s.arg1);\n case 2:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 3; continue; }\n { step = 15; continue; }\n case 3:\n case 4:\n s.tmp_3 = game_currentScene__P769_mk(s);\n s.pc = 16; return s.tmp_3;\n case 16:\n r0 = s.retval;\n r0 = r0.fields["spritesByKind"];\n s.spritesByKind___8186 = (r0);\n r0 = s.arg0.fields["_kind"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 >= 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 5; continue; }\n r0 = s.tmp_0;\n { step = 6; continue; }\n case 5:\n r0 = s.arg0.fields["_kind"];\n s.tmp_2 = r0;\n r0 = pxsim_pxtrt.mapGetGeneric(s.spritesByKind___8186, s.tmp_2);\n case 6:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 7; continue; }\n s.tmp_4 = SpriteSet_remove__P682_mk(s);\n r0 = s.arg0.fields["_kind"];\n s.tmp_5 = r0;\n r0 = pxsim_pxtrt.mapGetGeneric(s.spritesByKind___8186, s.tmp_5);\n s.tmp_4.arg0 = r0;\n s.tmp_4.arg1 = s.arg0;\n s.pc = 17; return s.tmp_4;\n case 17:\n r0 = s.retval;\n case 7:\n case 8:\n r0 = (s.arg1 >= 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 11; continue; }\n r0 = pxsim_pxtrt.mapGetGeneric(s.spritesByKind___8186, s.arg1);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 9; continue; }\n r0 = pxsim_pxtcore_mkClassInstance(SpriteSet__C676_VT);\n s.tmp_4 = r0;\n s.tmp_5 = SpriteSet_constructor__P687_mk(s);\n s.tmp_5.arg0 = s.tmp_4;\n s.pc = 18; return s.tmp_5;\n case 18:\n r0 = s.retval;\n r0 = pxsim_pxtrt.mapSetGeneric(s.spritesByKind___8186, s.arg1, s.tmp_4);\n case 9:\n case 10:\n s.tmp_0 = SpriteSet_add__P680_mk(s);\n r0 = pxsim_pxtrt.mapGetGeneric(s.spritesByKind___8186, s.arg1);\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = s.arg0;\n s.pc = 19; return s.tmp_0;\n case 19:\n r0 = s.retval;\n case 11:\n case 12:\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 20; return s.tmp_0;\n case 20:\n r0 = s.retval;\n r0 = r0.fields["overlapMap"];\n s.overlapMap___8212 = (r0);\n r0 = pxsim_pxtrt.mapGetGeneric(s.overlapMap___8212, s.arg1);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 13; continue; }\n s.tmp_3 = r0 = s.overlapMap___8212;\n s.tmp_4 = r0 = s.arg1;\n r0 = pxsim_Array__mk();\n s.tmp_5 = r0;\n r0 = pxsim_pxtrt.mapSetGeneric(s.tmp_3, s.tmp_4, s.tmp_5);\n case 13:\n case 14:\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_pxtrt.mapGetGeneric(s.overlapMap___8212, s.arg1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["_kindsOverlappedWith"] = (s.tmp_1);\n r0 = (s.arg0).fields["_kind"] = (s.arg1);\n case 15:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_setKind__P638.info = {"start":9666,"length":655,"line":349,"column":4,"endLine":369,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"setKind","argumentNames":["this","value"]}\n\nfunction Sprite_setKind__P638_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_setKind__P638, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n spritesByKind___8186: undefined,\n overlapMap___8212: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction SpriteSet_constructor__P687(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, SpriteSet__C676_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["_sprites"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSpriteSet_constructor__P687.info = {"start":392,"length":49,"line":18,"column":4,"endLine":20,"endColumn":5,"fileName":"pxt_modules/game/spriteset.ts","functionName":"inline","argumentNames":["this"]}\n\nfunction SpriteSet_constructor__P687_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: SpriteSet_constructor__P687, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction SpriteSet_remove__P682(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.i___2869 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, SpriteSet__C676_VT)) failedCast(r0);\n r0 = s.arg0.fields["_sprites"];\n s.tmp_0 = r0;\n r0 = pxsim_Array_.indexOf(s.tmp_0, s.arg1, undefined);\n s.i___2869 = (r0);\n r0 = (s.i___2869 > -1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_1 = helpers_arraySplice__P36_mk(s);\n r0 = s.arg0.fields["_sprites"];\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = s.i___2869;\n s.tmp_1.arg2 = 1;\n s.pc = 4; return s.tmp_1;\n case 4:\n r0 = s.retval;\n r0 = true;\n { step = 3; continue; }\n case 1:\n case 2:\n r0 = false;\n case 3:\n return leave(s, r0)\n default: oops()\n} } }\nSpriteSet_remove__P682.info = {"start":1556,"length":207,"line":65,"column":4,"endLine":72,"endColumn":5,"fileName":"pxt_modules/game/spriteset.ts","functionName":"remove","argumentNames":["this","sprite"]}\n\nfunction SpriteSet_remove__P682_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: SpriteSet_remove__P682, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n i___2869: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction helpers_arraySplice__P36(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.i___2889 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg1 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 5; continue; }\n case 1:\n case 2:\n s.i___2889 = (0);\n case 3:\n r0 = (s.i___2889 < s.arg2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 4; continue; }\n r0 = pxsim_Array_.removeAt(s.arg0, s.arg1);\n r0 = (s.i___2889 + 1);\n s.i___2889 = (r0);\n { step = 3; continue; }\n case 4:\n case 5:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_arraySplice__P36.info = {"start":1359,"length":213,"line":53,"column":4,"endLine":60,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"arraySplice","argumentNames":["arr","start","len"]}\n\nfunction helpers_arraySplice__P36_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_arraySplice__P36, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n i___2889: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction SpriteSet_add__P680(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, SpriteSet__C676_VT)) failedCast(r0);\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = false;\n { step = 5; continue; }\n case 1:\n case 2:\n r0 = s.arg0.fields["_sprites"];\n s.tmp_4 = r0;\n r0 = pxsim_Array_.indexOf(s.tmp_4, s.arg1, undefined);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 > -1);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 3; continue; }\n r0 = false;\n { step = 5; continue; }\n case 3:\n case 4:\n r0 = s.arg0.fields["_sprites"];\n s.tmp_5 = r0;\n r0 = pxsim_Array__push(s.tmp_5, s.arg1);\n r0 = true;\n case 5:\n return leave(s, r0)\n default: oops()\n} } }\nSpriteSet_add__P680.info = {"start":855,"length":235,"line":40,"column":4,"endLine":48,"endColumn":5,"fileName":"pxt_modules/game/spriteset.ts","functionName":"add","argumentNames":["this","sprite"]}\n\nfunction SpriteSet_add__P680_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: SpriteSet_add__P680, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction SpriteSet_contains__P683(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, SpriteSet__C676_VT)) failedCast(r0);\n r0 = s.arg0.fields["_sprites"];\n s.tmp_1 = r0;\n r0 = pxsim_Array_.indexOf(s.tmp_1, s.arg1, undefined);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 > -1);\n return leave(s, r0)\n default: oops()\n} } }\nSpriteSet_contains__P683.info = {"start":1854,"length":92,"line":78,"column":4,"endLine":80,"endColumn":5,"fileName":"pxt_modules/game/spriteset.ts","functionName":"contains","argumentNames":["this","sprite"]}\n\nfunction SpriteSet_contains__P683_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: SpriteSet_contains__P683, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction sprites_createProjectileFromSide__P604(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = sprites_createProjectile__P606_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.tmp_0.arg2 = s.arg2;\n s.tmp_0.arg3 = 1;\n s.tmp_0.arg4 = undefined;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_createProjectileFromSide__P604.info = {"start":2403,"length":153,"line":74,"column":4,"endLine":76,"endColumn":5,"fileName":"pxt_modules/game/sprites.ts","functionName":"createProjectileFromSide","argumentNames":["img","vx","vy"]}\n\nfunction sprites_createProjectileFromSide__P604_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_createProjectileFromSide__P604, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction sprites_createProjectile__P606(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.s___8560 = undefined;\n s.sc___8565 = undefined;\n s.xOff___8573 = undefined;\n s.yOff___8581 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = r0 = s.arg3;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = 1;\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n s.tmp_2 = sprites_create__P602_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.tmp_2.arg1 = s.tmp_1;\n s.pc = 21; return s.tmp_2;\n case 21:\n r0 = s.retval;\n s.s___8560 = (r0);\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 22; return s.tmp_0;\n case 22:\n r0 = s.retval;\n s.sc___8565 = (r0);\n s.tmp_0 = Sprite_vx__P614_mk(s);\n s.tmp_0.arg0 = s.s___8560;\n s.tmp_0.arg1 = s.arg1;\n s.pc = 23; return s.tmp_0;\n case 23:\n r0 = s.retval;\n s.tmp_0 = Sprite_vy__P616_mk(s);\n s.tmp_0.arg0 = s.s___8560;\n s.tmp_0.arg1 = s.arg2;\n s.pc = 24; return s.tmp_0;\n case 24:\n r0 = s.retval;\n r0 = s.sc___8565.fields["tileMap"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = s.s___8560.fields["_image"];\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 >> 1);\n s.tmp_1 = r0;\n r0 = (0 - s.tmp_1);\n { step = 4; continue; }\n case 3:\n r0 = s.s___8560.fields["_image"];\n s.tmp_6 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_6);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 >> 1);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 - 1);\n case 4:\n // jmp value (already in r0)\n s.tmp_7 = r0;\n s.xOff___8573 = (s.tmp_7);\n r0 = s.sc___8565.fields["tileMap"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = s.s___8560.fields["_image"];\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 >> 1);\n s.tmp_1 = r0;\n r0 = (0 - s.tmp_1);\n { step = 6; continue; }\n case 5:\n r0 = s.s___8560.fields["_image"];\n s.tmp_6 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_6);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 >> 1);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 - 1);\n case 6:\n // jmp value (already in r0)\n s.tmp_7 = r0;\n s.yOff___8581 = (s.tmp_7);\n case 7:\n r0 = (s.arg1 == 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 8; continue; }\n r0 = s.tmp_0;\n { step = 9; continue; }\n case 8:\n r0 = (s.arg2 == 0);\n case 9:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 10; continue; }\n r0 = pxsim.Math_.randomRange(-100, 100);\n s.arg1 = (r0);\n r0 = pxsim.Math_.randomRange(-100, 100);\n s.arg2 = (r0);\n { step = 7; continue; }\n case 10:\n r0 = (s.arg1 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 11; continue; }\n s.tmp_1 = Sprite_x__P610_mk(s);\n s.tmp_1.arg0 = s.s___8560;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.xOff___8573);\n s.tmp_1.arg1 = r0;\n s.pc = 25; return s.tmp_1;\n case 25:\n r0 = s.retval;\n { step = 14; continue; }\n case 11:\n r0 = (s.arg1 > 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 12; continue; }\n s.tmp_1 = Sprite_x__P610_mk(s);\n s.tmp_1.arg0 = s.s___8560;\n r0 = (0 - s.xOff___8573);\n s.tmp_1.arg1 = r0;\n s.pc = 26; return s.tmp_1;\n case 26:\n r0 = s.retval;\n case 12:\n case 13:\n case 14:\n r0 = (s.arg2 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 15; continue; }\n s.tmp_1 = Sprite_y__P612_mk(s);\n s.tmp_1.arg0 = s.s___8560;\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.yOff___8581);\n s.tmp_1.arg1 = r0;\n s.pc = 27; return s.tmp_1;\n case 27:\n r0 = s.retval;\n { step = 18; continue; }\n case 15:\n r0 = (s.arg2 > 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 16; continue; }\n s.tmp_1 = Sprite_y__P612_mk(s);\n s.tmp_1.arg0 = s.s___8560;\n r0 = (0 - s.yOff___8581);\n s.tmp_1.arg1 = r0;\n s.pc = 28; return s.tmp_1;\n case 28:\n r0 = s.retval;\n case 16:\n case 17:\n case 18:\n s.tmp_0 = r0 = s.s___8560;\n r0 = s.tmp_0.fields["flags"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 4);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["flags"] = (s.tmp_1);\n s.tmp_0 = r0 = s.s___8560;\n r0 = s.tmp_0.fields["flags"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 16);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["flags"] = (s.tmp_1);\n r0 = pxsim_numops_toBoolDecr(s.arg4);\n if (!r0) { step = 19; continue; }\n s.tmp_0 = Sprite_x__P610_mk(s);\n s.tmp_0.arg0 = s.s___8560;\n s.tmp_1 = Sprite_x__P609_mk(s);\n s.tmp_1.arg0 = s.arg4;\n s.pc = 30; return s.tmp_1;\n case 30:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.pc = 29; return s.tmp_0;\n case 29:\n r0 = s.retval;\n s.tmp_0 = Sprite_y__P612_mk(s);\n s.tmp_0.arg0 = s.s___8560;\n s.tmp_1 = Sprite_y__P611_mk(s);\n s.tmp_1.arg0 = s.arg4;\n s.pc = 32; return s.tmp_1;\n case 32:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.pc = 31; return s.tmp_0;\n case 31:\n r0 = s.retval;\n case 19:\n case 20:\n r0 = s.s___8560;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_createProjectile__P606.info = {"start":4034,"length":1115,"line":106,"column":4,"endLine":142,"endColumn":5,"fileName":"pxt_modules/game/sprites.ts","functionName":"createProjectile","argumentNames":["img","vx","vy","kind","sprite"]}\n\nfunction sprites_createProjectile__P606_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_createProjectile__P606, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n s___8560: undefined,\n sc___8565: undefined,\n xOff___8573: undefined,\n yOff___8581: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n} }\n\n\n\n\n\nfunction Sprite_height__P628(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields["_image"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\nSprite_height__P628.info = {"start":7461,"length":54,"line":265,"column":4,"endLine":267,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"height","argumentNames":["this"]}\n\nfunction Sprite_height__P628_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_height__P628, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Sprite_width__P627(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields["_image"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\nSprite_width__P627.info = {"start":7316,"length":52,"line":260,"column":4,"endLine":262,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"width","argumentNames":["this"]}\n\nfunction Sprite_width__P627_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_width__P627, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Sprite_y__P612(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_0 = Sprite_top__P634_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_1 = r0 = s.arg1;\n r0 = s.arg0.fields["_image"];\n s.tmp_4 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_4);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 >> 1);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 - s.tmp_2);\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_y__P612.info = {"start":1677,"length":73,"line":69,"column":4,"endLine":71,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"y","argumentNames":["this","v"]}\n\nfunction Sprite_y__P612_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_y__P612, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_top__P634(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.physics___2382 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = r0.fields["physicsEngine"];\n s.physics___2382 = (r0);\n s.tmp_0 = PhysicsEngine__C708_v2_4_mk(s);\n s.tmp_0.arg0 = s.physics___2382;\n s.tmp_0.arg1 = s.arg0;\n s.tmp_0.arg2 = globals.zeroFx8___79;\n r0 = (s.arg1 * 256);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_1 = r0;\n r0 = s.arg0.fields["_y"];\n s.tmp_3 = r0;\n r0 = (s.tmp_1 - s.tmp_3);\n s.tmp_0.arg3 = r0;\n if (!checkSubtype(s.tmp_0.arg0, PhysicsEngine__C708_VT)) failedCast(s.tmp_0.arg0);\n s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.moveSprite;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_top__P634.info = {"start":8527,"length":256,"line":306,"column":4,"endLine":316,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"top","argumentNames":["this","value"]}\n\nfunction Sprite_top__P634_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_top__P634, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n physics___2382: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction PhysicsEngine_moveSprite__P711(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, PhysicsEngine__C708_VT)) failedCast(r0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nPhysicsEngine_moveSprite__P711.info = {"start":230,"length":43,"line":13,"column":4,"endLine":13,"endColumn":47,"fileName":"pxt_modules/game/physics.ts","functionName":"moveSprite","argumentNames":["this","s","dx","dy"]}\n\nfunction PhysicsEngine_moveSprite__P711_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: PhysicsEngine_moveSprite__P711, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction Fx_sub__P88(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 - s.arg1);\n return leave(s, r0)\n default: oops()\n} } }\nFx_sub__P88.info = {"start":736,"length":118,"line":26,"column":4,"endLine":28,"endColumn":5,"fileName":"pxt_modules/base/fixed.ts","functionName":"sub","argumentNames":["a","b"]}\n\nfunction Fx_sub__P88_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Fx_sub__P88, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_top__P633(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields["_y"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 + 128);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 >> 8);\n return leave(s, r0)\n default: oops()\n} } }\nSprite_top__P633.info = {"start":8398,"length":51,"line":301,"column":4,"endLine":303,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"top","argumentNames":["this"]}\n\nfunction Sprite_top__P633_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_top__P633, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_runtime__P1033(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_1 = game_currentScene__P769_mk(s);\n s.pc = 1; return s.tmp_1;\n case 1:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = s.tmp_0.fields["_millis"];\n return leave(s, r0)\n default: oops()\n} } }\ngame_runtime__P1033.info = {"start":10222,"length":81,"line":331,"column":4,"endLine":333,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"runtime","argumentNames":[]}\n\nfunction game_runtime__P1033_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_runtime__P1033, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n} }\n\n\n\n\n\nfunction forever__P505(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = game_forever__P1030_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nforever__P505.info = {"start":264,"length":62,"line":6,"column":0,"endLine":8,"endColumn":1,"fileName":"pxt_modules/game/gameoverrides.ts","functionName":"forever","argumentNames":["a"]}\n\nfunction forever__P505_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: forever__P505, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_forever__P1030(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_numops_toBoolDecr(globals.foreverRunning___1029);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n globals.foreverRunning___1029 = (true);\n r0 = pxsim.control.runInParallel(inline__P8262);\n case 1:\n case 2:\n r0 = pxsim_pxtcore_mkClassInstance(scene_GameForeverHandler__C902_VT);\n s.tmp_0 = r0;\n s.tmp_1 = scene_GameForeverHandler_constructor__P903_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = s.arg0;\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n s.tmp_3 = game_currentScene__P769_mk(s);\n s.pc = 4; return s.tmp_3;\n case 4:\n r0 = s.retval;\n r0 = r0.fields["gameForeverHandlers"];\n s.tmp_2 = r0;\n r0 = pxsim_Array__push(s.tmp_2, s.tmp_0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_forever__P1030.info = {"start":8541,"length":820,"line":276,"column":4,"endLine":299,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"forever","argumentNames":["action"]}\n\nfunction game_forever__P1030_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_forever__P1030, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P8262(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.handlers___8264 = undefined;\n case 1:\n r0 = pxsim_numops_toBoolDecr(1);\n if (!r0) { step = 2; continue; }\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n r0 = r0.fields["gameForeverHandlers"];\n s.handlers___8264 = (r0);\n s.tmp_0 = helpers_arrayForEach__P47_mk(s);\n s.tmp_0.arg0 = s.handlers___8264;\n s.tmp_0.arg1 = inline__P8270;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n s.tmp_0 = pause__P241_mk(s);\n s.tmp_0.arg0 = 20;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n { step = 1; continue; }\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P8262.info = {"start":8693,"length":535,"line":279,"column":34,"endLine":293,"endColumn":13,"fileName":"pxt_modules/game/game.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P8262_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P8262, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n handlers___8264: undefined,\n} }\n\n\n\n\n\nfunction inline__P8270(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0.fields["lock"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = (s.arg0).fields["lock"] = (true);\n r0 = pxsim_pxtcore_mkAction(1, inline__P8279);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n r0 = pxsim.control.runInParallel(s.tmp_0);\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P8270.info = {"start":8844,"length":319,"line":282,"column":37,"endLine":290,"endColumn":21,"fileName":"pxt_modules/game/game.ts","functionName":"inline","argumentNames":["h"]}\n\nfunction inline__P8270_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P8270, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P8279(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = lambda_1_mk(s);\n r0 = s.caps[0].fields["handler"];\n s.tmp_0.argL = r0;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = (s.caps[0]).fields["lock"] = (false);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P8279.info = {"start":8983,"length":130,"line":285,"column":50,"endLine":288,"endColumn":29,"fileName":"pxt_modules/game/game.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P8279_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P8279, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction scene_GameForeverHandler_constructor__P903(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_GameForeverHandler__C902_VT)) failedCast(r0);\n r0 = (s.arg0).fields["handler"] = (s.arg1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_GameForeverHandler_constructor__P903.info = {"start":643,"length":65,"line":29,"column":8,"endLine":31,"endColumn":13,"fileName":"pxt_modules/game/scene.ts","functionName":"inline","argumentNames":["this","handler"]}\n\nfunction scene_GameForeverHandler_constructor__P903_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_GameForeverHandler_constructor__P903, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction game_onUpdateInterval__P1028(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.timer___8301 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = game_init__P1018_mk(s);\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = (s.arg0 < 0);\n case 2:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 3; continue; }\n { step = 5; continue; }\n case 3:\n case 4:\n r0 = pxsim_pxtrt.mklocRef();\n s.timer___8301 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.timer___8301, 0);\n r0 = pxsim_pxtcore_mkAction(3, inline__P8305);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.timer___8301);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.arg0);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 2, s.arg1);\n s.tmp_1 = control_EventContext_registerFrameHandler__P226_mk(s);\n s.tmp_2 = game_eventContext__P1017_mk(s);\n s.pc = 8; return s.tmp_2;\n case 8:\n r0 = s.retval;\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = 19;\n s.tmp_1.arg2 = s.tmp_0;\n s.pc = 7; return s.tmp_1;\n case 7:\n r0 = s.retval;\n case 5:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_onUpdateInterval__P1028.info = {"start":7860,"length":417,"line":255,"column":4,"endLine":266,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"onUpdateInterval","argumentNames":["period","a"]}\n\nfunction game_onUpdateInterval__P1028_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_onUpdateInterval__P1028, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n timer___8301: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction inline__P8305(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.time___8306 = undefined;\n s.tmp_1 = game_currentScene__P769_mk(s);\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = s.tmp_0.fields["_millis"];\n s.time___8306 = (r0);\n r0 = pxsim_pxtrt_ldlocRef(s.caps[0]);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 <= s.time___8306);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_2 = r0 = s.caps[0];\n r0 = (s.time___8306 + s.caps[1]);\n s.tmp_3 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_2, s.tmp_3);\n s.tmp_0 = lambda_1_mk(s);\n s.tmp_0.argL = s.caps[2];\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P8305.info = {"start":8090,"length":179,"line":259,"column":81,"endLine":265,"endColumn":9,"fileName":"pxt_modules/game/game.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P8305_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P8305, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n time___8306: undefined,\n} }\n\n\n\n\n\nfunction Sprite_bottom__P636(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_0 = Sprite_top__P634_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_1 = r0 = s.arg1;\n r0 = s.arg0.fields["_image"];\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 - s.tmp_2);\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_bottom__P636.info = {"start":9029,"length":73,"line":325,"column":4,"endLine":327,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"bottom","argumentNames":["this","value"]}\n\nfunction Sprite_bottom__P636_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_bottom__P636, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_bottom__P635(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_1 = Sprite_top__P633_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.pc = 1; return s.tmp_1;\n case 1:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = s.arg0.fields["_image"];\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_0 + s.tmp_2);\n return leave(s, r0)\n default: oops()\n} } }\nSprite_bottom__P635.info = {"start":8877,"length":59,"line":320,"column":4,"endLine":322,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"bottom","argumentNames":["this"]}\n\nfunction Sprite_bottom__P635_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_bottom__P635, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_onUpdate__P1027(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = game_init__P1018_mk(s);\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(s.arg0);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 3; continue; }\n case 1:\n case 2:\n s.tmp_2 = control_EventContext_registerFrameHandler__P226_mk(s);\n s.tmp_3 = game_eventContext__P1017_mk(s);\n s.pc = 6; return s.tmp_3;\n case 6:\n r0 = s.retval;\n s.tmp_2.arg0 = r0;\n s.tmp_2.arg1 = 20;\n s.tmp_2.arg2 = s.arg0;\n s.pc = 5; return s.tmp_2;\n case 5:\n r0 = s.retval;\n case 3:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_onUpdate__P1027.info = {"start":7358,"length":169,"line":241,"column":4,"endLine":245,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"onUpdate","argumentNames":["a"]}\n\nfunction game_onUpdate__P1027_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_onUpdate__P1027, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction setupFrames__P22748(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_Array__mk();\n s.tmp_0 = r0;\n r0 = pxsim.image.ofBuffer(_hex22949);\n s.tmp_1 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_1);\n r0 = pxsim.image.ofBuffer(_hex22951);\n s.tmp_2 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_2);\n r0 = pxsim.image.ofBuffer(_hex22953);\n s.tmp_3 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_3);\n r0 = pxsim.image.ofBuffer(_hex22955);\n s.tmp_4 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_4);\n r0 = pxsim.image.ofBuffer(_hex22957);\n s.tmp_5 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_5);\n r0 = pxsim.image.ofBuffer(_hex22959);\n s.tmp_6 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_6);\n r0 = pxsim.image.ofBuffer(_hex22961);\n s.tmp_7 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_7);\n r0 = pxsim.image.ofBuffer(_hex22963);\n s.tmp_8 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_8);\n r0 = pxsim.image.ofBuffer(_hex22965);\n s.tmp_9 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_9);\n r0 = pxsim.image.ofBuffer(_hex22967);\n s.tmp_10 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_10);\n globals.birdFrames___22771 = (s.tmp_0);\n s.tmp_0 = animation_runImageAnimation__P1553_mk(s);\n s.tmp_0.arg0 = globals.bird___22772;\n s.tmp_0.arg1 = globals.birdFrames___22771;\n s.tmp_0.arg2 = 40;\n s.tmp_0.arg3 = true;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = pxsim_Array__mk();\n s.tmp_0 = r0;\n r0 = pxsim.image.ofBuffer(_hex22974);\n s.tmp_1 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_1);\n r0 = pxsim.image.ofBuffer(_hex22976);\n s.tmp_2 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_2);\n globals.obstacles___22770 = (s.tmp_0);\n r0 = pxsim_Array__mk();\n s.tmp_0 = r0;\n r0 = pxsim.image.ofBuffer(_hex22980);\n s.tmp_1 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_1);\n r0 = pxsim.image.ofBuffer(_hex22982);\n s.tmp_2 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_2);\n r0 = pxsim.image.ofBuffer(_hex22984);\n s.tmp_3 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_3);\n globals.trees___22769 = (s.tmp_0);\n r0 = pxsim_Array__mk();\n s.tmp_0 = r0;\n r0 = pxsim.image.ofBuffer(_hex22988);\n s.tmp_1 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_1);\n r0 = pxsim.image.ofBuffer(_hex22990);\n s.tmp_2 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_2);\n r0 = pxsim.image.ofBuffer(_hex22992);\n s.tmp_3 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_3);\n r0 = pxsim.image.ofBuffer(_hex22994);\n s.tmp_4 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_4);\n r0 = pxsim.image.ofBuffer(_hex22996);\n s.tmp_5 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_5);\n r0 = pxsim.image.ofBuffer(_hex22998);\n s.tmp_6 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_6);\n globals.grassImages___22768 = (s.tmp_0);\n r0 = pxsim_Array__mk();\n s.tmp_0 = r0;\n r0 = pxsim.image.ofBuffer(_hex23002);\n s.tmp_1 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_1);\n r0 = pxsim.image.ofBuffer(_hex23004);\n s.tmp_2 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_2);\n r0 = pxsim.image.ofBuffer(_hex23006);\n s.tmp_3 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_3);\n r0 = pxsim.image.ofBuffer(_hex23008);\n s.tmp_4 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_4);\n r0 = pxsim.image.ofBuffer(_hex23010);\n s.tmp_5 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_5);\n globals.clouds___22767 = (s.tmp_0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsetupFrames__P22748.info = {"start":250,"length":32035,"line":10,"column":0,"endLine":535,"endColumn":1,"fileName":"main.ts","functionName":"setupFrames","argumentNames":[]}\n\nfunction setupFrames__P22748_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: setupFrames__P22748, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n} }\n\nconst _hex22949 = pxsim.BufferMethods.createBufferFromHex("87040c000c000000000000000000000000000000000000000000000100000000000000010000000000111101000000001011110100000000101111010000000010010001000000001000000000000000000000000000000000000000000000000000000000000000")\nconst _hex22951 = pxsim.BufferMethods.createBufferFromHex("87040c000c000000000000000000000000000000000000000000000100000000000011010000000000101101000000000010110100000000001011010000000000100101000000000010000000000000001000000000000000000000000000000000000000000000")\nconst _hex22953 = pxsim.BufferMethods.createBufferFromHex("87040c000c000000000000000000000000000000000000000000000100000000000010110000000000001011000000000000101100000000000010110000000000000011000000000000001000000000000000100000000000000010000000000000000000000000")\nconst _hex22955 = pxsim.BufferMethods.createBufferFromHex("87040c000c000000000000000000000000000000000000000000000100000000000000110100000000000011110000000000001111000000000000111100000000000001110000000000000011000000000000001000000000000000100000000000000000000000")\nconst _hex22957 = pxsim.BufferMethods.createBufferFromHex("87040c000c000000000000000000000000000000000000000000000100000000000000110100000000000011110000000000001111010000000000111101000000000001100100000000000010010000000000000001000000000000000000000000000000000000")\nconst _hex22959 = pxsim.BufferMethods.createBufferFromHex("87040c000c000000000000000000000000000000000000000000000100000000000000110100000000000011110000000000001111010000000000111101000000000001100100000000000010010000000000000001000000000000000000000000000000000000")\nconst _hex22961 = pxsim.BufferMethods.createBufferFromHex("87040c000c000000000000000000000000000000000000000000000100000000000000110100000000000011110000000000001111000000000000111100000000000001110000000000000011000000000000001000000000000000100000000000000000000000")\nconst _hex22963 = pxsim.BufferMethods.createBufferFromHex("87040c000c000000000000000000000000000000000000000000000100000000000010110000000000001011000000000000101100000000000010110000000000000011000000000000001000000000000000100000000000000010000000000000000000000000")\nconst _hex22965 = pxsim.BufferMethods.createBufferFromHex("87040c000c000000000000000000000000000000000000000000000100000000000011010000000000101101000000000010110100000000001011010000000000100101000000000010000000000000001000000000000000000000000000000000000000000000")\nconst _hex22967 = pxsim.BufferMethods.createBufferFromHex("87040c000c000000000000000000000000000000000000000000000100000000000000010000000000111101000000001011110100000000101111010000000010010001000000001000000000000000000000000000000000000000000000000000000000000000")\nconst _hex22974 = pxsim.BufferMethods.createBufferFromHex("8704160020000000000000000000000000006006000000000000000000000000000060060000000000000000000000600000600600000000000000000000006006006667000060060000000000000060060076670000600000000000000000600600766706006006000000000600666606607767060000000000006006606676066077670600060000006666666666776776776706000000006066766766777767767777eeeeee0e707777776766777767767777eeeeee0e007777776766777767777777eeeeee0e000077776770777777777777eeeeee0e000000770770777776777777070000000000000000007777067077770700600000000000000070770600777707000600000000000000007706007777070000000000000000000070060070770700000000000000000000700000007706000000000000000000000000000077060000000000000000000000000000670600000000000000000000000000000600000000")\nconst _hex22976 = pxsim.BufferMethods.createBufferFromHex("87040f0020000000000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000e00e00000000000000000000eee0eeeeee0e000000000000000000e0eebeeebbbe0e000000000000000000eebbeeebeeee0e000000000000000000beeeebebeebbee000000000000000000beeeebebebeeee000000000000000000bebeeeebeebe0e000000000000000000eebbbeeebbee0e000000000000000000e0eebeeeeeee0e00000000000000000000eee00ee0e00e000000000000000000000000000e000e000000000000000000000000e00000000000000000000000000000000e0e0000")\nconst _hex22980 = pxsim.BufferMethods.createBufferFromHex("8704240030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b00000000000000000000000000000000000000000000b00b0000000000000000000000000000000000000000000bbb0b00000000000000000000000000000000000b0000b00bbb0b0000000000000000000000000000b00000bb0000bb00bb0b0000000000000000000000000000b000b0bb00b0bb00bb0b0000000000000000000000000000bb00b0bb00b0bbb0bb0b0000000000000000000000000000bb00b0bb00bb0bb0bb0b00000000000000000000b00000b0bb00bbbb00bbbbbbbb0000000000000000000000bb0000bb0bb0bb00b0bbbbbbbb0000000000000000000bb00b00b0bb00bbbb00bbbbbbbbbb0000000000000000b00bbb0b0bbbbbbbbbbbbbbbbbbbbbbb0b000000000000b0bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb00000000bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb0000000000b0b00bbbbb0bbbb0bbbbb0bbbbbbbbbbbbbbbb000000000000000bb0bb00b0bbbbbbbb00bbbbbbbbbb0b00000000000000000000bb0000bb0bb0bb0bbbb00bbbbb0b00000000000000000000b00b00b0bb00b00bb0b00bb0bb0b00000000000000000000000b0000b000000b00b00bb0bb0b00000000000000000000000b0000b00b000000b00b00bb0b0000000000000000000000000000b00b000000b00b00bb000000000000000000000000000000000b000000b00000bb0000000000000000000000000000000000000000000000b00000000000000000000000000000000000000000000000b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")\nconst _hex22982 = pxsim.BufferMethods.createBufferFromHex("870424003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b0000b000b00000000000000000000000000000000000000bb000bb00b000000000000000000000000000000000000000b000bb00000000000000000000000000000000b00b000000b000bb00b00000000000000000000000b00b0bb00b000bb0bb000b00000000000000000000000b00b00bb0b00bbb0bbbbb00bbb0000000000000000000000b00bb0bb0bb0bbb0bbbbbb00bb00000000000000000b0b00b00bb00b00bb0bbbbbbbbb000b00000000000000000bbb00b00bb00bbbbbbbbbbbbb0bb00bbb00000000000bb00bbb00bb00bbbbbbbbbbbbbbbbbbbbbbbb00000000b0bbb0b0bbbbbbbbbbbbbbbbbbbbbbbbbbbbb0bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb00b00bbbb0bbb00bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb00000bbb00bb0bbb00bbbbbb0bbbb0bbbbbb0b0b0000000000000bbb00b00bbb0000bbbbbbbbbb0b0bbb0b0b00000000000000b000b00bb00000b0bbbb0bbb0b00bbbbbb000000000000000000000bb00000b0b0bb0bb0bb00bbb0bb0000000000000000000000000000000bbb0b00bb0b00b0bb00000000000000000000000000000000000b00b00b00b0bb0b000000000000000000000000000000000b00000b0000b00b000000000000000000000000000000000000000b0000000b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")\nconst _hex22984 = pxsim.BufferMethods.createBufferFromHex("87042400300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b00b00000000000000000000000000000000000000000000b00b00000000000000000000000000000000000000000000b00b00b0000000000000000000000000000000000000000bb00bb0b00000000000000000000000000000000b00000b0bb00bb0b00000000000000000000000000000000b00000b0bb00bb0b00000000000000000000000000000000bb0000b0bbb0bb0b000000000000000000000000000b0000bb0000bbbbb0bb00000000000000000000000000000b00b00b00bbbbbbbbbb00000000000000000000000000b00bbbbb0bbbbbbbbbbbbb000000000000000000000000b0bbbbbbbbbbbbbbbbbbbbbbbbbbbb00000000000000b0bbbbbbbbbbbbbbbbbbbbbbbbbbbb00bb00000000000000000000bb00bbbbbbbbbbbbbbbbbbbbbbbb00000000000000000000000000bbbb00bbbbbbbbbb0b000000000000000000000000000000b0bb0000bbbbbbbb0000000000000000000000000000000000bb0000b0bbb0bb0000000000000000000000000000000000b00000b0bbbbbb000000000000000000000000000000000000000000bbb0bb000000000000000000000000000000000000000000bbb0bb0000000000000000000000000000000000000000000bb00b00000000000000000000000000000000000000000000b00b00000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")\nconst _hex22988 = pxsim.BufferMethods.createBufferFromHex("8704080008000000000000000000000000000000000000bb0000bbbb000000000000000000000000")\nconst _hex22990 = pxsim.BufferMethods.createBufferFromHex("87040800080000000000000000000000000000000000bbbb000000bb00000000000000bb00000000")\nconst _hex22992 = pxsim.BufferMethods.createBufferFromHex("870408000800000000bbbbbb000000b00000b0bb00b0bbbb0000bbbb00000000000000bb00000000")\nconst _hex22994 = pxsim.BufferMethods.createBufferFromHex("87040800080000000000000000000000000000000000bbbb000000bb00000000000000bb00b0bbbb")\nconst _hex22996 = pxsim.BufferMethods.createBufferFromHex("870408000800000000000000000000000000bbbb00bbbbbb0000b0bb000000000000000000000000")\nconst _hex22998 = pxsim.BufferMethods.createBufferFromHex("87040800080000000000000000b0bbbb0000b0bb0000000000000000000000000000b0bb00000000")\nconst _hex23002 = pxsim.BufferMethods.createBufferFromHex("8704330017000000000000000000000000001100000000000000000000101100000000000000000000111100000000000000000010111100000000000000000011111100000000000000000011111101000000000000001011111101000000000010111111111101000000000011111111111101000000001011111111111101000000001111111111111101000000001111111111111101000000001111111111111101000000001111111111111101000000001111111111111101000000101111111111111101000000101111111111111101000000101111111111111101000000111111111111111101000000111111111111111101000000111111111111111101000010111111111111111101000011111111111111111101001011111111111111111101001111111111111111111101101111111111111111111101101111111111111111111101101111111111111111111101111111111111111111111101111111111111111111111101101111111111111111111101101111111111111111111101001111111111111111111101001111111111111111111101001111111111111111111101001111111111111111111101001011111111111111111101000011111111111111111101000000111111111111111101000000101111111111111101000000001111111111111101000000001011111111111101000000000011111111111101000000000011111111111101000000000010111111111101000000000010111111111100000000000000111111111100000000000000101111111100000000000000001111111100000000000000000010111100000000000000000000100100")\nconst _hex23004 = pxsim.BufferMethods.createBufferFromHex("87042e0018000000000000000000000000000011000000000000000000001011000000000000000000001111000000000000000011111111000000000000001011111111000000000000001111111111000000000000101111111111000000000000101111111111000000000000101111111111000000000000101111111111000000000000101111111111000000000000111111111111000000001011111111111111000000111111111111111111000010111111111111111111000011111111111111111111000011111111111111111111000011111111111111111101001011111111111111111101001011111111111111111101001011111111111111111101001011111111111111111101001111111111111111111101001111111111111111111101101111111111111111111101111111111111111111111101111111111111111111111101111111111111111111111101111111111111111111111101111111111111111111111101101111111111111111111101001111111111111111111101001011111111111111111101000010111111111111111101000010111111111111111101000010111111111111111111000010111111111111111111000010111111111111111111000010111111111111111111000000111111111111111111000000001111111111111111000000000011111111111111000000000000111111111111000000000000101111111111000000000000001111111101000000000000000011111100")\nconst _hex23006 = pxsim.BufferMethods.createBufferFromHex("8704210010000000000000001100000000000011111100000000111111110100001011111111010000111111111101000011111111111100001111111111110110111111111111011111111111111101111111111111110111111111111111011111111111111101111111111111110111111111111111011111111111111101111111111111110110111111111111010011111111111101001011111111110100001111111111010000111111111101000011111111110100001111111111010000111111111101000011111111110100001011111111010000001111111101000000101111110100000000101111010000000010111101000000000011110000000000001011000000000000001100")\nconst _hex23008 = pxsim.BufferMethods.createBufferFromHex("870447001e0000000000000000000000000000001101000000000000000000000000001011110000000000000000000011111111111101000000000000000011111111111111010000000000000010111111111111110100000000000000101111111111111101000000000000001111111111111111010000000000001011111111111111110100000000000010111111111111111101000000000010111111111111111111010000000010111111111111111111110100000000111111111111111111111101000000101111111111111111111111010000001011111111111111111111110100000011111111111111111111111101000000111111111111111111111111110000101111111111111111111111111100001111111111111111111111111111001011111111111111111111111111110011111111111111111111111111111100111111111111111111111111111111001111111111111111111111111111110011111111111111111111111111111100101111111111111111111111111111000011111111111111111111111111110000111111111111111111111111111100001111111111111111111111111111000011111111111111111111111111110000111111111111111111111111111100001111111111111111111111111111000011111111111111111111111111110000101111111111111111111111111100000011111111111111111111111111000000101111111111111111111111110000000000111111111111111111111100000000000011111111111111111111000000000000111111111111111111110000000000001111111111111111111100000000001011111111111111111111000000000010111111111111111111110000000000101111111111111111111100000000001111111111111111111111000000000011111111111111111111110000000000111111111111111111111100000000001111111111111111111111000000000011111111111111111111110000000000101111111111111111110100000000000011111111111111111101000000000000101111111111111111010000000000000011111111111111110100000000000000111111111111111101000000000000001111111111111111010000000000000010111111111111110100000000000000101111111111111101000000000000000011111111111111010000000000000000101111111111110100000000000000000011111111111111000000000000000000001111111111110000000000000000000010111111111100000000000000000000001111111111000000000000000000000011111111110000000000000000000000101111111100000000000000000000001011111111000000000000000000000000111111110000000000000000000000001111110100000000000000000000000011111101000000000000000000000000111111010000000000000000000000001111110100000000000000000000000010111101000000000000000000000000001111010000000000000000000000000000110000")\nconst _hex23010 = pxsim.BufferMethods.createBufferFromHex("8704270012000000000000000000000011000000000000000000001011000000000000000000001111000000000000000000001111000000000000000010111111000000000000001011111111000000000000001111111111000000000000101111111111000000000000111111111111000000000010111111111111000000000010111111111111000000000010111111111111000000000011111111111111000000001011111111111111000000001011111111111111000000001111111111111111000000001111111111111111000000101111111111111111000000101111111111111101000000101111111111111101000000101111111111111101000000001111111111111101000000001111111111111101000000101111111111111101000000111111111111111101000000111111111111111101000000111111111111111101000000111111111111111101000000101111111111111101000000001111111111111101000000001011111111111101000000000011111111111101000000000010111111111101000000000000101111111101000000000000101111111101000000000000001111111101000000000000001011111101000000000000000011111100000000000000000000110100000000")\n\n\n\n\nfunction animation_runImageAnimation__P1553(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.anim___8656 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_pxtcore_mkClassInstance(animation_ImageAnimation__C1545_VT);\n s.tmp_0 = r0;\n s.tmp_1 = r0 = s.arg2;\n r0 = pxsim_numops_toBool(s.tmp_1);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_1;\n { step = 2; continue; }\n case 1:\n r0 = 500;\n case 2:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n s.tmp_3 = animation_ImageAnimation_constructor__P1548_mk(s);\n s.tmp_3.arg0 = s.tmp_0;\n s.tmp_3.arg1 = s.arg0;\n s.tmp_3.arg2 = s.arg1;\n s.tmp_3.arg3 = s.tmp_2;\n r0 = pxsim_numops_toBoolDecr(s.arg3);\n s.tmp_6 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_6);\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_5);\n s.tmp_4 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_4);\n s.tmp_3.arg4 = r0;\n s.pc = 3; return s.tmp_3;\n case 3:\n r0 = s.retval;\n s.anim___8656 = (s.tmp_0);\n s.tmp_0 = animation_SpriteAnimation_init__P1542_mk(s);\n s.tmp_0.arg0 = s.anim___8656;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nanimation_runImageAnimation__P1553.info = {"start":19924,"length":222,"line":510,"column":4,"endLine":513,"endColumn":5,"fileName":"pxt_modules/animation/animation.ts","functionName":"runImageAnimation","argumentNames":["sprite","frames","frameInterval","loop"]}\n\nfunction animation_runImageAnimation__P1553_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: animation_runImageAnimation__P1553, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n anim___8656: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction animation_ImageAnimation_constructor__P1548(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, animation_ImageAnimation__C1545_VT)) failedCast(r0);\n r0 = (s.arg0).fields["frames"] = (s.arg2);\n r0 = (s.arg0).fields["frameInterval"] = (s.arg3);\n s.tmp_0 = animation_SpriteAnimation_constructor__P1544_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.tmp_0.arg2 = s.arg4;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = (s.arg0).fields["lastFrame"] = (-1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nanimation_ImageAnimation_constructor__P1548.info = {"start":17589,"length":178,"line":450,"column":8,"endLine":454,"endColumn":9,"fileName":"pxt_modules/animation/animation.ts","functionName":"inline","argumentNames":["this","sprite","frames","frameInterval","loop"]}\n\nfunction animation_ImageAnimation_constructor__P1548_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: animation_ImageAnimation_constructor__P1548, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n} }\n\n\n\n\n\nfunction animation_SpriteAnimation_constructor__P1544(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, animation_SpriteAnimation__C1541_VT)) failedCast(r0);\n r0 = (s.arg0).fields["sprite"] = (s.arg1);\n r0 = (s.arg0).fields["loop"] = (s.arg2);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nanimation_SpriteAnimation_constructor__P1544.info = {"start":16085,"length":71,"line":412,"column":8,"endLine":413,"endColumn":9,"fileName":"pxt_modules/animation/animation.ts","functionName":"inline","argumentNames":["this","sprite","loop"]}\n\nfunction animation_SpriteAnimation_constructor__P1544_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: animation_SpriteAnimation_constructor__P1544, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction animation_SpriteAnimation_init__P1542(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.state___8667 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, animation_SpriteAnimation__C1541_VT)) failedCast(r0);\n r0 = pxsim_pxtrt.mklocRef();\n s.state___8667 = (r0);\n s.tmp_0 = r0 = s.state___8667;\n s.tmp_4 = game_currentScene__P769_mk(s);\n s.pc = 3; return s.tmp_4;\n case 3:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = s.tmp_3.fields["_data"];\n s.tmp_2 = r0;\n r0 = pxsim_pxtrt.mapGetGeneric(s.tmp_2, "__animation");\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1);\n r0 = pxsim_pxtrt_ldlocRef(s.state___8667);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_pxtrt.mkMap();\n s.tmp_3 = r0;\n r0 = pxsim_Array__mk();\n s.tmp_4 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_3, "animations", s.tmp_4);\n s.tmp_7 = game_currentScene__P769_mk(s);\n s.pc = 4; return s.tmp_7;\n case 4:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = s.tmp_6.fields["_data"];\n s.tmp_5 = r0;\n r0 = pxsim_pxtrt.mapSetGeneric(s.tmp_5, "__animation", s.tmp_3);\n r0 = pxsim_pxtrt_stlocRef(s.state___8667, s.tmp_3);\n r0 = pxsim_pxtcore_mkAction(1, inline__P8681);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.state___8667);\n s.tmp_1 = control_EventContext_registerFrameHandler__P226_mk(s);\n s.tmp_2 = game_eventContext__P1017_mk(s);\n s.pc = 6; return s.tmp_2;\n case 6:\n r0 = s.retval;\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = 15;\n s.tmp_1.arg2 = s.tmp_0;\n s.pc = 5; return s.tmp_1;\n case 5:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = pxsim_pxtcore_mkAction(1, inline__P8698);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n s.tmp_1 = if_animations_2_mk(s);\n r0 = pxsim_pxtrt_ldlocRef(s.state___8667);\n s.tmp_1.arg0 = r0;\n s.tmp_2 = helpers_arrayFilter__P48_mk(s);\n s.tmp_3 = if_animations_1_mk(s);\n r0 = pxsim_pxtrt_ldlocRef(s.state___8667);\n s.tmp_3.arg0 = r0;\n if (!s.tmp_3.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, "animations");\n } else {\n s.tmp_3.fn = s.tmp_3.arg0.vtable.iface["animations"];\n if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields["animations"]; }\n else { s.pc = 9; return s.tmp_3; }\n }\n case 9:\n r0 = s.retval;\n s.tmp_2.arg0 = r0;\n s.tmp_2.arg1 = s.tmp_0;\n s.pc = 8; return s.tmp_2;\n case 8:\n r0 = s.retval;\n s.tmp_1.arg1 = r0;\n if (!s.tmp_1.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapSetByString(s.tmp_1.arg0, "animations", s.tmp_1.arg1);\n } else {\n s.tmp_1.fn = s.tmp_1.arg0.vtable.iface["set/animations"];\n if (s.tmp_1.fn === null) { s.tmp_1.arg0.fields["animations"] = s.tmp_1.arg1; }\n else if (s.tmp_1.fn === undefined) { failedCast(s.tmp_1.arg0) }\n else { s.pc = 7; return s.tmp_1; }\n }\n case 7:\n r0 = s.retval;\n s.tmp_1 = if_animations_1_mk(s);\n r0 = pxsim_pxtrt_ldlocRef(s.state___8667);\n s.tmp_1.arg0 = r0;\n if (!s.tmp_1.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, "animations");\n } else {\n s.tmp_1.fn = s.tmp_1.arg0.vtable.iface["animations"];\n if (s.tmp_1.fn == null) { s.retval = s.tmp_1.arg0.fields["animations"]; }\n else { s.pc = 10; return s.tmp_1; }\n }\n case 10:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.arg0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nanimation_SpriteAnimation_init__P1542.info = {"start":16166,"length":1185,"line":415,"column":8,"endLine":439,"endColumn":9,"fileName":"pxt_modules/animation/animation.ts","functionName":"init","argumentNames":["this"]}\n\nfunction animation_SpriteAnimation_init__P1542_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: animation_SpriteAnimation_init__P1542, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n state___8667: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P8681(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = if_animations_2_mk(s);\n r0 = pxsim_pxtrt_ldlocRef(s.caps[0]);\n s.tmp_0.arg0 = r0;\n s.tmp_1 = helpers_arrayFilter__P48_mk(s);\n s.tmp_2 = if_animations_1_mk(s);\n r0 = pxsim_pxtrt_ldlocRef(s.caps[0]);\n s.tmp_2.arg0 = r0;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "animations");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["animations"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["animations"]; }\n else { s.pc = 3; return s.tmp_2; }\n }\n case 3:\n r0 = s.retval;\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = inline__P8688;\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n if (!s.tmp_0.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapSetByString(s.tmp_0.arg0, "animations", s.tmp_0.arg1);\n } else {\n s.tmp_0.fn = s.tmp_0.arg0.vtable.iface["set/animations"];\n if (s.tmp_0.fn === null) { s.tmp_0.arg0.fields["animations"] = s.tmp_0.arg1; }\n else if (s.tmp_0.fn === undefined) { failedCast(s.tmp_0.arg0) }\n else { s.pc = 1; return s.tmp_0; }\n }\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P8681.info = {"start":16598,"length":257,"line":424,"column":90,"endLine":428,"endColumn":17,"fileName":"pxt_modules/animation/animation.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P8681_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P8681, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n} }\n\n\n\n\n\nfunction inline__P8688(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_2 = animation_SpriteAnimation__C1541_v0_1_mk(s);\n s.tmp_2.arg0 = s.arg0;\n if (!checkSubtype(s.tmp_2.arg0, animation_SpriteAnimation__C1541_VT)) failedCast(s.tmp_2.arg0);\n s.tmp_2.fn = s.tmp_2.arg0.vtable.methods.update;\n s.pc = 1; return s.tmp_2;\n case 1:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\ninline__P8688.info = {"start":16669,"length":166,"line":425,"column":63,"endLine":427,"endColumn":21,"fileName":"pxt_modules/animation/animation.ts","functionName":"inline","argumentNames":["anim"]}\n\nfunction inline__P8688_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P8688, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P8698(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0.fields["sprite"];\n s.tmp_1 = r0;\n r0 = s.caps[0].fields["sprite"];\n s.tmp_2 = r0;\n r0 = (s.tmp_1 === s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 8; continue; }\n case 1:\n r0 = s.arg0;\n r0 = checkSubtype(r0, animation_ImageAnimation__C1545_VT);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBool(s.tmp_3);\n if (r0) { step = 2; continue; }\n r0 = s.tmp_3;\n { step = 3; continue; }\n case 2:\n r0 = s.caps[0];\n r0 = checkSubtype(r0, animation_ImageAnimation__C1545_VT);\n case 3:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBool(s.tmp_4);\n if (!r0) { step = 4; continue; }\n r0 = s.tmp_4;\n { step = 7; continue; }\n case 4:\n r0 = s.arg0;\n r0 = checkSubtype(r0, animation_MovementAnimation__C1549_VT);\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBool(s.tmp_5);\n if (r0) { step = 5; continue; }\n r0 = s.tmp_5;\n { step = 6; continue; }\n case 5:\n r0 = s.caps[0];\n r0 = checkSubtype(r0, animation_MovementAnimation__C1549_VT);\n case 6:\n // jmp value (already in r0)\n s.tmp_6 = r0;\n r0 = s.tmp_6;\n case 7:\n // jmp value (already in r0)\n s.tmp_7 = r0;\n r0 = s.tmp_7;\n case 8:\n // jmp value (already in r0)\n s.tmp_8 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_8);\n s.tmp_9 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_9);\n return leave(s, r0)\n default: oops()\n} } }\ninline__P8698.info = {"start":17012,"length":285,"line":432,"column":55,"endLine":436,"endColumn":13,"fileName":"pxt_modules/animation/animation.ts","functionName":"inline","argumentNames":["anim"]}\n\nfunction inline__P8698_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P8698, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction animation_SpriteAnimation_update__P1543(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, animation_SpriteAnimation__C1541_VT)) failedCast(r0);\n r0 = false;\n return leave(s, r0)\n default: oops()\n} } }\nanimation_SpriteAnimation_update__P1543.info = {"start":17361,"length":118,"line":441,"column":8,"endLine":444,"endColumn":9,"fileName":"pxt_modules/animation/animation.ts","functionName":"update","argumentNames":["this"]}\n\nfunction animation_SpriteAnimation_update__P1543_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: animation_SpriteAnimation_update__P1543, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_Scene_data__P925(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Scene__C923_VT)) failedCast(r0);\n r0 = s.arg0.fields["_data"];\n return leave(s, r0)\n default: oops()\n} } }\nscene_Scene_data__P925.info = {"start":5591,"length":53,"line":157,"column":8,"endLine":159,"endColumn":9,"fileName":"pxt_modules/game/scene.ts","functionName":"data","argumentNames":["this"]}\n\nfunction scene_Scene_data__P925_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Scene_data__P925, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Sprite_setVelocity__P640(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_0 = Sprite_vx__P614_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.tmp_0 = Sprite_vy__P616_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg2;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_setVelocity__P640.info = {"start":11311,"length":93,"line":401,"column":4,"endLine":404,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"setVelocity","argumentNames":["this","vx","vy"]}\n\nfunction Sprite_setVelocity__P640_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_setVelocity__P640, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction Sprite_setPosition__P639(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.physics___8332 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = r0.fields["physicsEngine"];\n s.physics___8332 = (r0);\n s.tmp_0 = PhysicsEngine__C708_v2_4_mk(s);\n s.tmp_0.arg0 = s.physics___8332;\n s.tmp_0.arg1 = s.arg0;\n s.tmp_2 = r0 = s.arg1;\n s.tmp_4 = Sprite_x__P609_mk(s);\n s.tmp_4.arg0 = s.arg0;\n s.pc = 3; return s.tmp_4;\n case 3:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_2 - s.tmp_3);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 * 256);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 | 0);\n s.tmp_0.arg2 = r0;\n s.tmp_7 = r0 = s.arg2;\n s.tmp_9 = Sprite_y__P611_mk(s);\n s.tmp_9.arg0 = s.arg0;\n s.pc = 4; return s.tmp_9;\n case 4:\n r0 = s.retval;\n s.tmp_8 = r0;\n r0 = (s.tmp_7 - s.tmp_8);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 * 256);\n s.tmp_10 = r0;\n r0 = (s.tmp_10 | 0);\n s.tmp_0.arg3 = r0;\n if (!checkSubtype(s.tmp_0.arg0, PhysicsEngine__C708_VT)) failedCast(s.tmp_0.arg0);\n s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.moveSprite;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_setPosition__P639.info = {"start":10748,"length":220,"line":381,"column":4,"endLine":388,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"setPosition","argumentNames":["this","x","y"]}\n\nfunction Sprite_setPosition__P639_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_setPosition__P639, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n physics___8332: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction Sprite_x__P610(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_0 = Sprite_left__P630_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_1 = r0 = s.arg1;\n r0 = s.arg0.fields["_image"];\n s.tmp_4 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_4);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 >> 1);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 - s.tmp_2);\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_x__P610.info = {"start":1328,"length":73,"line":58,"column":4,"endLine":60,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"x","argumentNames":["this","v"]}\n\nfunction Sprite_x__P610_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_x__P610, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_left__P630(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.physics___8353 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = r0.fields["physicsEngine"];\n s.physics___8353 = (r0);\n s.tmp_0 = PhysicsEngine__C708_v2_4_mk(s);\n s.tmp_0.arg0 = s.physics___8353;\n s.tmp_0.arg1 = s.arg0;\n r0 = (s.arg1 * 256);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_1 = r0;\n r0 = s.arg0.fields["_x"];\n s.tmp_3 = r0;\n r0 = (s.tmp_1 - s.tmp_3);\n s.tmp_0.arg2 = r0;\n s.tmp_0.arg3 = globals.zeroFx8___79;\n if (!checkSubtype(s.tmp_0.arg0, PhysicsEngine__C708_VT)) failedCast(s.tmp_0.arg0);\n s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.moveSprite;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_left__P630.info = {"start":7749,"length":257,"line":276,"column":4,"endLine":286,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"left","argumentNames":["this","value"]}\n\nfunction Sprite_left__P630_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_left__P630, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n physics___8353: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_left__P629(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields["_x"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 + 128);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 >> 8);\n return leave(s, r0)\n default: oops()\n} } }\nSprite_left__P629.info = {"start":7607,"length":51,"line":271,"column":4,"endLine":273,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"left","argumentNames":["this"]}\n\nfunction Sprite_left__P629_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_left__P629, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Sprite_x__P609(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields["_x"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 + 128);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 >> 8);\n s.tmp_0 = r0;\n r0 = s.arg0.fields["_image"];\n s.tmp_5 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_5);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 >> 1);\n s.tmp_3 = r0;\n r0 = (s.tmp_0 + s.tmp_3);\n return leave(s, r0)\n default: oops()\n} } }\nSprite_x__P609.info = {"start":1157,"length":83,"line":53,"column":4,"endLine":55,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"x","argumentNames":["this"]}\n\nfunction Sprite_x__P609_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_x__P609, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction sprites_create__P602(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.scene___8381 = undefined;\n s.sprite___8383 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.scene___8381 = (r0);\n r0 = pxsim_pxtcore_mkClassInstance(Sprite__C607_VT);\n s.tmp_0 = r0;\n s.tmp_1 = Sprite_constructor__P657_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = s.arg0;\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n s.sprite___8383 = (s.tmp_0);\n s.tmp_0 = Sprite_setKind__P638_mk(s);\n s.tmp_0.arg0 = s.sprite___8383;\n s.tmp_0.arg1 = s.arg1;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.tmp_0 = PhysicsEngine__C708_v0_2_mk(s);\n r0 = s.scene___8381.fields["physicsEngine"];\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = s.sprite___8383;\n if (!checkSubtype(s.tmp_0.arg0, PhysicsEngine__C708_VT)) failedCast(s.tmp_0.arg0);\n s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.addSprite;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkAction(1, inline__P8398);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg1);\n r0 = pxsim_pxtcore_mkAction(1, inline__P8403);\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_1, 0, s.sprite___8383);\n s.tmp_2 = helpers_arrayForEach__P47_mk(s);\n s.tmp_3 = helpers_arrayFilter__P48_mk(s);\n r0 = s.scene___8381.fields["createdHandlers"];\n s.tmp_3.arg0 = r0;\n s.tmp_3.arg1 = s.tmp_0;\n s.pc = 6; return s.tmp_3;\n case 6:\n r0 = s.retval;\n s.tmp_2.arg0 = r0;\n s.tmp_2.arg1 = s.tmp_1;\n s.pc = 5; return s.tmp_2;\n case 5:\n r0 = s.retval;\n r0 = s.sprite___8383;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_create__P602.info = {"start":890,"length":400,"line":35,"column":4,"endLine":47,"endColumn":5,"fileName":"pxt_modules/game/sprites.ts","functionName":"create","argumentNames":["img","kind"]}\n\nfunction sprites_create__P602_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_create__P602, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n scene___8381: undefined,\n sprite___8383: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction inline__P8398(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0.fields["kind"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 == s.caps[0]);\n return leave(s, r0)\n default: oops()\n} } }\ninline__P8398.info = {"start":1195,"length":19,"line":43,"column":20,"endLine":43,"endColumn":39,"fileName":"pxt_modules/game/sprites.ts","functionName":"inline","argumentNames":["h"]}\n\nfunction inline__P8398_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P8398, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P8403(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = lambda_2_mk(s);\n r0 = s.arg0.fields["handler"];\n s.tmp_0.argL = r0;\n s.tmp_0.arg0 = s.caps[0];\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P8403.info = {"start":1237,"length":22,"line":44,"column":21,"endLine":44,"endColumn":43,"fileName":"pxt_modules/game/sprites.ts","functionName":"inline","argumentNames":["h"]}\n\nfunction inline__P8403_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P8403, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction PhysicsEngine_addSprite__P709(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, PhysicsEngine__C708_VT)) failedCast(r0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nPhysicsEngine_addSprite__P709.info = {"start":124,"length":29,"line":8,"column":4,"endLine":8,"endColumn":33,"fileName":"pxt_modules/game/physics.ts","functionName":"addSprite","argumentNames":["this","sprite"]}\n\nfunction PhysicsEngine_addSprite__P709_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: PhysicsEngine_addSprite__P709, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_constructor__P657(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_0 = sprites_BaseSprite_constructor__P516_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = 0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_4 = r0;\n r0 = pxsim_ImageMethods.width(s.arg1);\n s.tmp_5 = r0;\n r0 = (s.tmp_4 - s.tmp_5);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 >> 1);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 * 256);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["_x"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n s.tmp_4 = r0;\n r0 = pxsim_ImageMethods.height(s.arg1);\n s.tmp_5 = r0;\n r0 = (s.tmp_4 - s.tmp_5);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 >> 1);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 * 256);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["_y"] = (s.tmp_1);\n r0 = s.arg0.fields["_x"];\n s.tmp_0 = r0;\n r0 = (s.arg0).fields["_lastX"] = (s.tmp_0);\n r0 = s.arg0.fields["_y"];\n s.tmp_0 = r0;\n r0 = (s.arg0).fields["_lastY"] = (s.tmp_0);\n s.tmp_0 = Sprite_vx__P614_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = 0;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n s.tmp_0 = Sprite_vy__P616_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = 0;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.tmp_0 = Sprite_ax__P618_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = 0;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n s.tmp_0 = Sprite_ay__P620_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = 0;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n r0 = (s.arg0).fields["flags"] = (0);\n s.tmp_0 = Sprite_setImage__P625_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n s.tmp_0 = Sprite_setKind__P638_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = -1;\n s.pc = 7; return s.tmp_0;\n case 7:\n r0 = s.retval;\n r0 = (s.arg0).fields["layer"] = (1);\n r0 = (s.arg0).fields["lifespan"] = (undefined);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["_overlappers"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["_obstacles"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_constructor__P657.info = {"start":4147,"length":578,"line":164,"column":4,"endLine":182,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"inline","argumentNames":["this","img"]}\n\nfunction Sprite_constructor__P657_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_constructor__P657, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_setImage__P625(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.oMinX___3091 = undefined;\n s.oMinY___3092 = undefined;\n s.oMaxX___3093 = undefined;\n s.oMaxY___3094 = undefined;\n s.nMinX___3131 = undefined;\n s.nMinY___3135 = undefined;\n s.nMaxX___3139 = undefined;\n s.nMaxY___3146 = undefined;\n s.minXDiff___3153 = undefined;\n s.minYDiff___3156 = undefined;\n s.maxXDiff___3159 = undefined;\n s.maxYDiff___3162 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 13; continue; }\n case 1:\n case 2:\n s.oMinX___3091 = (0);\n s.oMinY___3092 = (0);\n s.oMaxX___3093 = (0);\n s.oMaxY___3094 = (0);\n r0 = s.arg0.fields["_hitbox"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = s.arg0.fields["_hitbox"];\n r0 = r0.fields["ox"];\n s.oMinX___3091 = (r0);\n r0 = s.arg0.fields["_hitbox"];\n r0 = r0.fields["oy"];\n s.oMinY___3092 = (r0);\n r0 = s.arg0.fields["_hitbox"];\n r0 = r0.fields["ox"];\n s.tmp_0 = r0;\n r0 = s.arg0.fields["_hitbox"];\n r0 = r0.fields["width"];\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n s.oMaxX___3093 = (r0);\n r0 = s.arg0.fields["_hitbox"];\n r0 = r0.fields["oy"];\n s.tmp_0 = r0;\n r0 = s.arg0.fields["_hitbox"];\n r0 = r0.fields["height"];\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n s.oMaxY___3094 = (r0);\n case 3:\n case 4:\n r0 = (s.arg0).fields["_image"] = (s.arg1);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_2 = game_calculateHitBox__P599_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 14; return s.tmp_2;\n case 14:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["_hitbox"] = (s.tmp_1);\n r0 = s.arg0.fields["_hitbox"];\n r0 = r0.fields["ox"];\n s.nMinX___3131 = (r0);\n r0 = s.arg0.fields["_hitbox"];\n r0 = r0.fields["oy"];\n s.nMinY___3135 = (r0);\n r0 = s.arg0.fields["_hitbox"];\n r0 = r0.fields["ox"];\n s.tmp_0 = r0;\n r0 = s.arg0.fields["_hitbox"];\n r0 = r0.fields["width"];\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n s.nMaxX___3139 = (r0);\n r0 = s.arg0.fields["_hitbox"];\n r0 = r0.fields["oy"];\n s.tmp_0 = r0;\n r0 = s.arg0.fields["_hitbox"];\n r0 = r0.fields["height"];\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n s.nMaxY___3146 = (r0);\n r0 = (s.oMinX___3091 - s.nMinX___3131);\n s.minXDiff___3153 = (r0);\n r0 = (s.oMinY___3092 - s.nMinY___3135);\n s.minYDiff___3156 = (r0);\n r0 = (s.oMaxX___3093 - s.nMaxX___3139);\n s.maxXDiff___3159 = (r0);\n r0 = (s.oMaxY___3094 - s.nMaxY___3146);\n s.maxYDiff___3162 = (r0);\n r0 = (s.oMaxX___3093 != s.oMinX___3091);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 5; continue; }\n r0 = s.tmp_0;\n { step = 6; continue; }\n case 5:\n s.tmp_3 = Math_abs__P59_mk(s);\n s.tmp_3.arg0 = s.minXDiff___3153;\n s.pc = 15; return s.tmp_3;\n case 15:\n r0 = s.retval;\n s.tmp_2 = r0;\n s.tmp_5 = Math_abs__P59_mk(s);\n s.tmp_5.arg0 = s.maxXDiff___3159;\n s.pc = 16; return s.tmp_5;\n case 16:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = (s.tmp_2 + s.tmp_4);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 <= 2);\n case 6:\n // jmp value (already in r0)\n s.tmp_6 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_6);\n if (!r0) { step = 7; continue; }\n r0 = s.arg0.fields["_hitbox"];\n s.tmp_7 = r0;\n r0 = (s.tmp_7).fields["ox"] = (s.oMinX___3091);\n r0 = s.arg0.fields["_hitbox"];\n s.tmp_0 = r0;\n r0 = (s.oMaxX___3093 - s.oMinX___3091);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["width"] = (s.tmp_1);\n case 7:\n case 8:\n r0 = (s.oMaxY___3094 != s.oMinY___3092);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 9; continue; }\n r0 = s.tmp_0;\n { step = 10; continue; }\n case 9:\n s.tmp_3 = Math_abs__P59_mk(s);\n s.tmp_3.arg0 = s.minYDiff___3156;\n s.pc = 17; return s.tmp_3;\n case 17:\n r0 = s.retval;\n s.tmp_2 = r0;\n s.tmp_5 = Math_abs__P59_mk(s);\n s.tmp_5.arg0 = s.maxYDiff___3162;\n s.pc = 18; return s.tmp_5;\n case 18:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = (s.tmp_2 + s.tmp_4);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 <= 2);\n case 10:\n // jmp value (already in r0)\n s.tmp_6 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_6);\n if (!r0) { step = 11; continue; }\n r0 = s.arg0.fields["_hitbox"];\n s.tmp_7 = r0;\n r0 = (s.tmp_7).fields["oy"] = (s.oMinY___3092);\n r0 = s.arg0.fields["_hitbox"];\n s.tmp_0 = r0;\n r0 = (s.oMaxY___3094 - s.oMinY___3092);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["height"] = (s.tmp_1);\n case 11:\n case 12:\n case 13:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_setImage__P625.info = {"start":5754,"length":1391,"line":212,"column":4,"endLine":252,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"setImage","argumentNames":["this","img"]}\n\nfunction Sprite_setImage__P625_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_setImage__P625, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n oMinX___3091: undefined,\n oMinY___3092: undefined,\n oMaxX___3093: undefined,\n oMaxY___3094: undefined,\n nMinX___3131: undefined,\n nMinY___3135: undefined,\n nMaxX___3139: undefined,\n nMaxY___3146: undefined,\n minXDiff___3153: undefined,\n minYDiff___3156: undefined,\n maxXDiff___3159: undefined,\n maxYDiff___3162: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction game_calculateHitBox__P599(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.i___3202 = undefined;\n s.minX___3205 = undefined;\n s.minY___3208 = undefined;\n s.maxX___3211 = undefined;\n s.maxY___3212 = undefined;\n s.c___3213 = undefined;\n s.r___3218 = undefined;\n s.width___3249 = undefined;\n s.height___3254 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0.fields["_image"];\n s.i___3202 = (r0);\n r0 = pxsim_ImageMethods.width(s.i___3202);\n s.minX___3205 = (r0);\n r0 = pxsim_ImageMethods.height(s.i___3202);\n s.minY___3208 = (r0);\n s.maxX___3211 = (0);\n s.maxY___3212 = (0);\n s.c___3213 = (0);\n case 1:\n s.tmp_1 = r0 = s.c___3213;\n r0 = pxsim_ImageMethods.width(s.i___3202);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 6; continue; }\n s.r___3218 = (0);\n case 2:\n s.tmp_1 = r0 = s.r___3218;\n r0 = pxsim_ImageMethods.height(s.i___3202);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = pxsim_ImageMethods.getPixel(s.i___3202, s.c___3213, s.r___3218);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 3; continue; }\n s.tmp_4 = Math_min__P62_mk(s);\n s.tmp_4.arg0 = s.minX___3205;\n s.tmp_4.arg1 = s.c___3213;\n s.pc = 7; return s.tmp_4;\n case 7:\n r0 = s.retval;\n s.minX___3205 = (r0);\n s.tmp_0 = Math_min__P62_mk(s);\n s.tmp_0.arg0 = s.minY___3208;\n s.tmp_0.arg1 = s.r___3218;\n s.pc = 8; return s.tmp_0;\n case 8:\n r0 = s.retval;\n s.minY___3208 = (r0);\n s.tmp_0 = Math_max__P61_mk(s);\n s.tmp_0.arg0 = s.maxX___3211;\n s.tmp_0.arg1 = s.c___3213;\n s.pc = 9; return s.tmp_0;\n case 9:\n r0 = s.retval;\n s.maxX___3211 = (r0);\n s.tmp_0 = Math_max__P61_mk(s);\n s.tmp_0.arg0 = s.maxY___3212;\n s.tmp_0.arg1 = s.r___3218;\n s.pc = 10; return s.tmp_0;\n case 10:\n r0 = s.retval;\n s.maxY___3212 = (r0);\n case 3:\n case 4:\n r0 = (s.r___3218 + 1);\n s.r___3218 = (r0);\n { step = 2; continue; }\n case 5:\n r0 = (s.c___3213 + 1);\n s.c___3213 = (r0);\n { step = 1; continue; }\n case 6:\n r0 = (s.maxX___3211 - s.minX___3205);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 + 1);\n s.width___3249 = (r0);\n r0 = (s.maxY___3212 - s.minY___3208);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 + 1);\n s.height___3254 = (r0);\n r0 = pxsim_pxtcore_mkClassInstance(game_Hitbox__C593_VT);\n s.tmp_0 = r0;\n s.tmp_1 = game_Hitbox_constructor__P598_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = s.arg0;\n s.tmp_1.arg2 = s.width___3249;\n s.tmp_1.arg3 = s.height___3254;\n s.tmp_1.arg4 = s.minX___3205;\n s.tmp_1.arg5 = s.minY___3208;\n s.pc = 11; return s.tmp_1;\n case 11:\n r0 = s.retval;\n r0 = s.tmp_0;\n return leave(s, r0)\n default: oops()\n} } }\ngame_calculateHitBox__P599.info = {"start":764,"length":692,"line":34,"column":4,"endLine":56,"endColumn":5,"fileName":"pxt_modules/game/hitbox.ts","functionName":"calculateHitBox","argumentNames":["s"]}\n\nfunction game_calculateHitBox__P599_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_calculateHitBox__P599, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n i___3202: undefined,\n minX___3205: undefined,\n minY___3208: undefined,\n maxX___3211: undefined,\n maxY___3212: undefined,\n c___3213: undefined,\n r___3218: undefined,\n width___3249: undefined,\n height___3254: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Sprite_image__P624(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields["_image"];\n return leave(s, r0)\n default: oops()\n} } }\nSprite_image__P624.info = {"start":5478,"length":54,"line":202,"column":4,"endLine":204,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"image","argumentNames":["this"]}\n\nfunction Sprite_image__P624_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_image__P624, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_Hitbox_constructor__P598(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.arg5 = (s.lambdaArgs[5]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_Hitbox__C593_VT)) failedCast(r0);\n r0 = (s.arg0).fields["width"] = (s.arg2);\n r0 = (s.arg0).fields["height"] = (s.arg3);\n r0 = (s.arg0).fields["parent"] = (s.arg1);\n r0 = (s.arg0).fields["ox"] = (s.arg4);\n r0 = (s.arg0).fields["oy"] = (s.arg5);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_Hitbox_constructor__P598.info = {"start":163,"length":246,"line":8,"column":8,"endLine":14,"endColumn":9,"fileName":"pxt_modules/game/hitbox.ts","functionName":"inline","argumentNames":["this","parent","width","height","ox","oy"]}\n\nfunction game_Hitbox_constructor__P598_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_Hitbox_constructor__P598, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n arg5: undefined,\n} }\n\n\n\n\n\nfunction Sprite_ax__P618(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg1 * 256);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["_ax"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_ax__P618.info = {"start":2700,"length":51,"line":102,"column":4,"endLine":104,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"ax","argumentNames":["this","v"]}\n\nfunction Sprite_ax__P618_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_ax__P618, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_ax__P617(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields["_ax"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 / 256);\n return leave(s, r0)\n default: oops()\n} } }\nSprite_ax__P617.info = {"start":2534,"length":60,"line":97,"column":4,"endLine":99,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"ax","argumentNames":["this"]}\n\nfunction Sprite_ax__P617_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_ax__P617, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_setBackgroundColor__P935(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.scene___8475 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.scene___8475 = (r0);\n r0 = s.scene___8475.fields["background"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0).fields["color"] = (s.arg0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_setBackgroundColor__P935.info = {"start":1004,"length":140,"line":37,"column":4,"endLine":40,"endColumn":5,"fileName":"pxt_modules/game/scenes.ts","functionName":"setBackgroundColor","argumentNames":["color"]}\n\nfunction scene_setBackgroundColor__P935_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_setBackgroundColor__P935, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n scene___8475: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction gameover__P22758(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.scoreInfo___23014 = undefined;\n s.highScore___23017 = undefined;\n s.c___23066 = undefined;\n globals.over___22733 = (true);\n s.tmp_0 = info_PlayerInfo_getState__P825_mk(s);\n s.tmp_0.arg0 = globals.player1___845;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.scoreInfo___23014 = (r0);\n s.tmp_0 = info_highScore__P800_mk(s);\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n s.highScore___23017 = (r0);\n r0 = s.scoreInfo___23014.fields["score"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > s.highScore___23017);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_2 = info_saveHighScore__P797_mk(s);\n s.pc = 5; return s.tmp_2;\n case 5:\n r0 = s.retval;\n case 1:\n case 2:\n s.tmp_0 = music_setVolume__P341_mk(s);\n s.tmp_0.arg0 = 12;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n s.tmp_0 = music_Melody_play__P357_mk(s);\n s.tmp_0.arg0 = globals.wawawawaa___368;\n s.tmp_0.arg1 = 255;\n s.pc = 7; return s.tmp_0;\n case 7:\n r0 = s.retval;\n s.tmp_0 = Sprite_destroy__P653_mk(s);\n s.tmp_0.arg0 = globals.bunny___22740;\n s.tmp_0.arg1 = undefined;\n s.tmp_0.arg2 = undefined;\n s.pc = 8; return s.tmp_0;\n case 8:\n r0 = s.retval;\n s.tmp_0 = game_onShade__P1032_mk(s);\n s.tmp_0.arg0 = inline__P23031;\n s.pc = 9; return s.tmp_0;\n case 9:\n r0 = s.retval;\n s.tmp_0 = pause__P241_mk(s);\n s.tmp_0.arg0 = 500;\n s.pc = 10; return s.tmp_0;\n case 10:\n r0 = s.retval;\n s.tmp_0 = sprites_create__P602_mk(s);\n r0 = pxsim.image.ofBuffer(_hex23069);\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = 99;\n s.pc = 11; return s.tmp_0;\n case 11:\n r0 = s.retval;\n s.c___23066 = (r0);\n s.tmp_0 = if_z_2_mk(s);\n s.tmp_0.arg0 = s.c___23066;\n s.tmp_0.arg1 = 101;\n if (!s.tmp_0.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapSetByString(s.tmp_0.arg0, "z", s.tmp_0.arg1);\n } else {\n s.tmp_0.fn = s.tmp_0.arg0.vtable.iface["set/z"];\n if (s.tmp_0.fn === null) { s.tmp_0.arg0.fields["z"] = s.tmp_0.arg1; }\n else if (s.tmp_0.fn === undefined) { failedCast(s.tmp_0.arg0) }\n else { s.pc = 12; return s.tmp_0; }\n }\n case 12:\n r0 = s.retval;\n s.tmp_0 = Sprite_setPosition__P639_mk(s);\n s.tmp_0.arg0 = s.c___23066;\n s.tmp_0.arg1 = 145;\n s.tmp_0.arg2 = 70;\n s.pc = 13; return s.tmp_0;\n case 13:\n r0 = s.retval;\n s.tmp_0 = game_waitAnyButton__P1016_mk(s);\n s.pc = 14; return s.tmp_0;\n case 14:\n r0 = s.retval;\n setupResume(s, 15);\n pxsim.control.reset();\n checkResumeConsumed();\n return;\n case 15:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngameover__P22758.info = {"start":36166,"length":1631,"line":664,"column":0,"endLine":719,"endColumn":1,"fileName":"main.ts","functionName":"gameover","argumentNames":[]}\n\nfunction gameover__P22758_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: gameover__P22758, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n scoreInfo___23014: undefined,\n highScore___23017: undefined,\n c___23066: undefined,\n} }\n\nconst _hex23069 = pxsim.BufferMethods.createBufferFromHex("87040b000b00000000606686080000006076776686000000607777676608000076171111670800007671177766080000767117776608000076711777660800007617111167080000607777676608000060767766860000000060668608000000")\n\n\n\n\nfunction inline__P23031(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = helpers_imageFillRect__P411_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_0.arg1 = 0;\n s.tmp_0.arg2 = 35;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_0.arg3 = r0;\n s.tmp_0.arg4 = 1;\n s.tmp_0.arg5 = 1;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.tmp_0 = helpers_imageFillRect__P411_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_0.arg1 = 0;\n s.tmp_0.arg2 = 36;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_0.arg3 = r0;\n s.tmp_0.arg4 = 48;\n s.tmp_0.arg5 = 15;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n s.tmp_0 = helpers_imageFillRect__P411_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_0.arg1 = 0;\n s.tmp_0.arg2 = 85;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_0.arg3 = r0;\n s.tmp_0.arg4 = 1;\n s.tmp_0.arg5 = 1;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.tmp_0 = helpers_imagePrintCenter__P431_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_0.arg1 = "Game Over!";\n s.tmp_0.arg2 = 46;\n s.tmp_0.arg3 = 5;\n s.tmp_0.arg4 = undefined;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n s.tmp_0 = helpers_imagePrintCenter__P431_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_3 = info_score__P798_mk(s);\n s.pc = 6; return s.tmp_3;\n case 6:\n r0 = s.retval;\n s.tmp_2 = r0;\n if ((s.tmp_2) && (s.tmp_2).vtable) {\n setupResume(s, 7);\n pxsim_String__stringConv(s.tmp_2);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_2) + ""; }\n case 7:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_String__concat("Score: ", s.tmp_1);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = 58;\n s.tmp_0.arg3 = 2;\n s.tmp_0.arg4 = undefined;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n s.tmp_0 = helpers_imagePrintCenter__P431_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_3 = info_highScore__P800_mk(s);\n s.pc = 9; return s.tmp_3;\n case 9:\n r0 = s.retval;\n s.tmp_2 = r0;\n if ((s.tmp_2) && (s.tmp_2).vtable) {\n setupResume(s, 10);\n pxsim_String__stringConv(s.tmp_2);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_2) + ""; }\n case 10:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_String__concat("HI: ", s.tmp_1);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = 70;\n s.tmp_0.arg3 = 2;\n s.tmp_0.arg4 = undefined;\n s.pc = 8; return s.tmp_0;\n case 8:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P23031.info = {"start":36453,"length":340,"line":676,"column":17,"endLine":683,"endColumn":5,"fileName":"main.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P23031_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P23031, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n} }\n\n\n\n\n\nfunction game_onShade__P1032(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = game_init__P1018_mk(s);\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(s.arg0);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 3; continue; }\n case 1:\n case 2:\n s.tmp_2 = scene_createRenderable__P896_mk(s);\n s.tmp_2.arg0 = 80;\n s.tmp_2.arg1 = s.arg0;\n s.tmp_2.arg2 = undefined;\n s.pc = 5; return s.tmp_2;\n case 5:\n r0 = s.retval;\n case 3:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_onShade__P1032.info = {"start":9865,"length":145,"line":319,"column":4,"endLine":323,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"onShade","argumentNames":["a"]}\n\nfunction game_onShade__P1032_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_onShade__P1032, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Sprite_destroy__P653(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields["flags"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 & 2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 5; continue; }\n case 1:\n case 2:\n s.tmp_2 = r0 = s.arg0;\n r0 = s.tmp_2.fields["flags"];\n s.tmp_4 = r0;\n r0 = (s.tmp_4 | 2);\n s.tmp_3 = r0;\n r0 = (s.tmp_2).fields["flags"] = (s.tmp_3);\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n if (!r0) { step = 3; continue; }\n s.tmp_0 = effects_ParticleEffect_destroy__P1406_mk(s);\n s.tmp_0.arg0 = s.arg1;\n s.tmp_0.arg1 = s.arg0;\n s.tmp_0.arg2 = s.arg2;\n s.tmp_0.arg3 = undefined;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n { step = 4; continue; }\n case 3:\n s.tmp_0 = Sprite__destroyCore__P654_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 7; return s.tmp_0;\n case 7:\n r0 = s.retval;\n case 4:\n case 5:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_destroy__P653.info = {"start":24607,"length":293,"line":752,"column":4,"endLine":761,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"destroy","argumentNames":["this","effect","duration"]}\n\nfunction Sprite_destroy__P653_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_destroy__P653, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction effects_ParticleEffect_destroy__P1406(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, effects_ParticleEffect__C1404_VT)) failedCast(r0);\n s.tmp_0 = Sprite_setFlag__P646_mk(s);\n s.tmp_0.arg0 = s.arg1;\n s.tmp_0.arg1 = 1;\n s.tmp_0.arg2 = true;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.tmp_0 = effects_ParticleEffect_start__P1405_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.tmp_0.arg2 = s.arg3;\n s.tmp_0.arg3 = undefined;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(s.arg2);\n if (!r0) { step = 1; continue; }\n r0 = s.arg2;\n { step = 2; continue; }\n case 1:\n r0 = s.arg0.fields["defaultLifespan"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 >> 2);\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = (s.arg1).fields["lifespan"] = (s.tmp_1);\n s.tmp_0 = effects_ImageEffect_applyTo__P1439_mk(s);\n s.tmp_0.arg0 = globals.dissolve___1443;\n s.tmp_0.arg1 = s.arg1;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\neffects_ParticleEffect_destroy__P1406.info = {"start":1652,"length":312,"line":40,"column":8,"endLine":45,"endColumn":9,"fileName":"pxt_modules/game/particleeffects.ts","functionName":"destroy","argumentNames":["this","anchor","duration","particlesPerSecond"]}\n\nfunction effects_ParticleEffect_destroy__P1406_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: effects_ParticleEffect_destroy__P1406, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction inline__P2929(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.i___2932 = undefined;\n s.x___2939 = undefined;\n s.y___2944 = undefined;\n s.w___2949 = undefined;\n s.h___2952 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_ImageMethods.width(s.arg0);\n s.tmp_1 = r0;\n r0 = pxsim_ImageMethods.height(s.arg0);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 * s.tmp_2);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 >> 5);\n s.i___2932 = (r0);\n case 1:\n r0 = (s.i___2932 > 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n s.tmp_1 = Math_FastRandom_randomRange__P1158_mk(s);\n s.tmp_1.arg0 = s.arg1;\n s.tmp_1.arg1 = 0;\n r0 = pxsim_ImageMethods.width(s.arg0);\n s.tmp_1.arg2 = r0;\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n s.x___2939 = (r0);\n s.tmp_0 = Math_FastRandom_randomRange__P1158_mk(s);\n s.tmp_0.arg0 = s.arg1;\n s.tmp_0.arg1 = 0;\n r0 = pxsim_ImageMethods.height(s.arg0);\n s.tmp_0.arg2 = r0;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n s.y___2944 = (r0);\n s.tmp_0 = Math_FastRandom_randomRange__P1158_mk(s);\n s.tmp_0.arg0 = s.arg1;\n s.tmp_0.arg1 = 1;\n s.tmp_0.arg2 = 3;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n s.w___2949 = (r0);\n s.tmp_0 = Math_FastRandom_randomRange__P1158_mk(s);\n s.tmp_0.arg0 = s.arg1;\n s.tmp_0.arg1 = 1;\n s.tmp_0.arg2 = 3;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n s.h___2952 = (r0);\n s.tmp_0 = helpers_imageDrawRect__P414_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.x___2939;\n s.tmp_0.arg2 = s.y___2944;\n s.tmp_0.arg3 = s.w___2949;\n s.tmp_0.arg4 = s.h___2952;\n s.tmp_0.arg5 = 0;\n s.pc = 7; return s.tmp_0;\n case 7:\n r0 = s.retval;\n r0 = (s.i___2932 - 1);\n s.i___2932 = (r0);\n { step = 1; continue; }\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P2929.info = {"start":2199,"length":360,"line":60,"column":49,"endLine":69,"endColumn":5,"fileName":"pxt_modules/game/effects.ts","functionName":"inline","argumentNames":["input","r"]}\n\nfunction inline__P2929_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P2929, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n i___2932: undefined,\n x___2939: undefined,\n y___2944: undefined,\n w___2949: undefined,\n h___2952: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction helpers_imageDrawRect__P414(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.arg5 = (s.lambdaArgs[5]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg3 == 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = (s.arg4 == 0);\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 3; continue; }\n { step = 5; continue; }\n case 3:\n case 4:\n r0 = (s.arg3 - 1);\n s.arg3 = (r0);\n r0 = (s.arg4 - 1);\n s.arg4 = (r0);\n s.tmp_0 = helpers_imageDrawLine__P413_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.tmp_0.arg2 = s.arg2;\n r0 = (s.arg1 + s.arg3);\n s.tmp_0.arg3 = r0;\n s.tmp_0.arg4 = s.arg2;\n s.tmp_0.arg5 = s.arg5;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n s.tmp_0 = helpers_imageDrawLine__P413_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.tmp_0.arg2 = s.arg2;\n s.tmp_0.arg3 = s.arg1;\n r0 = (s.arg2 + s.arg4);\n s.tmp_0.arg4 = r0;\n s.tmp_0.arg5 = s.arg5;\n s.pc = 7; return s.tmp_0;\n case 7:\n r0 = s.retval;\n s.tmp_0 = helpers_imageDrawLine__P413_mk(s);\n s.tmp_0.arg0 = s.arg0;\n r0 = (s.arg1 + s.arg3);\n s.tmp_0.arg1 = r0;\n r0 = (s.arg2 + s.arg4);\n s.tmp_0.arg2 = r0;\n r0 = (s.arg1 + s.arg3);\n s.tmp_0.arg3 = r0;\n s.tmp_0.arg4 = s.arg2;\n s.tmp_0.arg5 = s.arg5;\n s.pc = 8; return s.tmp_0;\n case 8:\n r0 = s.retval;\n s.tmp_0 = helpers_imageDrawLine__P413_mk(s);\n s.tmp_0.arg0 = s.arg0;\n r0 = (s.arg1 + s.arg3);\n s.tmp_0.arg1 = r0;\n r0 = (s.arg2 + s.arg4);\n s.tmp_0.arg2 = r0;\n s.tmp_0.arg3 = s.arg1;\n r0 = (s.arg2 + s.arg4);\n s.tmp_0.arg4 = r0;\n s.tmp_0.arg5 = s.arg5;\n s.pc = 9; return s.tmp_0;\n case 9:\n r0 = s.retval;\n case 5:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_imageDrawRect__P414.info = {"start":4139,"length":370,"line":140,"column":4,"endLine":148,"endColumn":5,"fileName":"pxt_modules/screen/image.ts","functionName":"imageDrawRect","argumentNames":["img","x","y","w","h","c"]}\n\nfunction helpers_imageDrawRect__P414_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_imageDrawRect__P414, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n arg5: undefined,\n} }\n\n\n\n\n\nfunction helpers_imageDrawLine__P413(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.arg5 = (s.lambdaArgs[5]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = r0 = s.arg0;\n s.tmp_2 = helpers_pack__P408_mk(s);\n s.tmp_2.arg0 = s.arg1;\n s.tmp_2.arg1 = s.arg2;\n s.pc = 1; return s.tmp_2;\n case 1:\n r0 = s.retval;\n s.tmp_1 = r0;\n s.tmp_4 = helpers_pack__P408_mk(s);\n s.tmp_4.arg0 = s.arg3;\n s.tmp_4.arg1 = s.arg4;\n s.pc = 2; return s.tmp_4;\n case 2:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods._drawLine(s.tmp_0, s.tmp_1, s.tmp_3, s.arg5);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_imageDrawLine__P413.info = {"start":3975,"length":159,"line":137,"column":4,"endLine":139,"endColumn":5,"fileName":"pxt_modules/screen/image.ts","functionName":"imageDrawLine","argumentNames":["img","x","y","w","h","c"]}\n\nfunction helpers_imageDrawLine__P413_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_imageDrawLine__P413, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n arg5: undefined,\n} }\n\n\n\n\n\nfunction effects_ImageEffect_applyTo__P1439(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.clonedImage___3077 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, effects_ImageEffect__C1438_VT)) failedCast(r0);\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = s.arg1.fields["_image"];\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n case 2:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n if (!r0) { step = 3; continue; }\n { step = 5; continue; }\n case 3:\n case 4:\n r0 = s.arg1.fields["_image"];\n s.tmp_5 = r0;\n r0 = pxsim_ImageMethods.clone(s.tmp_5);\n s.clonedImage___3077 = (r0);\n s.tmp_0 = effects_ImageEffect_change__P1440_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.clonedImage___3077;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n s.tmp_0 = Sprite_setImage__P625_mk(s);\n s.tmp_0.arg0 = s.arg1;\n s.tmp_0.arg1 = s.clonedImage___3077;\n s.pc = 7; return s.tmp_0;\n case 7:\n r0 = s.retval;\n case 5:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\neffects_ImageEffect_applyTo__P1439.info = {"start":823,"length":218,"line":21,"column":8,"endLine":26,"endColumn":9,"fileName":"pxt_modules/game/effects.ts","functionName":"applyTo","argumentNames":["this","sprite"]}\n\nfunction effects_ImageEffect_applyTo__P1439_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: effects_ImageEffect_applyTo__P1439, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n clonedImage___3077: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction effects_ImageEffect_change__P1440(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, effects_ImageEffect__C1438_VT)) failedCast(r0);\n s.tmp_0 = lambda_3_mk(s);\n r0 = s.arg0.fields["effect"];\n s.tmp_0.argL = r0;\n s.tmp_0.arg0 = s.arg1;\n r0 = s.arg0.fields["fastRandom"];\n s.tmp_0.arg1 = r0;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\neffects_ImageEffect_change__P1440.info = {"start":1151,"length":81,"line":32,"column":8,"endLine":34,"endColumn":9,"fileName":"pxt_modules/game/effects.ts","functionName":"change","argumentNames":["this","input"]}\n\nfunction effects_ImageEffect_change__P1440_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: effects_ImageEffect_change__P1440, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction effects_ParticleEffect_start__P1405(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.src___3305 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, effects_ParticleEffect__C1404_VT)) failedCast(r0);\n r0 = s.arg0.fields["sourceFactory"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 9; continue; }\n case 1:\n case 2:\n r0 = pxsim_numops_toBoolDecr(s.arg3);\n if (!r0) { step = 3; continue; }\n r0 = s.arg3;\n { step = 4; continue; }\n case 3:\n r0 = s.arg0.fields["defaultRate"];\n case 4:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n s.tmp_4 = lambda_3_mk(s);\n r0 = s.arg0.fields["sourceFactory"];\n s.tmp_4.argL = r0;\n s.tmp_4.arg0 = s.arg1;\n s.tmp_4.arg1 = s.tmp_3;\n setupLambda(s.tmp_4, s.tmp_4.argL);\n s.pc = 10; return s.tmp_4;\n case 10:\n r0 = s.retval;\n s.src___3305 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.arg2);\n if (!r0) { step = 7; continue; }\n r0 = (s.arg2 > 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = s.arg2;\n { step = 6; continue; }\n case 5:\n r0 = s.arg0.fields["defaultLifespan"];\n case 6:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = (s.src___3305).fields["lifespan"] = (s.tmp_1);\n case 7:\n case 8:\n case 9:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\neffects_ParticleEffect_start__P1405.info = {"start":968,"length":367,"line":26,"column":8,"endLine":31,"endColumn":9,"fileName":"pxt_modules/game/particleeffects.ts","functionName":"start","argumentNames":["this","anchor","duration","particlesPerSecond"]}\n\nfunction effects_ParticleEffect_start__P1405_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: effects_ParticleEffect_start__P1405, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n src___3305: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction Sprite_setFlag__P646(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = pxsim_numops_toBoolDecr(s.arg2);\n if (!r0) { step = 1; continue; }\n s.tmp_0 = r0 = s.arg0;\n r0 = s.tmp_0.fields["flags"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | s.arg1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["flags"] = (s.tmp_1);\n { step = 2; continue; }\n case 1:\n s.tmp_0 = r0 = s.arg0;\n r0 = s.arg0.fields["flags"];\n s.tmp_4 = r0;\n r0 = (~ s.tmp_4);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 | s.arg1);\n s.tmp_2 = r0;\n r0 = (~ s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["flags"] = (s.tmp_1);\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_setFlag__P646.info = {"start":21999,"length":130,"line":673,"column":4,"endLine":676,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"setFlag","argumentNames":["this","flag","on"]}\n\nfunction Sprite_setFlag__P646_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_setFlag__P646, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction Sprite__destroyCore__P654(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.scene___2774 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.tmp_0.fields["flags"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["flags"] = (s.tmp_1);\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 9; return s.tmp_0;\n case 9:\n r0 = s.retval;\n s.scene___2774 = (r0);\n r0 = s.arg0.fields["sayBubbleSprite"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_1 = Sprite_destroy__P653_mk(s);\n r0 = s.arg0.fields["sayBubbleSprite"];\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = undefined;\n s.tmp_1.arg2 = undefined;\n s.pc = 10; return s.tmp_1;\n case 10:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = s.scene___2774.fields["allSprites"];\n s.tmp_0 = r0;\n r0 = pxsim_Array_.removeElement(s.tmp_0, s.arg0);\n r0 = s.arg0.fields["_kind"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 >= 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 3; continue; }\n r0 = s.tmp_0;\n { step = 4; continue; }\n case 3:\n r0 = s.scene___2774.fields["spritesByKind"];\n s.tmp_2 = r0;\n r0 = s.arg0.fields["_kind"];\n s.tmp_3 = r0;\n r0 = pxsim_pxtrt.mapGetGeneric(s.tmp_2, s.tmp_3);\n case 4:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n if (!r0) { step = 5; continue; }\n s.tmp_5 = SpriteSet_remove__P682_mk(s);\n r0 = s.scene___2774.fields["spritesByKind"];\n s.tmp_6 = r0;\n r0 = s.arg0.fields["_kind"];\n s.tmp_7 = r0;\n r0 = pxsim_pxtrt.mapGetGeneric(s.tmp_6, s.tmp_7);\n s.tmp_5.arg0 = r0;\n s.tmp_5.arg1 = s.arg0;\n s.pc = 11; return s.tmp_5;\n case 11:\n r0 = s.retval;\n case 5:\n case 6:\n s.tmp_0 = PhysicsEngine__C708_v1_2_mk(s);\n r0 = s.scene___2774.fields["physicsEngine"];\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = s.arg0;\n if (!checkSubtype(s.tmp_0.arg0, PhysicsEngine__C708_VT)) failedCast(s.tmp_0.arg0);\n s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.removeSprite;\n s.pc = 12; return s.tmp_0;\n case 12:\n r0 = s.retval;\n r0 = s.arg0.fields["destroyHandler"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 7; continue; }\n s.tmp_1 = lambda_1_mk(s);\n r0 = s.arg0.fields["destroyHandler"];\n s.tmp_1.argL = r0;\n setupLambda(s.tmp_1, s.tmp_1.argL);\n s.pc = 13; return s.tmp_1;\n case 13:\n r0 = s.retval;\n case 7:\n case 8:\n r0 = pxsim_pxtcore_mkAction(1, inline__P2815);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n r0 = pxsim_pxtcore_mkAction(1, inline__P2821);\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_1, 0, s.arg0);\n s.tmp_2 = helpers_arrayForEach__P47_mk(s);\n s.tmp_3 = helpers_arrayFilter__P48_mk(s);\n r0 = s.scene___2774.fields["destroyedHandlers"];\n s.tmp_3.arg0 = r0;\n s.tmp_3.arg1 = s.tmp_0;\n s.pc = 15; return s.tmp_3;\n case 15:\n r0 = s.retval;\n s.tmp_2.arg0 = r0;\n s.tmp_2.arg1 = s.tmp_1;\n s.pc = 14; return s.tmp_2;\n case 14:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite__destroyCore__P654.info = {"start":24906,"length":693,"line":763,"column":4,"endLine":779,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"_destroyCore","argumentNames":["this"]}\n\nfunction Sprite__destroyCore__P654_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite__destroyCore__P654, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n scene___2774: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P2815(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0.fields["kind"];\n s.tmp_0 = r0;\n r0 = s.caps[0].fields["_kind"];\n s.tmp_1 = r0;\n r0 = (s.tmp_0 == s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\ninline__P2815.info = {"start":25522,"length":26,"line":777,"column":20,"endLine":777,"endColumn":46,"fileName":"pxt_modules/game/sprite.ts","functionName":"inline","argumentNames":["h"]}\n\nfunction inline__P2815_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P2815, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P2821(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = lambda_2_mk(s);\n r0 = s.arg0.fields["handler"];\n s.tmp_0.argL = r0;\n s.tmp_0.arg0 = s.caps[0];\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P2821.info = {"start":25571,"length":20,"line":778,"column":21,"endLine":778,"endColumn":41,"fileName":"pxt_modules/game/sprite.ts","functionName":"inline","argumentNames":["h"]}\n\nfunction inline__P2821_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P2821, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction PhysicsEngine_removeSprite__P710(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, PhysicsEngine__C708_VT)) failedCast(r0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nPhysicsEngine_removeSprite__P710.info = {"start":159,"length":32,"line":10,"column":4,"endLine":10,"endColumn":36,"fileName":"pxt_modules/game/physics.ts","functionName":"removeSprite","argumentNames":["this","sprite"]}\n\nfunction PhysicsEngine_removeSprite__P710_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: PhysicsEngine_removeSprite__P710, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_kind__P637(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields["_kind"];\n return leave(s, r0)\n default: oops()\n} } }\nSprite_kind__P637.info = {"start":9398,"length":41,"line":338,"column":4,"endLine":340,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"kind","argumentNames":["this"]}\n\nfunction Sprite_kind__P637_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_kind__P637, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction sprites_onOverlap__P674(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.sc___8491 = undefined;\n s.overlapHandlers___8493 = undefined;\n s.overlapMap___8496 = undefined;\n s.associate___8499 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 == undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = (s.arg1 == undefined);\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBool(s.tmp_1);\n if (!r0) { step = 3; continue; }\n r0 = s.tmp_1;\n { step = 4; continue; }\n case 3:\n r0 = pxsim_numops_toBoolDecr(s.arg2);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n case 4:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 5; continue; }\n { step = 7; continue; }\n case 5:\n case 6:\n s.tmp_4 = game_currentScene__P769_mk(s);\n s.pc = 8; return s.tmp_4;\n case 8:\n r0 = s.retval;\n s.sc___8491 = (r0);\n r0 = s.sc___8491.fields["overlapHandlers"];\n s.overlapHandlers___8493 = (r0);\n r0 = s.sc___8491.fields["overlapMap"];\n s.overlapMap___8496 = (r0);\n r0 = pxsim_pxtcore_mkAction(1, associate__P8499);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.overlapMap___8496);\n s.associate___8499 = (s.tmp_0);\n s.tmp_1 = lambda_3_mk(s);\n s.tmp_1.argL = s.associate___8499;\n s.tmp_1.arg0 = s.arg0;\n s.tmp_1.arg1 = s.arg1;\n setupLambda(s.tmp_1, s.tmp_1.argL);\n s.pc = 9; return s.tmp_1;\n case 9:\n r0 = s.retval;\n s.tmp_0 = lambda_3_mk(s);\n s.tmp_0.argL = s.associate___8499;\n s.tmp_0.arg0 = s.arg1;\n s.tmp_0.arg1 = s.arg0;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 10; return s.tmp_0;\n case 10:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkClassInstance(scene_OverlapHandler__C900_VT);\n s.tmp_0 = r0;\n s.tmp_1 = scene_OverlapHandler_constructor__P901_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = s.arg0;\n s.tmp_1.arg2 = s.arg1;\n s.tmp_1.arg3 = s.arg2;\n s.pc = 11; return s.tmp_1;\n case 11:\n r0 = s.retval;\n r0 = pxsim_Array__push(s.overlapHandlers___8493, s.tmp_0);\n case 7:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_onOverlap__P674.info = {"start":1605,"length":755,"line":50,"column":4,"endLine":74,"endColumn":5,"fileName":"pxt_modules/game/spriteevents.ts","functionName":"onOverlap","argumentNames":["kind","otherKind","handler"]}\n\nfunction sprites_onOverlap__P674_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_onOverlap__P674, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n sc___8491: undefined,\n overlapHandlers___8493: undefined,\n overlapMap___8496: undefined,\n associate___8499: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction associate__P8499(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_pxtrt.mapGetGeneric(s.caps[0], s.arg0);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_3 = r0 = s.caps[0];\n s.tmp_4 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_5 = r0;\n r0 = pxsim_pxtrt.mapSetGeneric(s.tmp_3, s.tmp_4, s.tmp_5);\n case 1:\n case 2:\n r0 = pxsim_pxtrt.mapGetGeneric(s.caps[0], s.arg0);\n s.tmp_0 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.arg1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nassociate__P8499.info = {"start":1942,"length":172,"line":56,"column":8,"endLine":62,"endColumn":9,"fileName":"pxt_modules/game/spriteevents.ts","functionName":"associate","argumentNames":["a","b"]}\n\nfunction associate__P8499_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: associate__P8499, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction scene_OverlapHandler_constructor__P901(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_OverlapHandler__C900_VT)) failedCast(r0);\n r0 = (s.arg0).fields["kind"] = (s.arg1);\n r0 = (s.arg0).fields["otherKind"] = (s.arg2);\n r0 = (s.arg0).fields["handler"] = (s.arg3);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_OverlapHandler_constructor__P901.info = {"start":388,"length":171,"line":20,"column":8,"endLine":24,"endColumn":13,"fileName":"pxt_modules/game/scene.ts","functionName":"inline","argumentNames":["this","kind","otherKind","handler"]}\n\nfunction scene_OverlapHandler_constructor__P901_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_OverlapHandler_constructor__P901, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction Sprite_ay__P620(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg1 * 256);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["_ay"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_ay__P620.info = {"start":3039,"length":51,"line":113,"column":4,"endLine":115,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"ay","argumentNames":["this","v"]}\n\nfunction Sprite_ay__P620_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_ay__P620, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_vy__P616(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg1 * 256);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["_vy"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_vy__P616.info = {"start":2361,"length":51,"line":91,"column":4,"endLine":93,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"vy","argumentNames":["this","v"]}\n\nfunction Sprite_vy__P616_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_vy__P616, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_vy__P615(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields["_vy"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 / 256);\n return leave(s, r0)\n default: oops()\n} } }\nSprite_vy__P615.info = {"start":2199,"length":60,"line":86,"column":4,"endLine":88,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"vy","argumentNames":["this"]}\n\nfunction Sprite_vy__P615_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_vy__P615, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Sprite_ay__P619(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields["_ay"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 / 256);\n return leave(s, r0)\n default: oops()\n} } }\nSprite_ay__P619.info = {"start":2873,"length":60,"line":108,"column":4,"endLine":110,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"ay","argumentNames":["this"]}\n\nfunction Sprite_ay__P619_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_ay__P619, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller_Button_onEvent__P543(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Button__C538_VT)) failedCast(r0);\n s.tmp_0 = control_onEvent__P213_mk(s);\n s.tmp_0.arg0 = s.arg1;\n r0 = s.arg0.fields["id"];\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = s.arg2;\n s.tmp_0.arg3 = 16;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Button_onEvent__P543.info = {"start":3475,"length":124,"line":108,"column":8,"endLine":110,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"onEvent","argumentNames":["this","event","handler"]}\n\nfunction controller_Button_onEvent__P543_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Button_onEvent__P543, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction control_onEvent__P213(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.ctx___8772 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = control_eventContext__P235_mk(s);\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.ctx___8772 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.ctx___8772);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim.control.internalOnEvent(s.arg0, s.arg1, s.arg2, s.arg3);\n { step = 2; continue; }\n case 1:\n s.tmp_0 = control_EventContext_registerHandler__P227_mk(s);\n s.tmp_0.arg0 = s.ctx___8772;\n s.tmp_0.arg1 = s.arg0;\n s.tmp_0.arg2 = s.arg1;\n s.tmp_0.arg3 = s.arg2;\n s.tmp_0.arg4 = s.arg3;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_onEvent__P213.info = {"start":336,"length":325,"line":9,"column":4,"endLine":15,"endColumn":5,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"onEvent","argumentNames":["src","value","handler","flags"]}\n\nfunction control_onEvent__P213_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_onEvent__P213, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n ctx___8772: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction control_EventContext_registerHandler__P227(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.h___8793 = undefined;\n s.unnamed50___U1 = undefined;\n s.unnamed51___U2 = undefined;\n s.hn___8809 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, control_EventContext__C220_VT)) failedCast(r0);\n s.h___8793 = (undefined);\n s.h___8793 = (undefined);\n r0 = s.arg0.fields["handlers"];\n s.unnamed50___U1 = (r0);\n s.unnamed51___U2 = (0);\n case 1:\n s.tmp_0 = r0 = s.unnamed51___U2;\n r0 = pxsim_Array__length(s.unnamed50___U1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 6; continue; }\n r0 = pxsim_Array__getAt(s.unnamed50___U1, s.unnamed51___U2);\n s.h___8793 = (r0);\n r0 = s.h___8793.fields["src"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 == s.arg1);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBool(s.tmp_2);\n if (r0) { step = 2; continue; }\n r0 = s.tmp_2;\n { step = 3; continue; }\n case 2:\n r0 = s.h___8793.fields["value"];\n s.tmp_4 = r0;\n r0 = (s.tmp_4 == s.arg2);\n case 3:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_5);\n if (!r0) { step = 4; continue; }\n r0 = (s.h___8793).fields["flags"] = (s.arg4);\n r0 = (s.h___8793).fields["handler"] = (s.arg3);\n { step = 7; continue; }\n case 4:\n case 5:\n r0 = (s.unnamed51___U2 + 1);\n s.unnamed51___U2 = (r0);\n { step = 1; continue; }\n case 6:\n s.unnamed50___U1 = (undefined);\n r0 = pxsim_pxtcore_mkClassInstance(control_EventHandler__C215_VT);\n s.tmp_0 = r0;\n s.tmp_1 = control_EventHandler_constructor__P218_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = s.arg1;\n s.tmp_1.arg2 = s.arg2;\n s.tmp_1.arg3 = s.arg3;\n s.tmp_1.arg4 = s.arg4;\n s.pc = 8; return s.tmp_1;\n case 8:\n r0 = s.retval;\n s.hn___8809 = (s.tmp_0);\n r0 = s.arg0.fields["handlers"];\n s.tmp_0 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.hn___8809);\n s.tmp_0 = control_EventHandler_register__P216_mk(s);\n s.tmp_0.arg0 = s.hn___8809;\n s.pc = 9; return s.tmp_0;\n case 9:\n r0 = s.retval;\n case 7:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_EventContext_registerHandler__P227.info = {"start":4832,"length":525,"line":150,"column":8,"endLine":163,"endColumn":9,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"registerHandler","argumentNames":["this","src","value","handler","flags"]}\n\nfunction control_EventContext_registerHandler__P227_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_EventContext_registerHandler__P227, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n h___8793: undefined,\n unnamed50___U1: undefined,\n unnamed51___U2: undefined,\n hn___8809: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n} }\n\n\n\n\n\nfunction control_EventHandler_constructor__P218(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, control_EventHandler__C215_VT)) failedCast(r0);\n r0 = (s.arg0).fields["src"] = (s.arg1);\n r0 = (s.arg0).fields["value"] = (s.arg2);\n r0 = (s.arg0).fields["handler"] = (s.arg3);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_EventHandler_constructor__P218.info = {"start":876,"length":183,"line":28,"column":8,"endLine":32,"endColumn":9,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"inline","argumentNames":["this","src","value","handler","flags"]}\n\nfunction control_EventHandler_constructor__P218_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_EventHandler_constructor__P218, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n} }\n\n\n\n\n\nfunction game_eventContext__P1017(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = game_init__P1018_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = globals._scene___1008.fields["eventContext"];\n return leave(s, r0)\n default: oops()\n} } }\ngame_eventContext__P1017.info = {"start":1084,"length":112,"line":40,"column":4,"endLine":43,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"eventContext","argumentNames":[]}\n\nfunction game_eventContext__P1017_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_eventContext__P1017, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction controller_pauseUntilAnyButtonIsPressed__P585(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n setupResume(s, 1);\n pxsim.control.waitForEvent(2049, 0);\n checkResumeConsumed();\n return;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_pauseUntilAnyButtonIsPressed__P585.info = {"start":17360,"length":96,"line":537,"column":4,"endLine":539,"endColumn":5,"fileName":"pxt_modules/game/controller.ts","functionName":"pauseUntilAnyButtonIsPressed","argumentNames":[]}\n\nfunction controller_pauseUntilAnyButtonIsPressed__P585_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_pauseUntilAnyButtonIsPressed__P585, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n} }\n\n\n\n\n\nfunction game_setWaitAnyButton__P1015(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n globals.__waitAnyButton___1012 = (s.arg0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_setWaitAnyButton__P1015.info = {"start":878,"length":83,"line":31,"column":4,"endLine":33,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"setWaitAnyButton","argumentNames":["f"]}\n\nfunction game_setWaitAnyButton__P1015_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_setWaitAnyButton__P1015, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Math_abs__P59(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = (0 - s.arg0);\n { step = 2; continue; }\n case 1:\n r0 = s.arg0;\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = s.tmp_1;\n return leave(s, r0)\n default: oops()\n} } }\nMath_abs__P59.info = {"start":10354,"length":77,"line":348,"column":4,"endLine":350,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"abs","argumentNames":["x"]}\n\nfunction Math_abs__P59_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Math_abs__P59, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Math_sign__P60(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 == 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = 0;\n { step = 5; continue; }\n case 1:\n case 2:\n r0 = (s.arg0 > 0);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 3; continue; }\n r0 = 1;\n { step = 5; continue; }\n case 3:\n case 4:\n r0 = -1;\n case 5:\n return leave(s, r0)\n default: oops()\n} } }\nMath_sign__P60.info = {"start":10589,"length":125,"line":356,"column":4,"endLine":360,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"sign","argumentNames":["x"]}\n\nfunction Math_sign__P60_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Math_sign__P60, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction texteffects_TextEffect_constructor__P1449(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, texteffects_TextEffect__C1448_VT)) failedCast(r0);\n r0 = (s.arg0).fields["getState"] = (s.arg1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ntexteffects_TextEffect_constructor__P1449.info = {"start":657,"length":133,"line":25,"column":8,"endLine":27,"endColumn":9,"fileName":"pxt_modules/game/texteffects.ts","functionName":"inline","argumentNames":["this","getState"]}\n\nfunction texteffects_TextEffect_constructor__P1449_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: texteffects_TextEffect_constructor__P1449, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Math_FastRandom_constructor__P1163(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Math_FastRandom__C1156_VT)) failedCast(r0);\n r0 = (s.arg1 === undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim.Math_.randomRange(1, 65535);\n s.arg1 = (r0);\n case 1:\n case 2:\n r0 = (s.arg0).fields["seed"] = (s.arg1);\n r0 = (s.arg0).fields["lfsr"] = (s.arg1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nMath_FastRandom_constructor__P1163.info = {"start":1392,"length":175,"line":43,"column":8,"endLine":47,"endColumn":9,"fileName":"pxt_modules/game/mathUtil.ts","functionName":"inline","argumentNames":["this","seed"]}\n\nfunction Math_FastRandom_constructor__P1163_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Math_FastRandom_constructor__P1163, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction control_ramSize__P179(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_pxtcore.getConfig(205, 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = (32 * 1024);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 * 1024);\n case 2:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = s.tmp_2;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_ramSize__P179.info = {"start":7962,"length":100,"line":265,"column":4,"endLine":267,"endColumn":5,"fileName":"pxt_modules/base/control.ts","functionName":"ramSize","argumentNames":[]}\n\nfunction control_ramSize__P179_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_ramSize__P179, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n} }\n\n\n\n\n\nfunction control__ramSize__P178(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = (32 * 1024);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 * 1024);\n return leave(s, r0)\n default: oops()\n} } }\ncontrol__ramSize__P178.info = {"start":7842,"length":60,"line":260,"column":4,"endLine":262,"endColumn":5,"fileName":"pxt_modules/base/control.ts","functionName":"_ramSize","argumentNames":[]}\n\nfunction control__ramSize__P178_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control__ramSize__P178, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction game_consoleOverlay_listener__P1267(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_numops_toBoolDecr(globals.consoleStrings___1239);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n case 2:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 3; continue; }\n { step = 7; continue; }\n case 3:\n case 4:\n s.tmp_4 = helpers_arrayForEach__P47_mk(s);\n s.tmp_5 = helpers_arrayFilter__P48_mk(s);\n s.tmp_6 = helpers_stringSplit__P55_mk(s);\n s.tmp_6.arg0 = s.arg1;\n s.tmp_6.arg1 = "\\n";\n s.tmp_6.arg2 = undefined;\n s.pc = 10; return s.tmp_6;\n case 10:\n r0 = s.retval;\n s.tmp_5.arg0 = r0;\n s.tmp_5.arg1 = inline__P8889;\n s.pc = 9; return s.tmp_5;\n case 9:\n r0 = s.retval;\n s.tmp_4.arg0 = r0;\n s.tmp_4.arg1 = inline__P8893;\n s.pc = 8; return s.tmp_4;\n case 8:\n r0 = s.retval;\n r0 = pxsim_Array__length(globals.consoleStrings___1239);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > globals.consoleLines___1245);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n s.tmp_2 = helpers_arraySplice__P36_mk(s);\n s.tmp_2.arg0 = globals.consoleStrings___1239;\n s.tmp_2.arg1 = 0;\n r0 = pxsim_Array__length(globals.consoleStrings___1239);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 - globals.consoleLines___1245);\n s.tmp_2.arg2 = r0;\n s.pc = 11; return s.tmp_2;\n case 11:\n r0 = s.retval;\n case 5:\n case 6:\n case 7:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_consoleOverlay_listener__P1267.info = {"start":787,"length":571,"line":26,"column":4,"endLine":42,"endColumn":5,"fileName":"pxt_modules/game/console.ts","functionName":"listener","argumentNames":["priority","text"]}\n\nfunction game_consoleOverlay_listener__P1267_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_consoleOverlay_listener__P1267, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction inline__P8889(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_numops_toBoolDecr(s.arg0);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\ninline__P8889.info = {"start":985,"length":14,"line":32,"column":20,"endLine":32,"endColumn":34,"fileName":"pxt_modules/game/console.ts","functionName":"inline","argumentNames":["line"]}\n\nfunction inline__P8889_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P8889, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P8893(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.j___8895 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.j___8895 = (0);\n case 1:\n s.tmp_1 = r0 = s.j___8895;\n r0 = pxsim_String_.length(s.arg0);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n s.tmp_3 = r0 = globals.consoleStrings___1239;\n s.tmp_5 = helpers_stringSlice__P53_mk(s);\n s.tmp_5.arg0 = s.arg0;\n s.tmp_5.arg1 = s.j___8895;\n r0 = (s.j___8895 + globals.consoleColumns___1255);\n s.tmp_5.arg2 = r0;\n s.pc = 3; return s.tmp_5;\n case 3:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = pxsim_Array__push(s.tmp_3, s.tmp_4);\n r0 = (s.j___8895 + globals.consoleColumns___1255);\n s.j___8895 = (r0);\n { step = 1; continue; }\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P8893.info = {"start":1022,"length":189,"line":33,"column":21,"endLine":37,"endColumn":13,"fileName":"pxt_modules/game/console.ts","functionName":"inline","argumentNames":["line"]}\n\nfunction inline__P8893_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P8893, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n j___8895: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction console_addListener__P194(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_numops_toBoolDecr(s.arg0);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = pxsim_Array_.indexOf(globals.listeners___186, s.arg0, undefined);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 > -1);\n case 2:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 3; continue; }\n { step = 5; continue; }\n case 3:\n case 4:\n r0 = pxsim_Array__push(globals.listeners___186, s.arg0);\n case 5:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nconsole_addListener__P194.info = {"start":3460,"length":197,"line":118,"column":4,"endLine":121,"endColumn":5,"fileName":"pxt_modules/base/console.ts","functionName":"addListener","argumentNames":["listener"]}\n\nfunction console_addListener__P194_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: console_addListener__P194, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P8934(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim.control.__log(s.arg0, s.arg1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P8934.info = {"start":534,"length":85,"line":25,"column":8,"endLine":25,"endColumn":93,"fileName":"pxt_modules/base/console.ts","functionName":"inline","argumentNames":["priority","text"]}\n\nfunction inline__P8934_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P8934, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_register__P1196(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals.instance___1164);\n if (!r0) { step = 1; continue; }\n { step = 3; continue; }\n case 1:\n case 2:\n s.tmp_0 = controller_Button_onEvent__P543_mk(s);\n s.tmp_0.arg0 = globals.menu___531;\n s.tmp_0.arg1 = 2049;\n s.tmp_0.arg2 = scene_systemMenu_showSystemMenu__P1197;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n case 3:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_register__P1196.info = {"start":12112,"length":193,"line":365,"column":4,"endLine":369,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"register","argumentNames":[]}\n\nfunction scene_systemMenu_register__P1196_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_register__P1196, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_showSystemMenu__P1197(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals.instance___1164);\n if (!r0) { step = 1; continue; }\n { step = 3; continue; }\n case 1:\n case 2:\n s.tmp_0 = game_pushScene__P1019_mk(s);\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_PauseMenu__C1176_VT);\n s.tmp_0 = r0;\n s.tmp_1 = scene_systemMenu_PauseMenu_constructor__P1183_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = scene_systemMenu_buildOptionList__P1193;\n s.tmp_1.arg2 = undefined;\n s.pc = 5; return s.tmp_1;\n case 5:\n r0 = s.retval;\n globals.instance___1164 = (s.tmp_0);\n s.tmp_0 = scene_systemMenu_PauseMenu_show__P1177_mk(s);\n s.tmp_0.arg0 = globals.instance___1164;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n case 3:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_showSystemMenu__P1197.info = {"start":12311,"length":172,"line":371,"column":4,"endLine":376,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"showSystemMenu","argumentNames":[]}\n\nfunction scene_systemMenu_showSystemMenu__P1197_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_showSystemMenu__P1197, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_buildOptionList__P1193(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.options___9511 = undefined;\n r0 = pxsim_Array__mk();\n s.options___9511 = (r0);\n r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_MenuOption__C1167_VT);\n s.tmp_0 = r0;\n s.tmp_1 = scene_systemMenu_MenuOption_constructor__P1175_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = globals.VOLUME_DOWN_ICON___1223;\n s.tmp_1.arg2 = inline__P9519;\n s.tmp_1.arg3 = scene_systemMenu_volumeDown__P1186;\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n r0 = pxsim_Array__push(s.options___9511, s.tmp_0);\n r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_MenuOption__C1167_VT);\n s.tmp_0 = r0;\n s.tmp_1 = scene_systemMenu_MenuOption_constructor__P1175_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = globals.VOLUME_UP_ICON___1214;\n s.tmp_1.arg2 = inline__P9533;\n s.tmp_1.arg3 = scene_systemMenu_volumeUp__P1185;\n s.pc = 4; return s.tmp_1;\n case 4:\n r0 = s.retval;\n r0 = pxsim_Array__push(s.options___9511, s.tmp_0);\n r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_MenuOption__C1167_VT);\n s.tmp_0 = r0;\n s.tmp_1 = scene_systemMenu_MenuOption_constructor__P1175_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = globals.BRIGHTNESS_DOWN_ICON___1217;\n s.tmp_1.arg2 = inline__P9547;\n s.tmp_1.arg3 = scene_systemMenu_brightnessDown__P1188;\n s.pc = 5; return s.tmp_1;\n case 5:\n r0 = s.retval;\n r0 = pxsim_Array__push(s.options___9511, s.tmp_0);\n r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_MenuOption__C1167_VT);\n s.tmp_0 = r0;\n s.tmp_1 = scene_systemMenu_MenuOption_constructor__P1175_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = globals.BRIGHTNESS_UP_ICON___1232;\n s.tmp_1.arg2 = inline__P9563;\n s.tmp_1.arg3 = scene_systemMenu_brightnessUp__P1187;\n s.pc = 6; return s.tmp_1;\n case 6:\n r0 = s.retval;\n r0 = pxsim_Array__push(s.options___9511, s.tmp_0);\n r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_MenuOption__C1167_VT);\n s.tmp_0 = r0;\n s.tmp_1 = scene_systemMenu_MenuOption_constructor__P1175_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = globals.STATS_ICON___1235;\n s.tmp_1.arg2 = inline__P9578;\n s.tmp_1.arg3 = scene_systemMenu_toggleStats__P1189;\n s.pc = 7; return s.tmp_1;\n case 7:\n r0 = s.retval;\n r0 = pxsim_Array__push(s.options___9511, s.tmp_0);\n r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_MenuOption__C1167_VT);\n s.tmp_0 = r0;\n s.tmp_1 = scene_systemMenu_MenuOption_constructor__P1175_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = globals.CONSOLE_ICON___1229;\n s.tmp_1.arg2 = inline__P9587;\n s.tmp_1.arg3 = scene_systemMenu_toggleConsole__P1190;\n s.pc = 8; return s.tmp_1;\n case 8:\n r0 = s.retval;\n r0 = pxsim_Array__push(s.options___9511, s.tmp_0);\n r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_MenuOption__C1167_VT);\n s.tmp_0 = r0;\n s.tmp_1 = scene_systemMenu_MenuOption_constructor__P1175_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = globals.SLEEP_ICON___1226;\n s.tmp_1.arg2 = inline__P9596;\n s.tmp_1.arg3 = scene_systemMenu_sleep__P1191;\n s.pc = 9; return s.tmp_1;\n case 9:\n r0 = s.retval;\n r0 = pxsim_Array__push(s.options___9511, s.tmp_0);\n r0 = pxsim_numops_toBoolDecr(globals.customMenuOptions___1165);\n if (!r0) { step = 1; continue; }\n s.tmp_0 = helpers_arrayConcat__P51_mk(s);\n s.tmp_0.arg0 = s.options___9511;\n s.tmp_0.arg1 = globals.customMenuOptions___1165;\n s.pc = 10; return s.tmp_0;\n case 10:\n r0 = s.retval;\n s.options___9511 = (r0);\n case 1:\n case 2:\n r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_MenuOption__C1167_VT);\n s.tmp_0 = r0;\n s.tmp_1 = scene_systemMenu_MenuOption_constructor__P1175_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = globals.CLOSE_MENU_ICON___1220;\n s.tmp_1.arg2 = inline__P9610;\n s.tmp_1.arg3 = scene_systemMenu_closeMenu__P1192;\n s.pc = 11; return s.tmp_1;\n case 11:\n r0 = s.retval;\n r0 = pxsim_Array__push(s.options___9511, s.tmp_0);\n r0 = s.options___9511;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_buildOptionList__P1193.info = {"start":9882,"length":1085,"line":319,"column":4,"endLine":337,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"buildOptionList","argumentNames":[]}\n\nfunction scene_systemMenu_buildOptionList__P1193_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_buildOptionList__P1193, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n options___9511: undefined,\n} }\n\n\n\n\n\nfunction inline__P9519(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_3 = music_volume__P342_mk(s);\n s.pc = 1; return s.tmp_3;\n case 1:\n r0 = s.retval;\n s.tmp_2 = r0;\n if ((s.tmp_2) && (s.tmp_2).vtable) {\n setupResume(s, 2);\n pxsim_String__stringConv(s.tmp_2);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_2) + ""; }\n case 2:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_String__concat("VOLUME DOWN (", s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_String__concat(s.tmp_0, ")");\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9519.info = {"start":10027,"length":39,"line":322,"column":54,"endLine":322,"endColumn":93,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P9519_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9519, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n} }\n\n\n\n\n\nfunction inline__P9533(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_3 = music_volume__P342_mk(s);\n s.pc = 1; return s.tmp_3;\n case 1:\n r0 = s.retval;\n s.tmp_2 = r0;\n if ((s.tmp_2) && (s.tmp_2).vtable) {\n setupResume(s, 2);\n pxsim_String__stringConv(s.tmp_2);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_2) + ""; }\n case 2:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_String__concat("VOLUME UP (", s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_String__concat(s.tmp_0, ")");\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9533.info = {"start":10134,"length":37,"line":323,"column":52,"endLine":323,"endColumn":89,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P9533_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9533, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n} }\n\n\n\n\n\nfunction inline__P9547(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = globals.brightness___401;\n s.tmp_2 = r0;\n if ((s.tmp_2) && (s.tmp_2).vtable) {\n setupResume(s, 1);\n pxsim_String__stringConv(s.tmp_2);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_2) + ""; }\n case 1:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_String__concat("BRIGHTNESS DOWN (", s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_String__concat(s.tmp_0, ")");\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9547.info = {"start":10243,"length":48,"line":324,"column":58,"endLine":324,"endColumn":106,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P9547_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9547, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n} }\n\n\n\n\n\nfunction inline__P9563(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = globals.brightness___401;\n s.tmp_2 = r0;\n if ((s.tmp_2) && (s.tmp_2).vtable) {\n setupResume(s, 1);\n pxsim_String__stringConv(s.tmp_2);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_2) + ""; }\n case 1:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_String__concat("BRIGHTNESS UP (", s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_String__concat(s.tmp_0, ")");\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9563.info = {"start":10367,"length":46,"line":325,"column":56,"endLine":325,"endColumn":102,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P9563_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9563, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n} }\n\n\n\n\n\nfunction inline__P9578(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals.stats___999);\n if (!r0) { step = 1; continue; }\n r0 = "HIDE STATS";\n { step = 2; continue; }\n case 1:\n r0 = "SHOW STATS";\n case 2:\n // jmp value (already in r0)\n s.tmp_0 = r0;\n r0 = s.tmp_0;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9578.info = {"start":10479,"length":46,"line":326,"column":48,"endLine":326,"endColumn":94,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P9578_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9578, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction inline__P9587(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals.consoleStrings___1239);\n s.tmp_3 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = "HIDE CONSOLE";\n { step = 2; continue; }\n case 1:\n r0 = "SHOW CONSOLE";\n case 2:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n r0 = s.tmp_4;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9587.info = {"start":10592,"length":71,"line":327,"column":50,"endLine":327,"endColumn":121,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P9587_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9587, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n} }\n\n\n\n\n\nfunction inline__P9596(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = "SLEEP";\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9596.info = {"start":10730,"length":13,"line":328,"column":48,"endLine":328,"endColumn":61,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P9596_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9596, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n} }\n\n\n\n\n\nfunction inline__P9610(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = "CLOSE";\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9610.info = {"start":10909,"length":13,"line":334,"column":53,"endLine":334,"endColumn":66,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P9610_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9610, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n} }\n\n\n\n\n\nfunction game_consoleOverlay_isVisible__P1268(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals.consoleStrings___1239);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\ngame_consoleOverlay_isVisible__P1268.info = {"start":422,"length":68,"line":11,"column":4,"endLine":13,"endColumn":5,"fileName":"pxt_modules/game/console.ts","functionName":"isVisible","argumentNames":[]}\n\nfunction game_consoleOverlay_isVisible__P1268_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_consoleOverlay_isVisible__P1268, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_closeMenu__P1192(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals.instance___1164);\n if (!r0) { step = 1; continue; }\n s.tmp_0 = scene_systemMenu_PauseMenu_dispose__P1181_mk(s);\n s.tmp_0.arg0 = globals.instance___1164;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n globals.instance___1164 = (undefined);\n s.tmp_0 = controller__setUserEventsEnabled__P586_mk(s);\n s.tmp_0.arg0 = true;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n s.tmp_0 = game_popScene__P1020_mk(s);\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_closeMenu__P1192.info = {"start":9667,"length":209,"line":310,"column":4,"endLine":317,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"closeMenu","argumentNames":[]}\n\nfunction scene_systemMenu_closeMenu__P1192_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_closeMenu__P1192, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_PauseMenu_dispose__P1181(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_systemMenu_PauseMenu__C1176_VT)) failedCast(r0);\n r0 = s.arg0.fields["options"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_1 = helpers_arrayForEach__P47_mk(s);\n r0 = s.arg0.fields["options"];\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = inline__P9370;\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n r0 = (s.arg0).fields["options"] = (undefined);\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_PauseMenu_dispose__P1181.info = {"start":7732,"length":165,"line":243,"column":8,"endLine":248,"endColumn":9,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"dispose","argumentNames":["this"]}\n\nfunction scene_systemMenu_PauseMenu_dispose__P1181_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_PauseMenu_dispose__P1181, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P9370(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = scene_systemMenu_MenuOption_dispose__P1173_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9370.info = {"start":7813,"length":16,"line":245,"column":37,"endLine":245,"endColumn":53,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":["o"]}\n\nfunction inline__P9370_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9370, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_MenuOption_dispose__P1173(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_systemMenu_MenuOption__C1167_VT)) failedCast(r0);\n r0 = s.arg0.fields["card"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_1 = Sprite_destroy__P653_mk(s);\n r0 = s.arg0.fields["card"];\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = undefined;\n s.tmp_1.arg2 = undefined;\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n s.tmp_0 = Sprite_destroy__P653_mk(s);\n r0 = s.arg0.fields["icon"];\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = undefined;\n s.tmp_0.arg2 = undefined;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n r0 = (s.arg0).fields["card"] = (undefined);\n r0 = (s.arg0).fields["icon"] = (undefined);\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_MenuOption_dispose__P1173.info = {"start":1812,"length":216,"line":77,"column":8,"endLine":84,"endColumn":9,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"dispose","argumentNames":["this"]}\n\nfunction scene_systemMenu_MenuOption_dispose__P1173_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_MenuOption_dispose__P1173, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller__setUserEventsEnabled__P586(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n globals._userEventsEnabled___535 = (s.arg0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller__setUserEventsEnabled__P586.info = {"start":17462,"length":101,"line":541,"column":4,"endLine":543,"endColumn":5,"fileName":"pxt_modules/game/controller.ts","functionName":"_setUserEventsEnabled","argumentNames":["enabled"]}\n\nfunction controller__setUserEventsEnabled__P586_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller__setUserEventsEnabled__P586, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_sleep__P1191(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_pxtcore.deepSleep();\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_sleep__P1191.info = {"start":9610,"length":51,"line":306,"column":4,"endLine":308,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"sleep","argumentNames":[]}\n\nfunction scene_systemMenu_sleep__P1191_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_sleep__P1191, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n} }\n\n\n\n\n\nfunction scene_systemMenu_toggleConsole__P1190(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals.consoleStrings___1239);\n s.tmp_3 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_4 = game_consoleOverlay_setVisible__P1270_mk(s);\n s.tmp_4.arg0 = false;\n s.tmp_4.arg1 = undefined;\n s.pc = 3; return s.tmp_4;\n case 3:\n r0 = s.retval;\n { step = 2; continue; }\n case 1:\n s.tmp_0 = game_consoleOverlay_setVisible__P1270_mk(s);\n s.tmp_0.arg0 = true;\n s.tmp_0.arg1 = undefined;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n s.tmp_0 = console_log__P191_mk(s);\n s.tmp_0.arg0 = "console";\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_toggleConsole__P1190.info = {"start":9365,"length":239,"line":297,"column":4,"endLine":304,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"toggleConsole","argumentNames":[]}\n\nfunction scene_systemMenu_toggleConsole__P1190_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_toggleConsole__P1190, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n} }\n\n\n\n\n\nfunction game_consoleOverlay_setVisible__P1270(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n s.tmp_1 = r0 = s.arg0;\n r0 = pxsim_numops_toBoolDecr(globals.consoleStrings___1239);\n s.tmp_5 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_5);\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n s.tmp_3 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 != s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = pxsim_numops_toBoolDecr(s.arg0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_Array__mk();\n { step = 2; continue; }\n case 1:\n r0 = undefined;\n case 2:\n // jmp value (already in r0)\n s.tmp_6 = r0;\n globals.consoleStrings___1239 = (s.tmp_6);\n case 3:\n case 4:\n r0 = (s.arg1 !== undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n globals.consoleColor___1238 = (s.arg1);\n case 5:\n case 6:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_consoleOverlay_setVisible__P1270.info = {"start":562,"length":219,"line":19,"column":4,"endLine":24,"endColumn":5,"fileName":"pxt_modules/game/console.ts","functionName":"setVisible","argumentNames":["value","col"]}\n\nfunction game_consoleOverlay_setVisible__P1270_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_consoleOverlay_setVisible__P1270, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction console_log__P191(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = console_add__P187_mk(s);\n s.tmp_0.arg0 = 1;\n s.tmp_1 = console_inspect__P193_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.tmp_1.arg1 = 20;\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nconsole_log__P191.info = {"start":1422,"length":95,"line":57,"column":4,"endLine":59,"endColumn":5,"fileName":"pxt_modules/base/console.ts","functionName":"log","argumentNames":["value"]}\n\nfunction console_log__P191_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: console_log__P191, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction console_inspect__P193(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.asArr___9658 = undefined;\n s.asString___9675 = undefined;\n s.keys___9685 = undefined;\n s.snipped___9689 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_pxtcore.typeOf(s.arg0);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 == "string");\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.arg0;\n { step = 17; continue; }\n { step = 16; continue; }\n case 1:\n r0 = pxsim_pxtcore.typeOf(s.arg0);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 == "number");\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 2; continue; }\n r0 = pxsim_String_.mkEmpty();\n s.tmp_4 = r0;\n if ((s.arg0) && (s.arg0).vtable) {\n setupResume(s, 18);\n pxsim_String__stringConv(s.arg0);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.arg0) + ""; }\n case 18:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = pxsim_String__concat(s.tmp_4, s.tmp_5);\n { step = 17; continue; }\n { step = 15; continue; }\n case 2:\n r0 = pxsim_Array_.isArray(s.arg0);\n s.tmp_6 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_6);\n if (!r0) { step = 5; continue; }\n s.asArr___9658 = (s.arg0);\n r0 = pxsim_Array__length(s.asArr___9658);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 <= s.arg1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.tmp_2 = helpers_arrayJoin__P39_mk(s);\n s.tmp_2.arg0 = s.asArr___9658;\n s.tmp_2.arg1 = ",";\n s.pc = 19; return s.tmp_2;\n case 19:\n r0 = s.retval;\n { step = 17; continue; }\n { step = 4; continue; }\n case 3:\n r0 = pxsim_String_.mkEmpty();\n s.tmp_4 = r0;\n s.tmp_7 = helpers_arrayJoin__P39_mk(s);\n s.tmp_8 = helpers_arraySlice__P52_mk(s);\n s.tmp_8.arg0 = s.asArr___9658;\n s.tmp_8.arg1 = 0;\n s.tmp_8.arg2 = s.arg1;\n s.pc = 21; return s.tmp_8;\n case 21:\n r0 = s.retval;\n s.tmp_7.arg0 = r0;\n s.tmp_7.arg1 = ",";\n s.pc = 20; return s.tmp_7;\n case 20:\n r0 = s.retval;\n s.tmp_6 = r0;\n if ((s.tmp_6) && (s.tmp_6).vtable) {\n setupResume(s, 22);\n pxsim_String__stringConv(s.tmp_6);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_6) + ""; }\n case 22:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = pxsim_String__concat(s.tmp_4, s.tmp_5);\n s.tmp_3 = r0;\n r0 = pxsim_String__concat(s.tmp_3, "...");\n { step = 17; continue; }\n case 4:\n { step = 14; continue; }\n case 5:\n if ((s.arg0) && (s.arg0).vtable) {\n setupResume(s, 23);\n pxsim_String__stringConv(s.arg0);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.arg0) + ""; }\n case 23:\n r0 = s.retval;\n s.tmp_9 = r0;\n r0 = pxsim_String_.mkEmpty();\n s.tmp_10 = r0;\n r0 = pxsim_String__concat(s.tmp_9, s.tmp_10);\n s.asString___9675 = (r0);\n r0 = (s.asString___9675 != "[object Object]");\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 6; continue; }\n r0 = s.tmp_0;\n { step = 7; continue; }\n case 6:\n r0 = (s.asString___9675 != "[Object]");\n case 7:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 8; continue; }\n r0 = s.asString___9675;\n { step = 17; continue; }\n case 8:\n case 9:\n r0 = pxsim_pxtrt.keysOf(s.arg0);\n s.keys___9685 = (r0);\n r0 = pxsim_Array__length(s.keys___9685);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 > s.arg1);\n s.snipped___9689 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.snipped___9689);\n if (!r0) { step = 10; continue; }\n s.tmp_0 = helpers_arraySlice__P52_mk(s);\n s.tmp_0.arg0 = s.keys___9685;\n s.tmp_0.arg1 = 0;\n s.tmp_0.arg2 = s.arg1;\n s.pc = 24; return s.tmp_0;\n case 24:\n r0 = s.retval;\n s.keys___9685 = (r0);\n case 10:\n case 11:\n r0 = pxsim_pxtcore_mkAction(1, inline__P9706);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n r0 = pxsim_numops_toBoolDecr(s.snipped___9689);\n if (!r0) { step = 12; continue; }\n r0 = "\\n ...";\n { step = 13; continue; }\n case 12:\n r0 = pxsim_String_.mkEmpty();\n case 13:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n s.tmp_7 = helpers_arrayReduce__P50_mk(s);\n s.tmp_7.arg0 = s.keys___9685;\n s.tmp_7.arg1 = s.tmp_0;\n r0 = pxsim_String_.mkEmpty();\n s.tmp_7.arg2 = r0;\n s.pc = 25; return s.tmp_7;\n case 25:\n r0 = s.retval;\n s.tmp_6 = r0;\n if ((s.tmp_6) && (s.tmp_6).vtable) {\n setupResume(s, 26);\n pxsim_String__stringConv(s.tmp_6);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_6) + ""; }\n case 26:\n r0 = s.retval;\n s.tmp_5 = r0;\n if ((s.tmp_1) && (s.tmp_1).vtable) {\n setupResume(s, 27);\n pxsim_String__stringConv(s.tmp_1);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_1) + ""; }\n case 27:\n r0 = s.retval;\n s.tmp_8 = r0;\n r0 = pxsim_String__concat(s.tmp_5, s.tmp_8);\n s.tmp_4 = r0;\n if ((s.tmp_4) && (s.tmp_4).vtable) {\n setupResume(s, 28);\n pxsim_String__stringConv(s.tmp_4);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_4) + ""; }\n case 28:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = pxsim_String__concat("{", s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_String__concat(s.tmp_2, "\\n}");\n { step = 17; continue; }\n case 14:\n case 15:\n case 16:\n r0 = undefined;\n case 17:\n return leave(s, r0)\n default: oops()\n} } }\nconsole_inspect__P193.info = {"start":2173,"length":1190,"line":78,"column":4,"endLine":111,"endColumn":5,"fileName":"pxt_modules/base/console.ts","functionName":"inspect","argumentNames":["obj","maxElements"]}\n\nfunction console_inspect__P193_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: console_inspect__P193, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n asArr___9658: undefined,\n asString___9675: undefined,\n keys___9685: undefined,\n snipped___9689: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction inline__P9706(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n if ((s.arg0) && (s.arg0).vtable) {\n setupResume(s, 1);\n pxsim_String__stringConv(s.arg0);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.arg0) + ""; }\n case 1:\n r0 = s.retval;\n s.tmp_0 = r0;\n if ((s.arg1) && (s.arg1).vtable) {\n setupResume(s, 2);\n pxsim_String__stringConv(s.arg1);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.arg1) + ""; }\n case 2:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = pxsim_String__concat("\\n ", s.tmp_5);\n s.tmp_4 = r0;\n r0 = pxsim_String__concat(s.tmp_4, ": ");\n s.tmp_3 = r0;\n r0 = pxsim_pxtrt.mapGetGeneric(s.caps[0], s.arg1);\n s.tmp_7 = r0;\n if ((s.tmp_7) && (s.tmp_7).vtable) {\n setupResume(s, 3);\n pxsim_String__stringConv(s.tmp_7);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_7) + ""; }\n case 3:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = pxsim_String__concat(s.tmp_3, s.tmp_6);\n s.tmp_2 = r0;\n if ((s.tmp_2) && (s.tmp_2).vtable) {\n setupResume(s, 4);\n pxsim_String__stringConv(s.tmp_2);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_2) + ""; }\n case 4:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_String__concat(s.tmp_0, s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9706.info = {"start":3195,"length":61,"line":105,"column":20,"endLine":105,"endColumn":81,"fileName":"pxt_modules/base/console.ts","functionName":"inline","argumentNames":["prev","currKey"]}\n\nfunction inline__P9706_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9706, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction helpers_arrayReduce__P50(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.len___9733 = undefined;\n s.i___9736 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_Array__length(s.arg0);\n s.len___9733 = (r0);\n s.i___9736 = (0);\n case 1:\n r0 = (s.i___9736 < s.len___9733);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n s.tmp_1 = lambda_4_mk(s);\n s.tmp_1.argL = s.arg1;\n s.tmp_1.arg0 = s.arg2;\n r0 = pxsim_Array__getAt(s.arg0, s.i___9736);\n s.tmp_1.arg1 = r0;\n s.tmp_1.arg2 = s.i___9736;\n setupLambda(s.tmp_1, s.tmp_1.argL);\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n s.arg2 = (r0);\n r0 = (s.i___9736 + 1);\n s.i___9736 = (r0);\n { step = 1; continue; }\n case 2:\n r0 = s.arg2;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_arrayReduce__P50.info = {"start":6033,"length":317,"line":196,"column":4,"endLine":202,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"arrayReduce","argumentNames":["arr","callbackfn","initialValue"]}\n\nfunction helpers_arrayReduce__P50_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_arrayReduce__P50, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n len___9733: undefined,\n i___9736: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction helpers_arrayJoin__P39(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.r___9757 = undefined;\n s.len___9758 = undefined;\n s.i___9761 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg1 === undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = (s.arg1 === null);\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 3; continue; }\n s.arg1 = (",");\n case 3:\n case 4:\n r0 = pxsim_String_.mkEmpty();\n s.r___9757 = (r0);\n r0 = pxsim_Array__length(s.arg0);\n s.len___9758 = (r0);\n s.i___9761 = (0);\n case 5:\n r0 = (s.i___9761 < s.len___9758);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 14; continue; }\n r0 = (s.i___9761 > 0);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBool(s.tmp_1);\n if (r0) { step = 6; continue; }\n r0 = s.tmp_1;\n { step = 7; continue; }\n case 6:\n r0 = s.arg1;\n case 7:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 8; continue; }\n if ((s.r___9757) && (s.r___9757).vtable) {\n setupResume(s, 15);\n pxsim_String__stringConv(s.r___9757);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.r___9757) + ""; }\n case 15:\n r0 = s.retval;\n s.tmp_3 = r0;\n if ((s.arg1) && (s.arg1).vtable) {\n setupResume(s, 16);\n pxsim_String__stringConv(s.arg1);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.arg1) + ""; }\n case 16:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = pxsim_String__concat(s.tmp_3, s.tmp_4);\n s.r___9757 = (r0);\n case 8:\n case 9:\n r0 = pxsim_Array__getAt(s.arg0, s.i___9761);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 === undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 10; continue; }\n r0 = s.tmp_0;\n { step = 11; continue; }\n case 10:\n r0 = pxsim_Array__getAt(s.arg0, s.i___9761);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 === null);\n case 11:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 12; continue; }\n r0 = pxsim_String_.mkEmpty();\n { step = 13; continue; }\n case 12:\n r0 = pxsim_Array__getAt(s.arg0, s.i___9761);\n case 13:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n if ((s.r___9757) && (s.r___9757).vtable) {\n setupResume(s, 17);\n pxsim_String__stringConv(s.r___9757);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.r___9757) + ""; }\n case 17:\n r0 = s.retval;\n s.tmp_5 = r0;\n if ((s.tmp_4) && (s.tmp_4).vtable) {\n setupResume(s, 18);\n pxsim_String__stringConv(s.tmp_4);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_4) + ""; }\n case 18:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = pxsim_String__concat(s.tmp_5, s.tmp_6);\n s.r___9757 = (r0);\n r0 = (s.i___9761 + 1);\n s.i___9761 = (r0);\n { step = 5; continue; }\n case 14:\n r0 = s.r___9757;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_arrayJoin__P39.info = {"start":1850,"length":432,"line":73,"column":4,"endLine":86,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"arrayJoin","argumentNames":["arr","sep"]}\n\nfunction helpers_arrayJoin__P39_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_arrayJoin__P39, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n r___9757: undefined,\n len___9758: undefined,\n i___9761: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction console_add__P187(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.i___9802 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 < globals.minPriority___185);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 5; continue; }\n case 1:\n case 2:\n if ((s.arg1) && (s.arg1).vtable) {\n setupResume(s, 6);\n pxsim_String__stringConv(s.arg1);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.arg1) + ""; }\n case 6:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_String__concat(s.tmp_1, "\\n");\n s.arg1 = (r0);\n s.i___9802 = (0);\n case 3:\n s.tmp_1 = r0 = s.i___9802;\n r0 = pxsim_Array__length(globals.listeners___186);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 4; continue; }\n s.tmp_3 = lambda_3_mk(s);\n r0 = pxsim_Array__getAt(globals.listeners___186, s.i___9802);\n s.tmp_3.argL = r0;\n s.tmp_3.arg0 = s.arg0;\n s.tmp_3.arg1 = s.arg1;\n setupLambda(s.tmp_3, s.tmp_3.argL);\n s.pc = 7; return s.tmp_3;\n case 7:\n r0 = s.retval;\n r0 = (s.i___9802 + 1);\n s.i___9802 = (r0);\n { step = 3; continue; }\n case 4:\n case 5:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nconsole_add__P187.info = {"start":632,"length":280,"line":28,"column":4,"endLine":35,"endColumn":5,"fileName":"pxt_modules/base/console.ts","functionName":"add","argumentNames":["priority","text"]}\n\nfunction console_add__P187_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: console_add__P187, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n i___9802: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_toggleStats__P1189(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals.stats___999);\n s.tmp_0 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_0);\n globals.stats___999 = (r0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_toggleStats__P1189.info = {"start":9295,"length":64,"line":293,"column":4,"endLine":295,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"toggleStats","argumentNames":[]}\n\nfunction scene_systemMenu_toggleStats__P1189_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_toggleStats__P1189, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_brightnessDown__P1188(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = helpers_setScreenBrightness__P419_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n r0 = globals.brightness___401;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - 10);\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_brightnessDown__P1188.info = {"start":9200,"length":89,"line":289,"column":4,"endLine":291,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"brightnessDown","argumentNames":[]}\n\nfunction scene_systemMenu_brightnessDown__P1188_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_brightnessDown__P1188, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n} }\n\n\n\n\n\nfunction helpers_setScreenBrightness__P419(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = Math_clamp__P58_mk(s);\n s.tmp_0.arg0 = 10;\n s.tmp_0.arg1 = 100;\n r0 = (s.arg1 | 0);\n s.tmp_0.arg2 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.arg1 = (r0);\n globals.brightness___401 = (s.arg1);\n r0 = pxsim_pxtcore.setScreenBrightness(globals.brightness___401);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_setScreenBrightness__P419.info = {"start":7332,"length":210,"line":237,"column":4,"endLine":241,"endColumn":5,"fileName":"pxt_modules/screen/image.ts","functionName":"setScreenBrightness","argumentNames":["img","b"]}\n\nfunction helpers_setScreenBrightness__P419_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_setScreenBrightness__P419, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_brightnessUp__P1187(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = helpers_setScreenBrightness__P419_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n r0 = globals.brightness___401;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 + 10);\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_brightnessUp__P1187.info = {"start":9107,"length":87,"line":285,"column":4,"endLine":287,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"brightnessUp","argumentNames":[]}\n\nfunction scene_systemMenu_brightnessUp__P1187_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_brightnessUp__P1187, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_volumeDown__P1186(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.v___9937 = undefined;\n s.remainder___9939 = undefined;\n s.newVolume___9941 = undefined;\n s.tmp_0 = music_volume__P342_mk(s);\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.v___9937 = (r0);\n r0 = (s.v___9937 % 32);\n s.remainder___9939 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.remainder___9939);\n if (!r0) { step = 1; continue; }\n r0 = s.remainder___9939;\n { step = 2; continue; }\n case 1:\n r0 = 32;\n case 2:\n // jmp value (already in r0)\n s.tmp_0 = r0;\n r0 = (s.v___9937 - s.tmp_0);\n s.newVolume___9941 = (r0);\n s.tmp_0 = scene_systemMenu_setVolume__P1184_mk(s);\n s.tmp_0.arg0 = s.newVolume___9941;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_volumeDown__P1186.info = {"start":8914,"length":187,"line":278,"column":4,"endLine":283,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"volumeDown","argumentNames":[]}\n\nfunction scene_systemMenu_volumeDown__P1186_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_volumeDown__P1186, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n v___9937: undefined,\n remainder___9939: undefined,\n newVolume___9941: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_setVolume__P1184(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = music_setVolume__P341_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.tmp_0 = music_playTone__P344_mk(s);\n s.tmp_0.arg0 = 440;\n s.tmp_0.arg1 = 500;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n s.tmp_0 = settings_writeNumber__P496_mk(s);\n s.tmp_0.arg0 = "#volume";\n s.tmp_0.arg1 = s.arg0;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_setVolume__P1184.info = {"start":8565,"length":166,"line":265,"column":4,"endLine":269,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"setVolume","argumentNames":["newVolume"]}\n\nfunction scene_systemMenu_setVolume__P1184_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_setVolume__P1184, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction music_playTone__P344(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.id___9880 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_pxtrt.mklocRef();\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.arg1);\n s.arg1 = (s.tmp_0);\n r0 = pxsim_pxtrt_ldlocRef(s.arg1);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 == 0);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_pxtrt_stlocRef(s.arg1, 86400000);\n case 1:\n case 2:\n r0 = pxsim_pxtrt_ldlocRef(s.arg1);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 <= 2000);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.tmp_2 = music_playNoteCore__P343_mk(s);\n s.tmp_2.arg0 = 0;\n s.tmp_2.arg1 = s.arg0;\n r0 = pxsim_pxtrt_ldlocRef(s.arg1);\n s.tmp_2.arg2 = r0;\n s.pc = 5; return s.tmp_2;\n case 5:\n r0 = s.retval;\n s.tmp_0 = pause__P241_mk(s);\n r0 = pxsim_pxtrt_ldlocRef(s.arg1);\n s.tmp_0.arg0 = r0;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n { step = 4; continue; }\n case 3:\n r0 = (globals.playToneID___345 + 1);\n s.tmp_0 = r0;\n globals.playToneID___345 = (r0);\n s.id___9880 = (s.tmp_0);\n r0 = pxsim_pxtcore_mkAction(3, inline__P9885);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.id___9880);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.arg1);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 2, s.arg0);\n r0 = pxsim.control.runInParallel(s.tmp_0);\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nmusic_playTone__P344.info = {"start":2591,"length":831,"line":83,"column":4,"endLine":108,"endColumn":5,"fileName":"pxt_modules/mixer/melody.ts","functionName":"playTone","argumentNames":["frequency","ms"]}\n\nfunction music_playTone__P344_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_playTone__P344, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n id___9880: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction inline__P9885(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.pos___9886 = undefined;\n s.now___9894 = undefined;\n s.d___9897 = undefined;\n s.t___9900 = undefined;\n r0 = pxsim.control.millis();\n s.pos___9886 = (r0);\n case 1:\n r0 = (s.caps[0] == globals.playToneID___345);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 2; continue; }\n r0 = s.tmp_0;\n { step = 3; continue; }\n case 2:\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > 0);\n case 3:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 6; continue; }\n r0 = pxsim.control.millis();\n s.now___9894 = (r0);\n r0 = (s.pos___9886 - s.now___9894);\n s.d___9897 = (r0);\n s.tmp_0 = Math_min__P62_mk(s);\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = 500;\n s.pc = 7; return s.tmp_0;\n case 7:\n r0 = s.retval;\n s.t___9900 = (r0);\n s.tmp_0 = r0 = s.caps[1];\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - s.t___9900);\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1);\n r0 = (s.pos___9886 + s.t___9900);\n s.pos___9886 = (r0);\n s.tmp_0 = music_playNoteCore__P343_mk(s);\n r0 = (s.d___9897 - 1);\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = s.caps[2];\n s.tmp_0.arg2 = s.t___9900;\n s.pc = 8; return s.tmp_0;\n case 8:\n r0 = s.retval;\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 == 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 4; continue; }\n s.tmp_2 = pause__P241_mk(s);\n r0 = (s.d___9897 + s.t___9900);\n s.tmp_2.arg0 = r0;\n s.pc = 9; return s.tmp_2;\n case 9:\n r0 = s.retval;\n { step = 5; continue; }\n case 4:\n s.tmp_0 = pause__P241_mk(s);\n r0 = (s.d___9897 + s.t___9900);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - 100);\n s.tmp_0.arg0 = r0;\n s.pc = 10; return s.tmp_0;\n case 10:\n r0 = s.retval;\n case 5:\n { step = 1; continue; }\n case 6:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9885.info = {"start":2890,"length":515,"line":92,"column":34,"endLine":106,"endColumn":13,"fileName":"pxt_modules/mixer/melody.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P9885_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9885, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n pos___9886: undefined,\n now___9894: undefined,\n d___9897: undefined,\n t___9900: undefined,\n} }\n\n\n\n\n\nfunction music_playNoteCore__P343(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.buf___9923 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = pxsim.control.createBuffer(12);\n s.buf___9923 = (r0);\n s.tmp_0 = music_addNote__P362_mk(s);\n s.tmp_0.arg0 = s.buf___9923;\n s.tmp_0.arg1 = 0;\n s.tmp_0.arg2 = s.arg2;\n s.tmp_0.arg3 = 255;\n s.tmp_0.arg4 = 255;\n s.tmp_0.arg5 = 3;\n s.tmp_0.arg6 = s.arg1;\n s.tmp_1 = music_volume__P342_mk(s);\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n s.tmp_0.arg7 = r0;\n s.tmp_0.arg8 = s.arg1;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = pxsim.music.queuePlayInstructions(s.arg0, s.buf___9923);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nmusic_playNoteCore__P343.info = {"start":1877,"length":240,"line":66,"column":4,"endLine":70,"endColumn":5,"fileName":"pxt_modules/mixer/melody.ts","functionName":"playNoteCore","argumentNames":["when","frequency","ms"]}\n\nfunction music_playNoteCore__P343_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_playNoteCore__P343, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n buf___9923: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_volumeUp__P1185(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.v___9854 = undefined;\n s.remainder___9856 = undefined;\n s.newVolume___9858 = undefined;\n s.tmp_0 = music_volume__P342_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.v___9854 = (r0);\n r0 = (s.v___9854 % 32);\n s.remainder___9856 = (r0);\n r0 = (s.v___9854 + 32);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 - s.remainder___9856);\n s.newVolume___9858 = (r0);\n s.tmp_0 = scene_systemMenu_setVolume__P1184_mk(s);\n s.tmp_0.arg0 = s.newVolume___9858;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_volumeUp__P1185.info = {"start":8737,"length":171,"line":271,"column":4,"endLine":276,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"volumeUp","argumentNames":[]}\n\nfunction scene_systemMenu_volumeUp__P1185_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_volumeUp__P1185, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n v___9854: undefined,\n remainder___9856: undefined,\n newVolume___9858: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_MenuOption_constructor__P1175(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_systemMenu_MenuOption__C1167_VT)) failedCast(r0);\n r0 = (s.arg0).fields["iconImage"] = (s.arg1);\n r0 = (s.arg0).fields["getText"] = (s.arg2);\n r0 = (s.arg0).fields["action"] = (s.arg3);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_MenuOption_constructor__P1175.info = {"start":786,"length":108,"line":38,"column":8,"endLine":39,"endColumn":9,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":["this","iconImage","getText","action"]}\n\nfunction scene_systemMenu_MenuOption_constructor__P1175_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_MenuOption_constructor__P1175, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction helpers_screenBrightness__P420(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = globals.brightness___401;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_screenBrightness__P420.info = {"start":7548,"length":98,"line":243,"column":4,"endLine":245,"endColumn":5,"fileName":"pxt_modules/screen/image.ts","functionName":"screenBrightness","argumentNames":["img"]}\n\nfunction helpers_screenBrightness__P420_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_screenBrightness__P420, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction helpers_arrayConcat__P51(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.out___9615 = undefined;\n s.value___9618 = undefined;\n s.unnamed36___U2 = undefined;\n s.unnamed37___U3 = undefined;\n s.value___9625 = undefined;\n s.unnamed38___U5 = undefined;\n s.unnamed39___U6 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_Array__mk();\n s.out___9615 = (r0);\n s.value___9618 = (undefined);\n s.value___9618 = (undefined);\n s.unnamed36___U2 = (s.arg0);\n s.unnamed37___U3 = (0);\n case 1:\n s.tmp_0 = r0 = s.unnamed37___U3;\n r0 = pxsim_Array__length(s.unnamed36___U2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 2; continue; }\n r0 = pxsim_Array__getAt(s.unnamed36___U2, s.unnamed37___U3);\n s.value___9618 = (r0);\n r0 = pxsim_Array__push(s.out___9615, s.value___9618);\n r0 = (s.unnamed37___U3 + 1);\n s.unnamed37___U3 = (r0);\n { step = 1; continue; }\n case 2:\n s.unnamed36___U2 = (undefined);\n s.value___9625 = (undefined);\n s.value___9625 = (undefined);\n s.unnamed38___U5 = (s.arg1);\n s.unnamed39___U6 = (0);\n case 3:\n s.tmp_0 = r0 = s.unnamed39___U6;\n r0 = pxsim_Array__length(s.unnamed38___U5);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 4; continue; }\n r0 = pxsim_Array__getAt(s.unnamed38___U5, s.unnamed39___U6);\n s.value___9625 = (r0);\n r0 = pxsim_Array__push(s.out___9615, s.value___9625);\n r0 = (s.unnamed39___U6 + 1);\n s.unnamed39___U6 = (r0);\n { step = 3; continue; }\n case 4:\n s.unnamed38___U5 = (undefined);\n r0 = s.out___9615;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_arrayConcat__P51.info = {"start":6356,"length":264,"line":204,"column":4,"endLine":213,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"arrayConcat","argumentNames":["arr","otherArr"]}\n\nfunction helpers_arrayConcat__P51_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_arrayConcat__P51, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n out___9615: undefined,\n value___9618: undefined,\n unnamed36___U2: undefined,\n unnamed37___U3: undefined,\n value___9625: undefined,\n unnamed38___U5: undefined,\n unnamed39___U6: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_PauseMenu_constructor__P1183(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_systemMenu_PauseMenu__C1176_VT)) failedCast(r0);\n r0 = (s.arg0).fields["generator"] = (s.arg1);\n s.tmp_0 = r0 = s.arg2;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n s.tmp_1 = scene_systemMenu_buildMenuTheme__P1194_mk(s);\n r0 = pxsim_ImageMethods.width(globals.CARD_NORMAL___1205);\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = 3;\n s.tmp_1.arg2 = undefined;\n s.tmp_1.arg3 = undefined;\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n case 2:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = (s.arg0).fields["theme"] = (s.tmp_2);\n r0 = (s.arg0).fields["scrollRow"] = (0);\n r0 = (s.arg0).fields["scrollOffset"] = (0);\n r0 = (s.arg0).fields["scrollTarget"] = (0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_PauseMenu_constructor__P1183.info = {"start":3029,"length":257,"line":116,"column":8,"endLine":121,"endColumn":9,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":["this","generator","theme"]}\n\nfunction scene_systemMenu_PauseMenu_constructor__P1183_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_PauseMenu_constructor__P1183, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_buildMenuTheme__P1194(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.cardsPerRow___9968 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_0 = r0;\n r0 = (s.arg0 + s.arg1);\n s.tmp_1 = r0;\n r0 = pxsim.Math_.idiv(s.tmp_0, s.tmp_1);\n s.cardsPerRow___9968 = (r0);\n s.tmp_0 = r0 = s.arg2;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = globals.font8___423;\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n s.arg2 = (s.tmp_1);\n s.tmp_0 = r0 = s.arg3;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = s.tmp_0;\n { step = 4; continue; }\n case 3:\n s.tmp_1 = image_doubledFont__P426_mk(s);\n s.tmp_1.arg0 = s.arg2;\n s.pc = 5; return s.tmp_1;\n case 5:\n r0 = s.retval;\n case 4:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n s.arg3 = (s.tmp_2);\n r0 = pxsim_pxtrt.mkMap();\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "cardSpacing", s.arg1);\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "cardWidth", s.arg0);\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "cardsPerRow", s.cardsPerRow___9968);\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_3 = r0;\n r0 = (s.cardsPerRow___9968 * s.arg0);\n s.tmp_5 = r0;\n r0 = (s.cardsPerRow___9968 - 1);\n s.tmp_7 = r0;\n r0 = (s.tmp_7 * s.arg1);\n s.tmp_6 = r0;\n r0 = (s.tmp_5 + s.tmp_6);\n s.tmp_4 = r0;\n r0 = (s.tmp_3 - s.tmp_4);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 >> 1);\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "padding", s.tmp_1);\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "infoFont", s.arg2);\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "headerFont", s.arg3);\n s.tmp_11 = if_charHeight_1_mk(s);\n s.tmp_11.arg0 = s.arg3;\n if (!s.tmp_11.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_11.arg0, "charHeight");\n } else {\n s.tmp_11.fn = s.tmp_11.arg0.vtable.iface["charHeight"];\n if (s.tmp_11.fn == null) { s.retval = s.tmp_11.arg0.fields["charHeight"]; }\n else { s.pc = 6; return s.tmp_11; }\n }\n case 6:\n r0 = s.retval;\n s.tmp_10 = r0;\n r0 = (s.tmp_10 + 2);\n s.tmp_9 = r0;\n r0 = (s.tmp_9 + s.arg1);\n s.tmp_8 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "cardsTop", s.tmp_8);\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n s.tmp_14 = r0;\n s.tmp_16 = if_charHeight_1_mk(s);\n s.tmp_16.arg0 = s.arg2;\n if (!s.tmp_16.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_16.arg0, "charHeight");\n } else {\n s.tmp_16.fn = s.tmp_16.arg0.vtable.iface["charHeight"];\n if (s.tmp_16.fn == null) { s.retval = s.tmp_16.arg0.fields["charHeight"]; }\n else { s.pc = 7; return s.tmp_16; }\n }\n case 7:\n r0 = s.retval;\n s.tmp_15 = r0;\n r0 = (s.tmp_14 - s.tmp_15);\n s.tmp_13 = r0;\n r0 = (s.tmp_13 - 2);\n s.tmp_12 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "infoTop", s.tmp_12);\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "headerText", "PAUSED");\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "selectedCard", globals.CARD_SELECTED___1208);\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "activeCard", globals.CARD_ACTIVE___1211);\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "basicCard", globals.CARD_NORMAL___1205);\n r0 = s.tmp_0;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_buildMenuTheme__P1194.info = {"start":10973,"length":906,"line":339,"column":4,"endLine":358,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"buildMenuTheme","argumentNames":["cardWidth","cardSpacing","infoFont","headerFont"]}\n\nfunction scene_systemMenu_buildMenuTheme__P1194_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_buildMenuTheme__P1194, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n tmp_12: undefined,\n tmp_13: undefined,\n tmp_14: undefined,\n tmp_15: undefined,\n tmp_16: undefined,\n cardsPerRow___9968: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction image_doubledFont__P426(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = image_scaledFont__P427_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = 2;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n return leave(s, r0)\n default: oops()\n} } }\nimage_doubledFont__P426.info = {"start":12008,"length":82,"line":146,"column":4,"endLine":148,"endColumn":5,"fileName":"pxt_modules/screen/text.ts","functionName":"doubledFont","argumentNames":["f"]}\n\nfunction image_doubledFont__P426_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: image_doubledFont__P426, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction image_scaledFont__P427(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg1 | 0);\n s.arg1 = (r0);\n r0 = (s.arg1 < 2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.arg0;\n { step = 5; continue; }\n case 1:\n case 2:\n r0 = pxsim_pxtrt.mkMap();\n s.tmp_1 = r0;\n s.tmp_4 = if_charWidth_1_mk(s);\n s.tmp_4.arg0 = s.arg0;\n if (!s.tmp_4.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_4.arg0, "charWidth");\n } else {\n s.tmp_4.fn = s.tmp_4.arg0.vtable.iface["charWidth"];\n if (s.tmp_4.fn == null) { s.retval = s.tmp_4.arg0.fields["charWidth"]; }\n else { s.pc = 6; return s.tmp_4; }\n }\n case 6:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_3 * s.arg1);\n s.tmp_2 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_1, "charWidth", s.tmp_2);\n s.tmp_7 = if_charHeight_1_mk(s);\n s.tmp_7.arg0 = s.arg0;\n if (!s.tmp_7.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_7.arg0, "charHeight");\n } else {\n s.tmp_7.fn = s.tmp_7.arg0.vtable.iface["charHeight"];\n if (s.tmp_7.fn == null) { s.retval = s.tmp_7.arg0.fields["charHeight"]; }\n else { s.pc = 7; return s.tmp_7; }\n }\n case 7:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = (s.tmp_6 * s.arg1);\n s.tmp_5 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_1, "charHeight", s.tmp_5);\n s.tmp_9 = if_data_1_mk(s);\n s.tmp_9.arg0 = s.arg0;\n if (!s.tmp_9.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_9.arg0, "data");\n } else {\n s.tmp_9.fn = s.tmp_9.arg0.vtable.iface["data"];\n if (s.tmp_9.fn == null) { s.retval = s.tmp_9.arg0.fields["data"]; }\n else { s.pc = 8; return s.tmp_9; }\n }\n case 8:\n r0 = s.retval;\n s.tmp_8 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_1, "data", s.tmp_8);\n s.tmp_11 = if_multiplier_1_mk(s);\n s.tmp_11.arg0 = s.arg0;\n if (!s.tmp_11.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_11.arg0, "multiplier");\n } else {\n s.tmp_11.fn = s.tmp_11.arg0.vtable.iface["multiplier"];\n if (s.tmp_11.fn == null) { s.retval = s.tmp_11.arg0.fields["multiplier"]; }\n else { s.pc = 9; return s.tmp_11; }\n }\n case 9:\n r0 = s.retval;\n s.tmp_10 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_10);\n if (!r0) { step = 3; continue; }\n s.tmp_12 = r0 = s.arg1;\n s.tmp_14 = if_multiplier_1_mk(s);\n s.tmp_14.arg0 = s.arg0;\n if (!s.tmp_14.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_14.arg0, "multiplier");\n } else {\n s.tmp_14.fn = s.tmp_14.arg0.vtable.iface["multiplier"];\n if (s.tmp_14.fn == null) { s.retval = s.tmp_14.arg0.fields["multiplier"]; }\n else { s.pc = 10; return s.tmp_14; }\n }\n case 10:\n r0 = s.retval;\n s.tmp_13 = r0;\n r0 = (s.tmp_12 * s.tmp_13);\n { step = 4; continue; }\n case 3:\n r0 = s.arg1;\n case 4:\n // jmp value (already in r0)\n s.tmp_15 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_1, "multiplier", s.tmp_15);\n r0 = s.tmp_1;\n case 5:\n return leave(s, r0)\n default: oops()\n} } }\nimage_scaledFont__P427.info = {"start":12096,"length":331,"line":150,"column":4,"endLine":160,"endColumn":5,"fileName":"pxt_modules/screen/text.ts","functionName":"scaledFont","argumentNames":["f","size"]}\n\nfunction image_scaledFont__P427_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: image_scaledFont__P427, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n tmp_12: undefined,\n tmp_13: undefined,\n tmp_14: undefined,\n tmp_15: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_PauseMenu_show__P1177(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.current___8967 = undefined;\n s.i___8968 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_systemMenu_PauseMenu__C1176_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_2 = lambda_1_mk(s);\n r0 = s.arg0.fields["generator"];\n s.tmp_2.argL = r0;\n setupLambda(s.tmp_2, s.tmp_2.argL);\n s.pc = 3; return s.tmp_2;\n case 3:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["options"] = (s.tmp_1);\n r0 = (s.arg0).fields["selection"] = (0);\n s.i___8968 = (0);\n case 1:\n s.tmp_1 = r0 = s.i___8968;\n r0 = s.arg0.fields["options"];\n s.tmp_3 = r0;\n r0 = pxsim_Array__length(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n r0 = s.arg0.fields["options"];\n s.tmp_4 = r0;\n r0 = pxsim_Array__getAt(s.tmp_4, s.i___8968);\n s.current___8967 = (r0);\n s.tmp_0 = scene_systemMenu_MenuOption_show__P1168_mk(s);\n s.tmp_0.arg0 = s.current___8967;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n s.tmp_0 = scene_systemMenu_MenuOption_setTheme__P1171_mk(s);\n s.tmp_0.arg0 = s.current___8967;\n r0 = s.arg0.fields["theme"];\n s.tmp_0.arg1 = r0;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n s.tmp_0 = scene_systemMenu_MenuOption_position__P1169_mk(s);\n s.tmp_0.arg0 = s.current___8967;\n s.tmp_2 = if_padding_1_mk(s);\n r0 = s.arg0.fields["theme"];\n s.tmp_2.arg0 = r0;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "padding");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["padding"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["padding"]; }\n else { s.pc = 7; return s.tmp_2; }\n }\n case 7:\n r0 = s.retval;\n s.tmp_1 = r0;\n s.tmp_5 = r0 = s.i___8968;\n s.tmp_7 = if_cardsPerRow_1_mk(s);\n r0 = s.arg0.fields["theme"];\n s.tmp_7.arg0 = r0;\n if (!s.tmp_7.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_7.arg0, "cardsPerRow");\n } else {\n s.tmp_7.fn = s.tmp_7.arg0.vtable.iface["cardsPerRow"];\n if (s.tmp_7.fn == null) { s.retval = s.tmp_7.arg0.fields["cardsPerRow"]; }\n else { s.pc = 8; return s.tmp_7; }\n }\n case 8:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = (s.tmp_5 % s.tmp_6);\n s.tmp_4 = r0;\n s.tmp_10 = if_cardWidth_1_mk(s);\n r0 = s.arg0.fields["theme"];\n s.tmp_10.arg0 = r0;\n if (!s.tmp_10.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_10.arg0, "cardWidth");\n } else {\n s.tmp_10.fn = s.tmp_10.arg0.vtable.iface["cardWidth"];\n if (s.tmp_10.fn == null) { s.retval = s.tmp_10.arg0.fields["cardWidth"]; }\n else { s.pc = 9; return s.tmp_10; }\n }\n case 9:\n r0 = s.retval;\n s.tmp_9 = r0;\n s.tmp_12 = if_cardSpacing_1_mk(s);\n r0 = s.arg0.fields["theme"];\n s.tmp_12.arg0 = r0;\n if (!s.tmp_12.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_12.arg0, "cardSpacing");\n } else {\n s.tmp_12.fn = s.tmp_12.arg0.vtable.iface["cardSpacing"];\n if (s.tmp_12.fn == null) { s.retval = s.tmp_12.arg0.fields["cardSpacing"]; }\n else { s.pc = 10; return s.tmp_12; }\n }\n case 10:\n r0 = s.retval;\n s.tmp_11 = r0;\n r0 = (s.tmp_9 + s.tmp_11);\n s.tmp_8 = r0;\n r0 = (s.tmp_4 * s.tmp_8);\n s.tmp_3 = r0;\n r0 = (s.tmp_1 + s.tmp_3);\n s.tmp_0.arg1 = r0;\n s.tmp_14 = if_cardsTop_1_mk(s);\n r0 = s.arg0.fields["theme"];\n s.tmp_14.arg0 = r0;\n if (!s.tmp_14.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_14.arg0, "cardsTop");\n } else {\n s.tmp_14.fn = s.tmp_14.arg0.vtable.iface["cardsTop"];\n if (s.tmp_14.fn == null) { s.retval = s.tmp_14.arg0.fields["cardsTop"]; }\n else { s.pc = 11; return s.tmp_14; }\n }\n case 11:\n r0 = s.retval;\n s.tmp_13 = r0;\n s.tmp_17 = r0 = s.i___8968;\n s.tmp_19 = if_cardsPerRow_1_mk(s);\n r0 = s.arg0.fields["theme"];\n s.tmp_19.arg0 = r0;\n if (!s.tmp_19.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_19.arg0, "cardsPerRow");\n } else {\n s.tmp_19.fn = s.tmp_19.arg0.vtable.iface["cardsPerRow"];\n if (s.tmp_19.fn == null) { s.retval = s.tmp_19.arg0.fields["cardsPerRow"]; }\n else { s.pc = 12; return s.tmp_19; }\n }\n case 12:\n r0 = s.retval;\n s.tmp_18 = r0;\n r0 = pxsim.Math_.idiv(s.tmp_17, s.tmp_18);\n s.tmp_16 = r0;\n s.tmp_22 = if_cardWidth_1_mk(s);\n r0 = s.arg0.fields["theme"];\n s.tmp_22.arg0 = r0;\n if (!s.tmp_22.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_22.arg0, "cardWidth");\n } else {\n s.tmp_22.fn = s.tmp_22.arg0.vtable.iface["cardWidth"];\n if (s.tmp_22.fn == null) { s.retval = s.tmp_22.arg0.fields["cardWidth"]; }\n else { s.pc = 13; return s.tmp_22; }\n }\n case 13:\n r0 = s.retval;\n s.tmp_21 = r0;\n s.tmp_24 = if_cardSpacing_1_mk(s);\n r0 = s.arg0.fields["theme"];\n s.tmp_24.arg0 = r0;\n if (!s.tmp_24.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_24.arg0, "cardSpacing");\n } else {\n s.tmp_24.fn = s.tmp_24.arg0.vtable.iface["cardSpacing"];\n if (s.tmp_24.fn == null) { s.retval = s.tmp_24.arg0.fields["cardSpacing"]; }\n else { s.pc = 14; return s.tmp_24; }\n }\n case 14:\n r0 = s.retval;\n s.tmp_23 = r0;\n r0 = (s.tmp_21 + s.tmp_23);\n s.tmp_20 = r0;\n r0 = (s.tmp_16 * s.tmp_20);\n s.tmp_15 = r0;\n r0 = (s.tmp_13 + s.tmp_15);\n s.tmp_0.arg2 = r0;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n r0 = (s.i___8968 + 1);\n s.i___8968 = (r0);\n { step = 1; continue; }\n case 2:\n s.tmp_0 = controller__setUserEventsEnabled__P586_mk(s);\n s.tmp_0.arg0 = false;\n s.pc = 15; return s.tmp_0;\n case 15:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkAction(1, inline__P9028);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n s.tmp_1 = controller_Button_onEvent__P543_mk(s);\n s.tmp_1.arg0 = globals.A___525;\n s.tmp_1.arg1 = 2053;\n s.tmp_1.arg2 = s.tmp_0;\n s.pc = 16; return s.tmp_1;\n case 16:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkAction(1, inline__P9047);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n s.tmp_1 = controller_Button_onEvent__P543_mk(s);\n s.tmp_1.arg0 = globals.A___525;\n s.tmp_1.arg1 = 2052;\n s.tmp_1.arg2 = s.tmp_0;\n s.pc = 17; return s.tmp_1;\n case 17:\n r0 = s.retval;\n s.tmp_0 = controller_Button_onEvent__P543_mk(s);\n s.tmp_0.arg0 = globals.B___526;\n s.tmp_0.arg1 = 2053;\n s.tmp_0.arg2 = inline__P9075;\n s.pc = 18; return s.tmp_0;\n case 18:\n r0 = s.retval;\n s.tmp_0 = controller_Button_onEvent__P543_mk(s);\n s.tmp_0.arg0 = globals.menu___531;\n s.tmp_0.arg1 = 2053;\n s.tmp_0.arg2 = inline__P9080;\n s.pc = 19; return s.tmp_0;\n case 19:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkAction(1, inline__P9085);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n s.tmp_1 = controller_Button_onEvent__P543_mk(s);\n s.tmp_1.arg0 = globals.up___528;\n s.tmp_1.arg1 = 2053;\n s.tmp_1.arg2 = s.tmp_0;\n s.pc = 20; return s.tmp_1;\n case 20:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkAction(1, inline__P9096);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n s.tmp_1 = controller_Button_onEvent__P543_mk(s);\n s.tmp_1.arg0 = globals.left___527;\n s.tmp_1.arg1 = 2053;\n s.tmp_1.arg2 = s.tmp_0;\n s.pc = 21; return s.tmp_1;\n case 21:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkAction(1, inline__P9104);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n s.tmp_1 = controller_Button_onEvent__P543_mk(s);\n s.tmp_1.arg0 = globals.down___530;\n s.tmp_1.arg1 = 2053;\n s.tmp_1.arg2 = s.tmp_0;\n s.pc = 22; return s.tmp_1;\n case 22:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkAction(1, inline__P9118);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n s.tmp_1 = controller_Button_onEvent__P543_mk(s);\n s.tmp_1.arg0 = globals.right___529;\n s.tmp_1.arg1 = 2053;\n s.tmp_1.arg2 = s.tmp_0;\n s.pc = 23; return s.tmp_1;\n case 23:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkAction(1, inline__P9128);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n s.tmp_1 = game_onShade__P1032_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.pc = 24; return s.tmp_1;\n case 24:\n r0 = s.retval;\n s.tmp_0 = scene_systemMenu_PauseMenu_setSelection__P1179_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = 0;\n s.pc = 25; return s.tmp_0;\n case 25:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_PauseMenu_show__P1177.info = {"start":3296,"length":2241,"line":123,"column":8,"endLine":181,"endColumn":9,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"show","argumentNames":["this"]}\n\nfunction scene_systemMenu_PauseMenu_show__P1177_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_PauseMenu_show__P1177, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n tmp_12: undefined,\n tmp_13: undefined,\n tmp_14: undefined,\n tmp_15: undefined,\n tmp_16: undefined,\n tmp_17: undefined,\n tmp_18: undefined,\n tmp_19: undefined,\n tmp_20: undefined,\n tmp_21: undefined,\n tmp_22: undefined,\n tmp_23: undefined,\n tmp_24: undefined,\n current___8967: undefined,\n i___8968: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P9028(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = s.caps[0].fields["options"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = s.caps[0].fields["options"];\n s.tmp_5 = r0;\n r0 = s.caps[0].fields["selection"];\n s.tmp_6 = r0;\n r0 = pxsim_Array__getAt(s.tmp_5, s.tmp_6);\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n s.tmp_3 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_3);\n case 2:\n // jmp value (already in r0)\n s.tmp_7 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_7);\n if (!r0) { step = 3; continue; }\n { step = 5; continue; }\n case 3:\n case 4:\n s.tmp_8 = scene_systemMenu_MenuOption_setState__P1172_mk(s);\n r0 = s.caps[0].fields["options"];\n s.tmp_9 = r0;\n r0 = s.caps[0].fields["selection"];\n s.tmp_10 = r0;\n r0 = pxsim_Array__getAt(s.tmp_9, s.tmp_10);\n s.tmp_8.arg0 = r0;\n s.tmp_8.arg1 = 1;\n s.pc = 6; return s.tmp_8;\n case 6:\n r0 = s.retval;\n case 5:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9028.info = {"start":4025,"length":170,"line":140,"column":50,"endLine":143,"endColumn":13,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P9028_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9028, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n} }\n\n\n\n\n\nfunction inline__P9047(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = s.caps[0].fields["options"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = s.caps[0].fields["options"];\n s.tmp_5 = r0;\n r0 = s.caps[0].fields["selection"];\n s.tmp_6 = r0;\n r0 = pxsim_Array__getAt(s.tmp_5, s.tmp_6);\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n s.tmp_3 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_3);\n case 2:\n // jmp value (already in r0)\n s.tmp_7 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_7);\n if (!r0) { step = 3; continue; }\n { step = 5; continue; }\n case 3:\n case 4:\n s.tmp_8 = scene_systemMenu_MenuOption_setState__P1172_mk(s);\n r0 = s.caps[0].fields["options"];\n s.tmp_9 = r0;\n r0 = s.caps[0].fields["selection"];\n s.tmp_10 = r0;\n r0 = pxsim_Array__getAt(s.tmp_9, s.tmp_10);\n s.tmp_8.arg0 = r0;\n s.tmp_8.arg1 = 0;\n s.pc = 6; return s.tmp_8;\n case 6:\n r0 = s.retval;\n r0 = s.caps[0].fields["options"];\n s.tmp_1 = r0;\n r0 = s.caps[0].fields["selection"];\n s.tmp_2 = r0;\n r0 = pxsim_Array__getAt(s.tmp_1, s.tmp_2);\n r0 = r0.fields["action"];\n s.tmp_0 = r0;\n r0 = pxsim.control.runInParallel(s.tmp_0);\n case 5:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9047.info = {"start":4247,"length":247,"line":145,"column":48,"endLine":149,"endColumn":13,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P9047_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9047, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n} }\n\n\n\n\n\nfunction inline__P9075(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = scene_systemMenu_closeMenu__P1192_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9075.info = {"start":4548,"length":50,"line":151,"column":50,"endLine":153,"endColumn":13,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P9075_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9075, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction inline__P9080(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = scene_systemMenu_closeMenu__P1192_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9080.info = {"start":4655,"length":50,"line":155,"column":53,"endLine":157,"endColumn":13,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P9080_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9080, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction inline__P9085(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = scene_systemMenu_PauseMenu_setSelection__P1179_mk(s);\n s.tmp_0.arg0 = s.caps[0];\n s.tmp_1 = Math_max__P61_mk(s);\n s.tmp_1.arg0 = 0;\n r0 = s.caps[0].fields["selection"];\n s.tmp_2 = r0;\n s.tmp_4 = if_cardsPerRow_1_mk(s);\n r0 = s.caps[0].fields["theme"];\n s.tmp_4.arg0 = r0;\n if (!s.tmp_4.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_4.arg0, "cardsPerRow");\n } else {\n s.tmp_4.fn = s.tmp_4.arg0.vtable.iface["cardsPerRow"];\n if (s.tmp_4.fn == null) { s.retval = s.tmp_4.arg0.fields["cardsPerRow"]; }\n else { s.pc = 3; return s.tmp_4; }\n }\n case 3:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_2 - s.tmp_3);\n s.tmp_1.arg1 = r0;\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9085.info = {"start":4760,"length":110,"line":159,"column":51,"endLine":161,"endColumn":13,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P9085_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9085, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n} }\n\n\n\n\n\nfunction inline__P9096(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = scene_systemMenu_PauseMenu_setSelection__P1179_mk(s);\n s.tmp_0.arg0 = s.caps[0];\n s.tmp_1 = Math_max__P61_mk(s);\n s.tmp_1.arg0 = 0;\n r0 = s.caps[0].fields["selection"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - 1);\n s.tmp_1.arg1 = r0;\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9096.info = {"start":4927,"length":89,"line":163,"column":53,"endLine":165,"endColumn":13,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P9096_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9096, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n} }\n\n\n\n\n\nfunction inline__P9104(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = scene_systemMenu_PauseMenu_setSelection__P1179_mk(s);\n s.tmp_0.arg0 = s.caps[0];\n s.tmp_1 = Math_min__P62_mk(s);\n r0 = s.caps[0].fields["options"];\n s.tmp_3 = r0;\n r0 = pxsim_Array__length(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - 1);\n s.tmp_1.arg0 = r0;\n r0 = s.caps[0].fields["selection"];\n s.tmp_4 = r0;\n s.tmp_6 = if_cardsPerRow_1_mk(s);\n r0 = s.caps[0].fields["theme"];\n s.tmp_6.arg0 = r0;\n if (!s.tmp_6.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_6.arg0, "cardsPerRow");\n } else {\n s.tmp_6.fn = s.tmp_6.arg0.vtable.iface["cardsPerRow"];\n if (s.tmp_6.fn == null) { s.retval = s.tmp_6.arg0.fields["cardsPerRow"]; }\n else { s.pc = 3; return s.tmp_6; }\n }\n case 3:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = (s.tmp_4 + s.tmp_5);\n s.tmp_1.arg1 = r0;\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9104.info = {"start":5073,"length":132,"line":167,"column":53,"endLine":169,"endColumn":13,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P9104_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9104, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n} }\n\n\n\n\n\nfunction inline__P9118(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = scene_systemMenu_PauseMenu_setSelection__P1179_mk(s);\n s.tmp_0.arg0 = s.caps[0];\n s.tmp_1 = Math_min__P62_mk(s);\n r0 = s.caps[0].fields["options"];\n s.tmp_3 = r0;\n r0 = pxsim_Array__length(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - 1);\n s.tmp_1.arg0 = r0;\n r0 = s.caps[0].fields["selection"];\n s.tmp_4 = r0;\n r0 = (s.tmp_4 + 1);\n s.tmp_1.arg1 = r0;\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9118.info = {"start":5263,"length":111,"line":171,"column":54,"endLine":173,"endColumn":13,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P9118_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9118, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n} }\n\n\n\n\n\nfunction inline__P9128(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = scene_systemMenu_PauseMenu_onUpdate__P1178_mk(s);\n s.tmp_0.arg0 = s.caps[0];\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.tmp_0 = scene_systemMenu_PauseMenu_drawText__P1180_mk(s);\n s.tmp_0.arg0 = s.caps[0];\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9128.info = {"start":5403,"length":87,"line":175,"column":25,"endLine":178,"endColumn":13,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P9128_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9128, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_PauseMenu_drawText__P1180(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_systemMenu_PauseMenu__C1176_VT)) failedCast(r0);\n r0 = s.arg0.fields["options"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 3; continue; }\n case 1:\n case 2:\n s.tmp_3 = helpers_imageFillRect__P411_mk(s);\n s.tmp_3.arg0 = globals.screen___464;\n s.tmp_3.arg1 = 0;\n s.tmp_3.arg2 = 0;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_3.arg3 = r0;\n s.tmp_5 = if_cardsTop_1_mk(s);\n r0 = s.arg0.fields["theme"];\n s.tmp_5.arg0 = r0;\n if (!s.tmp_5.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_5.arg0, "cardsTop");\n } else {\n s.tmp_5.fn = s.tmp_5.arg0.vtable.iface["cardsTop"];\n if (s.tmp_5.fn == null) { s.retval = s.tmp_5.arg0.fields["cardsTop"]; }\n else { s.pc = 5; return s.tmp_5; }\n }\n case 5:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = (s.tmp_4 - 2);\n s.tmp_3.arg4 = r0;\n s.tmp_3.arg5 = 15;\n s.pc = 4; return s.tmp_3;\n case 4:\n r0 = s.retval;\n s.tmp_0 = helpers_imagePrintCenter__P431_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_1 = if_headerText_1_mk(s);\n r0 = s.arg0.fields["theme"];\n s.tmp_1.arg0 = r0;\n if (!s.tmp_1.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, "headerText");\n } else {\n s.tmp_1.fn = s.tmp_1.arg0.vtable.iface["headerText"];\n if (s.tmp_1.fn == null) { s.retval = s.tmp_1.arg0.fields["headerText"]; }\n else { s.pc = 7; return s.tmp_1; }\n }\n case 7:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = 2;\n s.tmp_0.arg3 = 1;\n s.tmp_2 = if_headerFont_1_mk(s);\n r0 = s.arg0.fields["theme"];\n s.tmp_2.arg0 = r0;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "headerFont");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["headerFont"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["headerFont"]; }\n else { s.pc = 8; return s.tmp_2; }\n }\n case 8:\n r0 = s.retval;\n s.tmp_0.arg4 = r0;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n s.tmp_0 = helpers_imageFillRect__P411_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_0.arg1 = 0;\n s.tmp_2 = if_infoTop_1_mk(s);\n r0 = s.arg0.fields["theme"];\n s.tmp_2.arg0 = r0;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "infoTop");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["infoTop"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["infoTop"]; }\n else { s.pc = 10; return s.tmp_2; }\n }\n case 10:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - 3);\n s.tmp_0.arg2 = r0;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_0.arg3 = r0;\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n s.tmp_4 = r0;\n s.tmp_6 = if_infoTop_1_mk(s);\n r0 = s.arg0.fields["theme"];\n s.tmp_6.arg0 = r0;\n if (!s.tmp_6.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_6.arg0, "infoTop");\n } else {\n s.tmp_6.fn = s.tmp_6.arg0.vtable.iface["infoTop"];\n if (s.tmp_6.fn == null) { s.retval = s.tmp_6.arg0.fields["infoTop"]; }\n else { s.pc = 11; return s.tmp_6; }\n }\n case 11:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = (s.tmp_4 - s.tmp_5);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 + 6);\n s.tmp_0.arg4 = r0;\n s.tmp_0.arg5 = 15;\n s.pc = 9; return s.tmp_0;\n case 9:\n r0 = s.retval;\n s.tmp_0 = helpers_imageFillRect__P411_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_1 = if_padding_1_mk(s);\n r0 = s.arg0.fields["theme"];\n s.tmp_1.arg0 = r0;\n if (!s.tmp_1.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, "padding");\n } else {\n s.tmp_1.fn = s.tmp_1.arg0.vtable.iface["padding"];\n if (s.tmp_1.fn == null) { s.retval = s.tmp_1.arg0.fields["padding"]; }\n else { s.pc = 13; return s.tmp_1; }\n }\n case 13:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.tmp_2 = if_infoTop_1_mk(s);\n r0 = s.arg0.fields["theme"];\n s.tmp_2.arg0 = r0;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "infoTop");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["infoTop"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["infoTop"]; }\n else { s.pc = 14; return s.tmp_2; }\n }\n case 14:\n r0 = s.retval;\n s.tmp_0.arg2 = r0;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_3 = r0;\n s.tmp_6 = if_padding_1_mk(s);\n r0 = s.arg0.fields["theme"];\n s.tmp_6.arg0 = r0;\n if (!s.tmp_6.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_6.arg0, "padding");\n } else {\n s.tmp_6.fn = s.tmp_6.arg0.vtable.iface["padding"];\n if (s.tmp_6.fn == null) { s.retval = s.tmp_6.arg0.fields["padding"]; }\n else { s.pc = 15; return s.tmp_6; }\n }\n case 15:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = (s.tmp_5 << 1);\n s.tmp_4 = r0;\n r0 = (s.tmp_3 - s.tmp_4);\n s.tmp_0.arg3 = r0;\n s.tmp_8 = if_charHeight_1_mk(s);\n s.tmp_9 = if_infoFont_1_mk(s);\n r0 = s.arg0.fields["theme"];\n s.tmp_9.arg0 = r0;\n if (!s.tmp_9.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_9.arg0, "infoFont");\n } else {\n s.tmp_9.fn = s.tmp_9.arg0.vtable.iface["infoFont"];\n if (s.tmp_9.fn == null) { s.retval = s.tmp_9.arg0.fields["infoFont"]; }\n else { s.pc = 17; return s.tmp_9; }\n }\n case 17:\n r0 = s.retval;\n s.tmp_8.arg0 = r0;\n if (!s.tmp_8.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_8.arg0, "charHeight");\n } else {\n s.tmp_8.fn = s.tmp_8.arg0.vtable.iface["charHeight"];\n if (s.tmp_8.fn == null) { s.retval = s.tmp_8.arg0.fields["charHeight"]; }\n else { s.pc = 16; return s.tmp_8; }\n }\n case 16:\n r0 = s.retval;\n s.tmp_7 = r0;\n r0 = (s.tmp_7 + 1);\n s.tmp_0.arg4 = r0;\n s.tmp_0.arg5 = 1;\n s.pc = 12; return s.tmp_0;\n case 12:\n r0 = s.retval;\n s.tmp_0 = helpers_imagePrintCenter__P431_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_1 = lambda_1_mk(s);\n r0 = s.arg0.fields["options"];\n s.tmp_2 = r0;\n r0 = s.arg0.fields["selection"];\n s.tmp_3 = r0;\n r0 = pxsim_Array__getAt(s.tmp_2, s.tmp_3);\n r0 = r0.fields["getText"];\n s.tmp_1.argL = r0;\n setupLambda(s.tmp_1, s.tmp_1.argL);\n s.pc = 19; return s.tmp_1;\n case 19:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.tmp_5 = if_infoTop_1_mk(s);\n r0 = s.arg0.fields["theme"];\n s.tmp_5.arg0 = r0;\n if (!s.tmp_5.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_5.arg0, "infoTop");\n } else {\n s.tmp_5.fn = s.tmp_5.arg0.vtable.iface["infoTop"];\n if (s.tmp_5.fn == null) { s.retval = s.tmp_5.arg0.fields["infoTop"]; }\n else { s.pc = 20; return s.tmp_5; }\n }\n case 20:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = (s.tmp_4 + 1);\n s.tmp_0.arg2 = r0;\n s.tmp_0.arg3 = 15;\n s.tmp_6 = if_infoFont_1_mk(s);\n r0 = s.arg0.fields["theme"];\n s.tmp_6.arg0 = r0;\n if (!s.tmp_6.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_6.arg0, "infoFont");\n } else {\n s.tmp_6.fn = s.tmp_6.arg0.vtable.iface["infoFont"];\n if (s.tmp_6.fn == null) { s.retval = s.tmp_6.arg0.fields["infoFont"]; }\n else { s.pc = 21; return s.tmp_6; }\n }\n case 21:\n r0 = s.retval;\n s.tmp_0.arg4 = r0;\n s.pc = 18; return s.tmp_0;\n case 18:\n r0 = s.retval;\n case 3:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_PauseMenu_drawText__P1180.info = {"start":6927,"length":795,"line":224,"column":8,"endLine":241,"endColumn":9,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"drawText","argumentNames":["this"]}\n\nfunction scene_systemMenu_PauseMenu_drawText__P1180_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_PauseMenu_drawText__P1180, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_PauseMenu_setSelection__P1179(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_systemMenu_PauseMenu__C1176_VT)) failedCast(r0);\n r0 = s.arg0.fields["options"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 9; continue; }\n case 1:\n case 2:\n r0 = s.arg0.fields["options"];\n s.tmp_4 = r0;\n r0 = s.arg0.fields["selection"];\n s.tmp_5 = r0;\n r0 = pxsim_Array__getAt(s.tmp_4, s.tmp_5);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 3; continue; }\n s.tmp_6 = scene_systemMenu_MenuOption_setState__P1172_mk(s);\n r0 = s.arg0.fields["options"];\n s.tmp_7 = r0;\n r0 = s.arg0.fields["selection"];\n s.tmp_8 = r0;\n r0 = pxsim_Array__getAt(s.tmp_7, s.tmp_8);\n s.tmp_6.arg0 = r0;\n s.tmp_6.arg1 = 2;\n s.pc = 10; return s.tmp_6;\n case 10:\n r0 = s.retval;\n case 3:\n case 4:\n r0 = (s.arg0).fields["selection"] = (s.arg1);\n r0 = s.arg0.fields["options"];\n s.tmp_1 = r0;\n r0 = s.arg0.fields["selection"];\n s.tmp_2 = r0;\n r0 = pxsim_Array__getAt(s.tmp_1, s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 7; continue; }\n r0 = globals.A___525.fields["_pressed"];\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 5; continue; }\n r0 = 1;\n { step = 6; continue; }\n case 5:\n r0 = 0;\n case 6:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n s.tmp_5 = scene_systemMenu_MenuOption_setState__P1172_mk(s);\n r0 = s.arg0.fields["options"];\n s.tmp_6 = r0;\n r0 = s.arg0.fields["selection"];\n s.tmp_7 = r0;\n r0 = pxsim_Array__getAt(s.tmp_6, s.tmp_7);\n s.tmp_5.arg0 = r0;\n s.tmp_5.arg1 = s.tmp_4;\n s.pc = 11; return s.tmp_5;\n case 11:\n r0 = s.retval;\n case 7:\n case 8:\n s.tmp_0 = scene_systemMenu_PauseMenu_updateScrollTarget__P1182_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 12; return s.tmp_0;\n case 12:\n r0 = s.retval;\n case 9:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_PauseMenu_setSelection__P1179.info = {"start":6436,"length":481,"line":208,"column":8,"endLine":222,"endColumn":9,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"setSelection","argumentNames":["this","selection"]}\n\nfunction scene_systemMenu_PauseMenu_setSelection__P1179_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_PauseMenu_setSelection__P1179, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_PauseMenu_updateScrollTarget__P1182(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.row___9322 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_systemMenu_PauseMenu__C1176_VT)) failedCast(r0);\n r0 = s.arg0.fields["selection"];\n s.tmp_0 = r0;\n s.tmp_2 = if_cardsPerRow_1_mk(s);\n r0 = s.arg0.fields["theme"];\n s.tmp_2.arg0 = r0;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "cardsPerRow");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["cardsPerRow"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["cardsPerRow"]; }\n else { s.pc = 8; return s.tmp_2; }\n }\n case 8:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim.Math_.idiv(s.tmp_0, s.tmp_1);\n s.row___9322 = (r0);\n r0 = s.arg0.fields["scrollRow"];\n s.tmp_1 = r0;\n r0 = (s.row___9322 === s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = (s.row___9322 - 1);\n s.tmp_2 = r0;\n r0 = s.arg0.fields["scrollRow"];\n s.tmp_3 = r0;\n r0 = (s.tmp_2 === s.tmp_3);\n case 2:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n if (!r0) { step = 3; continue; }\n { step = 7; continue; }\n case 3:\n case 4:\n r0 = s.arg0.fields["scrollRow"];\n s.tmp_6 = r0;\n r0 = (s.row___9322 > s.tmp_6);\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_5);\n if (!r0) { step = 5; continue; }\n s.tmp_7 = r0 = s.arg0;\n r0 = s.tmp_7.fields["scrollRow"];\n s.tmp_9 = r0;\n r0 = (s.tmp_9 + 1);\n s.tmp_8 = r0;\n r0 = (s.tmp_7).fields["scrollRow"] = (s.tmp_8);\n { step = 6; continue; }\n case 5:\n s.tmp_0 = r0 = s.arg0;\n r0 = s.tmp_0.fields["scrollRow"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - 1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["scrollRow"] = (s.tmp_1);\n case 6:\n s.tmp_0 = r0 = s.arg0;\n r0 = s.arg0.fields["scrollRow"];\n s.tmp_2 = r0;\n s.tmp_5 = if_cardSpacing_1_mk(s);\n r0 = s.arg0.fields["theme"];\n s.tmp_5.arg0 = r0;\n if (!s.tmp_5.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_5.arg0, "cardSpacing");\n } else {\n s.tmp_5.fn = s.tmp_5.arg0.vtable.iface["cardSpacing"];\n if (s.tmp_5.fn == null) { s.retval = s.tmp_5.arg0.fields["cardSpacing"]; }\n else { s.pc = 9; return s.tmp_5; }\n }\n case 9:\n r0 = s.retval;\n s.tmp_4 = r0;\n s.tmp_7 = if_cardWidth_1_mk(s);\n r0 = s.arg0.fields["theme"];\n s.tmp_7.arg0 = r0;\n if (!s.tmp_7.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_7.arg0, "cardWidth");\n } else {\n s.tmp_7.fn = s.tmp_7.arg0.vtable.iface["cardWidth"];\n if (s.tmp_7.fn == null) { s.retval = s.tmp_7.arg0.fields["cardWidth"]; }\n else { s.pc = 10; return s.tmp_7; }\n }\n case 10:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = (s.tmp_4 + s.tmp_6);\n s.tmp_3 = r0;\n r0 = (s.tmp_2 * s.tmp_3);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["scrollTarget"] = (s.tmp_1);\n case 7:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_PauseMenu_updateScrollTarget__P1182.info = {"start":7907,"length":458,"line":250,"column":8,"endLine":260,"endColumn":9,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"updateScrollTarget","argumentNames":["this"]}\n\nfunction scene_systemMenu_PauseMenu_updateScrollTarget__P1182_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_PauseMenu_updateScrollTarget__P1182, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n row___9322: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_PauseMenu_onUpdate__P1178(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.t___9203 = undefined;\n s.i___9206 = undefined;\n s.dt___9226 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_systemMenu_PauseMenu__C1176_VT)) failedCast(r0);\n r0 = pxsim.control.millis();\n s.tmp_0 = r0;\n r0 = (s.tmp_0 / 250);\n s.t___9203 = (r0);\n s.i___9206 = (0);\n case 1:\n s.tmp_1 = r0 = s.i___9206;\n r0 = s.arg0.fields["options"];\n s.tmp_3 = r0;\n r0 = pxsim_Array__length(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n s.tmp_4 = scene_systemMenu_MenuOption_setOffset__P1170_mk(s);\n r0 = s.arg0.fields["options"];\n s.tmp_5 = r0;\n r0 = pxsim_Array__getAt(s.tmp_5, s.i___9206);\n s.tmp_4.arg0 = r0;\n s.tmp_8 = r0 = s.t___9203;\n s.tmp_11 = r0 = s.i___9206;\n s.tmp_13 = if_cardsPerRow_1_mk(s);\n r0 = s.arg0.fields["theme"];\n s.tmp_13.arg0 = r0;\n if (!s.tmp_13.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_13.arg0, "cardsPerRow");\n } else {\n s.tmp_13.fn = s.tmp_13.arg0.vtable.iface["cardsPerRow"];\n if (s.tmp_13.fn == null) { s.retval = s.tmp_13.arg0.fields["cardsPerRow"]; }\n else { s.pc = 11; return s.tmp_13; }\n }\n case 11:\n r0 = s.retval;\n s.tmp_12 = r0;\n r0 = (s.tmp_11 % s.tmp_12);\n s.tmp_10 = r0;\n r0 = (3.141592653589793 / 2);\n s.tmp_14 = r0;\n r0 = (s.tmp_10 * s.tmp_14);\n s.tmp_9 = r0;\n r0 = (s.tmp_8 - s.tmp_9);\n s.tmp_7 = r0;\n r0 = pxsim.Math_.sin(s.tmp_7);\n s.tmp_6 = r0;\n r0 = (2 * s.tmp_6);\n s.tmp_4.arg1 = r0;\n s.pc = 10; return s.tmp_4;\n case 10:\n r0 = s.retval;\n r0 = (s.i___9206 + 1);\n s.i___9206 = (r0);\n { step = 1; continue; }\n case 2:\n s.tmp_1 = game_currentScene__P769_mk(s);\n s.pc = 12; return s.tmp_1;\n case 12:\n r0 = s.retval;\n r0 = r0.fields["eventContext"];\n s.tmp_0 = r0;\n r0 = s.tmp_0.fields["deltaTimeMillis"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 / 1000);\n s.dt___9226 = (r0);\n r0 = s.arg0.fields["scrollOffset"];\n s.tmp_1 = r0;\n r0 = s.arg0.fields["scrollTarget"];\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.tmp_3 = r0 = s.arg0;\n r0 = s.tmp_3.fields["scrollOffset"];\n s.tmp_5 = r0;\n r0 = (s.dt___9226 * 100);\n s.tmp_6 = r0;\n r0 = (s.tmp_5 + s.tmp_6);\n s.tmp_4 = r0;\n r0 = (s.tmp_3).fields["scrollOffset"] = (s.tmp_4);\n { step = 6; continue; }\n case 3:\n r0 = s.arg0.fields["scrollOffset"];\n s.tmp_1 = r0;\n r0 = s.arg0.fields["scrollTarget"];\n s.tmp_2 = r0;\n r0 = (s.tmp_1 > s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 4; continue; }\n s.tmp_3 = r0 = s.arg0;\n r0 = s.tmp_3.fields["scrollOffset"];\n s.tmp_5 = r0;\n r0 = (s.dt___9226 * 100);\n s.tmp_6 = r0;\n r0 = (s.tmp_5 - s.tmp_6);\n s.tmp_4 = r0;\n r0 = (s.tmp_3).fields["scrollOffset"] = (s.tmp_4);\n { step = 5; continue; }\n case 4:\n { step = 9; continue; }\n case 5:\n case 6:\n s.tmp_2 = Math_abs__P59_mk(s);\n r0 = s.arg0.fields["scrollOffset"];\n s.tmp_3 = r0;\n r0 = s.arg0.fields["scrollTarget"];\n s.tmp_4 = r0;\n r0 = (s.tmp_3 - s.tmp_4);\n s.tmp_2.arg0 = r0;\n s.pc = 13; return s.tmp_2;\n case 13:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 < 2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 7; continue; }\n r0 = s.arg0.fields["scrollTarget"];\n s.tmp_5 = r0;\n r0 = (s.arg0).fields["scrollOffset"] = (s.tmp_5);\n case 7:\n case 8:\n s.tmp_1 = game_currentScene__P769_mk(s);\n s.pc = 14; return s.tmp_1;\n case 14:\n r0 = s.retval;\n r0 = r0.fields["camera"];\n s.tmp_0 = r0;\n r0 = s.arg0.fields["scrollOffset"];\n s.tmp_2 = r0;\n r0 = (s.tmp_0).fields["offsetY"] = (s.tmp_2);\n case 9:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_PauseMenu_onUpdate__P1178.info = {"start":5547,"length":879,"line":183,"column":8,"endLine":206,"endColumn":9,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"onUpdate","argumentNames":["this"]}\n\nfunction scene_systemMenu_PauseMenu_onUpdate__P1178_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_PauseMenu_onUpdate__P1178, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n tmp_12: undefined,\n tmp_13: undefined,\n tmp_14: undefined,\n t___9203: undefined,\n i___9206: undefined,\n dt___9226: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_MenuOption_setOffset__P1170(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_systemMenu_MenuOption__C1167_VT)) failedCast(r0);\n s.tmp_0 = Sprite_top__P634_mk(s);\n r0 = s.arg0.fields["card"];\n s.tmp_0.arg0 = r0;\n r0 = s.arg0.fields["top"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 + s.arg1);\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.tmp_0 = Sprite_y__P612_mk(s);\n r0 = s.arg0.fields["icon"];\n s.tmp_0.arg0 = r0;\n s.tmp_1 = Sprite_y__P611_mk(s);\n r0 = s.arg0.fields["card"];\n s.tmp_1.arg0 = r0;\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_MenuOption_setOffset__P1170.info = {"start":1411,"length":123,"line":61,"column":8,"endLine":64,"endColumn":9,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"setOffset","argumentNames":["this","offset"]}\n\nfunction scene_systemMenu_MenuOption_setOffset__P1170_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_MenuOption_setOffset__P1170, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_MenuOption_setState__P1172(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_systemMenu_MenuOption__C1167_VT)) failedCast(r0);\n r0 = s.arg0.fields["state"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 === s.arg1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 3; continue; }\n case 1:\n case 2:\n r0 = (s.arg0).fields["state"] = (s.arg1);\n s.tmp_0 = scene_systemMenu_MenuOption_updateCard__P1174_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n case 3:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_MenuOption_setState__P1172.info = {"start":1655,"length":147,"line":71,"column":8,"endLine":75,"endColumn":9,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"setState","argumentNames":["this","state"]}\n\nfunction scene_systemMenu_MenuOption_setState__P1172_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_MenuOption_setState__P1172, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_MenuOption_updateCard__P1174(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_systemMenu_MenuOption__C1167_VT)) failedCast(r0);\n r0 = s.arg0.fields["theme"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 7; continue; }\n case 1:\n case 2:\n r0 = s.arg0.fields["state"];\n s.tmp_3 = r0;\n r0 = pxsim_pxtcore.switch_eq(2, s.tmp_3);\n if (r0) { step = 3; continue; }\n r0 = pxsim_pxtcore.switch_eq(0, s.tmp_3);\n if (r0) { step = 4; continue; }\n r0 = pxsim_pxtcore.switch_eq(1, s.tmp_3);\n if (r0) { step = 5; continue; }\n r0 = s.tmp_3;\n { step = 6; continue; }\n case 3:\n s.tmp_4 = Sprite_setImage__P625_mk(s);\n r0 = s.arg0.fields["card"];\n s.tmp_4.arg0 = r0;\n s.tmp_5 = if_basicCard_1_mk(s);\n r0 = s.arg0.fields["theme"];\n s.tmp_5.arg0 = r0;\n if (!s.tmp_5.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_5.arg0, "basicCard");\n } else {\n s.tmp_5.fn = s.tmp_5.arg0.vtable.iface["basicCard"];\n if (s.tmp_5.fn == null) { s.retval = s.tmp_5.arg0.fields["basicCard"]; }\n else { s.pc = 9; return s.tmp_5; }\n }\n case 9:\n r0 = s.retval;\n s.tmp_4.arg1 = r0;\n s.pc = 8; return s.tmp_4;\n case 8:\n r0 = s.retval;\n { step = 6; continue; }\n case 4:\n s.tmp_0 = Sprite_setImage__P625_mk(s);\n r0 = s.arg0.fields["card"];\n s.tmp_0.arg0 = r0;\n s.tmp_1 = if_selectedCard_1_mk(s);\n r0 = s.arg0.fields["theme"];\n s.tmp_1.arg0 = r0;\n if (!s.tmp_1.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, "selectedCard");\n } else {\n s.tmp_1.fn = s.tmp_1.arg0.vtable.iface["selectedCard"];\n if (s.tmp_1.fn == null) { s.retval = s.tmp_1.arg0.fields["selectedCard"]; }\n else { s.pc = 11; return s.tmp_1; }\n }\n case 11:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.pc = 10; return s.tmp_0;\n case 10:\n r0 = s.retval;\n { step = 6; continue; }\n case 5:\n s.tmp_0 = Sprite_setImage__P625_mk(s);\n r0 = s.arg0.fields["card"];\n s.tmp_0.arg0 = r0;\n s.tmp_1 = if_activeCard_1_mk(s);\n r0 = s.arg0.fields["theme"];\n s.tmp_1.arg0 = r0;\n if (!s.tmp_1.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, "activeCard");\n } else {\n s.tmp_1.fn = s.tmp_1.arg0.vtable.iface["activeCard"];\n if (s.tmp_1.fn == null) { s.retval = s.tmp_1.arg0.fields["activeCard"]; }\n else { s.pc = 13; return s.tmp_1; }\n }\n case 13:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.pc = 12; return s.tmp_0;\n case 12:\n r0 = s.retval;\n case 6:\n s.tmp_0 = Sprite_x__P610_mk(s);\n r0 = s.arg0.fields["icon"];\n s.tmp_0.arg0 = r0;\n s.tmp_1 = Sprite_x__P609_mk(s);\n r0 = s.arg0.fields["card"];\n s.tmp_1.arg0 = r0;\n s.pc = 15; return s.tmp_1;\n case 15:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.pc = 14; return s.tmp_0;\n case 14:\n r0 = s.retval;\n s.tmp_0 = Sprite_y__P612_mk(s);\n r0 = s.arg0.fields["icon"];\n s.tmp_0.arg0 = r0;\n s.tmp_1 = Sprite_y__P611_mk(s);\n r0 = s.arg0.fields["card"];\n s.tmp_1.arg0 = r0;\n s.pc = 17; return s.tmp_1;\n case 17:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.pc = 16; return s.tmp_0;\n case 16:\n r0 = s.retval;\n case 7:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_MenuOption_updateCard__P1174.info = {"start":2038,"length":497,"line":86,"column":8,"endLine":97,"endColumn":9,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"updateCard","argumentNames":["this"]}\n\nfunction scene_systemMenu_MenuOption_updateCard__P1174_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_MenuOption_updateCard__P1174, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_MenuOption_setTheme__P1171(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_systemMenu_MenuOption__C1167_VT)) failedCast(r0);\n r0 = (s.arg0).fields["theme"] = (s.arg1);\n s.tmp_0 = scene_systemMenu_MenuOption_updateCard__P1174_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_MenuOption_setTheme__P1171.info = {"start":1544,"length":101,"line":66,"column":8,"endLine":69,"endColumn":9,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"setTheme","argumentNames":["this","theme"]}\n\nfunction scene_systemMenu_MenuOption_setTheme__P1171_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_MenuOption_setTheme__P1171, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_MenuOption_position__P1169(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_systemMenu_MenuOption__C1167_VT)) failedCast(r0);\n r0 = (s.arg0).fields["top"] = (s.arg2);\n s.tmp_0 = Sprite_left__P630_mk(s);\n r0 = s.arg0.fields["card"];\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = s.arg1;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.tmp_0 = Sprite_top__P634_mk(s);\n r0 = s.arg0.fields["card"];\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = s.arg2;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n s.tmp_0 = Sprite_x__P610_mk(s);\n r0 = s.arg0.fields["icon"];\n s.tmp_0.arg0 = r0;\n s.tmp_1 = Sprite_x__P609_mk(s);\n r0 = s.arg0.fields["card"];\n s.tmp_1.arg0 = r0;\n s.pc = 4; return s.tmp_1;\n case 4:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.tmp_0 = Sprite_y__P612_mk(s);\n r0 = s.arg0.fields["icon"];\n s.tmp_0.arg0 = r0;\n s.tmp_1 = Sprite_y__P611_mk(s);\n r0 = s.arg0.fields["card"];\n s.tmp_1.arg0 = r0;\n s.pc = 6; return s.tmp_1;\n case 6:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_MenuOption_position__P1169.info = {"start":1178,"length":223,"line":51,"column":8,"endLine":59,"endColumn":9,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"position","argumentNames":["this","left","top"]}\n\nfunction scene_systemMenu_MenuOption_position__P1169_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_MenuOption_position__P1169, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_MenuOption_show__P1168(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_systemMenu_MenuOption__C1167_VT)) failedCast(r0);\n r0 = s.arg0.fields["theme"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_1 = if_basicCard_1_mk(s);\n r0 = s.arg0.fields["theme"];\n s.tmp_1.arg0 = r0;\n if (!s.tmp_1.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, "basicCard");\n } else {\n s.tmp_1.fn = s.tmp_1.arg0.vtable.iface["basicCard"];\n if (s.tmp_1.fn == null) { s.retval = s.tmp_1.arg0.fields["basicCard"]; }\n else { s.pc = 3; return s.tmp_1; }\n }\n case 3:\n r0 = s.retval;\n { step = 2; continue; }\n case 1:\n r0 = globals.CARD_NORMAL___1205;\n case 2:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n s.tmp_3 = r0 = s.arg0;\n s.tmp_5 = sprites_create__P602_mk(s);\n s.tmp_5.arg0 = s.tmp_2;\n s.tmp_5.arg1 = undefined;\n s.pc = 4; return s.tmp_5;\n case 4:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = (s.tmp_3).fields["card"] = (s.tmp_4);\n s.tmp_0 = if_z_2_mk(s);\n r0 = s.arg0.fields["card"];\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = 1;\n if (!s.tmp_0.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapSetByString(s.tmp_0.arg0, "z", s.tmp_0.arg1);\n } else {\n s.tmp_0.fn = s.tmp_0.arg0.vtable.iface["set/z"];\n if (s.tmp_0.fn === null) { s.tmp_0.arg0.fields["z"] = s.tmp_0.arg1; }\n else if (s.tmp_0.fn === undefined) { failedCast(s.tmp_0.arg0) }\n else { s.pc = 5; return s.tmp_0; }\n }\n case 5:\n r0 = s.retval;\n s.tmp_0 = r0 = s.arg0;\n s.tmp_2 = sprites_create__P602_mk(s);\n r0 = s.arg0.fields["iconImage"];\n s.tmp_2.arg0 = r0;\n s.tmp_2.arg1 = undefined;\n s.pc = 6; return s.tmp_2;\n case 6:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["icon"] = (s.tmp_1);\n s.tmp_0 = if_z_2_mk(s);\n r0 = s.arg0.fields["icon"];\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = 2;\n if (!s.tmp_0.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapSetByString(s.tmp_0.arg0, "z", s.tmp_0.arg1);\n } else {\n s.tmp_0.fn = s.tmp_0.arg0.vtable.iface["set/z"];\n if (s.tmp_0.fn === null) { s.tmp_0.arg0.fields["z"] = s.tmp_0.arg1; }\n else if (s.tmp_0.fn === undefined) { failedCast(s.tmp_0.arg0) }\n else { s.pc = 7; return s.tmp_0; }\n }\n case 7:\n r0 = s.retval;\n r0 = (s.arg0).fields["state"] = (2);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_MenuOption_show__P1168.info = {"start":904,"length":264,"line":41,"column":8,"endLine":49,"endColumn":9,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"show","argumentNames":["this"]}\n\nfunction scene_systemMenu_MenuOption_show__P1168_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_MenuOption_show__P1168, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_initVolume__P1199(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.vol___10031 = undefined;\n s.tmp_0 = settings_readNumber__P500_mk(s);\n s.tmp_0.arg0 = "#volume";\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.vol___10031 = (r0);\n r0 = (s.vol___10031 != null);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_1 = music_setVolume__P341_mk(s);\n s.tmp_1.arg0 = s.vol___10031;\n s.pc = 4; return s.tmp_1;\n case 4:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_initVolume__P1199.info = {"start":12557,"length":138,"line":382,"column":4,"endLine":386,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"initVolume","argumentNames":[]}\n\nfunction scene_systemMenu_initVolume__P1199_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_initVolume__P1199, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n vol___10031: undefined,\n} }\n\n\n\n\n\nfunction game_currentScene__P769(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = game_init__P1018_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = globals._scene___1008;\n return leave(s, r0)\n default: oops()\n} } }\ngame_currentScene__P769.info = {"start":667,"length":90,"line":22,"column":4,"endLine":25,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"currentScene","argumentNames":[]}\n\nfunction game_currentScene__P769_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_currentScene__P769, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction game_addScenePopHandler__P765(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_numops_toBoolDecr(globals._scenePopHandlers___1011);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_Array__mk();\n globals._scenePopHandlers___1011 = (r0);\n case 1:\n case 2:\n r0 = pxsim_Array_.indexOf(globals._scenePopHandlers___1011, s.arg0, undefined);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = pxsim_Array__push(globals._scenePopHandlers___1011, s.arg0);\n case 3:\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_addScenePopHandler__P765.info = {"start":11685,"length":237,"line":367,"column":4,"endLine":371,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"addScenePopHandler","argumentNames":["handler"]}\n\nfunction game_addScenePopHandler__P765_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_addScenePopHandler__P765, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_addScenePushHandler__P749(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_numops_toBoolDecr(globals._scenePushHandlers___1010);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_Array__mk();\n globals._scenePushHandlers___1010 = (r0);\n case 1:\n case 2:\n r0 = pxsim_Array_.indexOf(globals._scenePushHandlers___1010, s.arg0, undefined);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = pxsim_Array__push(globals._scenePushHandlers___1010, s.arg0);\n case 3:\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_addScenePushHandler__P749.info = {"start":10684,"length":242,"line":343,"column":4,"endLine":347,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"addScenePushHandler","argumentNames":["handler"]}\n\nfunction game_addScenePushHandler__P749_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_addScenePushHandler__P749, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction SpriteKind_create__P691(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = (globals.nextKind___690 === undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n globals.nextKind___690 = (1000);\n case 1:\n case 2:\n s.tmp_0 = r0 = globals.nextKind___690;\n r0 = (s.tmp_0 + 1);\n globals.nextKind___690 = (r0);\n r0 = s.tmp_0;\n return leave(s, r0)\n default: oops()\n} } }\nSpriteKind_create__P691.info = {"start":750,"length":112,"line":25,"column":4,"endLine":28,"endColumn":5,"fileName":"pxt_modules/game/spritekind.ts","functionName":"create","argumentNames":[]}\n\nfunction SpriteKind_create__P691_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: SpriteKind_create__P691, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction controller_Button_constructor__P548(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Button__C538_VT)) failedCast(r0);\n r0 = (s.arg0).fields["id"] = (s.arg1);\n r0 = (s.arg0).fields["_buttonId"] = (s.arg2);\n r0 = (s.arg0).fields["_pressed"] = (false);\n r0 = (s.arg0).fields["repeatDelay"] = (undefined);\n r0 = (s.arg0).fields["repeatInterval"] = (undefined);\n r0 = (s.arg0).fields["_repeatCount"] = (0);\n r0 = (s.arg1 > 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_pxtcore_mkAction(1, inline__P10117);\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_1, 0, s.arg0);\n r0 = s.arg0.fields["id"];\n s.tmp_2 = r0;\n r0 = pxsim.control.internalOnEvent(2050, s.tmp_2, s.tmp_1, 16);\n r0 = pxsim_pxtcore_mkAction(1, inline__P10124);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n r0 = s.arg0.fields["id"];\n s.tmp_1 = r0;\n r0 = pxsim.control.internalOnEvent(2051, s.tmp_1, s.tmp_0, 16);\n case 1:\n case 2:\n r0 = (s.arg2 > -1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = pxsim_pxtcore_mkAction(1, inline__P10133);\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_1, 0, s.arg0);\n r0 = pxsim.control.internalOnEvent(s.arg2, 2, s.tmp_1, 16);\n r0 = pxsim_pxtcore_mkAction(1, inline__P10144);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n r0 = pxsim.control.internalOnEvent(s.arg2, 1, s.tmp_0, 16);\n case 3:\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Button_constructor__P548.info = {"start":1354,"length":1205,"line":60,"column":8,"endLine":79,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"inline","argumentNames":["this","id","buttonId"]}\n\nfunction controller_Button_constructor__P548_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Button_constructor__P548, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction inline__P10117(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = controller_Button_setPressed__P546_mk(s);\n s.tmp_0.arg0 = s.caps[0];\n s.tmp_0.arg1 = false;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P10117.info = {"start":2015,"length":28,"line":71,"column":66,"endLine":71,"endColumn":94,"fileName":"pxt_modules/game/controller.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P10117_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P10117, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction inline__P10124(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = controller_Button_setPressed__P546_mk(s);\n s.tmp_0.arg0 = s.caps[0];\n s.tmp_0.arg1 = true;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P10124.info = {"start":2117,"length":27,"line":72,"column":68,"endLine":72,"endColumn":95,"fileName":"pxt_modules/game/controller.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P10124_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P10124, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction inline__P10133(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = s.caps[0].fields["id"];\n s.tmp_0 = r0;\n r0 = pxsim.control.raiseEvent(2050, s.tmp_0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P10133.info = {"start":2344,"length":50,"line":76,"column":76,"endLine":76,"endColumn":126,"fileName":"pxt_modules/game/controller.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P10133_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P10133, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction inline__P10144(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = s.caps[0].fields["id"];\n s.tmp_0 = r0;\n r0 = pxsim.control.raiseEvent(2051, s.tmp_0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P10144.info = {"start":2478,"length":52,"line":77,"column":78,"endLine":77,"endColumn":130,"fileName":"pxt_modules/game/controller.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P10144_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P10144, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction controller_Button_setPressed__P546(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Button__C538_VT)) failedCast(r0);\n r0 = s.arg0.fields["_pressed"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 != s.arg1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n s.tmp_2 = power_poke__P392_mk(s);\n s.pc = 7; return s.tmp_2;\n case 7:\n r0 = s.retval;\n r0 = s.arg0.fields["_owner"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_1 = controller_Controller_connected__P574_mk(s);\n r0 = s.arg0.fields["_owner"];\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = true;\n s.pc = 8; return s.tmp_1;\n case 8:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = (s.arg0).fields["_pressed"] = (s.arg1);\n r0 = s.arg0.fields["_pressed"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = (s.arg0).fields["_pressedElasped"] = (0);\n s.tmp_0 = controller_Button_raiseButtonDown__P541_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 9; return s.tmp_0;\n case 9:\n r0 = s.retval;\n { step = 4; continue; }\n case 3:\n r0 = (s.arg0).fields["_repeatCount"] = (0);\n s.tmp_0 = controller_Button_raiseButtonUp__P540_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 10; return s.tmp_0;\n case 10:\n r0 = s.retval;\n case 4:\n case 5:\n case 6:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Button_setPressed__P546.info = {"start":4302,"length":507,"line":132,"column":8,"endLine":146,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"setPressed","argumentNames":["this","pressed"]}\n\nfunction controller_Button_setPressed__P546_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Button_setPressed__P546, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction controller_Controller_connected__P574(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Controller__C557_VT)) failedCast(r0);\n r0 = s.arg0.fields["_connected"];\n s.tmp_1 = r0;\n r0 = (s.arg1 != s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = (s.arg0).fields["_connected"] = (s.arg1);\n r0 = s.arg0.fields["_connected"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = 1;\n { step = 2; continue; }\n case 1:\n r0 = 2;\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = s.arg0.fields["_id"];\n s.tmp_2 = r0;\n r0 = pxsim.control.raiseEvent(s.tmp_2, s.tmp_1);\n case 3:\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Controller_connected__P574.info = {"start":11936,"length":261,"line":376,"column":8,"endLine":381,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"connected","argumentNames":["this","value"]}\n\nfunction controller_Controller_connected__P574_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Controller_connected__P574, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction controller_Controller_id__P560(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Controller__C557_VT)) failedCast(r0);\n r0 = s.arg0.fields["_id"];\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Controller_id__P560.info = {"start":8221,"length":49,"line":247,"column":8,"endLine":249,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"id","argumentNames":["this"]}\n\nfunction controller_Controller_id__P560_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Controller_id__P560, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller_Controller_connected__P573(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Controller__C557_VT)) failedCast(r0);\n r0 = s.arg0.fields["_connected"];\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Controller_connected__P573.info = {"start":11863,"length":63,"line":372,"column":8,"endLine":374,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"connected","argumentNames":["this"]}\n\nfunction controller_Controller_connected__P573_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Controller_connected__P573, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller_Button_raiseButtonDown__P541(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Button__C538_VT)) failedCast(r0);\n r0 = pxsim_numops_toBoolDecr(globals._userEventsEnabled___535);\n if (!r0) { step = 1; continue; }\n r0 = s.arg0.fields["id"];\n s.tmp_0 = r0;\n r0 = pxsim.control.raiseEvent(2049, s.tmp_0);\n { step = 2; continue; }\n case 1:\n r0 = s.arg0.fields["id"];\n s.tmp_0 = r0;\n r0 = pxsim.control.raiseEvent(2053, s.tmp_0);\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Button_raiseButtonDown__P541.info = {"start":2779,"length":205,"line":88,"column":8,"endLine":93,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"raiseButtonDown","argumentNames":["this"]}\n\nfunction controller_Button_raiseButtonDown__P541_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Button_raiseButtonDown__P541, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller_Button_raiseButtonUp__P540(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Button__C538_VT)) failedCast(r0);\n r0 = pxsim_numops_toBoolDecr(globals._userEventsEnabled___535);\n if (!r0) { step = 1; continue; }\n r0 = s.arg0.fields["id"];\n s.tmp_0 = r0;\n r0 = pxsim.control.raiseEvent(2048, s.tmp_0);\n { step = 2; continue; }\n case 1:\n r0 = s.arg0.fields["id"];\n s.tmp_0 = r0;\n r0 = pxsim.control.raiseEvent(2052, s.tmp_0);\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Button_raiseButtonUp__P540.info = {"start":2569,"length":200,"line":81,"column":8,"endLine":86,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"raiseButtonUp","argumentNames":["this"]}\n\nfunction controller_Button_raiseButtonUp__P540_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Button_raiseButtonUp__P540, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction settings_initScopes__P491(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.rn___10219 = undefined;\n s.tmp_1 = settings_runNumber__P489_mk(s);\n s.pc = 1; return s.tmp_1;\n case 1:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = (s.tmp_0 + 1);\n s.rn___10219 = (r0);\n s.tmp_0 = settings_writeNumber__P496_mk(s);\n s.tmp_0.arg0 = "#run";\n s.tmp_0.arg1 = s.rn___10219;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n r0 = pxsim.control.deviceSerialNumber();\n s.tmp_1 = r0;\n r0 = (s.tmp_1 & 2147483647);\n s.tmp_0 = r0;\n r0 = pxsim_pxtcore.seedAddRandom(s.tmp_0);\n r0 = pxsim_pxtcore.seedAddRandom(s.rn___10219);\n s.tmp_0 = settings_setScope__P490_mk(s);\n r0 = pxsim_pxtcore.programName();\n s.tmp_0.arg0 = r0;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsettings_initScopes__P491.info = {"start":960,"length":229,"line":36,"column":4,"endLine":44,"endColumn":5,"fileName":"pxt_modules/settings/settings.ts","functionName":"initScopes","argumentNames":[]}\n\nfunction settings_initScopes__P491_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: settings_initScopes__P491, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n rn___10219: undefined,\n} }\n\n\n\n\n\nfunction settings_setScope__P490(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.currScope___10242 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_numops_toBoolDecr(s.arg0);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = pxsim_String_.length(s.arg0);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 > 100);\n case 2:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 3; continue; }\n r0 = pxsim_pxtrt.panic(922);\n case 3:\n case 4:\n s.tmp_0 = settings_readString__P499_mk(s);\n s.tmp_0.arg0 = "#scope";\n s.pc = 7; return s.tmp_0;\n case 7:\n r0 = s.retval;\n s.currScope___10242 = (r0);\n r0 = (s.currScope___10242 != s.arg0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = pxsim.settings._userClean();\n s.tmp_0 = settings_writeString__P495_mk(s);\n s.tmp_0.arg0 = "#scope";\n s.tmp_0.arg1 = s.arg0;\n s.pc = 8; return s.tmp_0;\n case 8:\n r0 = s.retval;\n case 5:\n case 6:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsettings_setScope__P490.info = {"start":684,"length":270,"line":26,"column":4,"endLine":34,"endColumn":5,"fileName":"pxt_modules/settings/settings.ts","functionName":"setScope","argumentNames":["scope"]}\n\nfunction settings_setScope__P490_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: settings_setScope__P490, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n currScope___10242: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction settings_readString__P499(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.buf___10258 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim.settings._get(s.arg0);\n s.buf___10258 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.buf___10258);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = undefined;\n { step = 3; continue; }\n { step = 2; continue; }\n case 1:\n r0 = pxsim.BufferMethods.toString(s.buf___10258);\n { step = 3; continue; }\n case 2:\n r0 = undefined;\n case 3:\n return leave(s, r0)\n default: oops()\n} } }\nsettings_readString__P499.info = {"start":2504,"length":177,"line":98,"column":4,"endLine":104,"endColumn":5,"fileName":"pxt_modules/settings/settings.ts","functionName":"readString","argumentNames":["key"]}\n\nfunction settings_readString__P499_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: settings_readString__P499, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n buf___10258: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction settings_writeString__P495(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = settings_writeBuffer__P494_mk(s);\n s.tmp_0.arg0 = s.arg0;\n r0 = pxsim.control.createBufferFromUTF8(s.arg1);\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsettings_writeString__P495.info = {"start":1750,"length":125,"line":70,"column":4,"endLine":72,"endColumn":5,"fileName":"pxt_modules/settings/settings.ts","functionName":"writeString","argumentNames":["key","value"]}\n\nfunction settings_writeString__P495_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: settings_writeString__P495, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction settings_runNumber__P489(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_1 = settings_readNumber__P500_mk(s);\n s.tmp_1.arg0 = "#run";\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = 0;\n case 2:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = s.tmp_2;\n return leave(s, r0)\n default: oops()\n} } }\nsettings_runNumber__P489.info = {"start":604,"length":74,"line":22,"column":4,"endLine":24,"endColumn":5,"fileName":"pxt_modules/settings/settings.ts","functionName":"runNumber","argumentNames":[]}\n\nfunction settings_runNumber__P489_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: settings_runNumber__P489, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n} }\n\n\n\n\n\nfunction control___screen_setupUpdate__P436(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n globals.__updated___434 = (true);\n globals.__update___433 = (s.arg0);\n s.tmp_0 = lambda_1_mk(s);\n s.tmp_0.argL = s.arg0;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol___screen_setupUpdate__P436.info = {"start":198,"length":125,"line":10,"column":4,"endLine":14,"endColumn":5,"fileName":"pxt_modules/screen/frame.ts","functionName":"setupUpdate","argumentNames":["update"]}\n\nfunction control___screen_setupUpdate__P436_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control___screen_setupUpdate__P436, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction control___screen_update__P435(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals.__update___433);\n if (!r0) { step = 1; continue; }\n s.tmp_0 = lambda_1_mk(s);\n s.tmp_0.argL = globals.__update___433;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n case 1:\n case 2:\n globals.__updated___434 = (true);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol___screen_update__P435.info = {"start":90,"length":102,"line":4,"column":4,"endLine":8,"endColumn":5,"fileName":"pxt_modules/screen/frame.ts","functionName":"update","argumentNames":[]}\n\nfunction control___screen_update__P435_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control___screen_update__P435, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction pause__P241(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n setupResume(s, 1);\n pxsim.loops.pause(s.arg0);\n checkResumeConsumed();\n return;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\npause__P241.info = {"start":246,"length":57,"line":7,"column":0,"endLine":9,"endColumn":1,"fileName":"pxt_modules/base/pause.ts","functionName":"pause","argumentNames":["ms"]}\n\nfunction pause__P241_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: pause__P241, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Fx8__P78(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 * 256);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 | 0);\n return leave(s, r0)\n default: oops()\n} } }\nFx8__P78.info = {"start":42,"length":68,"line":4,"column":0,"endLine":6,"endColumn":1,"fileName":"pxt_modules/base/fixed.ts","functionName":"Fx8","argumentNames":["v"]}\n\nfunction Fx8__P78_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Fx8__P78, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction animation_MovementAnimation_constructor__P1552(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, animation_MovementAnimation__C1549_VT)) failedCast(r0);\n r0 = (s.arg0).fields["path"] = (s.arg2);\n r0 = (s.arg0).fields["nodeInterval"] = (s.arg3);\n s.tmp_0 = animation_SpriteAnimation_constructor__P1544_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.tmp_0.arg2 = s.arg4;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = (s.arg0).fields["loop"] = (s.arg4);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nanimation_MovementAnimation_constructor__P1552.info = {"start":18785,"length":169,"line":480,"column":8,"endLine":484,"endColumn":9,"fileName":"pxt_modules/animation/animation.ts","functionName":"inline","argumentNames":["this","sprite","path","nodeInterval","loop"]}\n\nfunction animation_MovementAnimation_constructor__P1552_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: animation_MovementAnimation_constructor__P1552, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n} }\n\n\n\n\n\nfunction animation_MovementAnimation_update__P1551(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.result___10307 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, animation_MovementAnimation__C1549_VT)) failedCast(r0);\n r0 = s.arg0.fields["sprite"];\n r0 = r0.fields["flags"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 & 2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = true;\n { step = 9; continue; }\n case 1:\n case 2:\n r0 = s.arg0.fields["startedAt"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 == null);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 3; continue; }\n s.tmp_4 = r0 = s.arg0;\n r0 = pxsim.control.millis();\n s.tmp_5 = r0;\n r0 = (s.tmp_4).fields["startedAt"] = (s.tmp_5);\n case 3:\n case 4:\n s.tmp_0 = animation_Path_run__P1512_mk(s);\n r0 = s.arg0.fields["path"];\n s.tmp_0.arg0 = r0;\n r0 = s.arg0.fields["nodeInterval"];\n s.tmp_0.arg1 = r0;\n r0 = s.arg0.fields["sprite"];\n s.tmp_0.arg2 = r0;\n r0 = s.arg0.fields["startedAt"];\n s.tmp_0.arg3 = r0;\n s.pc = 10; return s.tmp_0;\n case 10:\n r0 = s.retval;\n s.result___10307 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.result___10307);\n if (!r0) { step = 7; continue; }\n r0 = s.arg0.fields["loop"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = true;\n { step = 9; continue; }\n case 5:\n case 6:\n s.tmp_3 = r0 = s.arg0;\n r0 = pxsim.control.millis();\n s.tmp_4 = r0;\n r0 = (s.tmp_3).fields["startedAt"] = (s.tmp_4);\n case 7:\n case 8:\n r0 = false;\n case 9:\n return leave(s, r0)\n default: oops()\n} } }\nanimation_MovementAnimation_update__P1551.info = {"start":18972,"length":460,"line":486,"column":8,"endLine":497,"endColumn":9,"fileName":"pxt_modules/animation/animation.ts","functionName":"update","argumentNames":["this"]}\n\nfunction animation_MovementAnimation_update__P1551_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: animation_MovementAnimation_update__P1551, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n result___10307: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction animation_Path_run__P1512(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.runningTime___10328 = undefined;\n s.nodeIndex___10332 = undefined;\n s.nodeTime___10337 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, animation_Path__C1506_VT)) failedCast(r0);\n r0 = pxsim.control.millis();\n s.tmp_0 = r0;\n r0 = (s.tmp_0 - s.arg3);\n s.runningTime___10328 = (r0);\n r0 = (s.runningTime___10328 / s.arg1);\n s.tmp_0 = r0;\n r0 = pxsim.Math_.floor(s.tmp_0);\n s.nodeIndex___10332 = (r0);\n r0 = (s.runningTime___10328 % s.arg1);\n s.nodeTime___10337 = (r0);\n r0 = s.arg0.fields["lastNode"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > -1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = s.arg0.fields["lastNode"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 < s.nodeIndex___10332);\n case 2:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBool(s.tmp_3);\n if (r0) { step = 3; continue; }\n r0 = s.tmp_3;\n { step = 4; continue; }\n case 3:\n r0 = s.arg0.fields["nodes"];\n s.tmp_4 = r0;\n r0 = pxsim_Array__length(s.tmp_4);\n case 4:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_5);\n if (!r0) { step = 7; continue; }\n s.tmp_6 = animation_PathNode__C1514_v0_4_mk(s);\n r0 = s.arg0.fields["nodes"];\n s.tmp_7 = r0;\n r0 = s.arg0.fields["lastNode"];\n s.tmp_8 = r0;\n r0 = pxsim_Array__getAt(s.tmp_7, s.tmp_8);\n s.tmp_6.arg0 = r0;\n s.tmp_6.arg1 = s.arg2;\n s.tmp_6.arg2 = s.arg1;\n s.tmp_6.arg3 = s.arg1;\n if (!checkSubtype(s.tmp_6.arg0, animation_PathNode__C1514_VT)) failedCast(s.tmp_6.arg0);\n s.tmp_6.fn = s.tmp_6.arg0.vtable.methods.apply;\n s.pc = 10; return s.tmp_6;\n case 10:\n r0 = s.retval;\n s.tmp_1 = r0 = s.nodeIndex___10332;\n r0 = s.arg0.fields["nodes"];\n s.tmp_3 = r0;\n r0 = pxsim_Array__length(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 >= s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = true;\n { step = 9; continue; }\n case 5:\n case 6:\n case 7:\n case 8:\n r0 = (s.arg0).fields["lastNode"] = (s.nodeIndex___10332);\n s.tmp_0 = animation_PathNode__C1514_v0_4_mk(s);\n r0 = s.arg0.fields["nodes"];\n s.tmp_1 = r0;\n r0 = pxsim_Array__getAt(s.tmp_1, s.nodeIndex___10332);\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = s.arg2;\n s.tmp_0.arg2 = s.nodeTime___10337;\n s.tmp_0.arg3 = s.arg1;\n if (!checkSubtype(s.tmp_0.arg0, animation_PathNode__C1514_VT)) failedCast(s.tmp_0.arg0);\n s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.apply;\n s.pc = 11; return s.tmp_0;\n case 11:\n r0 = s.retval;\n r0 = false;\n case 9:\n return leave(s, r0)\n default: oops()\n} } }\nanimation_Path_run__P1512.info = {"start":11979,"length":1002,"line":287,"column":8,"endLine":301,"endColumn":9,"fileName":"pxt_modules/animation/animation.ts","functionName":"run","argumentNames":["this","interval","target","startedAt"]}\n\nfunction animation_Path_run__P1512_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: animation_Path_run__P1512, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n runningTime___10328: undefined,\n nodeIndex___10332: undefined,\n nodeTime___10337: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction animation_PathNode_apply__P1515(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, animation_PathNode__C1514_VT)) failedCast(r0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nanimation_PathNode_apply__P1515.info = {"start":13131,"length":60,"line":310,"column":8,"endLine":310,"endColumn":68,"fileName":"pxt_modules/animation/animation.ts","functionName":"apply","argumentNames":["this","target","nodeTime","interval"]}\n\nfunction animation_PathNode_apply__P1515_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: animation_PathNode_apply__P1515, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction animation_ImageAnimation_update__P1547(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.runningTime___10391 = undefined;\n s.frameIndex___10396 = undefined;\n s.newImage___10413 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, animation_ImageAnimation__C1545_VT)) failedCast(r0);\n r0 = s.arg0.fields["sprite"];\n r0 = r0.fields["flags"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 & 2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = true;\n { step = 17; continue; }\n case 1:\n case 2:\n r0 = s.arg0.fields["startedAt"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 == null);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 3; continue; }\n s.tmp_4 = r0 = s.arg0;\n r0 = pxsim.control.millis();\n s.tmp_5 = r0;\n r0 = (s.tmp_4).fields["startedAt"] = (s.tmp_5);\n case 3:\n case 4:\n r0 = pxsim.control.millis();\n s.tmp_0 = r0;\n r0 = s.arg0.fields["startedAt"];\n s.tmp_1 = r0;\n r0 = (s.tmp_0 - s.tmp_1);\n s.runningTime___10391 = (r0);\n r0 = s.arg0.fields["frameInterval"];\n s.tmp_1 = r0;\n r0 = (s.runningTime___10391 / s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim.Math_.floor(s.tmp_0);\n s.frameIndex___10396 = (r0);\n r0 = s.arg0.fields["lastFrame"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > -1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 5; continue; }\n r0 = s.tmp_0;\n { step = 6; continue; }\n case 5:\n r0 = s.arg0.fields["lastFrame"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 < s.frameIndex___10396);\n case 6:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBool(s.tmp_3);\n if (r0) { step = 7; continue; }\n r0 = s.tmp_3;\n { step = 8; continue; }\n case 7:\n r0 = s.arg0.fields["frames"];\n s.tmp_4 = r0;\n r0 = pxsim_Array__length(s.tmp_4);\n case 8:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_5);\n if (!r0) { step = 15; continue; }\n r0 = s.arg0.fields["frames"];\n s.tmp_6 = r0;\n r0 = (s.frameIndex___10396 - 1);\n s.tmp_7 = r0;\n r0 = pxsim_Array__getAt(s.tmp_6, s.tmp_7);\n s.newImage___10413 = (r0);\n r0 = s.arg0.fields["sprite"];\n s.tmp_2 = r0;\n r0 = s.tmp_2.fields["_image"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 !== s.newImage___10413);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 9; continue; }\n s.tmp_3 = Sprite_setImage__P625_mk(s);\n r0 = s.arg0.fields["sprite"];\n s.tmp_3.arg0 = r0;\n s.tmp_3.arg1 = s.newImage___10413;\n s.pc = 18; return s.tmp_3;\n case 18:\n r0 = s.retval;\n case 9:\n case 10:\n s.tmp_1 = r0 = s.frameIndex___10396;\n r0 = s.arg0.fields["frames"];\n s.tmp_3 = r0;\n r0 = pxsim_Array__length(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 >= s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 13; continue; }\n r0 = s.arg0.fields["loop"];\n s.tmp_6 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_6);\n s.tmp_5 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_5);\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n if (!r0) { step = 11; continue; }\n r0 = true;\n { step = 17; continue; }\n case 11:\n case 12:\n s.tmp_7 = r0 = s.arg0;\n r0 = pxsim.control.millis();\n s.tmp_8 = r0;\n r0 = (s.tmp_7).fields["startedAt"] = (s.tmp_8);\n case 13:\n case 14:\n case 15:\n case 16:\n r0 = (s.arg0).fields["lastFrame"] = (s.frameIndex___10396);\n r0 = false;\n case 17:\n return leave(s, r0)\n default: oops()\n} } }\nanimation_ImageAnimation_update__P1547.info = {"start":17777,"length":931,"line":456,"column":8,"endLine":476,"endColumn":9,"fileName":"pxt_modules/animation/animation.ts","functionName":"update","argumentNames":["this"]}\n\nfunction animation_ImageAnimation_update__P1547_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: animation_ImageAnimation_update__P1547, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n runningTime___10391: undefined,\n frameIndex___10396: undefined,\n newImage___10413: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction SpriteSet_toString__P686(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, SpriteSet__C676_VT)) failedCast(r0);\n r0 = pxsim_String_.mkEmpty();\n s.tmp_1 = r0;\n r0 = s.arg0.fields["_sprites"];\n s.tmp_4 = r0;\n r0 = pxsim_Array__length(s.tmp_4);\n s.tmp_3 = r0;\n if ((s.tmp_3) && (s.tmp_3).vtable) {\n setupResume(s, 1);\n pxsim_String__stringConv(s.tmp_3);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_3) + ""; }\n case 1:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = pxsim_String__concat(s.tmp_1, s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_String__concat(s.tmp_0, " sprites");\n return leave(s, r0)\n default: oops()\n} } }\nSpriteSet_toString__P686.info = {"start":2209,"length":58,"line":96,"column":4,"endLine":98,"endColumn":5,"fileName":"pxt_modules/game/spriteset.ts","functionName":"toString","argumentNames":["this"]}\n\nfunction SpriteSet_toString__P686_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: SpriteSet_toString__P686, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction SpriteSet_length__P678(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, SpriteSet__C676_VT)) failedCast(r0);\n r0 = s.arg0.fields["_sprites"];\n s.tmp_0 = r0;\n r0 = pxsim_Array__length(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\nSpriteSet_length__P678.info = {"start":508,"length":57,"line":25,"column":4,"endLine":27,"endColumn":5,"fileName":"pxt_modules/game/spriteset.ts","functionName":"length","argumentNames":["this"]}\n\nfunction SpriteSet_length__P678_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: SpriteSet_length__P678, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction tiles_TileMap_constructor__P885(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, tiles_TileMap__C865_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["_tileSets"] = (s.tmp_1);\n r0 = (s.arg0).fields["_layer"] = (1);\n r0 = (s.arg0).fields["scale"] = (s.arg1);\n r0 = pxsim_pxtcore_mkAction(1, inline__P12163);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n s.tmp_1 = scene_createRenderable__P896_mk(s);\n s.tmp_1.arg0 = globals.TILE_MAP_Z___918;\n s.tmp_1.arg1 = s.tmp_0;\n s.tmp_1.arg2 = undefined;\n s.pc = 1; return s.tmp_1;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ntiles_TileMap_constructor__P885.info = {"start":2488,"length":283,"line":88,"column":8,"endLine":97,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"inline","argumentNames":["this","scale"]}\n\nfunction tiles_TileMap_constructor__P885_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: tiles_TileMap_constructor__P885, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction inline__P12163(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = tiles_TileMap_draw__P882_mk(s);\n s.tmp_0.arg0 = s.caps[0];\n s.tmp_0.arg1 = s.arg0;\n s.tmp_0.arg2 = s.arg1;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P12163.info = {"start":2721,"length":25,"line":95,"column":16,"endLine":95,"endColumn":41,"fileName":"pxt_modules/game/tilemap.ts","functionName":"inline","argumentNames":["t","c"]}\n\nfunction inline__P12163_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P12163, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction tiles_TileMap_draw__P882(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.bitmask___12173 = undefined;\n s.offsetX___12176 = undefined;\n s.offsetY___12180 = undefined;\n s.x0___12184 = undefined;\n s.xn___12190 = undefined;\n s.y0___12203 = undefined;\n s.yn___12209 = undefined;\n s.x___12222 = undefined;\n s.y___12227 = undefined;\n s.index___12232 = undefined;\n s.tile___12239 = undefined;\n s.x___12267 = undefined;\n s.xLine___12272 = undefined;\n s.y___12292 = undefined;\n s.yLine___12297 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, tiles_TileMap__C865_VT)) failedCast(r0);\n r0 = s.arg0.fields["_map"];\n s.tmp_6 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_6);\n s.tmp_5 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_5);\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n s.tmp_3 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 25; continue; }\n case 1:\n case 2:\n r0 = s.arg0.fields["scale"];\n s.tmp_8 = r0;\n r0 = (1 << s.tmp_8);\n s.tmp_7 = r0;\n r0 = (s.tmp_7 - 1);\n s.bitmask___12173 = (r0);\n r0 = s.arg2.fields["drawOffsetX"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 & s.bitmask___12173);\n s.offsetX___12176 = (r0);\n r0 = s.arg2.fields["drawOffsetY"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 & s.bitmask___12173);\n s.offsetY___12180 = (r0);\n s.tmp_0 = Math_max__P61_mk(s);\n s.tmp_0.arg0 = 0;\n r0 = s.arg2.fields["drawOffsetX"];\n s.tmp_1 = r0;\n r0 = s.arg0.fields["scale"];\n s.tmp_2 = r0;\n r0 = (s.tmp_1 >> s.tmp_2);\n s.tmp_0.arg1 = r0;\n s.pc = 26; return s.tmp_0;\n case 26:\n r0 = s.retval;\n s.x0___12184 = (r0);\n s.tmp_0 = Math_min__P62_mk(s);\n r0 = s.arg0.fields["_map"];\n s.tmp_1 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_1);\n s.tmp_0.arg0 = r0;\n r0 = s.arg2.fields["drawOffsetX"];\n s.tmp_4 = r0;\n r0 = pxsim_ImageMethods.width(s.arg1);\n s.tmp_5 = r0;\n r0 = (s.tmp_4 + s.tmp_5);\n s.tmp_3 = r0;\n r0 = s.arg0.fields["scale"];\n s.tmp_6 = r0;\n r0 = (s.tmp_3 >> s.tmp_6);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + 1);\n s.tmp_0.arg1 = r0;\n s.pc = 27; return s.tmp_0;\n case 27:\n r0 = s.retval;\n s.xn___12190 = (r0);\n s.tmp_0 = Math_max__P61_mk(s);\n s.tmp_0.arg0 = 0;\n r0 = s.arg2.fields["drawOffsetY"];\n s.tmp_1 = r0;\n r0 = s.arg0.fields["scale"];\n s.tmp_2 = r0;\n r0 = (s.tmp_1 >> s.tmp_2);\n s.tmp_0.arg1 = r0;\n s.pc = 28; return s.tmp_0;\n case 28:\n r0 = s.retval;\n s.y0___12203 = (r0);\n s.tmp_0 = Math_min__P62_mk(s);\n r0 = s.arg0.fields["_map"];\n s.tmp_1 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_1);\n s.tmp_0.arg0 = r0;\n r0 = s.arg2.fields["drawOffsetY"];\n s.tmp_4 = r0;\n r0 = pxsim_ImageMethods.height(s.arg1);\n s.tmp_5 = r0;\n r0 = (s.tmp_4 + s.tmp_5);\n s.tmp_3 = r0;\n r0 = s.arg0.fields["scale"];\n s.tmp_6 = r0;\n r0 = (s.tmp_3 >> s.tmp_6);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + 1);\n s.tmp_0.arg1 = r0;\n s.pc = 29; return s.tmp_0;\n case 29:\n r0 = s.retval;\n s.yn___12209 = (r0);\n s.x___12222 = (s.x0___12184);\n case 3:\n r0 = (s.x___12222 <= s.xn___12190);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 10; continue; }\n s.y___12227 = (s.y0___12203);\n case 4:\n r0 = (s.y___12227 <= s.yn___12209);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 9; continue; }\n r0 = s.arg0.fields["_map"];\n s.tmp_1 = r0;\n r0 = pxsim_ImageMethods.getPixel(s.tmp_1, s.x___12222, s.y___12227);\n s.index___12232 = (r0);\n r0 = s.arg0.fields["_tileSets"];\n s.tmp_1 = r0;\n r0 = pxsim_Array__getAt(s.tmp_1, s.index___12232);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = s.tmp_0;\n { step = 6; continue; }\n case 5:\n s.tmp_2 = tiles_TileMap_generateTile__P879_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.tmp_2.arg1 = s.index___12232;\n s.pc = 30; return s.tmp_2;\n case 30:\n r0 = s.retval;\n case 6:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n s.tile___12239 = (s.tmp_3);\n r0 = pxsim_numops_toBoolDecr(s.tile___12239);\n if (!r0) { step = 7; continue; }\n s.tmp_0 = r0 = s.arg1;\n s.tmp_2 = tiles_TileSet_image__P857_mk(s);\n s.tmp_2.arg0 = s.tile___12239;\n s.pc = 31; return s.tmp_2;\n case 31:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.x___12222 - s.x0___12184);\n s.tmp_5 = r0;\n r0 = s.arg0.fields["scale"];\n s.tmp_6 = r0;\n r0 = (s.tmp_5 << s.tmp_6);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 - s.offsetX___12176);\n s.tmp_3 = r0;\n r0 = (s.y___12227 - s.y0___12203);\n s.tmp_9 = r0;\n r0 = s.arg0.fields["scale"];\n s.tmp_10 = r0;\n r0 = (s.tmp_9 << s.tmp_10);\n s.tmp_8 = r0;\n r0 = (s.tmp_8 - s.offsetY___12180);\n s.tmp_7 = r0;\n r0 = pxsim_ImageMethods.drawTransparentImage(s.tmp_0, s.tmp_1, s.tmp_3, s.tmp_7);\n case 7:\n case 8:\n r0 = (s.y___12227 + 1);\n s.y___12227 = (r0);\n { step = 4; continue; }\n case 9:\n r0 = (s.x___12222 + 1);\n s.x___12222 = (r0);\n { step = 3; continue; }\n case 10:\n r0 = pxsim_numops_toBoolDecr(globals.debug___998);\n if (!r0) { step = 23; continue; }\n s.x___12267 = (s.x0___12184);\n case 11:\n r0 = (s.x___12267 <= s.xn___12190);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 16; continue; }\n r0 = (s.x___12267 - s.x0___12184);\n s.tmp_2 = r0;\n r0 = s.arg0.fields["scale"];\n s.tmp_3 = r0;\n r0 = (s.tmp_2 << s.tmp_3);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - s.offsetX___12176);\n s.xLine___12272 = (r0);\n r0 = (s.xLine___12272 >= 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 12; continue; }\n r0 = s.tmp_0;\n { step = 13; continue; }\n case 12:\n s.tmp_1 = r0 = s.xLine___12272;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 <= s.tmp_2);\n case 13:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 14; continue; }\n s.tmp_4 = helpers_imageDrawLine__P413_mk(s);\n s.tmp_4.arg0 = s.arg1;\n s.tmp_4.arg1 = s.xLine___12272;\n s.tmp_4.arg2 = 0;\n s.tmp_4.arg3 = s.xLine___12272;\n r0 = pxsim_ImageMethods.height(s.arg1);\n s.tmp_4.arg4 = r0;\n s.tmp_4.arg5 = 1;\n s.pc = 32; return s.tmp_4;\n case 32:\n r0 = s.retval;\n case 14:\n case 15:\n r0 = (s.x___12267 + 1);\n s.x___12267 = (r0);\n { step = 11; continue; }\n case 16:\n s.y___12292 = (s.y0___12203);\n case 17:\n r0 = (s.y___12292 <= s.yn___12209);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 22; continue; }\n r0 = (s.y___12292 - s.y0___12203);\n s.tmp_2 = r0;\n r0 = s.arg0.fields["scale"];\n s.tmp_3 = r0;\n r0 = (s.tmp_2 << s.tmp_3);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - s.offsetY___12180);\n s.yLine___12297 = (r0);\n r0 = (s.yLine___12297 >= 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 18; continue; }\n r0 = s.tmp_0;\n { step = 19; continue; }\n case 18:\n s.tmp_1 = r0 = s.yLine___12297;\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 <= s.tmp_2);\n case 19:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 20; continue; }\n s.tmp_4 = helpers_imageDrawLine__P413_mk(s);\n s.tmp_4.arg0 = s.arg1;\n s.tmp_4.arg1 = 0;\n s.tmp_4.arg2 = s.yLine___12297;\n r0 = pxsim_ImageMethods.width(s.arg1);\n s.tmp_4.arg3 = r0;\n s.tmp_4.arg4 = s.yLine___12297;\n s.tmp_4.arg5 = 1;\n s.pc = 33; return s.tmp_4;\n case 33:\n r0 = s.retval;\n case 20:\n case 21:\n r0 = (s.y___12292 + 1);\n s.y___12292 = (r0);\n { step = 17; continue; }\n case 22:\n case 23:\n case 24:\n case 25:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ntiles_TileMap_draw__P882.info = {"start":5334,"length":2251,"line":183,"column":8,"endLine":238,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"draw","argumentNames":["this","target","camera"]}\n\nfunction tiles_TileMap_draw__P882_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: tiles_TileMap_draw__P882, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n bitmask___12173: undefined,\n offsetX___12176: undefined,\n offsetY___12180: undefined,\n x0___12184: undefined,\n xn___12190: undefined,\n y0___12203: undefined,\n yn___12209: undefined,\n x___12222: undefined,\n y___12227: undefined,\n index___12232: undefined,\n tile___12239: undefined,\n x___12267: undefined,\n xLine___12272: undefined,\n y___12292: undefined,\n yLine___12297: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction tiles_TileMap_generateTile__P879(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.size___11138 = undefined;\n s.i___11141 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, tiles_TileMap__C865_VT)) failedCast(r0);\n r0 = s.arg0.fields["scale"];\n s.tmp_0 = r0;\n r0 = (1 << s.tmp_0);\n s.size___11138 = (r0);\n r0 = pxsim.image.create(s.size___11138, s.size___11138);\n s.i___11141 = (r0);\n r0 = pxsim_ImageMethods.fill(s.i___11141, s.arg1);\n r0 = pxsim_pxtcore_mkClassInstance(tiles_TileSet__C856_VT);\n s.tmp_0 = r0;\n s.tmp_1 = tiles_TileSet_constructor__P858_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = s.i___11141;\n s.tmp_1.arg2 = false;\n s.tmp_1.arg3 = s.arg0;\n s.pc = 1; return s.tmp_1;\n case 1:\n r0 = s.retval;\n r0 = s.arg0.fields["_tileSets"];\n s.tmp_2 = r0;\n r0 = pxsim_Array_.setAt(s.tmp_2, s.arg1, s.tmp_0);\n r0 = s.tmp_0;\n return leave(s, r0)\n default: oops()\n} } }\ntiles_TileMap_generateTile__P879.info = {"start":4764,"length":245,"line":166,"column":8,"endLine":172,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"generateTile","argumentNames":["this","index"]}\n\nfunction tiles_TileMap_generateTile__P879_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: tiles_TileMap_generateTile__P879, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n size___11138: undefined,\n i___11141: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction tiles_TileSet_constructor__P858(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, tiles_TileSet__C856_VT)) failedCast(r0);\n r0 = (s.arg0).fields["originalImage"] = (s.arg1);\n r0 = (s.arg0).fields["obstacle"] = (s.arg2);\n r0 = (s.arg0).fields["map"] = (s.arg3);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ntiles_TileSet_constructor__P858.info = {"start":312,"length":180,"line":16,"column":8,"endLine":20,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"inline","argumentNames":["this","image","collisions","map"]}\n\nfunction tiles_TileSet_constructor__P858_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: tiles_TileSet_constructor__P858, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction tiles_TileSet_image__P857(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.size___11065 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, tiles_TileSet__C856_VT)) failedCast(r0);\n r0 = s.arg0.fields["map"];\n r0 = r0.fields["scale"];\n s.tmp_0 = r0;\n r0 = (1 << s.tmp_0);\n s.size___11065 = (r0);\n r0 = s.arg0.fields["cachedImage"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = s.arg0.fields["cachedImage"];\n s.tmp_4 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_4);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 != s.size___11065);\n case 2:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBool(s.tmp_5);\n if (!r0) { step = 3; continue; }\n r0 = s.tmp_5;\n { step = 4; continue; }\n case 3:\n r0 = s.arg0.fields["cachedImage"];\n s.tmp_7 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_7);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 != s.size___11065);\n case 4:\n // jmp value (already in r0)\n s.tmp_8 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_8);\n if (!r0) { step = 9; continue; }\n r0 = s.arg0.fields["originalImage"];\n s.tmp_11 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_11);\n s.tmp_10 = r0;\n r0 = (s.tmp_10 == s.size___11065);\n s.tmp_9 = r0;\n r0 = pxsim_numops_toBool(s.tmp_9);\n if (r0) { step = 5; continue; }\n r0 = s.tmp_9;\n { step = 6; continue; }\n case 5:\n r0 = s.arg0.fields["originalImage"];\n s.tmp_13 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_13);\n s.tmp_12 = r0;\n r0 = (s.tmp_12 == s.size___11065);\n case 6:\n // jmp value (already in r0)\n s.tmp_14 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_14);\n if (!r0) { step = 7; continue; }\n r0 = s.arg0.fields["originalImage"];\n s.tmp_15 = r0;\n r0 = (s.arg0).fields["cachedImage"] = (s.tmp_15);\n { step = 8; continue; }\n case 7:\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim.image.create(s.size___11065, s.size___11065);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["cachedImage"] = (s.tmp_1);\n r0 = s.arg0.fields["cachedImage"];\n s.tmp_0 = r0;\n r0 = s.arg0.fields["originalImage"];\n s.tmp_1 = r0;\n r0 = pxsim_ImageMethods.drawImage(s.tmp_0, s.tmp_1, 0, 0);\n case 8:\n case 9:\n case 10:\n r0 = s.arg0.fields["cachedImage"];\n return leave(s, r0)\n default: oops()\n} } }\ntiles_TileSet_image__P857.info = {"start":502,"length":567,"line":22,"column":8,"endLine":33,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"image","argumentNames":["this"]}\n\nfunction tiles_TileSet_image__P857_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: tiles_TileSet_image__P857, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n tmp_12: undefined,\n tmp_13: undefined,\n tmp_14: undefined,\n tmp_15: undefined,\n size___11065: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_BackgroundLayer_constructor__P855(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_BackgroundLayer__C853_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_2 = Math_max__P61_mk(s);\n s.tmp_2.arg0 = 1;\n s.tmp_2.arg1 = s.arg1;\n s.pc = 7; return s.tmp_2;\n case 7:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["distance"] = (s.tmp_1);\n r0 = (s.arg0).fields["img"] = (s.arg3);\n s.tmp_0 = r0 = s.arg2;\n r0 = pxsim_pxtcore.switch_eq(5, s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = pxsim_pxtcore.switch_eq(1, s.tmp_0);\n if (r0) { step = 2; continue; }\n r0 = pxsim_pxtcore.switch_eq(2, s.tmp_0);\n if (r0) { step = 3; continue; }\n r0 = pxsim_pxtcore.switch_eq(3, s.tmp_0);\n if (r0) { step = 4; continue; }\n r0 = pxsim_pxtcore.switch_eq(4, s.tmp_0);\n if (r0) { step = 5; continue; }\n r0 = s.tmp_0;\n { step = 6; continue; }\n case 1:\n r0 = (s.arg0).fields["repeatX"] = (true);\n r0 = (s.arg0).fields["repeatY"] = (true);\n r0 = (s.arg0).fields["alignX"] = (5);\n r0 = (s.arg0).fields["alignY"] = (5);\n { step = 6; continue; }\n case 2:\n case 3:\n r0 = (s.arg0).fields["repeatX"] = (false);\n r0 = (s.arg0).fields["repeatY"] = (true);\n r0 = (s.arg0).fields["alignX"] = (s.arg2);\n r0 = (s.arg0).fields["alignY"] = (5);\n { step = 6; continue; }\n case 4:\n case 5:\n r0 = (s.arg0).fields["repeatX"] = (true);\n r0 = (s.arg0).fields["repeatY"] = (false);\n r0 = (s.arg0).fields["alignX"] = (5);\n r0 = (s.arg0).fields["alignY"] = (s.arg2);\n case 6:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_BackgroundLayer_constructor__P855.info = {"start":1936,"length":1117,"line":72,"column":8,"endLine":97,"endColumn":9,"fileName":"pxt_modules/game/background.ts","functionName":"inline","argumentNames":["this","distance","alignment","img"]}\n\nfunction scene_BackgroundLayer_constructor__P855_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_BackgroundLayer_constructor__P855, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction sprites_SpriteMap_toString__P670(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_SpriteMap__C659_VT)) failedCast(r0);\n r0 = pxsim_String_.mkEmpty();\n s.tmp_3 = r0;\n r0 = s.arg0.fields["buckets"];\n s.tmp_6 = r0;\n r0 = pxsim_Array__length(s.tmp_6);\n s.tmp_5 = r0;\n if ((s.tmp_5) && (s.tmp_5).vtable) {\n setupResume(s, 1);\n pxsim_String__stringConv(s.tmp_5);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_5) + ""; }\n case 1:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = pxsim_String__concat(s.tmp_3, s.tmp_4);\n s.tmp_2 = r0;\n r0 = pxsim_String__concat(s.tmp_2, " buckets, ");\n s.tmp_1 = r0;\n s.tmp_10 = helpers_arrayFilter__P48_mk(s);\n r0 = s.arg0.fields["buckets"];\n s.tmp_10.arg0 = r0;\n s.tmp_10.arg1 = inline__P10559;\n s.pc = 2; return s.tmp_10;\n case 2:\n r0 = s.retval;\n s.tmp_9 = r0;\n r0 = pxsim_Array__length(s.tmp_9);\n s.tmp_8 = r0;\n if ((s.tmp_8) && (s.tmp_8).vtable) {\n setupResume(s, 3);\n pxsim_String__stringConv(s.tmp_8);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_8) + ""; }\n case 3:\n r0 = s.retval;\n s.tmp_7 = r0;\n r0 = pxsim_String__concat(s.tmp_1, s.tmp_7);\n s.tmp_0 = r0;\n r0 = pxsim_String__concat(s.tmp_0, " filled");\n return leave(s, r0)\n default: oops()\n} } }\nsprites_SpriteMap_toString__P670.info = {"start":4629,"length":123,"line":126,"column":8,"endLine":128,"endColumn":9,"fileName":"pxt_modules/game/spritemap.ts","functionName":"toString","argumentNames":["this"]}\n\nfunction sprites_SpriteMap_toString__P670_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_SpriteMap_toString__P670, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P10559(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_numops_toBoolDecr(s.arg0);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\ninline__P10559.info = {"start":4716,"length":8,"line":127,"column":74,"endLine":127,"endColumn":82,"fileName":"pxt_modules/game/spritemap.ts","functionName":"inline","argumentNames":["b"]}\n\nfunction inline__P10559_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P10559, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction ArcadePhysicsEngine_moveSprite__P737(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tm___10594 = undefined;\n s.tileSize___10602 = undefined;\n s.ms___10614 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, ArcadePhysicsEngine__C727_VT)) failedCast(r0);\n r0 = s.arg1.fields["_x"];\n s.tmp_0 = r0;\n r0 = (s.arg1).fields["_lastX"] = (s.tmp_0);\n r0 = s.arg1.fields["_y"];\n s.tmp_0 = r0;\n r0 = (s.arg1).fields["_lastY"] = (s.tmp_0);\n s.tmp_0 = r0 = s.arg1;\n r0 = s.arg1.fields["_x"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.arg2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["_x"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg1;\n r0 = s.arg1.fields["_y"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.arg3);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["_y"] = (s.tmp_1);\n r0 = s.arg1.fields["flags"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 & globals.SPRITE_CANNOT_COLLIDE___718);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 9; continue; }\n s.tmp_4 = game_currentScene__P769_mk(s);\n s.pc = 12; return s.tmp_4;\n case 12:\n r0 = s.retval;\n r0 = r0.fields["tileMap"];\n s.tm___10594 = (r0);\n s.tmp_0 = r0 = s.tm___10594;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = s.tm___10594.fields["_map"];\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n s.tmp_3 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n case 2:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_5);\n s.tmp_7 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_7);\n s.tmp_6 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_6);\n if (!r0) { step = 3; continue; }\n { step = 11; continue; }\n case 3:\n case 4:\n r0 = s.tm___10594.fields["scale"];\n s.tmp_8 = r0;\n r0 = (1 << s.tmp_8);\n s.tileSize___10602 = (r0);\n s.tmp_2 = Math_abs__P59_mk(s);\n r0 = (s.arg2 + 128);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 >> 8);\n s.tmp_2.arg0 = r0;\n s.pc = 13; return s.tmp_2;\n case 13:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 < s.tileSize___10602);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 5; continue; }\n r0 = s.tmp_0;\n { step = 6; continue; }\n case 5:\n s.tmp_5 = Math_abs__P59_mk(s);\n r0 = (s.arg3 + 128);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 >> 8);\n s.tmp_5.arg0 = r0;\n s.pc = 14; return s.tmp_5;\n case 14:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = (s.tmp_4 < s.tileSize___10602);\n case 6:\n // jmp value (already in r0)\n s.tmp_7 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_7);\n if (!r0) { step = 7; continue; }\n r0 = pxsim_pxtcore_mkClassInstance(MovingSprite__C725_VT);\n s.tmp_8 = r0;\n s.tmp_9 = MovingSprite_constructor__P726_mk(s);\n s.tmp_9.arg0 = s.tmp_8;\n s.tmp_9.arg1 = s.arg1;\n r0 = s.arg1.fields["_vx"];\n s.tmp_9.arg2 = r0;\n r0 = s.arg1.fields["_vy"];\n s.tmp_9.arg3 = r0;\n s.tmp_9.arg4 = s.arg2;\n s.tmp_9.arg5 = s.arg3;\n s.tmp_9.arg6 = s.arg2;\n s.tmp_9.arg7 = s.arg3;\n s.pc = 15; return s.tmp_9;\n case 15:\n r0 = s.retval;\n s.ms___10614 = (s.tmp_8);\n s.tmp_0 = ArcadePhysicsEngine_tilemapCollisions__P735_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.ms___10614;\n s.tmp_0.arg2 = s.tm___10594;\n s.pc = 16; return s.tmp_0;\n case 16:\n r0 = s.retval;\n case 7:\n case 8:\n case 9:\n case 10:\n case 11:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nArcadePhysicsEngine_moveSprite__P737.info = {"start":16919,"length":892,"line":479,"column":4,"endLine":505,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"moveSprite","argumentNames":["this","s","dx","dy"]}\n\nfunction ArcadePhysicsEngine_moveSprite__P737_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: ArcadePhysicsEngine_moveSprite__P737, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tm___10594: undefined,\n tileSize___10602: undefined,\n ms___10614: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction ArcadePhysicsEngine_tilemapCollisions__P735(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.sprite___10632 = undefined;\n s.tileScale___10636 = undefined;\n s.tileSize___10640 = undefined;\n s.xDiff___10643 = undefined;\n s.yDiff___10649 = undefined;\n s.right___10657 = undefined;\n s.x0___10660 = undefined;\n s.collidedTiles___10675 = undefined;\n s.y___10677 = undefined;\n s.y0___10692 = undefined;\n s.obstacle___10708 = undefined;\n s.collisionDirection___10734 = undefined;\n s.tile___10760 = undefined;\n s.unnamed62___U13 = undefined;\n s.unnamed63___U14 = undefined;\n s.down___10826 = undefined;\n s.y0___10829 = undefined;\n s.collidedTiles___10844 = undefined;\n s.x___10846 = undefined;\n s.x0___10857 = undefined;\n s.obstacle___10871 = undefined;\n s.collisionDirection___10895 = undefined;\n s.tile___10921 = undefined;\n s.unnamed64___U23 = undefined;\n s.unnamed65___U24 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, ArcadePhysicsEngine__C727_VT)) failedCast(r0);\n r0 = s.arg1.fields["sprite"];\n s.sprite___10632 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.arg2);\n if (!r0) { step = 1; continue; }\n r0 = s.arg2.fields["scale"];\n { step = 2; continue; }\n case 1:\n r0 = 0;\n case 2:\n // jmp value (already in r0)\n s.tmp_0 = r0;\n s.tileScale___10636 = (s.tmp_0);\n r0 = pxsim_numops_toBoolDecr(s.arg2);\n if (!r0) { step = 3; continue; }\n r0 = (1 << s.tileScale___10636);\n { step = 4; continue; }\n case 3:\n r0 = 0;\n case 4:\n // jmp value (already in r0)\n s.tmp_0 = r0;\n s.tileSize___10640 = (s.tmp_0);\n r0 = s.sprite___10632.fields["_x"];\n s.tmp_0 = r0;\n r0 = s.sprite___10632.fields["_lastX"];\n s.tmp_1 = r0;\n r0 = (s.tmp_0 - s.tmp_1);\n s.xDiff___10643 = (r0);\n r0 = s.sprite___10632.fields["_y"];\n s.tmp_0 = r0;\n r0 = s.sprite___10632.fields["_lastY"];\n s.tmp_1 = r0;\n r0 = (s.tmp_0 - s.tmp_1);\n s.yDiff___10649 = (r0);\n r0 = (s.xDiff___10643 !== globals.zeroFx8___79);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 37; continue; }\n r0 = (s.xDiff___10643 > globals.zeroFx8___79);\n s.right___10657 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.right___10657);\n if (!r0) { step = 5; continue; }\n s.tmp_1 = game_Hitbox_right__P596_mk(s);\n r0 = s.sprite___10632.fields["_hitbox"];\n s.tmp_1.arg0 = r0;\n s.pc = 73; return s.tmp_1;\n case 73:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = (1 << 8);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.tmp_0);\n { step = 6; continue; }\n case 5:\n s.tmp_4 = game_Hitbox_left__P594_mk(s);\n r0 = s.sprite___10632.fields["_hitbox"];\n s.tmp_4.arg0 = r0;\n s.pc = 74; return s.tmp_4;\n case 74:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (-1 << 8);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 + s.tmp_3);\n case 6:\n // jmp value (already in r0)\n s.tmp_6 = r0;\n r0 = (s.tmp_6 + globals.oneHalfFx8___80);\n s.tmp_7 = r0;\n r0 = (s.tileScale___10636 + 8);\n s.tmp_8 = r0;\n r0 = (s.tmp_7 >> s.tmp_8);\n s.x0___10660 = (r0);\n r0 = pxsim_Array__mk();\n s.collidedTiles___10675 = (r0);\n s.tmp_1 = game_Hitbox_top__P595_mk(s);\n r0 = s.sprite___10632.fields["_hitbox"];\n s.tmp_1.arg0 = r0;\n s.pc = 75; return s.tmp_1;\n case 75:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = (s.tmp_0 - s.yDiff___10649);\n s.y___10677 = (r0);\n case 7:\n s.tmp_1 = r0 = s.y___10677;\n s.tmp_3 = r0 = s.tileSize___10640;\n s.tmp_6 = game_Hitbox_bottom__P597_mk(s);\n r0 = s.sprite___10632.fields["_hitbox"];\n s.tmp_6.arg0 = r0;\n s.pc = 76; return s.tmp_6;\n case 76:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = (s.tmp_5 - s.yDiff___10649);\n s.tmp_4 = r0;\n r0 = (s.tmp_3 << 8);\n s.tmp_7 = r0;\n r0 = (s.tmp_7 + s.tmp_4);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 12; continue; }\n s.tmp_10 = Fx_min__P94_mk(s);\n s.tmp_10.arg0 = s.y___10677;\n s.tmp_12 = game_Hitbox_bottom__P597_mk(s);\n r0 = s.sprite___10632.fields["_hitbox"];\n s.tmp_12.arg0 = r0;\n s.pc = 78; return s.tmp_12;\n case 78:\n r0 = s.retval;\n s.tmp_11 = r0;\n r0 = (s.tmp_11 - s.yDiff___10649);\n s.tmp_10.arg1 = r0;\n s.pc = 77; return s.tmp_10;\n case 77:\n r0 = s.retval;\n s.tmp_9 = r0;\n r0 = (s.tmp_9 + globals.oneHalfFx8___80);\n s.tmp_8 = r0;\n r0 = (s.tileScale___10636 + 8);\n s.tmp_13 = r0;\n r0 = (s.tmp_8 >> s.tmp_13);\n s.y0___10692 = (r0);\n s.tmp_1 = tiles_TileMap_isObstacle__P883_mk(s);\n s.tmp_1.arg0 = s.arg2;\n s.tmp_1.arg1 = s.x0___10660;\n s.tmp_1.arg2 = s.y0___10692;\n s.pc = 79; return s.tmp_1;\n case 79:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 10; continue; }\n s.tmp_2 = tiles_TileMap_getObstacle__P884_mk(s);\n s.tmp_2.arg0 = s.arg2;\n s.tmp_2.arg1 = s.x0___10660;\n s.tmp_2.arg2 = s.y0___10692;\n s.pc = 80; return s.tmp_2;\n case 80:\n r0 = s.retval;\n s.obstacle___10708 = (r0);\n r0 = pxsim_pxtcore_mkAction(1, inline__P10717);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.obstacle___10708);\n s.tmp_4 = helpers_arraySome__P45_mk(s);\n s.tmp_4.arg0 = s.collidedTiles___10675;\n s.tmp_4.arg1 = s.tmp_0;\n s.pc = 81; return s.tmp_4;\n case 81:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 8; continue; }\n r0 = pxsim_Array__push(s.collidedTiles___10675, s.obstacle___10708);\n case 8:\n case 9:\n case 10:\n case 11:\n r0 = (s.tileSize___10640 << 8);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 + s.y___10677);\n s.y___10677 = (r0);\n { step = 7; continue; }\n case 12:\n r0 = pxsim_Array__length(s.collidedTiles___10675);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 35; continue; }\n r0 = pxsim_numops_toBoolDecr(s.right___10657);\n if (!r0) { step = 13; continue; }\n r0 = 2;\n { step = 14; continue; }\n case 13:\n r0 = 0;\n case 14:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n s.collisionDirection___10734 = (s.tmp_1);\n r0 = pxsim_numops_toBoolDecr(s.right___10657);\n if (!r0) { step = 15; continue; }\n r0 = (s.x0___10660 << s.tileScale___10636);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 * 256);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_0 = r0;\n r0 = s.sprite___10632.fields["_hitbox"];\n r0 = r0.fields["width"];\n s.tmp_4 = r0;\n r0 = (s.tmp_4 * 256);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 | 0);\n s.tmp_3 = r0;\n r0 = (s.tmp_0 - s.tmp_3);\n { step = 16; continue; }\n case 15:\n r0 = (s.x0___10660 + 1);\n s.tmp_7 = r0;\n r0 = (s.tmp_7 << s.tileScale___10636);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 * 256);\n s.tmp_8 = r0;\n r0 = (s.tmp_8 | 0);\n case 16:\n // jmp value (already in r0)\n s.tmp_9 = r0;\n s.tmp_10 = r0 = s.sprite___10632;\n r0 = s.sprite___10632.fields["_hitbox"];\n r0 = r0.fields["ox"];\n s.tmp_13 = r0;\n r0 = (0 - s.tmp_13);\n s.tmp_12 = r0;\n r0 = (s.tmp_12 << 8);\n s.tmp_14 = r0;\n r0 = (s.tmp_14 + s.tmp_9);\n s.tmp_11 = r0;\n r0 = (s.tmp_10).fields["_x"] = (s.tmp_11);\n s.tile___10760 = (undefined);\n s.tile___10760 = (undefined);\n s.unnamed62___U13 = (s.collidedTiles___10675);\n s.unnamed63___U14 = (0);\n case 17:\n s.tmp_0 = r0 = s.unnamed63___U14;\n r0 = pxsim_Array__length(s.unnamed62___U13);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 18; continue; }\n r0 = pxsim_Array__getAt(s.unnamed62___U13, s.unnamed63___U14);\n s.tile___10760 = (r0);\n s.tmp_2 = Sprite_registerObstacle__P651_mk(s);\n s.tmp_2.arg0 = s.sprite___10632;\n s.tmp_2.arg1 = s.collisionDirection___10734;\n s.tmp_2.arg2 = s.tile___10760;\n s.pc = 82; return s.tmp_2;\n case 82:\n r0 = s.retval;\n r0 = (s.unnamed63___U14 + 1);\n s.unnamed63___U14 = (r0);\n { step = 17; continue; }\n case 18:\n s.unnamed62___U13 = (undefined);\n r0 = s.sprite___10632.fields["flags"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 & 16);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 19; continue; }\n s.tmp_2 = Sprite_destroy__P653_mk(s);\n s.tmp_2.arg0 = s.sprite___10632;\n s.tmp_2.arg1 = undefined;\n s.tmp_2.arg2 = undefined;\n s.pc = 83; return s.tmp_2;\n case 83:\n r0 = s.retval;\n { step = 34; continue; }\n case 19:\n r0 = s.sprite___10632.fields["_vx"];\n s.tmp_1 = r0;\n r0 = s.arg1.fields["cachedVx"];\n s.tmp_2 = r0;\n r0 = (s.tmp_1 === s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 30; continue; }\n r0 = s.sprite___10632.fields["flags"];\n s.tmp_4 = r0;\n r0 = (s.tmp_4 & 32);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 28; continue; }\n r0 = pxsim_numops_toBoolDecr(s.right___10657);\n s.tmp_6 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_6);\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBool(s.tmp_5);\n if (r0) { step = 20; continue; }\n r0 = s.tmp_5;\n { step = 21; continue; }\n case 20:\n s.tmp_8 = Sprite_vx__P613_mk(s);\n s.tmp_8.arg0 = s.sprite___10632;\n s.pc = 84; return s.tmp_8;\n case 84:\n r0 = s.retval;\n s.tmp_7 = r0;\n r0 = (s.tmp_7 < 0);\n case 21:\n // jmp value (already in r0)\n s.tmp_9 = r0;\n r0 = pxsim_numops_toBool(s.tmp_9);\n if (!r0) { step = 22; continue; }\n r0 = s.tmp_9;\n { step = 25; continue; }\n case 22:\n s.tmp_10 = r0 = s.right___10657;\n r0 = pxsim_numops_toBool(s.tmp_10);\n if (r0) { step = 23; continue; }\n r0 = s.tmp_10;\n { step = 24; continue; }\n case 23:\n s.tmp_12 = Sprite_vx__P613_mk(s);\n s.tmp_12.arg0 = s.sprite___10632;\n s.pc = 85; return s.tmp_12;\n case 85:\n r0 = s.retval;\n s.tmp_11 = r0;\n r0 = (s.tmp_11 > 0);\n case 24:\n // jmp value (already in r0)\n s.tmp_13 = r0;\n r0 = s.tmp_13;\n case 25:\n // jmp value (already in r0)\n s.tmp_14 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_14);\n if (!r0) { step = 26; continue; }\n s.tmp_15 = r0 = s.sprite___10632;\n r0 = s.sprite___10632.fields["_vx"];\n s.tmp_17 = r0;\n r0 = (0 - s.tmp_17);\n s.tmp_16 = r0;\n r0 = (s.tmp_15).fields["_vx"] = (s.tmp_16);\n s.tmp_0 = r0 = s.arg1;\n r0 = s.arg1.fields["xStep"];\n s.tmp_2 = r0;\n r0 = (0 - s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["xStep"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg1;\n r0 = s.arg1.fields["dx"];\n s.tmp_2 = r0;\n r0 = (0 - s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["dx"] = (s.tmp_1);\n case 26:\n case 27:\n { step = 29; continue; }\n case 28:\n r0 = (s.arg1).fields["dx"] = (globals.zeroFx8___79);\n r0 = (s.sprite___10632).fields["_vx"] = (globals.zeroFx8___79);\n case 29:\n { step = 33; continue; }\n case 30:\n s.tmp_2 = Math_sign__P60_mk(s);\n r0 = s.sprite___10632.fields["_vx"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 + 128);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 >> 8);\n s.tmp_2.arg0 = r0;\n s.pc = 86; return s.tmp_2;\n case 86:\n r0 = s.retval;\n s.tmp_1 = r0;\n s.tmp_6 = Math_sign__P60_mk(s);\n r0 = s.arg1.fields["cachedVx"];\n s.tmp_7 = r0;\n r0 = (s.tmp_7 + 128);\n s.tmp_8 = r0;\n r0 = (s.tmp_8 >> 8);\n s.tmp_6.arg0 = r0;\n s.pc = 87; return s.tmp_6;\n case 87:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = (s.tmp_1 === s.tmp_5);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 31; continue; }\n r0 = (s.arg1).fields["dx"] = (globals.zeroFx8___79);\n case 31:\n case 32:\n case 33:\n case 34:\n case 35:\n case 36:\n case 37:\n case 38:\n r0 = (s.yDiff___10649 !== globals.zeroFx8___79);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 71; continue; }\n r0 = (s.yDiff___10649 > globals.zeroFx8___79);\n s.down___10826 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.down___10826);\n if (!r0) { step = 39; continue; }\n s.tmp_1 = game_Hitbox_bottom__P597_mk(s);\n r0 = s.sprite___10632.fields["_hitbox"];\n s.tmp_1.arg0 = r0;\n s.pc = 88; return s.tmp_1;\n case 88:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = (1 << 8);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.tmp_0);\n { step = 40; continue; }\n case 39:\n s.tmp_4 = game_Hitbox_top__P595_mk(s);\n r0 = s.sprite___10632.fields["_hitbox"];\n s.tmp_4.arg0 = r0;\n s.pc = 89; return s.tmp_4;\n case 89:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (-1 << 8);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 + s.tmp_3);\n case 40:\n // jmp value (already in r0)\n s.tmp_6 = r0;\n r0 = (s.tmp_6 + globals.oneHalfFx8___80);\n s.tmp_7 = r0;\n r0 = (s.tileScale___10636 + 8);\n s.tmp_8 = r0;\n r0 = (s.tmp_7 >> s.tmp_8);\n s.y0___10829 = (r0);\n r0 = pxsim_Array__mk();\n s.collidedTiles___10844 = (r0);\n s.tmp_0 = game_Hitbox_left__P594_mk(s);\n r0 = s.sprite___10632.fields["_hitbox"];\n s.tmp_0.arg0 = r0;\n s.pc = 90; return s.tmp_0;\n case 90:\n r0 = s.retval;\n s.x___10846 = (r0);\n case 41:\n s.tmp_1 = r0 = s.x___10846;\n s.tmp_3 = r0 = s.tileSize___10640;\n s.tmp_5 = game_Hitbox_right__P596_mk(s);\n r0 = s.sprite___10632.fields["_hitbox"];\n s.tmp_5.arg0 = r0;\n s.pc = 91; return s.tmp_5;\n case 91:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = (s.tmp_3 << 8);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 + s.tmp_4);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 46; continue; }\n s.tmp_9 = Fx_min__P94_mk(s);\n s.tmp_9.arg0 = s.x___10846;\n s.tmp_10 = game_Hitbox_right__P596_mk(s);\n r0 = s.sprite___10632.fields["_hitbox"];\n s.tmp_10.arg0 = r0;\n s.pc = 93; return s.tmp_10;\n case 93:\n r0 = s.retval;\n s.tmp_9.arg1 = r0;\n s.pc = 92; return s.tmp_9;\n case 92:\n r0 = s.retval;\n s.tmp_8 = r0;\n r0 = (s.tmp_8 + globals.oneHalfFx8___80);\n s.tmp_7 = r0;\n r0 = (s.tileScale___10636 + 8);\n s.tmp_11 = r0;\n r0 = (s.tmp_7 >> s.tmp_11);\n s.x0___10857 = (r0);\n s.tmp_1 = tiles_TileMap_isObstacle__P883_mk(s);\n s.tmp_1.arg0 = s.arg2;\n s.tmp_1.arg1 = s.x0___10857;\n s.tmp_1.arg2 = s.y0___10829;\n s.pc = 94; return s.tmp_1;\n case 94:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 44; continue; }\n s.tmp_2 = tiles_TileMap_getObstacle__P884_mk(s);\n s.tmp_2.arg0 = s.arg2;\n s.tmp_2.arg1 = s.x0___10857;\n s.tmp_2.arg2 = s.y0___10829;\n s.pc = 95; return s.tmp_2;\n case 95:\n r0 = s.retval;\n s.obstacle___10871 = (r0);\n r0 = pxsim_pxtcore_mkAction(1, inline__P10879);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.obstacle___10871);\n s.tmp_4 = helpers_arraySome__P45_mk(s);\n s.tmp_4.arg0 = s.collidedTiles___10844;\n s.tmp_4.arg1 = s.tmp_0;\n s.pc = 96; return s.tmp_4;\n case 96:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 42; continue; }\n r0 = pxsim_Array__push(s.collidedTiles___10844, s.obstacle___10871);\n case 42:\n case 43:\n case 44:\n case 45:\n r0 = (s.tileSize___10640 << 8);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 + s.x___10846);\n s.x___10846 = (r0);\n { step = 41; continue; }\n case 46:\n r0 = pxsim_Array__length(s.collidedTiles___10844);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 69; continue; }\n r0 = pxsim_numops_toBoolDecr(s.down___10826);\n if (!r0) { step = 47; continue; }\n r0 = 3;\n { step = 48; continue; }\n case 47:\n r0 = 1;\n case 48:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n s.collisionDirection___10895 = (s.tmp_1);\n r0 = pxsim_numops_toBoolDecr(s.down___10826);\n if (!r0) { step = 49; continue; }\n r0 = (s.y0___10829 << s.tileScale___10636);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 * 256);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_0 = r0;\n r0 = s.sprite___10632.fields["_hitbox"];\n r0 = r0.fields["height"];\n s.tmp_4 = r0;\n r0 = (s.tmp_4 * 256);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 | 0);\n s.tmp_3 = r0;\n r0 = (s.tmp_0 - s.tmp_3);\n { step = 50; continue; }\n case 49:\n r0 = (s.y0___10829 + 1);\n s.tmp_7 = r0;\n r0 = (s.tmp_7 << s.tileScale___10636);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 * 256);\n s.tmp_8 = r0;\n r0 = (s.tmp_8 | 0);\n case 50:\n // jmp value (already in r0)\n s.tmp_9 = r0;\n s.tmp_10 = r0 = s.sprite___10632;\n r0 = s.sprite___10632.fields["_hitbox"];\n r0 = r0.fields["oy"];\n s.tmp_13 = r0;\n r0 = (0 - s.tmp_13);\n s.tmp_12 = r0;\n r0 = (s.tmp_12 << 8);\n s.tmp_14 = r0;\n r0 = (s.tmp_14 + s.tmp_9);\n s.tmp_11 = r0;\n r0 = (s.tmp_10).fields["_y"] = (s.tmp_11);\n s.tile___10921 = (undefined);\n s.tile___10921 = (undefined);\n s.unnamed64___U23 = (s.collidedTiles___10844);\n s.unnamed65___U24 = (0);\n case 51:\n s.tmp_0 = r0 = s.unnamed65___U24;\n r0 = pxsim_Array__length(s.unnamed64___U23);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 52; continue; }\n r0 = pxsim_Array__getAt(s.unnamed64___U23, s.unnamed65___U24);\n s.tile___10921 = (r0);\n s.tmp_2 = Sprite_registerObstacle__P651_mk(s);\n s.tmp_2.arg0 = s.sprite___10632;\n s.tmp_2.arg1 = s.collisionDirection___10895;\n s.tmp_2.arg2 = s.tile___10921;\n s.pc = 97; return s.tmp_2;\n case 97:\n r0 = s.retval;\n r0 = (s.unnamed65___U24 + 1);\n s.unnamed65___U24 = (r0);\n { step = 51; continue; }\n case 52:\n s.unnamed64___U23 = (undefined);\n r0 = s.sprite___10632.fields["flags"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 & 16);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 53; continue; }\n s.tmp_2 = Sprite_destroy__P653_mk(s);\n s.tmp_2.arg0 = s.sprite___10632;\n s.tmp_2.arg1 = undefined;\n s.tmp_2.arg2 = undefined;\n s.pc = 98; return s.tmp_2;\n case 98:\n r0 = s.retval;\n { step = 68; continue; }\n case 53:\n r0 = s.sprite___10632.fields["_vy"];\n s.tmp_1 = r0;\n r0 = s.arg1.fields["cachedVy"];\n s.tmp_2 = r0;\n r0 = (s.tmp_1 === s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 64; continue; }\n r0 = s.sprite___10632.fields["flags"];\n s.tmp_4 = r0;\n r0 = (s.tmp_4 & 32);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 62; continue; }\n r0 = pxsim_numops_toBoolDecr(s.down___10826);\n s.tmp_6 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_6);\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBool(s.tmp_5);\n if (r0) { step = 54; continue; }\n r0 = s.tmp_5;\n { step = 55; continue; }\n case 54:\n s.tmp_8 = Sprite_vy__P615_mk(s);\n s.tmp_8.arg0 = s.sprite___10632;\n s.pc = 99; return s.tmp_8;\n case 99:\n r0 = s.retval;\n s.tmp_7 = r0;\n r0 = (s.tmp_7 < 0);\n case 55:\n // jmp value (already in r0)\n s.tmp_9 = r0;\n r0 = pxsim_numops_toBool(s.tmp_9);\n if (!r0) { step = 56; continue; }\n r0 = s.tmp_9;\n { step = 59; continue; }\n case 56:\n s.tmp_10 = r0 = s.down___10826;\n r0 = pxsim_numops_toBool(s.tmp_10);\n if (r0) { step = 57; continue; }\n r0 = s.tmp_10;\n { step = 58; continue; }\n case 57:\n s.tmp_12 = Sprite_vy__P615_mk(s);\n s.tmp_12.arg0 = s.sprite___10632;\n s.pc = 100; return s.tmp_12;\n case 100:\n r0 = s.retval;\n s.tmp_11 = r0;\n r0 = (s.tmp_11 > 0);\n case 58:\n // jmp value (already in r0)\n s.tmp_13 = r0;\n r0 = s.tmp_13;\n case 59:\n // jmp value (already in r0)\n s.tmp_14 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_14);\n if (!r0) { step = 60; continue; }\n s.tmp_15 = r0 = s.sprite___10632;\n r0 = s.sprite___10632.fields["_vy"];\n s.tmp_17 = r0;\n r0 = (0 - s.tmp_17);\n s.tmp_16 = r0;\n r0 = (s.tmp_15).fields["_vy"] = (s.tmp_16);\n s.tmp_0 = r0 = s.arg1;\n r0 = s.arg1.fields["yStep"];\n s.tmp_2 = r0;\n r0 = (0 - s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["yStep"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg1;\n r0 = s.arg1.fields["dy"];\n s.tmp_2 = r0;\n r0 = (0 - s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["dy"] = (s.tmp_1);\n case 60:\n case 61:\n { step = 63; continue; }\n case 62:\n r0 = (s.arg1).fields["dy"] = (globals.zeroFx8___79);\n r0 = (s.sprite___10632).fields["_vy"] = (globals.zeroFx8___79);\n case 63:\n { step = 67; continue; }\n case 64:\n s.tmp_2 = Math_sign__P60_mk(s);\n r0 = s.sprite___10632.fields["_vy"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 + 128);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 >> 8);\n s.tmp_2.arg0 = r0;\n s.pc = 101; return s.tmp_2;\n case 101:\n r0 = s.retval;\n s.tmp_1 = r0;\n s.tmp_6 = Math_sign__P60_mk(s);\n r0 = s.arg1.fields["cachedVy"];\n s.tmp_7 = r0;\n r0 = (s.tmp_7 + 128);\n s.tmp_8 = r0;\n r0 = (s.tmp_8 >> 8);\n s.tmp_6.arg0 = r0;\n s.pc = 102; return s.tmp_6;\n case 102:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = (s.tmp_1 === s.tmp_5);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 65; continue; }\n r0 = (s.arg1).fields["dy"] = (globals.zeroFx8___79);\n case 65:\n case 66:\n case 67:\n case 68:\n case 69:\n case 70:\n case 71:\n case 72:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nArcadePhysicsEngine_tilemapCollisions__P735.info = {"start":9627,"length":6961,"line":292,"column":4,"endLine":467,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"tilemapCollisions","argumentNames":["this","movingSprite","tm"]}\n\nfunction ArcadePhysicsEngine_tilemapCollisions__P735_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: ArcadePhysicsEngine_tilemapCollisions__P735, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n tmp_12: undefined,\n tmp_13: undefined,\n tmp_14: undefined,\n tmp_15: undefined,\n tmp_16: undefined,\n tmp_17: undefined,\n sprite___10632: undefined,\n tileScale___10636: undefined,\n tileSize___10640: undefined,\n xDiff___10643: undefined,\n yDiff___10649: undefined,\n right___10657: undefined,\n x0___10660: undefined,\n collidedTiles___10675: undefined,\n y___10677: undefined,\n y0___10692: undefined,\n obstacle___10708: undefined,\n collisionDirection___10734: undefined,\n tile___10760: undefined,\n unnamed62___U13: undefined,\n unnamed63___U14: undefined,\n down___10826: undefined,\n y0___10829: undefined,\n collidedTiles___10844: undefined,\n x___10846: undefined,\n x0___10857: undefined,\n obstacle___10871: undefined,\n collisionDirection___10895: undefined,\n tile___10921: undefined,\n unnamed64___U23: undefined,\n unnamed65___U24: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction inline__P10717(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0.fields["tileIndex"];\n s.tmp_0 = r0;\n r0 = s.caps[0].fields["tileIndex"];\n s.tmp_1 = r0;\n r0 = (s.tmp_0 === s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\ninline__P10717.info = {"start":11372,"length":39,"line":343,"column":44,"endLine":343,"endColumn":83,"fileName":"pxt_modules/game/physics.ts","functionName":"inline","argumentNames":["o"]}\n\nfunction inline__P10717_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P10717, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P10879(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0.fields["tileIndex"];\n s.tmp_0 = r0;\n r0 = s.caps[0].fields["tileIndex"];\n s.tmp_1 = r0;\n r0 = (s.tmp_0 === s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\ninline__P10879.info = {"start":14581,"length":39,"line":422,"column":44,"endLine":422,"endColumn":83,"fileName":"pxt_modules/game/physics.ts","functionName":"inline","argumentNames":["o"]}\n\nfunction inline__P10879_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P10879, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction tiles_TileMap_getObstacle__P884(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.index___11030 = undefined;\n s.tile___11040 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, tiles_TileMap__C865_VT)) failedCast(r0);\n s.tmp_1 = tiles_TileMap_isOutsideMap__P880_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.tmp_1.arg1 = s.arg1;\n s.tmp_1.arg2 = s.arg2;\n s.pc = 5; return s.tmp_1;\n case 5:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = 0;\n { step = 2; continue; }\n case 1:\n r0 = s.arg0.fields["_map"];\n s.tmp_2 = r0;\n r0 = pxsim_ImageMethods.getPixel(s.tmp_2, s.arg1, s.arg2);\n case 2:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n s.index___11030 = (s.tmp_3);\n r0 = s.arg0.fields["_tileSets"];\n s.tmp_1 = r0;\n r0 = pxsim_Array__getAt(s.tmp_1, s.index___11030);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = s.tmp_0;\n { step = 4; continue; }\n case 3:\n s.tmp_2 = tiles_TileMap_generateTile__P879_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.tmp_2.arg1 = s.index___11030;\n s.pc = 6; return s.tmp_2;\n case 6:\n r0 = s.retval;\n case 4:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n s.tile___11040 = (s.tmp_3);\n r0 = pxsim_pxtcore_mkClassInstance(sprites_StaticObstacle__C700_VT);\n s.tmp_0 = r0;\n s.tmp_1 = sprites_StaticObstacle_constructor__P707_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_2 = tiles_TileSet_image__P857_mk(s);\n s.tmp_2.arg0 = s.tile___11040;\n s.pc = 8; return s.tmp_2;\n case 8:\n r0 = s.retval;\n s.tmp_1.arg1 = r0;\n r0 = s.arg0.fields["scale"];\n s.tmp_3 = r0;\n r0 = (s.arg2 << s.tmp_3);\n s.tmp_1.arg2 = r0;\n r0 = s.arg0.fields["scale"];\n s.tmp_4 = r0;\n r0 = (s.arg1 << s.tmp_4);\n s.tmp_1.arg3 = r0;\n r0 = s.arg0.fields["_layer"];\n s.tmp_1.arg4 = r0;\n s.tmp_1.arg5 = s.index___11030;\n s.pc = 7; return s.tmp_1;\n case 7:\n r0 = s.retval;\n r0 = s.tmp_0;\n return leave(s, r0)\n default: oops()\n} } }\ntiles_TileMap_getObstacle__P884.info = {"start":7866,"length":432,"line":248,"column":8,"endLine":258,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"getObstacle","argumentNames":["this","col","row"]}\n\nfunction tiles_TileMap_getObstacle__P884_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: tiles_TileMap_getObstacle__P884, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n index___11030: undefined,\n tile___11040: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction tiles_TileMap_isOutsideMap__P880(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, tiles_TileMap__C865_VT)) failedCast(r0);\n r0 = s.arg0.fields["_map"];\n s.tmp_6 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_6);\n s.tmp_5 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_5);\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n s.tmp_3 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = (s.arg1 < 0);\n case 2:\n // jmp value (already in r0)\n s.tmp_7 = r0;\n r0 = pxsim_numops_toBool(s.tmp_7);\n if (!r0) { step = 3; continue; }\n r0 = s.tmp_7;\n { step = 4; continue; }\n case 3:\n s.tmp_8 = r0 = s.arg1;\n r0 = s.arg0.fields["_map"];\n s.tmp_10 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_10);\n s.tmp_9 = r0;\n r0 = (s.tmp_8 >= s.tmp_9);\n case 4:\n // jmp value (already in r0)\n s.tmp_11 = r0;\n r0 = pxsim_numops_toBool(s.tmp_11);\n if (!r0) { step = 5; continue; }\n r0 = s.tmp_11;\n { step = 6; continue; }\n case 5:\n r0 = (s.arg2 < 0);\n case 6:\n // jmp value (already in r0)\n s.tmp_12 = r0;\n r0 = pxsim_numops_toBool(s.tmp_12);\n if (!r0) { step = 7; continue; }\n r0 = s.tmp_12;\n { step = 8; continue; }\n case 7:\n s.tmp_13 = r0 = s.arg2;\n r0 = s.arg0.fields["_map"];\n s.tmp_15 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_15);\n s.tmp_14 = r0;\n r0 = (s.tmp_13 >= s.tmp_14);\n case 8:\n // jmp value (already in r0)\n s.tmp_16 = r0;\n r0 = s.tmp_16;\n return leave(s, r0)\n default: oops()\n} } }\ntiles_TileMap_isOutsideMap__P880.info = {"start":5019,"length":192,"line":174,"column":8,"endLine":177,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"isOutsideMap","argumentNames":["this","col","row"]}\n\nfunction tiles_TileMap_isOutsideMap__P880_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: tiles_TileMap_isOutsideMap__P880, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n tmp_12: undefined,\n tmp_13: undefined,\n tmp_14: undefined,\n tmp_15: undefined,\n tmp_16: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction tiles_TileMap_layer__P871(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, tiles_TileMap__C865_VT)) failedCast(r0);\n r0 = s.arg0.fields["_layer"];\n return leave(s, r0)\n default: oops()\n} } }\ntiles_TileMap_layer__P871.info = {"start":3319,"length":63,"line":119,"column":8,"endLine":121,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"layer","argumentNames":["this"]}\n\nfunction tiles_TileMap_layer__P871_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: tiles_TileMap_layer__P871, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction sprites_StaticObstacle_constructor__P707(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.arg5 = (s.lambdaArgs[5]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_StaticObstacle__C700_VT)) failedCast(r0);\n r0 = (s.arg0).fields["image"] = (s.arg1);\n r0 = (s.arg0).fields["layer"] = (s.arg4);\n r0 = (s.arg0).fields["top"] = (s.arg2);\n r0 = (s.arg0).fields["left"] = (s.arg3);\n r0 = (s.arg0).fields["tileIndex"] = (s.arg5);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_StaticObstacle_constructor__P707.info = {"start":563,"length":261,"line":28,"column":8,"endLine":34,"endColumn":9,"fileName":"pxt_modules/game/obstacle.ts","functionName":"inline","argumentNames":["this","image","top","left","layer","tileIndex"]}\n\nfunction sprites_StaticObstacle_constructor__P707_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_StaticObstacle_constructor__P707, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n arg5: undefined,\n} }\n\n\n\n\n\nfunction tiles_TileMap_isObstacle__P883(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.t___11196 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, tiles_TileMap__C865_VT)) failedCast(r0);\n r0 = s.arg0.fields["_map"];\n s.tmp_6 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_6);\n s.tmp_5 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_5);\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n s.tmp_3 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = false;\n { step = 7; continue; }\n case 1:\n case 2:\n s.tmp_8 = tiles_TileMap_isOutsideMap__P880_mk(s);\n s.tmp_8.arg0 = s.arg0;\n s.tmp_8.arg1 = s.arg1;\n s.tmp_8.arg2 = s.arg2;\n s.pc = 8; return s.tmp_8;\n case 8:\n r0 = s.retval;\n s.tmp_7 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_7);\n if (!r0) { step = 3; continue; }\n r0 = true;\n { step = 7; continue; }\n case 3:\n case 4:\n r0 = s.arg0.fields["_tileSets"];\n s.tmp_9 = r0;\n r0 = s.arg0.fields["_map"];\n s.tmp_11 = r0;\n r0 = pxsim_ImageMethods.getPixel(s.tmp_11, s.arg1, s.arg2);\n s.tmp_10 = r0;\n r0 = pxsim_Array__getAt(s.tmp_9, s.tmp_10);\n s.t___11196 = (r0);\n s.tmp_0 = r0 = s.t___11196;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 5; continue; }\n r0 = s.tmp_0;\n { step = 6; continue; }\n case 5:\n r0 = s.t___11196.fields["obstacle"];\n case 6:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = s.tmp_1;\n case 7:\n return leave(s, r0)\n default: oops()\n} } }\ntiles_TileMap_isObstacle__P883.info = {"start":7595,"length":261,"line":240,"column":8,"endLine":246,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"isObstacle","argumentNames":["this","col","row"]}\n\nfunction tiles_TileMap_isObstacle__P883_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: tiles_TileMap_isObstacle__P883, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n t___11196: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction Sprite_registerObstacle__P651(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.collisionHandlers___10992 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields["_obstacles"];\n s.tmp_0 = r0;\n r0 = pxsim_Array_.setAt(s.tmp_0, s.arg1, s.arg2);\n s.tmp_1 = game_currentScene__P769_mk(s);\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n r0 = r0.fields["collisionHandlers"];\n s.tmp_0 = r0;\n s.tmp_3 = if_tileIndex_1_mk(s);\n s.tmp_3.arg0 = s.arg2;\n if (!s.tmp_3.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, "tileIndex");\n } else {\n s.tmp_3.fn = s.tmp_3.arg0.vtable.iface["tileIndex"];\n if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields["tileIndex"]; }\n else { s.pc = 4; return s.tmp_3; }\n }\n case 4:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = pxsim_Array__getAt(s.tmp_0, s.tmp_2);\n s.collisionHandlers___10992 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.collisionHandlers___10992);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_pxtcore_mkAction(1, inline__P11003);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n r0 = pxsim_pxtcore_mkAction(1, inline__P11008);\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_1, 0, s.arg0);\n s.tmp_2 = helpers_arrayForEach__P47_mk(s);\n s.tmp_3 = helpers_arrayFilter__P48_mk(s);\n s.tmp_3.arg0 = s.collisionHandlers___10992;\n s.tmp_3.arg1 = s.tmp_0;\n s.pc = 6; return s.tmp_3;\n case 6:\n r0 = s.retval;\n s.tmp_2.arg0 = r0;\n s.tmp_2.arg1 = s.tmp_1;\n s.pc = 5; return s.tmp_2;\n case 5:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_registerObstacle__P651.info = {"start":23704,"length":388,"line":722,"column":4,"endLine":731,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"registerObstacle","argumentNames":["this","direction","other"]}\n\nfunction Sprite_registerObstacle__P651_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_registerObstacle__P651, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n collisionHandlers___10992: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction inline__P11003(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0.fields["kind"];\n s.tmp_0 = r0;\n r0 = s.caps[0].fields["_kind"];\n s.tmp_1 = r0;\n r0 = (s.tmp_0 == s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\ninline__P11003.info = {"start":24001,"length":26,"line":728,"column":24,"endLine":728,"endColumn":50,"fileName":"pxt_modules/game/sprite.ts","functionName":"inline","argumentNames":["h"]}\n\nfunction inline__P11003_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P11003, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P11008(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = lambda_2_mk(s);\n r0 = s.arg0.fields["handler"];\n s.tmp_0.argL = r0;\n s.tmp_0.arg0 = s.caps[0];\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P11008.info = {"start":24054,"length":20,"line":729,"column":25,"endLine":729,"endColumn":45,"fileName":"pxt_modules/game/sprite.ts","functionName":"inline","argumentNames":["h"]}\n\nfunction inline__P11008_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P11008, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_Hitbox_bottom__P597(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_Hitbox__C593_VT)) failedCast(r0);\n r0 = s.arg0.fields["height"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - 1);\n s.tmp_0 = r0;\n s.tmp_3 = game_Hitbox_top__P595_mk(s);\n s.tmp_3.arg0 = s.arg0;\n s.pc = 1; return s.tmp_3;\n case 1:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (s.tmp_0 << 8);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 + s.tmp_2);\n return leave(s, r0)\n default: oops()\n} } }\ngame_Hitbox_bottom__P597.info = {"start":673,"length":78,"line":28,"column":8,"endLine":30,"endColumn":9,"fileName":"pxt_modules/game/hitbox.ts","functionName":"bottom","argumentNames":["this"]}\n\nfunction game_Hitbox_bottom__P597_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_Hitbox_bottom__P597, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_Hitbox_right__P596(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_Hitbox__C593_VT)) failedCast(r0);\n r0 = s.arg0.fields["width"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - 1);\n s.tmp_0 = r0;\n s.tmp_3 = game_Hitbox_left__P594_mk(s);\n s.tmp_3.arg0 = s.arg0;\n s.pc = 1; return s.tmp_3;\n case 1:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (s.tmp_0 << 8);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 + s.tmp_2);\n return leave(s, r0)\n default: oops()\n} } }\ngame_Hitbox_right__P596.info = {"start":586,"length":77,"line":24,"column":8,"endLine":26,"endColumn":9,"fileName":"pxt_modules/game/hitbox.ts","functionName":"right","argumentNames":["this"]}\n\nfunction game_Hitbox_right__P596_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_Hitbox_right__P596, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_Hitbox_top__P595(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_Hitbox__C593_VT)) failedCast(r0);\n r0 = s.arg0.fields["oy"];\n s.tmp_0 = r0;\n r0 = s.arg0.fields["parent"];\n r0 = r0.fields["_y"];\n s.tmp_1 = r0;\n r0 = (s.tmp_0 << 8);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\ngame_Hitbox_top__P595.info = {"start":503,"length":73,"line":20,"column":8,"endLine":22,"endColumn":9,"fileName":"pxt_modules/game/hitbox.ts","functionName":"top","argumentNames":["this"]}\n\nfunction game_Hitbox_top__P595_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_Hitbox_top__P595, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_Hitbox_left__P594(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_Hitbox__C593_VT)) failedCast(r0);\n r0 = s.arg0.fields["ox"];\n s.tmp_0 = r0;\n r0 = s.arg0.fields["parent"];\n r0 = r0.fields["_x"];\n s.tmp_1 = r0;\n r0 = (s.tmp_0 << 8);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\ngame_Hitbox_left__P594.info = {"start":419,"length":74,"line":16,"column":8,"endLine":18,"endColumn":9,"fileName":"pxt_modules/game/hitbox.ts","functionName":"left","argumentNames":["this"]}\n\nfunction game_Hitbox_left__P594_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_Hitbox_left__P594, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Fx_min__P94(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 < s.arg1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.arg0;\n { step = 3; continue; }\n { step = 2; continue; }\n case 1:\n r0 = s.arg1;\n { step = 3; continue; }\n case 2:\n r0 = undefined;\n case 3:\n return leave(s, r0)\n default: oops()\n} } }\nFx_min__P94.info = {"start":1527,"length":117,"line":47,"column":4,"endLine":52,"endColumn":5,"fileName":"pxt_modules/base/fixed.ts","functionName":"min","argumentNames":["a","b"]}\n\nfunction Fx_min__P94_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Fx_min__P94, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Fx_iadd__P87(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 << 8);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 + s.arg1);\n return leave(s, r0)\n default: oops()\n} } }\nFx_iadd__P87.info = {"start":621,"length":110,"line":23,"column":4,"endLine":25,"endColumn":5,"fileName":"pxt_modules/base/fixed.ts","functionName":"iadd","argumentNames":["a","b"]}\n\nfunction Fx_iadd__P87_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Fx_iadd__P87, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Fx_toIntShifted__P85(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg1 + 8);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 >> s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\nFx_toIntShifted__P85.info = {"start":391,"length":102,"line":17,"column":4,"endLine":19,"endColumn":5,"fileName":"pxt_modules/base/fixed.ts","functionName":"toIntShifted","argumentNames":["a","n"]}\n\nfunction Fx_toIntShifted__P85_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Fx_toIntShifted__P85, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction helpers_arraySome__P45(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.len___11014 = undefined;\n s.i___11017 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_Array__length(s.arg0);\n s.len___11014 = (r0);\n s.i___11017 = (0);\n case 1:\n r0 = (s.i___11017 < s.len___11014);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 4; continue; }\n s.tmp_2 = lambda_3_mk(s);\n s.tmp_2.argL = s.arg1;\n r0 = pxsim_Array__getAt(s.arg0, s.i___11017);\n s.tmp_2.arg0 = r0;\n s.tmp_2.arg1 = s.i___11017;\n setupLambda(s.tmp_2, s.tmp_2.argL);\n s.pc = 6; return s.tmp_2;\n case 6:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 2; continue; }\n r0 = true;\n { step = 5; continue; }\n case 2:\n case 3:\n r0 = (s.i___11017 + 1);\n s.i___11017 = (r0);\n { step = 1; continue; }\n case 4:\n r0 = false;\n case 5:\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_arraySome__P45.info = {"start":4550,"length":296,"line":154,"column":4,"endLine":160,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"arraySome","argumentNames":["arr","callbackfn"]}\n\nfunction helpers_arraySome__P45_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_arraySome__P45, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n len___11014: undefined,\n i___11017: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction MovingSprite_constructor__P726(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.arg5 = (s.lambdaArgs[5]);\n s.arg6 = (s.lambdaArgs[6]);\n s.arg7 = (s.lambdaArgs[7]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, MovingSprite__C725_VT)) failedCast(r0);\n r0 = (s.arg0).fields["sprite"] = (s.arg1);\n r0 = (s.arg0).fields["cachedVx"] = (s.arg2);\n r0 = (s.arg0).fields["cachedVy"] = (s.arg3);\n r0 = (s.arg0).fields["dx"] = (s.arg4);\n r0 = (s.arg0).fields["dy"] = (s.arg5);\n r0 = (s.arg0).fields["xStep"] = (s.arg6);\n r0 = (s.arg0).fields["yStep"] = (s.arg7);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nMovingSprite_constructor__P726.info = {"start":610,"length":313,"line":28,"column":4,"endLine":39,"endColumn":9,"fileName":"pxt_modules/game/physics.ts","functionName":"inline","argumentNames":["this","sprite","cachedVx","cachedVy","dx","dy","xStep","yStep"]}\n\nfunction MovingSprite_constructor__P726_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: MovingSprite_constructor__P726, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n arg5: undefined,\n arg6: undefined,\n arg7: undefined,\n} }\n\n\n\n\n\nfunction ArcadePhysicsEngine_move__P732(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.dtf___11246 = undefined;\n s.dtSec___11251 = undefined;\n s.dt2___11254 = undefined;\n s.scene___11257 = undefined;\n s.movingSprites___11259 = undefined;\n s.tileMap___11270 = undefined;\n s.MAX_STEP_COUNT___11292 = undefined;\n s.overlapHandlers___11301 = undefined;\n s.selected___11307 = undefined;\n s.buffers___11308 = undefined;\n s.count___11312 = undefined;\n s.currMovers___11320 = undefined;\n s.remainingMovers___11325 = undefined;\n s.ms___11329 = undefined;\n s.unnamed56___U14 = undefined;\n s.unnamed57___U15 = undefined;\n s.s___11331 = undefined;\n s.stepX___11412 = undefined;\n s.stepY___11423 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, ArcadePhysicsEngine__C727_VT)) failedCast(r0);\n s.tmp_0 = Fx_min__P94_mk(s);\n s.tmp_0.arg0 = globals.MAX_TIME_STEP___716;\n r0 = (s.arg1 * 1000);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 * 256);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_0.arg1 = r0;\n s.pc = 47; return s.tmp_0;\n case 47:\n r0 = s.retval;\n s.dtf___11246 = (r0);\n r0 = pxsim.Math_.idiv(s.dtf___11246, 1000);\n s.dtSec___11251 = (r0);\n r0 = pxsim.Math_.idiv(s.dtf___11246, 2);\n s.dt2___11254 = (r0);\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 48; return s.tmp_0;\n case 48:\n r0 = s.retval;\n s.scene___11257 = (r0);\n r0 = pxsim_pxtcore_mkAction(3, inline__P11264);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.dtSec___11251);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 2, s.dt2___11254);\n s.tmp_1 = helpers_arrayMap__P44_mk(s);\n r0 = s.arg0.fields["sprites"];\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = s.tmp_0;\n s.pc = 49; return s.tmp_1;\n case 49:\n r0 = s.retval;\n s.movingSprites___11259 = (r0);\n r0 = s.scene___11257.fields["tileMap"];\n s.tileMap___11270 = (r0);\n s.tmp_0 = helpers_arrayForEach__P47_mk(s);\n r0 = s.arg0.fields["sprites"];\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = inline__P11276;\n s.pc = 50; return s.tmp_0;\n case 50:\n r0 = s.retval;\n s.tmp_0 = sprites_SpriteMap_clear__P664_mk(s);\n r0 = s.arg0.fields["map"];\n s.tmp_0.arg0 = r0;\n s.pc = 51; return s.tmp_0;\n case 51:\n r0 = s.retval;\n s.tmp_0 = sprites_SpriteMap_resizeBuckets__P663_mk(s);\n r0 = s.arg0.fields["map"];\n s.tmp_0.arg0 = r0;\n r0 = s.arg0.fields["sprites"];\n s.tmp_0.arg1 = r0;\n s.pc = 52; return s.tmp_0;\n case 52:\n r0 = s.retval;\n r0 = s.arg0.fields["maxVelocity"];\n s.tmp_2 = r0;\n r0 = s.arg0.fields["minSingleStep"];\n s.tmp_3 = r0;\n r0 = (s.tmp_2 << 8);\n s.tmp_4 = r0;\n r0 = pxsim.Math_.idiv(s.tmp_4, s.tmp_3);\n s.tmp_1 = r0;\n r0 = pxsim.Math_.imul(s.tmp_1, s.dtSec___11251);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 >> 8);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 + 128);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 >> 8);\n s.MAX_STEP_COUNT___11292 = (r0);\n s.tmp_0 = helpers_arraySlice__P52_mk(s);\n r0 = s.scene___11257.fields["overlapHandlers"];\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = undefined;\n s.tmp_0.arg2 = undefined;\n s.pc = 53; return s.tmp_0;\n case 53:\n r0 = s.retval;\n s.overlapHandlers___11301 = (r0);\n s.selected___11307 = (0);\n r0 = pxsim_Array__mk();\n s.tmp_0 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.movingSprites___11259);\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_1);\n s.buffers___11308 = (s.tmp_0);\n s.count___11312 = (0);\n case 1:\n r0 = (s.count___11312 < s.MAX_STEP_COUNT___11292);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 2; continue; }\n r0 = s.tmp_0;\n { step = 3; continue; }\n case 2:\n r0 = pxsim_Array__getAt(s.buffers___11308, s.selected___11307);\n s.tmp_2 = r0;\n r0 = pxsim_Array__length(s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 !== 0);\n case 3:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 46; continue; }\n r0 = pxsim_Array__getAt(s.buffers___11308, s.selected___11307);\n s.currMovers___11320 = (r0);\n r0 = (s.selected___11307 ^ 1);\n s.selected___11307 = (r0);\n r0 = pxsim_Array__getAt(s.buffers___11308, s.selected___11307);\n s.remainingMovers___11325 = (r0);\n s.ms___11329 = (undefined);\n s.ms___11329 = (undefined);\n s.unnamed56___U14 = (s.currMovers___11320);\n s.unnamed57___U15 = (0);\n case 4:\n s.tmp_0 = r0 = s.unnamed57___U15;\n r0 = pxsim_Array__length(s.unnamed56___U14);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 43; continue; }\n r0 = pxsim_Array__getAt(s.unnamed56___U14, s.unnamed57___U15);\n s.ms___11329 = (r0);\n r0 = s.ms___11329.fields["sprite"];\n s.s___11331 = (r0);\n r0 = s.ms___11329.fields["cachedVx"];\n s.tmp_1 = r0;\n r0 = s.s___11331.fields["_vx"];\n s.tmp_2 = r0;\n r0 = (s.tmp_1 !== s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 15; continue; }\n r0 = s.s___11331.fields["_vx"];\n s.tmp_4 = r0;\n r0 = (s.tmp_4 == globals.zeroFx8___79);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 5; continue; }\n r0 = (s.ms___11329).fields["dx"] = (globals.zeroFx8___79);\n { step = 14; continue; }\n case 5:\n r0 = s.s___11331.fields["_vx"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 < globals.zeroFx8___79);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 6; continue; }\n r0 = s.tmp_0;\n { step = 7; continue; }\n case 6:\n r0 = s.ms___11329.fields["cachedVx"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 > globals.zeroFx8___79);\n case 7:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBool(s.tmp_3);\n if (!r0) { step = 8; continue; }\n r0 = s.tmp_3;\n { step = 11; continue; }\n case 8:\n r0 = s.s___11331.fields["_vx"];\n s.tmp_5 = r0;\n r0 = (s.tmp_5 > globals.zeroFx8___79);\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBool(s.tmp_4);\n if (r0) { step = 9; continue; }\n r0 = s.tmp_4;\n { step = 10; continue; }\n case 9:\n r0 = s.ms___11329.fields["cachedVx"];\n s.tmp_6 = r0;\n r0 = (s.tmp_6 < globals.zeroFx8___79);\n case 10:\n // jmp value (already in r0)\n s.tmp_7 = r0;\n r0 = s.tmp_7;\n case 11:\n // jmp value (already in r0)\n s.tmp_8 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_8);\n if (!r0) { step = 12; continue; }\n s.tmp_9 = r0 = s.ms___11329;\n r0 = s.ms___11329.fields["dx"];\n s.tmp_11 = r0;\n r0 = (0 - s.tmp_11);\n s.tmp_10 = r0;\n r0 = (s.tmp_9).fields["dx"] = (s.tmp_10);\n s.tmp_0 = r0 = s.ms___11329;\n r0 = s.ms___11329.fields["xStep"];\n s.tmp_2 = r0;\n r0 = (0 - s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["xStep"] = (s.tmp_1);\n case 12:\n case 13:\n case 14:\n r0 = s.s___11331.fields["_vx"];\n s.tmp_0 = r0;\n r0 = (s.ms___11329).fields["cachedVx"] = (s.tmp_0);\n case 15:\n case 16:\n r0 = s.ms___11329.fields["cachedVy"];\n s.tmp_1 = r0;\n r0 = s.s___11331.fields["_vy"];\n s.tmp_2 = r0;\n r0 = (s.tmp_1 !== s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 27; continue; }\n r0 = s.s___11331.fields["_vy"];\n s.tmp_4 = r0;\n r0 = (s.tmp_4 == globals.zeroFx8___79);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 17; continue; }\n r0 = (s.ms___11329).fields["dy"] = (globals.zeroFx8___79);\n { step = 26; continue; }\n case 17:\n r0 = s.s___11331.fields["_vy"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 < globals.zeroFx8___79);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 18; continue; }\n r0 = s.tmp_0;\n { step = 19; continue; }\n case 18:\n r0 = s.ms___11329.fields["cachedVy"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 > globals.zeroFx8___79);\n case 19:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBool(s.tmp_3);\n if (!r0) { step = 20; continue; }\n r0 = s.tmp_3;\n { step = 23; continue; }\n case 20:\n r0 = s.s___11331.fields["_vy"];\n s.tmp_5 = r0;\n r0 = (s.tmp_5 > globals.zeroFx8___79);\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBool(s.tmp_4);\n if (r0) { step = 21; continue; }\n r0 = s.tmp_4;\n { step = 22; continue; }\n case 21:\n r0 = s.ms___11329.fields["cachedVy"];\n s.tmp_6 = r0;\n r0 = (s.tmp_6 < globals.zeroFx8___79);\n case 22:\n // jmp value (already in r0)\n s.tmp_7 = r0;\n r0 = s.tmp_7;\n case 23:\n // jmp value (already in r0)\n s.tmp_8 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_8);\n if (!r0) { step = 24; continue; }\n s.tmp_9 = r0 = s.ms___11329;\n r0 = s.ms___11329.fields["dy"];\n s.tmp_11 = r0;\n r0 = (0 - s.tmp_11);\n s.tmp_10 = r0;\n r0 = (s.tmp_9).fields["dy"] = (s.tmp_10);\n s.tmp_0 = r0 = s.ms___11329;\n r0 = s.ms___11329.fields["yStep"];\n s.tmp_2 = r0;\n r0 = (0 - s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["yStep"] = (s.tmp_1);\n case 24:\n case 25:\n case 26:\n r0 = s.s___11331.fields["_vy"];\n s.tmp_0 = r0;\n r0 = (s.ms___11329).fields["cachedVy"] = (s.tmp_0);\n case 27:\n case 28:\n s.tmp_2 = Fx_abs__P93_mk(s);\n r0 = s.ms___11329.fields["xStep"];\n s.tmp_2.arg0 = r0;\n s.pc = 54; return s.tmp_2;\n case 54:\n r0 = s.retval;\n s.tmp_1 = r0;\n s.tmp_4 = Fx_abs__P93_mk(s);\n r0 = s.ms___11329.fields["dx"];\n s.tmp_4.arg0 = r0;\n s.pc = 55; return s.tmp_4;\n case 55:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_1 > s.tmp_3);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 29; continue; }\n r0 = s.ms___11329.fields["dx"];\n { step = 30; continue; }\n case 29:\n r0 = s.ms___11329.fields["xStep"];\n case 30:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n s.stepX___11412 = (s.tmp_5);\n s.tmp_2 = Fx_abs__P93_mk(s);\n r0 = s.ms___11329.fields["yStep"];\n s.tmp_2.arg0 = r0;\n s.pc = 56; return s.tmp_2;\n case 56:\n r0 = s.retval;\n s.tmp_1 = r0;\n s.tmp_4 = Fx_abs__P93_mk(s);\n r0 = s.ms___11329.fields["dy"];\n s.tmp_4.arg0 = r0;\n s.pc = 57; return s.tmp_4;\n case 57:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_1 > s.tmp_3);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 31; continue; }\n r0 = s.ms___11329.fields["dy"];\n { step = 32; continue; }\n case 31:\n r0 = s.ms___11329.fields["yStep"];\n case 32:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n s.stepY___11423 = (s.tmp_5);\n s.tmp_0 = r0 = s.ms___11329;\n r0 = s.ms___11329.fields["dx"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - s.stepX___11412);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["dx"] = (s.tmp_1);\n s.tmp_0 = r0 = s.ms___11329;\n r0 = s.ms___11329.fields["dy"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - s.stepY___11423);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["dy"] = (s.tmp_1);\n r0 = s.s___11331.fields["_x"];\n s.tmp_0 = r0;\n r0 = (s.s___11331).fields["_lastX"] = (s.tmp_0);\n r0 = s.s___11331.fields["_y"];\n s.tmp_0 = r0;\n r0 = (s.s___11331).fields["_lastY"] = (s.tmp_0);\n s.tmp_0 = r0 = s.s___11331;\n r0 = s.s___11331.fields["_x"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.stepX___11412);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["_x"] = (s.tmp_1);\n s.tmp_0 = r0 = s.s___11331;\n r0 = s.s___11331.fields["_y"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.stepY___11423);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["_y"] = (s.tmp_1);\n r0 = s.s___11331.fields["flags"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 & globals.SPRITE_CANNOT_COLLIDE___718);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 37; continue; }\n s.tmp_4 = sprites_SpriteMap_insertAABB__P668_mk(s);\n r0 = s.arg0.fields["map"];\n s.tmp_4.arg0 = r0;\n s.tmp_4.arg1 = s.s___11331;\n s.pc = 58; return s.tmp_4;\n case 58:\n r0 = s.retval;\n s.tmp_0 = r0 = s.tileMap___11270;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 33; continue; }\n r0 = s.tmp_0;\n { step = 34; continue; }\n case 33:\n r0 = s.tileMap___11270.fields["_map"];\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n s.tmp_3 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n case 34:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_5);\n if (!r0) { step = 35; continue; }\n s.tmp_6 = ArcadePhysicsEngine_tilemapCollisions__P735_mk(s);\n s.tmp_6.arg0 = s.arg0;\n s.tmp_6.arg1 = s.ms___11329;\n s.tmp_6.arg2 = s.tileMap___11270;\n s.pc = 59; return s.tmp_6;\n case 59:\n r0 = s.retval;\n case 35:\n case 36:\n case 37:\n case 38:\n s.tmp_2 = Fx_abs__P93_mk(s);\n r0 = s.ms___11329.fields["dx"];\n s.tmp_2.arg0 = r0;\n s.pc = 60; return s.tmp_2;\n case 60:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > globals.MIN_MOVE_GAP___723);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 39; continue; }\n r0 = s.tmp_0;\n { step = 40; continue; }\n case 39:\n s.tmp_4 = Fx_abs__P93_mk(s);\n r0 = s.ms___11329.fields["dy"];\n s.tmp_4.arg0 = r0;\n s.pc = 61; return s.tmp_4;\n case 61:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_3 > globals.MIN_MOVE_GAP___723);\n case 40:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_5);\n if (!r0) { step = 41; continue; }\n r0 = pxsim_Array__push(s.remainingMovers___11325, s.ms___11329);\n case 41:\n case 42:\n r0 = (s.unnamed57___U15 + 1);\n s.unnamed57___U15 = (r0);\n { step = 4; continue; }\n case 43:\n s.unnamed56___U14 = (undefined);\n s.tmp_0 = ArcadePhysicsEngine_spriteCollisions__P734_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.currMovers___11320;\n s.tmp_0.arg2 = s.overlapHandlers___11301;\n s.pc = 62; return s.tmp_0;\n case 62:\n r0 = s.retval;\n case 44:\n r0 = pxsim_Array__length(s.currMovers___11320);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 45; continue; }\n r0 = pxsim_Array_.pop(s.currMovers___11320);\n { step = 44; continue; }\n case 45:\n r0 = (s.count___11312 + 1);\n s.count___11312 = (r0);\n { step = 1; continue; }\n case 46:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nArcadePhysicsEngine_move__P732.info = {"start":1841,"length":3940,"line":75,"column":4,"endLine":175,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"move","argumentNames":["this","dt"]}\n\nfunction ArcadePhysicsEngine_move__P732_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: ArcadePhysicsEngine_move__P732, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n dtf___11246: undefined,\n dtSec___11251: undefined,\n dt2___11254: undefined,\n scene___11257: undefined,\n movingSprites___11259: undefined,\n tileMap___11270: undefined,\n MAX_STEP_COUNT___11292: undefined,\n overlapHandlers___11301: undefined,\n selected___11307: undefined,\n buffers___11308: undefined,\n count___11312: undefined,\n currMovers___11320: undefined,\n remainingMovers___11325: undefined,\n ms___11329: undefined,\n unnamed56___U14: undefined,\n unnamed57___U15: undefined,\n s___11331: undefined,\n stepX___11412: undefined,\n stepY___11423: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction inline__P11264(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = ArcadePhysicsEngine_createMovingSprite__P733_mk(s);\n s.tmp_0.arg0 = s.caps[0];\n s.tmp_0.arg1 = s.arg0;\n s.tmp_0.arg2 = s.caps[1];\n s.tmp_0.arg3 = s.caps[2];\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P11264.info = {"start":2236,"length":53,"line":87,"column":17,"endLine":87,"endColumn":70,"fileName":"pxt_modules/game/physics.ts","functionName":"inline","argumentNames":["sprite"]}\n\nfunction inline__P11264_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P11264, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P11276(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_1 = Sprite_vx__P613_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.pc = 5; return s.tmp_1;\n case 5:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n s.tmp_2 = Sprite_vy__P615_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 6; return s.tmp_2;\n case 6:\n r0 = s.retval;\n case 2:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 3; continue; }\n s.tmp_4 = Sprite_clearObstacles__P650_mk(s);\n s.tmp_4.arg0 = s.arg0;\n s.pc = 7; return s.tmp_4;\n case 7:\n r0 = s.retval;\n case 3:\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P11276.info = {"start":2411,"length":66,"line":91,"column":29,"endLine":93,"endColumn":9,"fileName":"pxt_modules/game/physics.ts","functionName":"inline","argumentNames":["s"]}\n\nfunction inline__P11276_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P11276, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction ArcadePhysicsEngine_spriteCollisions__P734(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.ms___11512 = undefined;\n s.unnamed58___U1 = undefined;\n s.unnamed59___U2 = undefined;\n s.sprite___11514 = undefined;\n s.overSprites___11520 = undefined;\n s.overlapper___11527 = undefined;\n s.unnamed60___U6 = undefined;\n s.unnamed61___U7 = undefined;\n s.thisKind___11532 = undefined;\n s.otherKind___11535 = undefined;\n s.higher___11545 = undefined;\n s.lower___11552 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, ArcadePhysicsEngine__C727_VT)) failedCast(r0);\n r0 = pxsim_Array__length(s.arg2);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 21; continue; }\n case 1:\n case 2:\n s.ms___11512 = (undefined);\n s.ms___11512 = (undefined);\n s.unnamed58___U1 = (s.arg1);\n s.unnamed59___U2 = (0);\n case 3:\n s.tmp_0 = r0 = s.unnamed59___U2;\n r0 = pxsim_Array__length(s.unnamed58___U1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 20; continue; }\n r0 = pxsim_Array__getAt(s.unnamed58___U1, s.unnamed59___U2);\n s.ms___11512 = (r0);\n r0 = s.ms___11512.fields["sprite"];\n s.sprite___11514 = (r0);\n r0 = s.sprite___11514.fields["flags"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 & globals.SPRITE_CANNOT_COLLIDE___718);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 4; continue; }\n { step = 19; continue; }\n case 4:\n case 5:\n s.tmp_2 = sprites_SpriteMap_overlaps__P661_mk(s);\n r0 = s.arg0.fields["map"];\n s.tmp_2.arg0 = r0;\n r0 = s.ms___11512.fields["sprite"];\n s.tmp_2.arg1 = r0;\n s.pc = 22; return s.tmp_2;\n case 22:\n r0 = s.retval;\n s.overSprites___11520 = (r0);\n s.overlapper___11527 = (undefined);\n s.overlapper___11527 = (undefined);\n s.unnamed60___U6 = (s.overSprites___11520);\n s.unnamed61___U7 = (0);\n case 6:\n s.tmp_0 = r0 = s.unnamed61___U7;\n r0 = pxsim_Array__length(s.unnamed60___U6);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 18; continue; }\n r0 = pxsim_Array__getAt(s.unnamed60___U6, s.unnamed61___U7);\n s.overlapper___11527 = (r0);\n r0 = s.overlapper___11527.fields["flags"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 & globals.SPRITE_CANNOT_COLLIDE___718);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 7; continue; }\n { step = 17; continue; }\n case 7:\n case 8:\n r0 = s.sprite___11514.fields["_kind"];\n s.thisKind___11532 = (r0);\n r0 = s.overlapper___11527.fields["_kind"];\n s.otherKind___11535 = (r0);\n r0 = s.sprite___11514.fields["_kindsOverlappedWith"];\n s.tmp_2 = r0;\n r0 = pxsim_Array_.indexOf(s.tmp_2, s.otherKind___11535, undefined);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 === -1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 9; continue; }\n { step = 17; continue; }\n case 9:\n case 10:\n r0 = s.sprite___11514.fields["id"];\n s.tmp_4 = r0;\n r0 = s.overlapper___11527.fields["id"];\n s.tmp_5 = r0;\n r0 = (s.tmp_4 > s.tmp_5);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 11; continue; }\n r0 = s.sprite___11514;\n { step = 12; continue; }\n case 11:\n r0 = s.overlapper___11527;\n case 12:\n // jmp value (already in r0)\n s.tmp_6 = r0;\n s.higher___11545 = (s.tmp_6);\n r0 = (s.higher___11545 === s.sprite___11514);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 13; continue; }\n r0 = s.overlapper___11527;\n { step = 14; continue; }\n case 13:\n r0 = s.sprite___11514;\n case 14:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n s.lower___11552 = (s.tmp_1);\n r0 = s.higher___11545.fields["_overlappers"];\n s.tmp_2 = r0;\n r0 = s.lower___11552.fields["id"];\n s.tmp_3 = r0;\n r0 = pxsim_Array_.indexOf(s.tmp_2, s.tmp_3, undefined);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 === -1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 15; continue; }\n r0 = pxsim_pxtcore_mkAction(2, inline__P11568);\n s.tmp_4 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_4, 0, s.thisKind___11532);\n r0 = pxsim_pxtrt_stclo(s.tmp_4, 1, s.otherKind___11535);\n r0 = pxsim_pxtcore_mkAction(5, inline__P11585);\n s.tmp_5 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_5, 0, s.higher___11545);\n r0 = pxsim_pxtrt_stclo(s.tmp_5, 1, s.lower___11552);\n r0 = pxsim_pxtrt_stclo(s.tmp_5, 2, s.thisKind___11532);\n r0 = pxsim_pxtrt_stclo(s.tmp_5, 3, s.sprite___11514);\n r0 = pxsim_pxtrt_stclo(s.tmp_5, 4, s.overlapper___11527);\n s.tmp_6 = helpers_arrayForEach__P47_mk(s);\n s.tmp_7 = helpers_arrayFilter__P48_mk(s);\n s.tmp_7.arg0 = s.arg2;\n s.tmp_7.arg1 = s.tmp_4;\n s.pc = 24; return s.tmp_7;\n case 24:\n r0 = s.retval;\n s.tmp_6.arg0 = r0;\n s.tmp_6.arg1 = s.tmp_5;\n s.pc = 23; return s.tmp_6;\n case 23:\n r0 = s.retval;\n case 15:\n case 16:\n case 17:\n r0 = (s.unnamed61___U7 + 1);\n s.unnamed61___U7 = (r0);\n { step = 6; continue; }\n case 18:\n s.unnamed60___U6 = (undefined);\n case 19:\n r0 = (s.unnamed59___U2 + 1);\n s.unnamed59___U2 = (r0);\n { step = 3; continue; }\n case 20:\n s.unnamed58___U1 = (undefined);\n case 21:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nArcadePhysicsEngine_spriteCollisions__P734.info = {"start":7509,"length":2112,"line":248,"column":4,"endLine":290,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"spriteCollisions","argumentNames":["this","movedSprites","handlers"]}\n\nfunction ArcadePhysicsEngine_spriteCollisions__P734_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: ArcadePhysicsEngine_spriteCollisions__P734, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n ms___11512: undefined,\n unnamed58___U1: undefined,\n unnamed59___U2: undefined,\n sprite___11514: undefined,\n overSprites___11520: undefined,\n overlapper___11527: undefined,\n unnamed60___U6: undefined,\n unnamed61___U7: undefined,\n thisKind___11532: undefined,\n otherKind___11535: undefined,\n higher___11545: undefined,\n lower___11552: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction inline__P11568(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0.fields["kind"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 === s.caps[0]);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = s.arg0.fields["otherKind"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 === s.caps[1]);\n case 2:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBool(s.tmp_3);\n if (!r0) { step = 3; continue; }\n r0 = s.tmp_3;\n { step = 6; continue; }\n case 3:\n r0 = s.arg0.fields["kind"];\n s.tmp_5 = r0;\n r0 = (s.tmp_5 === s.caps[1]);\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBool(s.tmp_4);\n if (r0) { step = 4; continue; }\n r0 = s.tmp_4;\n { step = 5; continue; }\n case 4:\n r0 = s.arg0.fields["otherKind"];\n s.tmp_6 = r0;\n r0 = (s.tmp_6 === s.caps[0]);\n case 5:\n // jmp value (already in r0)\n s.tmp_7 = r0;\n r0 = s.tmp_7;\n case 6:\n // jmp value (already in r0)\n s.tmp_8 = r0;\n r0 = s.tmp_8;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P11568.info = {"start":8868,"length":145,"line":274,"column":32,"endLine":275,"endColumn":89,"fileName":"pxt_modules/game/physics.ts","functionName":"inline","argumentNames":["h"]}\n\nfunction inline__P11568_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P11568, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P11585(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.caps[0].fields["_overlappers"];\n s.tmp_0 = r0;\n r0 = s.caps[1].fields["id"];\n s.tmp_1 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_1);\n r0 = pxsim_pxtcore_mkAction(6, inline__P11595);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.caps[2]);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 2, s.caps[3]);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 3, s.caps[4]);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 4, s.caps[0]);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 5, s.caps[1]);\n r0 = pxsim.control.runInParallel(s.tmp_0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P11585.info = {"start":9073,"length":498,"line":277,"column":33,"endLine":286,"endColumn":25,"fileName":"pxt_modules/game/physics.ts","functionName":"inline","argumentNames":["h"]}\n\nfunction inline__P11585_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P11585, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P11595(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = s.caps[0].fields["kind"];\n s.tmp_1 = r0;\n r0 = (s.caps[1] === s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.caps[2];\n { step = 2; continue; }\n case 1:\n r0 = s.caps[3];\n case 2:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = s.caps[0].fields["kind"];\n s.tmp_4 = r0;\n r0 = (s.caps[1] === s.tmp_4);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 3; continue; }\n r0 = s.caps[3];\n { step = 4; continue; }\n case 3:\n r0 = s.caps[2];\n case 4:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n s.tmp_6 = lambda_3_mk(s);\n r0 = s.caps[0].fields["handler"];\n s.tmp_6.argL = r0;\n s.tmp_6.arg0 = s.tmp_2;\n s.tmp_6.arg1 = s.tmp_5;\n setupLambda(s.tmp_6, s.tmp_6.argL);\n s.pc = 5; return s.tmp_6;\n case 5:\n r0 = s.retval;\n r0 = s.caps[4].fields["_overlappers"];\n s.tmp_0 = r0;\n r0 = s.caps[5].fields["id"];\n s.tmp_1 = r0;\n r0 = pxsim_Array_.removeElement(s.tmp_0, s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P11595.info = {"start":9194,"length":349,"line":279,"column":50,"endLine":285,"endColumn":29,"fileName":"pxt_modules/game/physics.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P11595_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P11595, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n} }\n\n\n\n\n\nfunction sprites_SpriteMap_overlaps__P661(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.n___11616 = undefined;\n s.o___11619 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_SpriteMap__C659_VT)) failedCast(r0);\n s.tmp_0 = sprites_SpriteMap_neighbors__P660_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.n___11616 = (r0);\n r0 = pxsim_pxtcore_mkAction(1, inline__P11622);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg1);\n s.tmp_1 = helpers_arrayFilter__P48_mk(s);\n s.tmp_1.arg0 = s.n___11616;\n s.tmp_1.arg1 = s.tmp_0;\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n s.o___11619 = (r0);\n r0 = s.o___11619;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_SpriteMap_overlaps__P661.info = {"start":971,"length":189,"line":32,"column":8,"endLine":36,"endColumn":9,"fileName":"pxt_modules/game/spritemap.ts","functionName":"overlaps","argumentNames":["this","sprite"]}\n\nfunction sprites_SpriteMap_overlaps__P661_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_SpriteMap_overlaps__P661, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n n___11616: undefined,\n o___11619: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction inline__P11622(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = Sprite_overlapsWith__P647_mk(s);\n s.tmp_0.arg0 = s.caps[0];\n s.tmp_0.arg1 = s.arg0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P11622.info = {"start":1085,"length":41,"line":34,"column":31,"endLine":34,"endColumn":72,"fileName":"pxt_modules/game/spritemap.ts","functionName":"inline","argumentNames":["neighbor"]}\n\nfunction inline__P11622_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P11622, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction sprites_SpriteMap_neighbors__P660(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.n___11657 = undefined;\n s.layer___11659 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_SpriteMap__C659_VT)) failedCast(r0);\n s.tmp_1 = sprites_SpriteMap_isOob__P667_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.tmp_1.arg1 = s.arg1;\n s.pc = 4; return s.tmp_1;\n case 4:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_Array__mk();\n { step = 3; continue; }\n case 1:\n case 2:\n r0 = pxsim_Array__mk();\n s.n___11657 = (r0);\n r0 = s.arg1.fields["layer"];\n s.layer___11659 = (r0);\n s.tmp_0 = sprites_SpriteMap_mergeAtKey__P669_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_1 = Sprite_left__P629_mk(s);\n s.tmp_1.arg0 = s.arg1;\n s.pc = 6; return s.tmp_1;\n case 6:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.tmp_2 = Sprite_top__P633_mk(s);\n s.tmp_2.arg0 = s.arg1;\n s.pc = 7; return s.tmp_2;\n case 7:\n r0 = s.retval;\n s.tmp_0.arg2 = r0;\n s.tmp_0.arg3 = s.layer___11659;\n s.tmp_0.arg4 = s.n___11657;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n s.tmp_0 = sprites_SpriteMap_mergeAtKey__P669_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_1 = Sprite_left__P629_mk(s);\n s.tmp_1.arg0 = s.arg1;\n s.pc = 9; return s.tmp_1;\n case 9:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.tmp_2 = Sprite_bottom__P635_mk(s);\n s.tmp_2.arg0 = s.arg1;\n s.pc = 10; return s.tmp_2;\n case 10:\n r0 = s.retval;\n s.tmp_0.arg2 = r0;\n s.tmp_0.arg3 = s.layer___11659;\n s.tmp_0.arg4 = s.n___11657;\n s.pc = 8; return s.tmp_0;\n case 8:\n r0 = s.retval;\n s.tmp_0 = sprites_SpriteMap_mergeAtKey__P669_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_1 = Sprite_right__P631_mk(s);\n s.tmp_1.arg0 = s.arg1;\n s.pc = 12; return s.tmp_1;\n case 12:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.tmp_2 = Sprite_top__P633_mk(s);\n s.tmp_2.arg0 = s.arg1;\n s.pc = 13; return s.tmp_2;\n case 13:\n r0 = s.retval;\n s.tmp_0.arg2 = r0;\n s.tmp_0.arg3 = s.layer___11659;\n s.tmp_0.arg4 = s.n___11657;\n s.pc = 11; return s.tmp_0;\n case 11:\n r0 = s.retval;\n s.tmp_0 = sprites_SpriteMap_mergeAtKey__P669_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_1 = Sprite_right__P631_mk(s);\n s.tmp_1.arg0 = s.arg1;\n s.pc = 15; return s.tmp_1;\n case 15:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.tmp_2 = Sprite_bottom__P635_mk(s);\n s.tmp_2.arg0 = s.arg1;\n s.pc = 16; return s.tmp_2;\n case 16:\n r0 = s.retval;\n s.tmp_0.arg2 = r0;\n s.tmp_0.arg3 = s.layer___11659;\n s.tmp_0.arg4 = s.n___11657;\n s.pc = 14; return s.tmp_0;\n case 14:\n r0 = s.retval;\n r0 = pxsim_Array_.removeElement(s.n___11657, s.arg1);\n r0 = s.n___11657;\n case 3:\n return leave(s, r0)\n default: oops()\n} } }\nsprites_SpriteMap_neighbors__P660.info = {"start":376,"length":490,"line":15,"column":8,"endLine":26,"endColumn":9,"fileName":"pxt_modules/game/spritemap.ts","functionName":"neighbors","argumentNames":["this","sprite"]}\n\nfunction sprites_SpriteMap_neighbors__P660_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_SpriteMap_neighbors__P660, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n n___11657: undefined,\n layer___11659: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction sprites_SpriteMap_mergeAtKey__P669(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.k___11703 = undefined;\n s.bucket___11707 = undefined;\n s.sprite___11713 = undefined;\n s.unnamed54___U3 = undefined;\n s.unnamed55___U4 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_SpriteMap__C659_VT)) failedCast(r0);\n s.tmp_0 = sprites_SpriteMap_key__P665_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.tmp_0.arg2 = s.arg2;\n s.pc = 9; return s.tmp_0;\n case 9:\n r0 = s.retval;\n s.k___11703 = (r0);\n r0 = s.arg0.fields["buckets"];\n s.tmp_0 = r0;\n r0 = pxsim_Array__getAt(s.tmp_0, s.k___11703);\n s.bucket___11707 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.bucket___11707);\n if (!r0) { step = 7; continue; }\n s.sprite___11713 = (undefined);\n s.sprite___11713 = (undefined);\n s.unnamed54___U3 = (s.bucket___11707);\n s.unnamed55___U4 = (0);\n case 1:\n s.tmp_0 = r0 = s.unnamed55___U4;\n r0 = pxsim_Array__length(s.unnamed54___U3);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 6; continue; }\n r0 = pxsim_Array__getAt(s.unnamed54___U3, s.unnamed55___U4);\n s.sprite___11713 = (r0);\n r0 = s.sprite___11713.fields["layer"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 & s.arg3);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBool(s.tmp_2);\n if (r0) { step = 2; continue; }\n r0 = s.tmp_2;\n { step = 3; continue; }\n case 2:\n r0 = pxsim_Array_.indexOf(s.arg4, s.sprite___11713, undefined);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 < 0);\n case 3:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_5);\n if (!r0) { step = 4; continue; }\n r0 = pxsim_Array__push(s.arg4, s.sprite___11713);\n case 4:\n case 5:\n r0 = (s.unnamed55___U4 + 1);\n s.unnamed55___U4 = (r0);\n { step = 1; continue; }\n case 6:\n s.unnamed54___U3 = (undefined);\n case 7:\n case 8:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_SpriteMap_mergeAtKey__P669.info = {"start":4235,"length":384,"line":115,"column":8,"endLine":124,"endColumn":9,"fileName":"pxt_modules/game/spritemap.ts","functionName":"mergeAtKey","argumentNames":["this","x","y","layer","n"]}\n\nfunction sprites_SpriteMap_mergeAtKey__P669_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_SpriteMap_mergeAtKey__P669, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n k___11703: undefined,\n bucket___11707: undefined,\n sprite___11713: undefined,\n unnamed54___U3: undefined,\n unnamed55___U4: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n} }\n\n\n\n\n\nfunction sprites_SpriteMap_key__P665(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.xi___11731 = undefined;\n s.yi___11742 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_SpriteMap__C659_VT)) failedCast(r0);\n s.tmp_0 = Math_clamp__P58_mk(s);\n s.tmp_0.arg0 = 0;\n r0 = s.arg0.fields["columnCount"];\n s.tmp_0.arg1 = r0;\n r0 = s.arg0.fields["cellWidth"];\n s.tmp_1 = r0;\n r0 = pxsim.Math_.idiv(s.arg1, s.tmp_1);\n s.tmp_0.arg2 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.xi___11731 = (r0);\n s.tmp_0 = Math_clamp__P58_mk(s);\n s.tmp_0.arg0 = 0;\n r0 = s.arg0.fields["rowCount"];\n s.tmp_0.arg1 = r0;\n r0 = s.arg0.fields["cellHeight"];\n s.tmp_1 = r0;\n r0 = pxsim.Math_.idiv(s.arg2, s.tmp_1);\n s.tmp_0.arg2 = r0;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n s.yi___11742 = (r0);\n s.tmp_0 = r0 = s.xi___11731;\n r0 = s.arg0.fields["columnCount"];\n s.tmp_2 = r0;\n r0 = (s.yi___11742 * s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\nsprites_SpriteMap_key__P665.info = {"start":2640,"length":270,"line":78,"column":8,"endLine":82,"endColumn":9,"fileName":"pxt_modules/game/spritemap.ts","functionName":"key","argumentNames":["this","x","y"]}\n\nfunction sprites_SpriteMap_key__P665_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_SpriteMap_key__P665, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n xi___11731: undefined,\n yi___11742: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction sprites_SpriteMap_isOob__P667(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tMap___11760 = undefined;\n s.areaWidth___11764 = undefined;\n s.areaHeight___11770 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_SpriteMap__C659_VT)) failedCast(r0);\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 11; return s.tmp_0;\n case 11:\n r0 = s.retval;\n r0 = r0.fields["tileMap"];\n s.tMap___11760 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.tMap___11760);\n if (!r0) { step = 1; continue; }\n s.tmp_0 = tiles_TileMap_areaWidth__P869_mk(s);\n s.tmp_0.arg0 = s.tMap___11760;\n s.pc = 12; return s.tmp_0;\n case 12:\n r0 = s.retval;\n { step = 2; continue; }\n case 1:\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n s.areaWidth___11764 = (s.tmp_1);\n r0 = pxsim_numops_toBoolDecr(s.tMap___11760);\n if (!r0) { step = 3; continue; }\n s.tmp_0 = tiles_TileMap_areaHeight__P870_mk(s);\n s.tmp_0.arg0 = s.tMap___11760;\n s.pc = 13; return s.tmp_0;\n case 13:\n r0 = s.retval;\n { step = 4; continue; }\n case 3:\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n case 4:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n s.areaHeight___11770 = (s.tmp_1);\n s.tmp_2 = Sprite_right__P631_mk(s);\n s.tmp_2.arg0 = s.arg1;\n s.pc = 14; return s.tmp_2;\n case 14:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = s.tmp_0;\n { step = 6; continue; }\n case 5:\n s.tmp_4 = Sprite_left__P629_mk(s);\n s.tmp_4.arg0 = s.arg1;\n s.pc = 15; return s.tmp_4;\n case 15:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_3 > s.areaWidth___11764);\n case 6:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBool(s.tmp_5);\n if (!r0) { step = 7; continue; }\n r0 = s.tmp_5;\n { step = 8; continue; }\n case 7:\n s.tmp_7 = Sprite_bottom__P635_mk(s);\n s.tmp_7.arg0 = s.arg1;\n s.pc = 16; return s.tmp_7;\n case 16:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = (s.tmp_6 < 0);\n case 8:\n // jmp value (already in r0)\n s.tmp_8 = r0;\n r0 = pxsim_numops_toBool(s.tmp_8);\n if (!r0) { step = 9; continue; }\n r0 = s.tmp_8;\n { step = 10; continue; }\n case 9:\n s.tmp_10 = Sprite_top__P633_mk(s);\n s.tmp_10.arg0 = s.arg1;\n s.pc = 17; return s.tmp_10;\n case 17:\n r0 = s.retval;\n s.tmp_9 = r0;\n r0 = (s.tmp_9 > s.areaHeight___11770);\n case 10:\n // jmp value (already in r0)\n s.tmp_11 = r0;\n r0 = s.tmp_11;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_SpriteMap_isOob__P667.info = {"start":3232,"length":360,"line":93,"column":8,"endLine":99,"endColumn":9,"fileName":"pxt_modules/game/spritemap.ts","functionName":"isOob","argumentNames":["this","sprite"]}\n\nfunction sprites_SpriteMap_isOob__P667_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_SpriteMap_isOob__P667, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n tMap___11760: undefined,\n areaWidth___11764: undefined,\n areaHeight___11770: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_right__P631(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_1 = Sprite_left__P629_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.pc = 1; return s.tmp_1;\n case 1:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = s.arg0.fields["_image"];\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_0 + s.tmp_2);\n return leave(s, r0)\n default: oops()\n} } }\nSprite_right__P631.info = {"start":8099,"length":57,"line":290,"column":4,"endLine":292,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"right","argumentNames":["this"]}\n\nfunction Sprite_right__P631_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_right__P631, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Sprite_overlapsWith__P647(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = (s.arg1 == s.arg0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = false;\n { step = 7; continue; }\n case 1:\n case 2:\n r0 = s.arg0.fields["flags"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 & 1);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 3; continue; }\n r0 = false;\n { step = 7; continue; }\n case 3:\n case 4:\n r0 = s.arg1.fields["flags"];\n s.tmp_4 = r0;\n r0 = (s.tmp_4 & 1);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 5; continue; }\n r0 = false;\n { step = 7; continue; }\n case 5:\n case 6:\n r0 = s.arg1.fields["_image"];\n s.tmp_5 = r0;\n r0 = s.arg0.fields["_image"];\n s.tmp_6 = r0;\n s.tmp_9 = Sprite_left__P629_mk(s);\n s.tmp_9.arg0 = s.arg0;\n s.pc = 8; return s.tmp_9;\n case 8:\n r0 = s.retval;\n s.tmp_8 = r0;\n s.tmp_11 = Sprite_left__P629_mk(s);\n s.tmp_11.arg0 = s.arg1;\n s.pc = 9; return s.tmp_11;\n case 9:\n r0 = s.retval;\n s.tmp_10 = r0;\n r0 = (s.tmp_8 - s.tmp_10);\n s.tmp_7 = r0;\n s.tmp_14 = Sprite_top__P633_mk(s);\n s.tmp_14.arg0 = s.arg0;\n s.pc = 10; return s.tmp_14;\n case 10:\n r0 = s.retval;\n s.tmp_13 = r0;\n s.tmp_16 = Sprite_top__P633_mk(s);\n s.tmp_16.arg0 = s.arg1;\n s.pc = 11; return s.tmp_16;\n case 11:\n r0 = s.retval;\n s.tmp_15 = r0;\n r0 = (s.tmp_13 - s.tmp_15);\n s.tmp_12 = r0;\n r0 = pxsim_ImageMethods.overlapsWith(s.tmp_5, s.tmp_6, s.tmp_7, s.tmp_12);\n case 7:\n return leave(s, r0)\n default: oops()\n} } }\nSprite_overlapsWith__P647.info = {"start":22417,"length":366,"line":686,"column":4,"endLine":694,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"overlapsWith","argumentNames":["this","other"]}\n\nfunction Sprite_overlapsWith__P647_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_overlapsWith__P647, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n tmp_12: undefined,\n tmp_13: undefined,\n tmp_14: undefined,\n tmp_15: undefined,\n tmp_16: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction ArcadePhysicsEngine_createMovingSprite__P733(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.ovx___11957 = undefined;\n s.ovy___11961 = undefined;\n s.dx___11993 = undefined;\n s.dy___12001 = undefined;\n s.xStep___12009 = undefined;\n s.yStep___12011 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, ArcadePhysicsEngine__C727_VT)) failedCast(r0);\n s.tmp_0 = ArcadePhysicsEngine_constrain__P738_mk(s);\n s.tmp_0.arg0 = s.arg0;\n r0 = s.arg1.fields["_vx"];\n s.tmp_0.arg1 = r0;\n s.pc = 9; return s.tmp_0;\n case 9:\n r0 = s.retval;\n s.ovx___11957 = (r0);\n s.tmp_0 = ArcadePhysicsEngine_constrain__P738_mk(s);\n s.tmp_0.arg0 = s.arg0;\n r0 = s.arg1.fields["_vy"];\n s.tmp_0.arg1 = r0;\n s.pc = 10; return s.tmp_0;\n case 10:\n r0 = s.retval;\n s.ovy___11961 = (r0);\n r0 = s.arg1.fields["_x"];\n s.tmp_0 = r0;\n r0 = (s.arg1).fields["_lastX"] = (s.tmp_0);\n r0 = s.arg1.fields["_y"];\n s.tmp_0 = r0;\n r0 = (s.arg1).fields["_lastY"] = (s.tmp_0);\n s.tmp_0 = r0 = s.arg1;\n s.tmp_2 = ArcadePhysicsEngine_constrain__P738_mk(s);\n s.tmp_2.arg0 = s.arg0;\n r0 = s.arg1.fields["_vx"];\n s.tmp_3 = r0;\n r0 = s.arg1.fields["_ax"];\n s.tmp_5 = r0;\n r0 = pxsim.Math_.imul(s.tmp_5, s.arg2);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 >> 8);\n s.tmp_4 = r0;\n r0 = (s.tmp_3 + s.tmp_4);\n s.tmp_2.arg1 = r0;\n s.pc = 11; return s.tmp_2;\n case 11:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["_vx"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg1;\n s.tmp_2 = ArcadePhysicsEngine_constrain__P738_mk(s);\n s.tmp_2.arg0 = s.arg0;\n r0 = s.arg1.fields["_vy"];\n s.tmp_3 = r0;\n r0 = s.arg1.fields["_ay"];\n s.tmp_5 = r0;\n r0 = pxsim.Math_.imul(s.tmp_5, s.arg2);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 >> 8);\n s.tmp_4 = r0;\n r0 = (s.tmp_3 + s.tmp_4);\n s.tmp_2.arg1 = r0;\n s.pc = 12; return s.tmp_2;\n case 12:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["_vy"] = (s.tmp_1);\n r0 = s.arg1.fields["_vx"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.ovx___11957);\n s.tmp_1 = r0;\n r0 = pxsim.Math_.imul(s.tmp_1, s.arg3);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 >> 8);\n s.tmp_0 = r0;\n r0 = pxsim.Math_.idiv(s.tmp_0, 1000);\n s.dx___11993 = (r0);\n r0 = s.arg1.fields["_vy"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.ovy___11961);\n s.tmp_1 = r0;\n r0 = pxsim.Math_.imul(s.tmp_1, s.arg3);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 >> 8);\n s.tmp_0 = r0;\n r0 = pxsim.Math_.idiv(s.tmp_0, 1000);\n s.dy___12001 = (r0);\n s.xStep___12009 = (s.dx___11993);\n s.yStep___12011 = (s.dy___12001);\n case 1:\n s.tmp_2 = Fx_abs__P93_mk(s);\n s.tmp_2.arg0 = s.xStep___12009;\n s.pc = 13; return s.tmp_2;\n case 13:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = s.arg0.fields["maxSingleStep"];\n s.tmp_3 = r0;\n r0 = (s.tmp_1 > s.tmp_3);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 2; continue; }\n r0 = s.tmp_0;\n { step = 3; continue; }\n case 2:\n s.tmp_5 = Fx_abs__P93_mk(s);\n s.tmp_5.arg0 = s.yStep___12011;\n s.pc = 14; return s.tmp_5;\n case 14:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = s.arg0.fields["maxSingleStep"];\n s.tmp_6 = r0;\n r0 = (s.tmp_4 > s.tmp_6);\n case 3:\n // jmp value (already in r0)\n s.tmp_7 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_7);\n if (!r0) { step = 8; continue; }\n s.tmp_10 = Fx_abs__P93_mk(s);\n s.tmp_10.arg0 = s.xStep___12009;\n s.pc = 15; return s.tmp_10;\n case 15:\n r0 = s.retval;\n s.tmp_9 = r0;\n r0 = s.arg0.fields["minSingleStep"];\n s.tmp_11 = r0;\n r0 = (s.tmp_9 > s.tmp_11);\n s.tmp_8 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_8);\n if (!r0) { step = 4; continue; }\n r0 = pxsim.Math_.idiv(s.xStep___12009, 2);\n s.xStep___12009 = (r0);\n case 4:\n case 5:\n s.tmp_2 = Fx_abs__P93_mk(s);\n s.tmp_2.arg0 = s.yStep___12011;\n s.pc = 16; return s.tmp_2;\n case 16:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = s.arg0.fields["minSingleStep"];\n s.tmp_3 = r0;\n r0 = (s.tmp_1 > s.tmp_3);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 6; continue; }\n r0 = pxsim.Math_.idiv(s.yStep___12011, 2);\n s.yStep___12011 = (r0);\n case 6:\n case 7:\n { step = 1; continue; }\n case 8:\n r0 = pxsim_pxtcore_mkClassInstance(MovingSprite__C725_VT);\n s.tmp_0 = r0;\n s.tmp_1 = MovingSprite_constructor__P726_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = s.arg1;\n r0 = s.arg1.fields["_vx"];\n s.tmp_1.arg2 = r0;\n r0 = s.arg1.fields["_vy"];\n s.tmp_1.arg3 = r0;\n s.tmp_1.arg4 = s.dx___11993;\n s.tmp_1.arg5 = s.dy___12001;\n s.tmp_1.arg6 = s.xStep___12009;\n s.tmp_1.arg7 = s.yStep___12011;\n s.pc = 17; return s.tmp_1;\n case 17:\n r0 = s.retval;\n r0 = s.tmp_0;\n return leave(s, r0)\n default: oops()\n} } }\nArcadePhysicsEngine_createMovingSprite__P733.info = {"start":5787,"length":1716,"line":177,"column":4,"endLine":246,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"createMovingSprite","argumentNames":["this","sprite","dtSec","dt2"]}\n\nfunction ArcadePhysicsEngine_createMovingSprite__P733_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: ArcadePhysicsEngine_createMovingSprite__P733, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n ovx___11957: undefined,\n ovy___11961: undefined,\n dx___11993: undefined,\n dy___12001: undefined,\n xStep___12009: undefined,\n yStep___12011: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction ArcadePhysicsEngine_constrain__P738(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, ArcadePhysicsEngine__C727_VT)) failedCast(r0);\n s.tmp_0 = Fx_max__P95_mk(s);\n s.tmp_1 = Fx_min__P94_mk(s);\n r0 = s.arg0.fields["maxVelocity"];\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = s.arg1;\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n s.tmp_0.arg0 = r0;\n r0 = s.arg0.fields["maxNegativeVelocity"];\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n return leave(s, r0)\n default: oops()\n} } }\nArcadePhysicsEngine_constrain__P738.info = {"start":17817,"length":191,"line":507,"column":4,"endLine":515,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"constrain","argumentNames":["this","v"]}\n\nfunction ArcadePhysicsEngine_constrain__P738_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: ArcadePhysicsEngine_constrain__P738, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Fx_max__P95(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 > s.arg1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.arg0;\n { step = 3; continue; }\n { step = 2; continue; }\n case 1:\n r0 = s.arg1;\n { step = 3; continue; }\n case 2:\n r0 = undefined;\n case 3:\n return leave(s, r0)\n default: oops()\n} } }\nFx_max__P95.info = {"start":1649,"length":117,"line":53,"column":4,"endLine":58,"endColumn":5,"fileName":"pxt_modules/base/fixed.ts","functionName":"max","argumentNames":["a","b"]}\n\nfunction Fx_max__P95_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Fx_max__P95, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction sprites_SpriteMap_insertAABB__P668(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.left___11793 = undefined;\n s.top___11796 = undefined;\n s.xn___11799 = undefined;\n s.yn___11808 = undefined;\n s.x___11817 = undefined;\n s.y___11821 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_SpriteMap__C659_VT)) failedCast(r0);\n s.tmp_1 = sprites_SpriteMap_isOob__P667_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.tmp_1.arg1 = s.arg1;\n s.pc = 8; return s.tmp_1;\n case 8:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 7; continue; }\n case 1:\n case 2:\n s.tmp_2 = Sprite_left__P629_mk(s);\n s.tmp_2.arg0 = s.arg1;\n s.pc = 9; return s.tmp_2;\n case 9:\n r0 = s.retval;\n s.left___11793 = (r0);\n s.tmp_0 = Sprite_top__P633_mk(s);\n s.tmp_0.arg0 = s.arg1;\n s.pc = 10; return s.tmp_0;\n case 10:\n r0 = s.retval;\n s.top___11796 = (r0);\n r0 = s.arg1.fields["_image"];\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_3);\n s.tmp_2 = r0;\n r0 = s.arg0.fields["cellWidth"];\n s.tmp_4 = r0;\n r0 = (s.tmp_2 + s.tmp_4);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - 1);\n s.tmp_0 = r0;\n r0 = s.arg0.fields["cellWidth"];\n s.tmp_5 = r0;\n r0 = pxsim.Math_.idiv(s.tmp_0, s.tmp_5);\n s.xn___11799 = (r0);\n r0 = s.arg1.fields["_image"];\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_3);\n s.tmp_2 = r0;\n r0 = s.arg0.fields["cellHeight"];\n s.tmp_4 = r0;\n r0 = (s.tmp_2 + s.tmp_4);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - 1);\n s.tmp_0 = r0;\n r0 = s.arg0.fields["cellHeight"];\n s.tmp_5 = r0;\n r0 = pxsim.Math_.idiv(s.tmp_0, s.tmp_5);\n s.yn___11808 = (r0);\n s.x___11817 = (0);\n case 3:\n r0 = (s.x___11817 <= s.xn___11799);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 6; continue; }\n s.y___11821 = (0);\n case 4:\n r0 = (s.y___11821 <= s.yn___11808);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n s.tmp_1 = sprites_SpriteMap_insertAtKey__P666_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.tmp_2 = r0 = s.left___11793;\n s.tmp_4 = Math_min__P62_mk(s);\n r0 = s.arg1.fields["_image"];\n s.tmp_5 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_5);\n s.tmp_4.arg0 = r0;\n r0 = s.arg0.fields["cellWidth"];\n s.tmp_6 = r0;\n r0 = (s.x___11817 * s.tmp_6);\n s.tmp_4.arg1 = r0;\n s.pc = 12; return s.tmp_4;\n case 12:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_2 + s.tmp_3);\n s.tmp_1.arg1 = r0;\n s.tmp_7 = r0 = s.top___11796;\n s.tmp_9 = Math_min__P62_mk(s);\n r0 = s.arg1.fields["_image"];\n s.tmp_10 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_10);\n s.tmp_9.arg0 = r0;\n r0 = s.arg0.fields["cellHeight"];\n s.tmp_11 = r0;\n r0 = (s.y___11821 * s.tmp_11);\n s.tmp_9.arg1 = r0;\n s.pc = 13; return s.tmp_9;\n case 13:\n r0 = s.retval;\n s.tmp_8 = r0;\n r0 = (s.tmp_7 + s.tmp_8);\n s.tmp_1.arg2 = r0;\n s.tmp_1.arg3 = s.arg1;\n s.pc = 11; return s.tmp_1;\n case 11:\n r0 = s.retval;\n r0 = (s.y___11821 + 1);\n s.y___11821 = (r0);\n { step = 4; continue; }\n case 5:\n r0 = (s.x___11817 + 1);\n s.x___11817 = (r0);\n { step = 3; continue; }\n case 6:\n case 7:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_SpriteMap_insertAABB__P668.info = {"start":3602,"length":623,"line":101,"column":8,"endLine":113,"endColumn":9,"fileName":"pxt_modules/game/spritemap.ts","functionName":"insertAABB","argumentNames":["this","sprite"]}\n\nfunction sprites_SpriteMap_insertAABB__P668_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_SpriteMap_insertAABB__P668, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n left___11793: undefined,\n top___11796: undefined,\n xn___11799: undefined,\n yn___11808: undefined,\n x___11817: undefined,\n y___11821: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction sprites_SpriteMap_insertAtKey__P666(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.k___11851 = undefined;\n s.bucket___11855 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_SpriteMap__C659_VT)) failedCast(r0);\n s.tmp_0 = sprites_SpriteMap_key__P665_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.tmp_0.arg2 = s.arg2;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n s.k___11851 = (r0);\n r0 = s.arg0.fields["buckets"];\n s.tmp_0 = r0;\n r0 = pxsim_Array__getAt(s.tmp_0, s.k___11851);\n s.bucket___11855 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.bucket___11855);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.arg0.fields["buckets"];\n s.tmp_2 = r0;\n s.tmp_3 = r0 = s.k___11851;\n r0 = pxsim_Array__mk();\n s.tmp_4 = r0;\n r0 = pxsim_Array_.setAt(s.tmp_2, s.tmp_3, s.tmp_4);\n s.bucket___11855 = (s.tmp_4);\n case 1:\n case 2:\n r0 = pxsim_Array_.indexOf(s.bucket___11855, s.arg3, undefined);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = pxsim_Array__push(s.bucket___11855, s.arg3);\n case 3:\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_SpriteMap_insertAtKey__P666.info = {"start":2920,"length":302,"line":84,"column":8,"endLine":91,"endColumn":9,"fileName":"pxt_modules/game/spritemap.ts","functionName":"insertAtKey","argumentNames":["this","x","y","sprite"]}\n\nfunction sprites_SpriteMap_insertAtKey__P666_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_SpriteMap_insertAtKey__P666, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n k___11851: undefined,\n bucket___11855: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction sprites_SpriteMap_clear__P664(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_SpriteMap__C659_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["buckets"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_SpriteMap_clear__P664.info = {"start":2580,"length":50,"line":74,"column":8,"endLine":76,"endColumn":9,"fileName":"pxt_modules/game/spritemap.ts","functionName":"clear","argumentNames":["this"]}\n\nfunction sprites_SpriteMap_clear__P664_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_SpriteMap_clear__P664, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction sprites_SpriteMap_resizeBuckets__P663(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.maxWidth___11888 = undefined;\n s.maxHeight___11889 = undefined;\n s.sprite___11891 = undefined;\n s.unnamed52___U3 = undefined;\n s.unnamed53___U4 = undefined;\n s.tMap___11905 = undefined;\n s.areaWidth___11909 = undefined;\n s.areaHeight___11915 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_SpriteMap__C659_VT)) failedCast(r0);\n s.maxWidth___11888 = (0);\n s.maxHeight___11889 = (0);\n s.sprite___11891 = (undefined);\n s.sprite___11891 = (undefined);\n s.unnamed52___U3 = (s.arg1);\n s.unnamed53___U4 = (0);\n case 1:\n s.tmp_0 = r0 = s.unnamed53___U4;\n r0 = pxsim_Array__length(s.unnamed52___U3);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 6; continue; }\n r0 = pxsim_Array__getAt(s.unnamed52___U3, s.unnamed53___U4);\n s.sprite___11891 = (r0);\n r0 = s.sprite___11891.fields["_image"];\n s.tmp_4 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_4);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 > s.maxWidth___11888);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 2; continue; }\n r0 = s.sprite___11891.fields["_image"];\n s.tmp_5 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_5);\n s.maxWidth___11888 = (r0);\n case 2:\n case 3:\n r0 = s.sprite___11891.fields["_image"];\n s.tmp_2 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > s.maxHeight___11889);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 4; continue; }\n r0 = s.sprite___11891.fields["_image"];\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_3);\n s.maxHeight___11889 = (r0);\n case 4:\n case 5:\n r0 = (s.unnamed53___U4 + 1);\n s.unnamed53___U4 = (r0);\n { step = 1; continue; }\n case 6:\n s.unnamed52___U3 = (undefined);\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 11; return s.tmp_0;\n case 11:\n r0 = s.retval;\n r0 = r0.fields["tileMap"];\n s.tMap___11905 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.tMap___11905);\n if (!r0) { step = 7; continue; }\n s.tmp_0 = tiles_TileMap_areaWidth__P869_mk(s);\n s.tmp_0.arg0 = s.tMap___11905;\n s.pc = 12; return s.tmp_0;\n case 12:\n r0 = s.retval;\n { step = 8; continue; }\n case 7:\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n case 8:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n s.areaWidth___11909 = (s.tmp_1);\n r0 = pxsim_numops_toBoolDecr(s.tMap___11905);\n if (!r0) { step = 9; continue; }\n s.tmp_0 = tiles_TileMap_areaHeight__P870_mk(s);\n s.tmp_0.arg0 = s.tMap___11905;\n s.pc = 13; return s.tmp_0;\n case 13:\n r0 = s.retval;\n { step = 10; continue; }\n case 9:\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n case 10:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n s.areaHeight___11915 = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_2 = Math_clamp__P58_mk(s);\n s.tmp_2.arg0 = 8;\n r0 = (s.areaWidth___11909 >> 2);\n s.tmp_2.arg1 = r0;\n r0 = (s.maxWidth___11888 * 2);\n s.tmp_2.arg2 = r0;\n s.pc = 14; return s.tmp_2;\n case 14:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["cellWidth"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_2 = Math_clamp__P58_mk(s);\n s.tmp_2.arg0 = 8;\n r0 = (s.areaHeight___11915 >> 2);\n s.tmp_2.arg1 = r0;\n r0 = (s.maxHeight___11889 * 2);\n s.tmp_2.arg2 = r0;\n s.pc = 15; return s.tmp_2;\n case 15:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["cellHeight"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.arg0.fields["cellHeight"];\n s.tmp_2 = r0;\n r0 = pxsim.Math_.idiv(s.areaHeight___11915, s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["rowCount"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.arg0.fields["cellWidth"];\n s.tmp_2 = r0;\n r0 = pxsim.Math_.idiv(s.areaWidth___11909, s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["columnCount"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_SpriteMap_resizeBuckets__P663.info = {"start":1744,"length":826,"line":54,"column":8,"endLine":72,"endColumn":9,"fileName":"pxt_modules/game/spritemap.ts","functionName":"resizeBuckets","argumentNames":["this","sprites"]}\n\nfunction sprites_SpriteMap_resizeBuckets__P663_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_SpriteMap_resizeBuckets__P663, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n maxWidth___11888: undefined,\n maxHeight___11889: undefined,\n sprite___11891: undefined,\n unnamed52___U3: undefined,\n unnamed53___U4: undefined,\n tMap___11905: undefined,\n areaWidth___11909: undefined,\n areaHeight___11915: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_clearObstacles__P650(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["_obstacles"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_clearObstacles__P650.info = {"start":23644,"length":54,"line":718,"column":4,"endLine":720,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"clearObstacles","argumentNames":["this"]}\n\nfunction Sprite_clearObstacles__P650_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_clearObstacles__P650, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Fx_abs__P93(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = (0 - s.arg0);\n { step = 3; continue; }\n { step = 2; continue; }\n case 1:\n r0 = s.arg0;\n { step = 3; continue; }\n case 2:\n r0 = undefined;\n case 3:\n return leave(s, r0)\n default: oops()\n} } }\nFx_abs__P93.info = {"start":1358,"length":164,"line":41,"column":4,"endLine":46,"endColumn":5,"fileName":"pxt_modules/base/fixed.ts","functionName":"abs","argumentNames":["a"]}\n\nfunction Fx_abs__P93_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Fx_abs__P93, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Fx_idiv__P91(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim.Math_.idiv(s.arg0, s.arg1);\n return leave(s, r0)\n default: oops()\n} } }\nFx_idiv__P91.info = {"start":1131,"length":111,"line":35,"column":4,"endLine":37,"endColumn":5,"fileName":"pxt_modules/base/fixed.ts","functionName":"idiv","argumentNames":["a","b"]}\n\nfunction Fx_idiv__P91_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Fx_idiv__P91, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Fx_div__P90(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 << 8);\n s.tmp_0 = r0;\n r0 = pxsim.Math_.idiv(s.tmp_0, s.arg1);\n return leave(s, r0)\n default: oops()\n} } }\nFx_div__P90.info = {"start":997,"length":129,"line":32,"column":4,"endLine":34,"endColumn":5,"fileName":"pxt_modules/base/fixed.ts","functionName":"div","argumentNames":["a","b"]}\n\nfunction Fx_div__P90_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Fx_div__P90, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction helpers_arrayMap__P44(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.res___12065 = undefined;\n s.len___12067 = undefined;\n s.i___12070 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_Array__mk();\n s.res___12065 = (r0);\n r0 = pxsim_Array__length(s.arg0);\n s.len___12067 = (r0);\n s.i___12070 = (0);\n case 1:\n r0 = (s.i___12070 < s.len___12067);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n s.tmp_1 = r0 = s.res___12065;\n s.tmp_3 = lambda_3_mk(s);\n s.tmp_3.argL = s.arg1;\n r0 = pxsim_Array__getAt(s.arg0, s.i___12070);\n s.tmp_3.arg0 = r0;\n s.tmp_3.arg1 = s.i___12070;\n setupLambda(s.tmp_3, s.tmp_3.argL);\n s.pc = 3; return s.tmp_3;\n case 3:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = pxsim_Array__push(s.tmp_1, s.tmp_2);\n r0 = (s.i___12070 + 1);\n s.i___12070 = (r0);\n { step = 1; continue; }\n case 2:\n r0 = s.res___12065;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_arrayMap__P44.info = {"start":4245,"length":299,"line":145,"column":4,"endLine":152,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"arrayMap","argumentNames":["arr","callbackfn"]}\n\nfunction helpers_arrayMap__P44_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_arrayMap__P44, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n res___12065: undefined,\n len___12067: undefined,\n i___12070: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction ArcadePhysicsEngine_draw__P731(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, ArcadePhysicsEngine__C727_VT)) failedCast(r0);\n s.tmp_0 = sprites_SpriteMap_draw__P662_mk(s);\n r0 = s.arg0.fields["map"];\n s.tmp_0.arg0 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nArcadePhysicsEngine_draw__P731.info = {"start":1796,"length":39,"line":71,"column":4,"endLine":73,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"draw","argumentNames":["this"]}\n\nfunction ArcadePhysicsEngine_draw__P731_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: ArcadePhysicsEngine_draw__P731, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction sprites_SpriteMap_draw__P662(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.x___12095 = undefined;\n s.y___12100 = undefined;\n s.left___12105 = undefined;\n s.top___12109 = undefined;\n s.k___12113 = undefined;\n s.b___12117 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_SpriteMap__C659_VT)) failedCast(r0);\n s.x___12095 = (0);\n case 1:\n r0 = s.arg0.fields["columnCount"];\n s.tmp_1 = r0;\n r0 = (s.x___12095 < s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 8; continue; }\n s.y___12100 = (0);\n case 2:\n r0 = s.arg0.fields["rowCount"];\n s.tmp_1 = r0;\n r0 = (s.y___12100 < s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 7; continue; }\n r0 = s.arg0.fields["cellWidth"];\n s.tmp_2 = r0;\n r0 = (s.x___12095 * s.tmp_2);\n s.left___12105 = (r0);\n r0 = s.arg0.fields["cellHeight"];\n s.tmp_0 = r0;\n r0 = (s.y___12100 * s.tmp_0);\n s.top___12109 = (r0);\n s.tmp_0 = sprites_SpriteMap_key__P665_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.left___12105;\n s.tmp_0.arg2 = s.top___12109;\n s.pc = 9; return s.tmp_0;\n case 9:\n r0 = s.retval;\n s.k___12113 = (r0);\n r0 = s.arg0.fields["buckets"];\n s.tmp_0 = r0;\n r0 = pxsim_Array__getAt(s.tmp_0, s.k___12113);\n s.b___12117 = (r0);\n s.tmp_0 = r0 = s.b___12117;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 3; continue; }\n r0 = s.tmp_0;\n { step = 4; continue; }\n case 3:\n r0 = pxsim_Array__length(s.b___12117);\n case 4:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 5; continue; }\n s.tmp_2 = helpers_imageDrawRect__P414_mk(s);\n s.tmp_2.arg0 = globals.screen___464;\n s.tmp_2.arg1 = s.left___12105;\n s.tmp_2.arg2 = s.top___12109;\n r0 = s.arg0.fields["cellWidth"];\n s.tmp_2.arg3 = r0;\n r0 = s.arg0.fields["cellHeight"];\n s.tmp_2.arg4 = r0;\n s.tmp_2.arg5 = 5;\n s.pc = 10; return s.tmp_2;\n case 10:\n r0 = s.retval;\n case 5:\n case 6:\n r0 = (s.y___12100 + 1);\n s.y___12100 = (r0);\n { step = 2; continue; }\n case 7:\n r0 = (s.x___12095 + 1);\n s.x___12095 = (r0);\n { step = 1; continue; }\n case 8:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_SpriteMap_draw__P662.info = {"start":1170,"length":496,"line":38,"column":8,"endLine":49,"endColumn":9,"fileName":"pxt_modules/game/spritemap.ts","functionName":"draw","argumentNames":["this"]}\n\nfunction sprites_SpriteMap_draw__P662_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_SpriteMap_draw__P662, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n x___12095: undefined,\n y___12100: undefined,\n left___12105: undefined,\n top___12109: undefined,\n k___12113: undefined,\n b___12117: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction ArcadePhysicsEngine_removeSprite__P730(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, ArcadePhysicsEngine__C727_VT)) failedCast(r0);\n r0 = s.arg0.fields["sprites"];\n s.tmp_0 = r0;\n r0 = pxsim_Array_.removeElement(s.tmp_0, s.arg1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nArcadePhysicsEngine_removeSprite__P730.info = {"start":1710,"length":80,"line":67,"column":4,"endLine":69,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"removeSprite","argumentNames":["this","sprite"]}\n\nfunction ArcadePhysicsEngine_removeSprite__P730_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: ArcadePhysicsEngine_removeSprite__P730, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction ArcadePhysicsEngine_addSprite__P729(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, ArcadePhysicsEngine__C727_VT)) failedCast(r0);\n r0 = s.arg0.fields["sprites"];\n s.tmp_0 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.arg1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nArcadePhysicsEngine_addSprite__P729.info = {"start":1636,"length":68,"line":63,"column":4,"endLine":65,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"addSprite","argumentNames":["this","sprite"]}\n\nfunction ArcadePhysicsEngine_addSprite__P729_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: ArcadePhysicsEngine_addSprite__P729, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction effects_ImageEffect_startScreenEffect__P1441(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.wasRunning___12430 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, effects_ImageEffect__C1438_VT)) failedCast(r0);\n s.tmp_4 = game_currentScene__P769_mk(s);\n s.pc = 8; return s.tmp_4;\n case 8:\n r0 = s.retval;\n r0 = r0.fields["background"];\n s.tmp_3 = r0;\n r0 = s.tmp_3.fields["_image"];\n s.tmp_8 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_8);\n s.tmp_7 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_7);\n s.tmp_6 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_6);\n s.tmp_5 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_5);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 7; continue; }\n case 1:\n case 2:\n r0 = s.arg0.fields["times"];\n s.tmp_9 = r0;\n r0 = (s.tmp_9 != undefined);\n s.wasRunning___12430 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n if (!r0) { step = 3; continue; }\n r0 = s.arg1;\n { step = 4; continue; }\n case 3:\n r0 = 15;\n case 4:\n // jmp value (already in r0)\n s.tmp_0 = r0;\n r0 = (s.arg0).fields["times"] = (s.tmp_0);\n r0 = pxsim_numops_toBoolDecr(s.wasRunning___12430);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = pxsim_pxtcore_mkAction(2, inline__P12441);\n s.tmp_2 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_2, 0, s.arg0);\n r0 = pxsim_pxtrt_stclo(s.tmp_2, 1, s.arg2);\n r0 = pxsim.control.runInParallel(s.tmp_2);\n case 5:\n case 6:\n case 7:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\neffects_ImageEffect_startScreenEffect__P1441.info = {"start":1457,"length":637,"line":41,"column":8,"endLine":56,"endColumn":9,"fileName":"pxt_modules/game/effects.ts","functionName":"startScreenEffect","argumentNames":["this","times","delay"]}\n\nfunction effects_ImageEffect_startScreenEffect__P1441_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: effects_ImageEffect_startScreenEffect__P1441, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n wasRunning___12430: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction inline__P12441(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n case 1:\n r0 = s.caps[0].fields["times"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 4; continue; }\n s.tmp_2 = effects_ImageEffect_change__P1440_mk(s);\n s.tmp_2.arg0 = s.caps[0];\n s.tmp_3 = scene_backgroundImage__P938_mk(s);\n s.pc = 6; return s.tmp_3;\n case 6:\n r0 = s.retval;\n s.tmp_2.arg1 = r0;\n s.pc = 5; return s.tmp_2;\n case 5:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(s.caps[1]);\n if (!r0) { step = 2; continue; }\n r0 = s.caps[1];\n { step = 3; continue; }\n case 2:\n r0 = s.caps[0].fields["preferredDelay"];\n case 3:\n // jmp value (already in r0)\n s.tmp_0 = r0;\n s.tmp_1 = pause__P241_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.pc = 7; return s.tmp_1;\n case 7:\n r0 = s.retval;\n s.tmp_0 = r0 = s.caps[0];\n r0 = s.tmp_0.fields["times"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - 1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["times"] = (s.tmp_1);\n { step = 1; continue; }\n case 4:\n r0 = (s.caps[0]).fields["times"] = (undefined);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P12441.info = {"start":1764,"length":304,"line":47,"column":38,"endLine":54,"endColumn":17,"fileName":"pxt_modules/game/effects.ts","functionName":"inline","argumentNames":[]}\n\nfunction inline__P12441_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P12441, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n} }\n\n\n\n\n\nfunction scene_backgroundImage__P938(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.scene___12458 = undefined;\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.scene___12458 = (r0);\n s.tmp_0 = scene_Background_image__P848_mk(s);\n r0 = s.scene___12458.fields["background"];\n s.tmp_0.arg0 = r0;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n return leave(s, r0)\n default: oops()\n} } }\nscene_backgroundImage__P938.info = {"start":2070,"length":130,"line":74,"column":4,"endLine":77,"endColumn":5,"fileName":"pxt_modules/game/scenes.ts","functionName":"backgroundImage","argumentNames":[]}\n\nfunction scene_backgroundImage__P938_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_backgroundImage__P938, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n scene___12458: undefined,\n} }\n\n\n\n\n\nfunction scene_Background_hasBackgroundImage__P850(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Background__C846_VT)) failedCast(r0);\n r0 = s.arg0.fields["_image"];\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\nscene_Background_hasBackgroundImage__P850.info = {"start":1081,"length":75,"line":44,"column":8,"endLine":46,"endColumn":9,"fileName":"pxt_modules/game/background.ts","functionName":"hasBackgroundImage","argumentNames":["this"]}\n\nfunction scene_Background_hasBackgroundImage__P850_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Background_hasBackgroundImage__P850, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_BaseDialog_drawTextCore__P955(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_BaseDialog__C952_VT)) failedCast(r0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_BaseDialog_drawTextCore__P955.info = {"start":1757,"length":65,"line":70,"column":8,"endLine":72,"endColumn":9,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"drawTextCore","argumentNames":["this"]}\n\nfunction game_BaseDialog_drawTextCore__P955_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_BaseDialog_drawTextCore__P955, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_BaseDialog_update__P953(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_BaseDialog__C952_VT)) failedCast(r0);\n s.tmp_0 = game_BaseDialog_clearInterior__P958_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.tmp_0 = game_BaseDialog__C952_v1_1_mk(s);\n s.tmp_0.arg0 = s.arg0;\n if (!checkSubtype(s.tmp_0.arg0, game_BaseDialog__C952_VT)) failedCast(s.tmp_0.arg0);\n s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.drawTextCore;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n s.tmp_0 = game_BaseDialog_drawCursorRow__P956_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_BaseDialog_update__P953.info = {"start":1539,"length":121,"line":60,"column":8,"endLine":64,"endColumn":9,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"update","argumentNames":["this"]}\n\nfunction game_BaseDialog_update__P953_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_BaseDialog_update__P953, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction music_Melody_toString__P359(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, music_Melody__C349_VT)) failedCast(r0);\n r0 = s.arg0.fields["_text"];\n return leave(s, r0)\n default: oops()\n} } }\nmusic_Melody_toString__P359.info = {"start":9607,"length":53,"line":302,"column":8,"endLine":304,"endColumn":9,"fileName":"pxt_modules/mixer/melody.ts","functionName":"toString","argumentNames":["this"]}\n\nfunction music_Melody_toString__P359_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_Melody_toString__P359, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction info_PlayerInfo_id__P826(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, info_PlayerInfo__C823_VT)) failedCast(r0);\n r0 = s.arg0.fields["_player"];\n return leave(s, r0)\n default: oops()\n} } }\ninfo_PlayerInfo_id__P826.info = {"start":17272,"length":57,"line":569,"column":8,"endLine":571,"endColumn":9,"fileName":"pxt_modules/game/info.ts","functionName":"id","argumentNames":["this"]}\n\nfunction info_PlayerInfo_id__P826_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_PlayerInfo_id__P826, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction effects_SceneAnchor_width__P1411(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, effects_SceneAnchor__C1408_VT)) failedCast(r0);\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n return leave(s, r0)\n default: oops()\n} } }\neffects_SceneAnchor_width__P1411.info = {"start":2428,"length":56,"line":66,"column":8,"endLine":68,"endColumn":9,"fileName":"pxt_modules/game/particleeffects.ts","functionName":"width","argumentNames":["this"]}\n\nfunction effects_SceneAnchor_width__P1411_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: effects_SceneAnchor_width__P1411, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction effects_SceneAnchor_y__P1410(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, effects_SceneAnchor__C1408_VT)) failedCast(r0);\n r0 = s.arg0.fields["camera"];\n r0 = r0.fields["offsetY"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 >> 1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\neffects_SceneAnchor_y__P1410.info = {"start":2336,"length":82,"line":62,"column":8,"endLine":64,"endColumn":9,"fileName":"pxt_modules/game/particleeffects.ts","functionName":"y","argumentNames":["this"]}\n\nfunction effects_SceneAnchor_y__P1410_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: effects_SceneAnchor_y__P1410, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction effects_SceneAnchor_x__P1409(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, effects_SceneAnchor__C1408_VT)) failedCast(r0);\n r0 = s.arg0.fields["camera"];\n r0 = r0.fields["offsetX"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 >> 1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\neffects_SceneAnchor_x__P1409.info = {"start":2245,"length":81,"line":58,"column":8,"endLine":60,"endColumn":9,"fileName":"pxt_modules/game/particleeffects.ts","functionName":"x","argumentNames":["this"]}\n\nfunction effects_SceneAnchor_x__P1409_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: effects_SceneAnchor_x__P1409, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction particles_ShapeFactory_createParticle__P1362(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.p___10458 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ShapeFactory__C1358_VT)) failedCast(r0);\n s.tmp_0 = particles_AreaFactory_createParticle__P1350_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.p___10458 = (r0);\n s.tmp_0 = r0 = s.p___10458;\n s.tmp_2 = Math_FastRandom_randomRange__P1158_mk(s);\n r0 = s.arg0.fields["galois"];\n s.tmp_2.arg0 = r0;\n s.tmp_2.arg1 = 1;\n s.tmp_2.arg2 = 14;\n s.pc = 2; return s.tmp_2;\n case 2:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["color"] = (s.tmp_1);\n r0 = s.p___10458;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ShapeFactory_createParticle__P1362.info = {"start":7505,"length":178,"line":239,"column":8,"endLine":243,"endColumn":9,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"createParticle","argumentNames":["this","anchor"]}\n\nfunction particles_ShapeFactory_createParticle__P1362_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ShapeFactory_createParticle__P1362, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n p___10458: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction particles_AreaFactory_createParticle__P1350(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.p___10470 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_AreaFactory__C1348_VT)) failedCast(r0);\n s.tmp_0 = particles_SprayFactory_createParticle__P1343_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.p___10470 = (r0);\n s.tmp_0 = r0 = s.p___10470;\n s.tmp_2 = Math_FastRandom_randomRange__P1158_mk(s);\n r0 = s.arg0.fields["galois"];\n s.tmp_2.arg0 = r0;\n r0 = s.arg0.fields["minLifespan"];\n s.tmp_2.arg1 = r0;\n r0 = s.arg0.fields["maxLifespan"];\n s.tmp_2.arg2 = r0;\n s.pc = 4; return s.tmp_2;\n case 4:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["lifespan"] = (s.tmp_1);\n s.tmp_0 = r0 = s.p___10470;\n s.tmp_4 = Math_FastRandom_randomRange__P1158_mk(s);\n r0 = s.arg0.fields["galois"];\n s.tmp_4.arg0 = r0;\n s.tmp_4.arg1 = 0;\n r0 = s.arg0.fields["xRange"];\n s.tmp_4.arg2 = r0;\n s.pc = 5; return s.tmp_4;\n case 5:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = s.arg0.fields["xRange"];\n s.tmp_6 = r0;\n r0 = (s.tmp_6 >> 1);\n s.tmp_5 = r0;\n r0 = (s.tmp_3 - s.tmp_5);\n s.tmp_2 = r0;\n r0 = s.p___10470.fields["_x"];\n s.tmp_7 = r0;\n r0 = (s.tmp_2 << 8);\n s.tmp_8 = r0;\n r0 = (s.tmp_8 + s.tmp_7);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["_x"] = (s.tmp_1);\n s.tmp_1 = if_height_1_mk(s);\n s.tmp_1.arg0 = s.arg1;\n if (!s.tmp_1.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, "height");\n } else {\n s.tmp_1.fn = s.tmp_1.arg0.vtable.iface["height"];\n if (s.tmp_1.fn == null) { s.retval = s.tmp_1.arg0.fields["height"]; }\n else { s.pc = 6; return s.tmp_1; }\n }\n case 6:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_3 = if_height_1_mk(s);\n s.tmp_3.arg0 = s.arg1;\n if (!s.tmp_3.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, "height");\n } else {\n s.tmp_3.fn = s.tmp_3.arg0.vtable.iface["height"];\n if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields["height"]; }\n else { s.pc = 7; return s.tmp_3; }\n }\n case 7:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (s.tmp_2 >> 1);\n { step = 2; continue; }\n case 1:\n r0 = 0;\n case 2:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n s.tmp_5 = r0 = s.p___10470;\n s.tmp_9 = Math_FastRandom_randomRange__P1158_mk(s);\n r0 = s.arg0.fields["galois"];\n s.tmp_9.arg0 = r0;\n s.tmp_9.arg1 = 0;\n r0 = s.arg0.fields["yRange"];\n s.tmp_9.arg2 = r0;\n s.pc = 8; return s.tmp_9;\n case 8:\n r0 = s.retval;\n s.tmp_8 = r0;\n r0 = (s.tmp_8 - s.tmp_4);\n s.tmp_7 = r0;\n r0 = s.p___10470.fields["_y"];\n s.tmp_10 = r0;\n r0 = (s.tmp_7 << 8);\n s.tmp_11 = r0;\n r0 = (s.tmp_11 + s.tmp_10);\n s.tmp_6 = r0;\n r0 = (s.tmp_5).fields["_y"] = (s.tmp_6);\n r0 = s.p___10470;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_AreaFactory_createParticle__P1350.info = {"start":4334,"length":426,"line":148,"column":8,"endLine":156,"endColumn":9,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"createParticle","argumentNames":["this","anchor"]}\n\nfunction particles_AreaFactory_createParticle__P1350_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_AreaFactory_createParticle__P1350, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n p___10470: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction particles_SprayFactory_createParticle__P1343(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.p___10518 = undefined;\n s.angle___10521 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_SprayFactory__C1341_VT)) failedCast(r0);\n s.tmp_0 = particles_ParticleFactory_createParticle__P1338_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.p___10518 = (r0);\n r0 = s.arg0.fields["minAngle"];\n s.tmp_1 = r0;\n s.tmp_3 = Math_FastRandom_randomRange__P1158_mk(s);\n s.tmp_3.arg0 = globals.galois___1324;\n s.tmp_3.arg1 = 0;\n r0 = s.arg0.fields["spread"];\n s.tmp_3.arg2 = r0;\n s.pc = 2; return s.tmp_3;\n case 2:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (s.tmp_1 + s.tmp_2);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 % 100);\n s.angle___10521 = (r0);\n s.tmp_0 = r0 = s.p___10518;\n r0 = pxsim_Array__getAt(globals.cachedSin___1321, s.angle___10521);\n s.tmp_2 = r0;\n r0 = s.arg0.fields["speed"];\n s.tmp_3 = r0;\n r0 = pxsim.Math_.imul(s.tmp_2, s.tmp_3);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 >> 8);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["vx"] = (s.tmp_1);\n s.tmp_0 = r0 = s.p___10518;\n r0 = pxsim_Array__getAt(globals.cachedCos___1322, s.angle___10521);\n s.tmp_2 = r0;\n r0 = s.arg0.fields["speed"];\n s.tmp_3 = r0;\n r0 = pxsim.Math_.imul(s.tmp_2, s.tmp_3);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 >> 8);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["vy"] = (s.tmp_1);\n r0 = s.p___10518;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_SprayFactory_createParticle__P1343.info = {"start":2851,"length":333,"line":105,"column":8,"endLine":113,"endColumn":9,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"createParticle","argumentNames":["this","anchor"]}\n\nfunction particles_SprayFactory_createParticle__P1343_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_SprayFactory_createParticle__P1343, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n p___10518: undefined,\n angle___10521: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleSource___draw__P1287(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.current___12368 = undefined;\n s.left___12371 = undefined;\n s.top___12375 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleSource__C1285_VT)) failedCast(r0);\n r0 = s.arg0.fields["head"];\n s.current___12368 = (r0);\n r0 = s.arg1.fields["drawOffsetX"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 * 256);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 | 0);\n s.left___12371 = (r0);\n r0 = s.arg1.fields["drawOffsetY"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 * 256);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 | 0);\n s.top___12375 = (r0);\n case 1:\n r0 = pxsim_numops_toBoolDecr(s.current___12368);\n if (!r0) { step = 4; continue; }\n r0 = s.current___12368.fields["lifespan"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n s.tmp_2 = particles_ParticleSource_drawParticle__P1301_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.tmp_2.arg1 = s.current___12368;\n s.tmp_2.arg2 = s.left___12371;\n s.tmp_2.arg3 = s.top___12375;\n s.pc = 5; return s.tmp_2;\n case 5:\n r0 = s.retval;\n case 2:\n case 3:\n r0 = s.current___12368.fields["next"];\n s.current___12368 = (r0);\n { step = 1; continue; }\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleSource___draw__P1287.info = {"start":3139,"length":362,"line":109,"column":8,"endLine":119,"endColumn":9,"fileName":"pxt_modules/game/particles.ts","functionName":"__draw","argumentNames":["this","camera"]}\n\nfunction particles_ParticleSource___draw__P1287_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleSource___draw__P1287, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n current___12368: undefined,\n left___12371: undefined,\n top___12375: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleSource_drawParticle__P1301(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleSource__C1285_VT)) failedCast(r0);\n s.tmp_0 = particles_ParticleFactory__C1337_v1_4_mk(s);\n r0 = s.arg0.fields["_factory"];\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = s.arg1;\n r0 = s.arg1.fields["_x"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - s.arg2);\n s.tmp_0.arg2 = r0;\n r0 = s.arg1.fields["_y"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - s.arg3);\n s.tmp_0.arg3 = r0;\n if (!checkSubtype(s.tmp_0.arg0, particles_ParticleFactory__C1337_VT)) failedCast(s.tmp_0.arg0);\n s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.drawParticle;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleSource_drawParticle__P1301.info = {"start":8123,"length":174,"line":275,"column":8,"endLine":277,"endColumn":9,"fileName":"pxt_modules/game/particles.ts","functionName":"drawParticle","argumentNames":["this","p","screenLeft","screenTop"]}\n\nfunction particles_ParticleSource_drawParticle__P1301_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleSource_drawParticle__P1301, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleFactory_drawParticle__P1339(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleFactory__C1337_VT)) failedCast(r0);\n s.tmp_0 = r0 = globals.screen___464;\n r0 = (s.arg2 + 128);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 >> 8);\n s.tmp_1 = r0;\n r0 = (s.arg3 + 128);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 >> 8);\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.setPixel(s.tmp_0, s.tmp_1, s.tmp_3, 1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleFactory_drawParticle__P1339.info = {"start":2265,"length":118,"line":85,"column":8,"endLine":87,"endColumn":9,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"drawParticle","argumentNames":["this","particle","x","y"]}\n\nfunction particles_ParticleFactory_drawParticle__P1339_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleFactory_drawParticle__P1339, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction Sprite_toString__P656(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = pxsim_String_.mkEmpty();\n s.tmp_9 = r0;\n r0 = s.arg0.fields["id"];\n s.tmp_11 = r0;\n if ((s.tmp_11) && (s.tmp_11).vtable) {\n setupResume(s, 1);\n pxsim_String__stringConv(s.tmp_11);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_11) + ""; }\n case 1:\n r0 = s.retval;\n s.tmp_10 = r0;\n r0 = pxsim_String__concat(s.tmp_9, s.tmp_10);\n s.tmp_8 = r0;\n r0 = pxsim_String__concat(s.tmp_8, "(");\n s.tmp_7 = r0;\n s.tmp_14 = Sprite_x__P609_mk(s);\n s.tmp_14.arg0 = s.arg0;\n s.pc = 2; return s.tmp_14;\n case 2:\n r0 = s.retval;\n s.tmp_13 = r0;\n if ((s.tmp_13) && (s.tmp_13).vtable) {\n setupResume(s, 3);\n pxsim_String__stringConv(s.tmp_13);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_13) + ""; }\n case 3:\n r0 = s.retval;\n s.tmp_12 = r0;\n r0 = pxsim_String__concat(s.tmp_7, s.tmp_12);\n s.tmp_6 = r0;\n r0 = pxsim_String__concat(s.tmp_6, ",");\n s.tmp_5 = r0;\n s.tmp_17 = Sprite_y__P611_mk(s);\n s.tmp_17.arg0 = s.arg0;\n s.pc = 4; return s.tmp_17;\n case 4:\n r0 = s.retval;\n s.tmp_16 = r0;\n if ((s.tmp_16) && (s.tmp_16).vtable) {\n setupResume(s, 5);\n pxsim_String__stringConv(s.tmp_16);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_16) + ""; }\n case 5:\n r0 = s.retval;\n s.tmp_15 = r0;\n r0 = pxsim_String__concat(s.tmp_5, s.tmp_15);\n s.tmp_4 = r0;\n r0 = pxsim_String__concat(s.tmp_4, ")->(");\n s.tmp_3 = r0;\n s.tmp_20 = Sprite_vx__P613_mk(s);\n s.tmp_20.arg0 = s.arg0;\n s.pc = 6; return s.tmp_20;\n case 6:\n r0 = s.retval;\n s.tmp_19 = r0;\n if ((s.tmp_19) && (s.tmp_19).vtable) {\n setupResume(s, 7);\n pxsim_String__stringConv(s.tmp_19);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_19) + ""; }\n case 7:\n r0 = s.retval;\n s.tmp_18 = r0;\n r0 = pxsim_String__concat(s.tmp_3, s.tmp_18);\n s.tmp_2 = r0;\n r0 = pxsim_String__concat(s.tmp_2, ",");\n s.tmp_1 = r0;\n s.tmp_23 = Sprite_vy__P615_mk(s);\n s.tmp_23.arg0 = s.arg0;\n s.pc = 8; return s.tmp_23;\n case 8:\n r0 = s.retval;\n s.tmp_22 = r0;\n if ((s.tmp_22) && (s.tmp_22).vtable) {\n setupResume(s, 9);\n pxsim_String__stringConv(s.tmp_22);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_22) + ""; }\n case 9:\n r0 = s.retval;\n s.tmp_21 = r0;\n r0 = pxsim_String__concat(s.tmp_1, s.tmp_21);\n s.tmp_0 = r0;\n r0 = pxsim_String__concat(s.tmp_0, ")");\n return leave(s, r0)\n default: oops()\n} } }\nSprite_toString__P656.info = {"start":28515,"length":93,"line":857,"column":4,"endLine":859,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"toString","argumentNames":["this"]}\n\nfunction Sprite_toString__P656_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_toString__P656, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n tmp_12: undefined,\n tmp_13: undefined,\n tmp_14: undefined,\n tmp_15: undefined,\n tmp_16: undefined,\n tmp_17: undefined,\n tmp_18: undefined,\n tmp_19: undefined,\n tmp_20: undefined,\n tmp_21: undefined,\n tmp_22: undefined,\n tmp_23: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Sprite___update__P645(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.bounce___12537 = undefined;\n s.tm___12541 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields["lifespan"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 !== undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.tmp_2 = r0 = s.arg0;\n r0 = s.tmp_2.fields["lifespan"];\n s.tmp_4 = r0;\n r0 = (s.arg2 * 1000);\n s.tmp_5 = r0;\n r0 = (s.tmp_4 - s.tmp_5);\n s.tmp_3 = r0;\n r0 = (s.tmp_2).fields["lifespan"] = (s.tmp_3);\n r0 = s.arg0.fields["lifespan"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 <= 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = (s.arg0).fields["lifespan"] = (undefined);\n s.tmp_0 = Sprite__destroyCore__P654_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 33; return s.tmp_0;\n case 33:\n r0 = s.retval;\n case 1:\n case 2:\n case 3:\n case 4:\n r0 = s.arg0.fields["flags"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 & 4);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 5; continue; }\n r0 = s.tmp_0;\n { step = 6; continue; }\n case 5:\n s.tmp_2 = Sprite_isOutOfScreen__P643_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.tmp_2.arg1 = s.arg1;\n s.pc = 34; return s.tmp_2;\n case 34:\n r0 = s.retval;\n case 6:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 7; continue; }\n s.tmp_4 = Sprite_destroy__P653_mk(s);\n s.tmp_4.arg0 = s.arg0;\n s.tmp_4.arg1 = undefined;\n s.tmp_4.arg2 = undefined;\n s.pc = 35; return s.tmp_4;\n case 35:\n r0 = s.retval;\n case 7:\n case 8:\n r0 = s.arg0.fields["flags"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 & 32);\n s.bounce___12537 = (r0);\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 36; return s.tmp_0;\n case 36:\n r0 = s.retval;\n r0 = r0.fields["tileMap"];\n s.tm___12541 = (r0);\n r0 = s.arg0.fields["flags"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 & 8);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 9; continue; }\n r0 = s.tmp_0;\n { step = 12; continue; }\n case 9:\n s.tmp_2 = r0 = s.bounce___12537;\n r0 = pxsim_numops_toBool(s.tmp_2);\n if (r0) { step = 10; continue; }\n r0 = s.tmp_2;\n { step = 11; continue; }\n case 10:\n r0 = pxsim_numops_toBoolDecr(s.tm___12541);\n s.tmp_3 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_3);\n case 11:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n r0 = s.tmp_4;\n case 12:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_5);\n if (!r0) { step = 29; continue; }\n s.tmp_8 = Sprite_left__P629_mk(s);\n s.tmp_8.arg0 = s.arg0;\n s.pc = 37; return s.tmp_8;\n case 37:\n r0 = s.retval;\n s.tmp_7 = r0;\n r0 = s.arg1.fields["offsetX"];\n s.tmp_9 = r0;\n r0 = (s.tmp_7 < s.tmp_9);\n s.tmp_6 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_6);\n if (!r0) { step = 15; continue; }\n s.tmp_10 = Sprite_left__P630_mk(s);\n s.tmp_10.arg0 = s.arg0;\n r0 = s.arg1.fields["offsetX"];\n s.tmp_10.arg1 = r0;\n s.pc = 38; return s.tmp_10;\n case 38:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(s.bounce___12537);\n if (!r0) { step = 13; continue; }\n s.tmp_0 = Sprite_vx__P614_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_2 = Sprite_vx__P613_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 40; return s.tmp_2;\n case 40:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (0 - s.tmp_1);\n s.tmp_0.arg1 = r0;\n s.pc = 39; return s.tmp_0;\n case 39:\n r0 = s.retval;\n case 13:\n case 14:\n { step = 20; continue; }\n case 15:\n s.tmp_2 = Sprite_right__P631_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 41; return s.tmp_2;\n case 41:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = s.arg1.fields["offsetX"];\n s.tmp_4 = r0;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_5 = r0;\n r0 = (s.tmp_4 + s.tmp_5);\n s.tmp_3 = r0;\n r0 = (s.tmp_1 > s.tmp_3);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 18; continue; }\n s.tmp_6 = Sprite_right__P632_mk(s);\n s.tmp_6.arg0 = s.arg0;\n r0 = s.arg1.fields["offsetX"];\n s.tmp_7 = r0;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_8 = r0;\n r0 = (s.tmp_7 + s.tmp_8);\n s.tmp_6.arg1 = r0;\n s.pc = 42; return s.tmp_6;\n case 42:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(s.bounce___12537);\n if (!r0) { step = 16; continue; }\n s.tmp_0 = Sprite_vx__P614_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_2 = Sprite_vx__P613_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 44; return s.tmp_2;\n case 44:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (0 - s.tmp_1);\n s.tmp_0.arg1 = r0;\n s.pc = 43; return s.tmp_0;\n case 43:\n r0 = s.retval;\n case 16:\n case 17:\n case 18:\n case 19:\n case 20:\n s.tmp_2 = Sprite_top__P633_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 45; return s.tmp_2;\n case 45:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = s.arg1.fields["offsetY"];\n s.tmp_3 = r0;\n r0 = (s.tmp_1 < s.tmp_3);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 23; continue; }\n s.tmp_4 = Sprite_top__P634_mk(s);\n s.tmp_4.arg0 = s.arg0;\n r0 = s.arg1.fields["offsetY"];\n s.tmp_4.arg1 = r0;\n s.pc = 46; return s.tmp_4;\n case 46:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(s.bounce___12537);\n if (!r0) { step = 21; continue; }\n s.tmp_0 = Sprite_vy__P616_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_2 = Sprite_vy__P615_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 48; return s.tmp_2;\n case 48:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (0 - s.tmp_1);\n s.tmp_0.arg1 = r0;\n s.pc = 47; return s.tmp_0;\n case 47:\n r0 = s.retval;\n case 21:\n case 22:\n { step = 28; continue; }\n case 23:\n s.tmp_2 = Sprite_bottom__P635_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 49; return s.tmp_2;\n case 49:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = s.arg1.fields["offsetY"];\n s.tmp_4 = r0;\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n s.tmp_5 = r0;\n r0 = (s.tmp_4 + s.tmp_5);\n s.tmp_3 = r0;\n r0 = (s.tmp_1 > s.tmp_3);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 26; continue; }\n s.tmp_6 = Sprite_bottom__P636_mk(s);\n s.tmp_6.arg0 = s.arg0;\n r0 = s.arg1.fields["offsetY"];\n s.tmp_7 = r0;\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n s.tmp_8 = r0;\n r0 = (s.tmp_7 + s.tmp_8);\n s.tmp_6.arg1 = r0;\n s.pc = 50; return s.tmp_6;\n case 50:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(s.bounce___12537);\n if (!r0) { step = 24; continue; }\n s.tmp_0 = Sprite_vy__P616_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_2 = Sprite_vy__P615_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 52; return s.tmp_2;\n case 52:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (0 - s.tmp_1);\n s.tmp_0.arg1 = r0;\n s.pc = 51; return s.tmp_0;\n case 51:\n r0 = s.retval;\n case 24:\n case 25:\n case 26:\n case 27:\n case 28:\n case 29:\n case 30:\n r0 = s.arg0.fields["updateSay"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 31; continue; }\n s.tmp_1 = lambda_3_mk(s);\n r0 = s.arg0.fields["updateSay"];\n s.tmp_1.argL = r0;\n s.tmp_1.arg0 = s.arg2;\n s.tmp_1.arg1 = s.arg1;\n setupLambda(s.tmp_1, s.tmp_1.argL);\n s.pc = 53; return s.tmp_1;\n case 53:\n r0 = s.retval;\n case 31:\n case 32:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite___update__P645.info = {"start":20356,"length":1390,"line":624,"column":4,"endLine":663,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"__update","argumentNames":["this","camera","dt"]}\n\nfunction Sprite___update__P645_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite___update__P645, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n bounce___12537: undefined,\n tm___12541: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction Sprite_isOutOfScreen__P643(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.ox___12610 = undefined;\n s.oy___12613 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg1.fields["offsetX"];\n s.ox___12610 = (r0);\n r0 = s.arg1.fields["offsetY"];\n s.oy___12613 = (r0);\n s.tmp_3 = Sprite_right__P631_mk(s);\n s.tmp_3.arg0 = s.arg0;\n s.pc = 7; return s.tmp_3;\n case 7:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - s.ox___12610);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n s.tmp_6 = Sprite_bottom__P635_mk(s);\n s.tmp_6.arg0 = s.arg0;\n s.pc = 8; return s.tmp_6;\n case 8:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = (s.tmp_5 - s.oy___12613);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 < 0);\n case 2:\n // jmp value (already in r0)\n s.tmp_7 = r0;\n r0 = pxsim_numops_toBool(s.tmp_7);\n if (!r0) { step = 3; continue; }\n r0 = s.tmp_7;\n { step = 4; continue; }\n case 3:\n s.tmp_10 = Sprite_left__P629_mk(s);\n s.tmp_10.arg0 = s.arg0;\n s.pc = 9; return s.tmp_10;\n case 9:\n r0 = s.retval;\n s.tmp_9 = r0;\n r0 = (s.tmp_9 - s.ox___12610);\n s.tmp_8 = r0;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_11 = r0;\n r0 = (s.tmp_8 > s.tmp_11);\n case 4:\n // jmp value (already in r0)\n s.tmp_12 = r0;\n r0 = pxsim_numops_toBool(s.tmp_12);\n if (!r0) { step = 5; continue; }\n r0 = s.tmp_12;\n { step = 6; continue; }\n case 5:\n s.tmp_15 = Sprite_top__P633_mk(s);\n s.tmp_15.arg0 = s.arg0;\n s.pc = 10; return s.tmp_15;\n case 10:\n r0 = s.retval;\n s.tmp_14 = r0;\n r0 = (s.tmp_14 - s.oy___12613);\n s.tmp_13 = r0;\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n s.tmp_16 = r0;\n r0 = (s.tmp_13 > s.tmp_16);\n case 6:\n // jmp value (already in r0)\n s.tmp_17 = r0;\n r0 = s.tmp_17;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_isOutOfScreen__P643.info = {"start":18834,"length":248,"line":582,"column":4,"endLine":586,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"isOutOfScreen","argumentNames":["this","camera"]}\n\nfunction Sprite_isOutOfScreen__P643_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_isOutOfScreen__P643, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n tmp_12: undefined,\n tmp_13: undefined,\n tmp_14: undefined,\n tmp_15: undefined,\n tmp_16: undefined,\n tmp_17: undefined,\n ox___12610: undefined,\n oy___12613: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_right__P632(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_0 = Sprite_left__P630_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_1 = r0 = s.arg1;\n r0 = s.arg0.fields["_image"];\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 - s.tmp_2);\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_right__P632.info = {"start":8248,"length":71,"line":295,"column":4,"endLine":297,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"right","argumentNames":["this","value"]}\n\nfunction Sprite_right__P632_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_right__P632, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_data__P622(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = (s.arg0).fields["_data"] = (s.arg1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_data__P622.info = {"start":3261,"length":56,"line":127,"column":4,"endLine":129,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"data","argumentNames":["this","value"]}\n\nfunction Sprite_data__P622_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_data__P622, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_data__P621(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields["_data"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_3 = r0 = s.arg0;\n r0 = pxsim_pxtrt.mkMap();\n s.tmp_4 = r0;\n r0 = (s.tmp_3).fields["_data"] = (s.tmp_4);\n case 1:\n case 2:\n r0 = s.arg0.fields["_data"];\n return leave(s, r0)\n default: oops()\n} } }\nSprite_data__P621.info = {"start":3163,"length":92,"line":122,"column":4,"endLine":125,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"data","argumentNames":["this"]}\n\nfunction Sprite_data__P621_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_data__P621, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction sprites_BaseSprite___update__P514(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_BaseSprite__C508_VT)) failedCast(r0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_BaseSprite___update__P514.info = {"start":1027,"length":46,"line":45,"column":8,"endLine":45,"endColumn":54,"fileName":"pxt_modules/game/basesprite.ts","functionName":"__update","argumentNames":["this","camera","dt"]}\n\nfunction sprites_BaseSprite___update__P514_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_BaseSprite___update__P514, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction sprites_BaseSprite___draw__P512(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_BaseSprite__C508_VT)) failedCast(r0);\n s.tmp_1 = sprites_BaseSprite__C508_v0_1_mk(s);\n s.tmp_1.arg0 = s.arg0;\n if (!checkSubtype(s.tmp_1.arg0, sprites_BaseSprite__C508_VT)) failedCast(s.tmp_1.arg0);\n s.tmp_1.fn = s.tmp_1.arg0.vtable.methods.__visible;\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_2 = sprites_BaseSprite__C508_v2_2_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.tmp_2.arg1 = s.arg1;\n if (!checkSubtype(s.tmp_2.arg0, sprites_BaseSprite__C508_VT)) failedCast(s.tmp_2.arg0);\n s.tmp_2.fn = s.tmp_2.arg0.vtable.methods.__drawCore;\n s.pc = 4; return s.tmp_2;\n case 4:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_BaseSprite___draw__P512.info = {"start":840,"length":131,"line":37,"column":8,"endLine":41,"endColumn":9,"fileName":"pxt_modules/game/basesprite.ts","functionName":"__draw","argumentNames":["this","camera"]}\n\nfunction sprites_BaseSprite___draw__P512_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_BaseSprite___draw__P512, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction sprites_BaseSprite___drawCore__P513(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_BaseSprite__C508_VT)) failedCast(r0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_BaseSprite___drawCore__P513.info = {"start":981,"length":36,"line":43,"column":8,"endLine":43,"endColumn":44,"fileName":"pxt_modules/game/basesprite.ts","functionName":"__drawCore","argumentNames":["this","camera"]}\n\nfunction sprites_BaseSprite___drawCore__P513_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_BaseSprite___drawCore__P513, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction sprites_BaseSprite___visible__P509(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_BaseSprite__C508_VT)) failedCast(r0);\n r0 = true;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_BaseSprite___visible__P509.info = {"start":524,"length":57,"line":22,"column":8,"endLine":24,"endColumn":9,"fileName":"pxt_modules/game/basesprite.ts","functionName":"__visible","argumentNames":["this"]}\n\nfunction sprites_BaseSprite___visible__P509_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_BaseSprite___visible__P509, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller_Button_toString__P539(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Button__C538_VT)) failedCast(r0);\n r0 = s.arg0.fields["_pressed"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = "down";\n { step = 2; continue; }\n case 1:\n r0 = "up";\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = s.arg0.fields["id"];\n s.tmp_7 = r0;\n if ((s.tmp_7) && (s.tmp_7).vtable) {\n setupResume(s, 3);\n pxsim_String__stringConv(s.tmp_7);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_7) + ""; }\n case 3:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = pxsim_String__concat("btn ", s.tmp_6);\n s.tmp_5 = r0;\n r0 = pxsim_String__concat(s.tmp_5, " ");\n s.tmp_4 = r0;\n r0 = s.arg0.fields["_buttonId"];\n s.tmp_9 = r0;\n if ((s.tmp_9) && (s.tmp_9).vtable) {\n setupResume(s, 4);\n pxsim_String__stringConv(s.tmp_9);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_9) + ""; }\n case 4:\n r0 = s.retval;\n s.tmp_8 = r0;\n r0 = pxsim_String__concat(s.tmp_4, s.tmp_8);\n s.tmp_3 = r0;\n r0 = pxsim_String__concat(s.tmp_3, " ");\n s.tmp_2 = r0;\n if ((s.tmp_1) && (s.tmp_1).vtable) {\n setupResume(s, 5);\n pxsim_String__stringConv(s.tmp_1);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_1) + ""; }\n case 5:\n r0 = s.retval;\n s.tmp_10 = r0;\n r0 = pxsim_String__concat(s.tmp_2, s.tmp_10);\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Button_toString__P539.info = {"start":1226,"length":118,"line":56,"column":8,"endLine":58,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"toString","argumentNames":["this"]}\n\nfunction controller_Button_toString__P539_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Button_toString__P539, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction sprites_StaticObstacle_width__P704(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_StaticObstacle__C700_VT)) failedCast(r0);\n r0 = s.arg0.fields["image"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\nsprites_StaticObstacle_width__P704.info = {"start":1084,"length":68,"line":48,"column":8,"endLine":50,"endColumn":9,"fileName":"pxt_modules/game/obstacle.ts","functionName":"width","argumentNames":["this"]}\n\nfunction sprites_StaticObstacle_width__P704_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_StaticObstacle_width__P704, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction sprites_StaticObstacle_height__P703(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_StaticObstacle__C700_VT)) failedCast(r0);\n r0 = s.arg0.fields["image"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\nsprites_StaticObstacle_height__P703.info = {"start":1004,"length":70,"line":44,"column":8,"endLine":46,"endColumn":9,"fileName":"pxt_modules/game/obstacle.ts","functionName":"height","argumentNames":["this"]}\n\nfunction sprites_StaticObstacle_height__P703_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_StaticObstacle_height__P703, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction sprites_StaticObstacle_y__P702(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_StaticObstacle__C700_VT)) failedCast(r0);\n r0 = s.arg0.fields["top"];\n s.tmp_1 = r0;\n r0 = s.arg0.fields["image"];\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 + s.tmp_2);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 >> 1);\n return leave(s, r0)\n default: oops()\n} } }\nsprites_StaticObstacle_y__P702.info = {"start":919,"length":75,"line":40,"column":8,"endLine":42,"endColumn":9,"fileName":"pxt_modules/game/obstacle.ts","functionName":"y","argumentNames":["this"]}\n\nfunction sprites_StaticObstacle_y__P702_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_StaticObstacle_y__P702, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction sprites_StaticObstacle_x__P701(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_StaticObstacle__C700_VT)) failedCast(r0);\n r0 = s.arg0.fields["left"];\n s.tmp_1 = r0;\n r0 = s.arg0.fields["image"];\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 + s.tmp_2);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 >> 1);\n return leave(s, r0)\n default: oops()\n} } }\nsprites_StaticObstacle_x__P701.info = {"start":834,"length":75,"line":36,"column":8,"endLine":38,"endColumn":9,"fileName":"pxt_modules/game/obstacle.ts","functionName":"x","argumentNames":["this"]}\n\nfunction sprites_StaticObstacle_x__P701_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_StaticObstacle_x__P701, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction animation_PathNode_constructor__P1518(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, animation_PathNode__C1514_VT)) failedCast(r0);\n r0 = (s.arg0).fields["setStart"] = (false);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nanimation_PathNode_constructor__P1518.info = {"start":13061,"length":60,"line":306,"column":8,"endLine":308,"endColumn":9,"fileName":"pxt_modules/animation/animation.ts","functionName":"inline","argumentNames":["this"]}\n\nfunction animation_PathNode_constructor__P1518_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: animation_PathNode_constructor__P1518, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction animation_Path_constructor__P1513(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, animation_Path__C1506_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields["nodes"] = (s.tmp_1);\n r0 = (s.arg0).fields["lastNode"] = (-1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nanimation_Path_constructor__P1513.info = {"start":785,"length":86,"line":32,"column":8,"endLine":35,"endColumn":9,"fileName":"pxt_modules/animation/animation.ts","functionName":"inline","argumentNames":["this"]}\n\nfunction animation_Path_constructor__P1513_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: animation_Path_constructor__P1513, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_Renderable___drawCore__P893(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Renderable__C890_VT)) failedCast(r0);\n s.tmp_0 = lambda_3_mk(s);\n r0 = s.arg0.fields["handler"];\n s.tmp_0.argL = r0;\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_0.arg1 = s.arg1;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_Renderable___drawCore__P893.info = {"start":390,"length":86,"line":14,"column":8,"endLine":16,"endColumn":9,"fileName":"pxt_modules/game/renderable.ts","functionName":"__drawCore","argumentNames":["this","camera"]}\n\nfunction scene_Renderable___drawCore__P893_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Renderable___drawCore__P893, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction scene_Renderable___visible__P892(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Renderable__C890_VT)) failedCast(r0);\n s.tmp_0 = lambda_1_mk(s);\n r0 = s.arg0.fields["shouldBeVisible"];\n s.tmp_0.argL = r0;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n return leave(s, r0)\n default: oops()\n} } }\nscene_Renderable___visible__P892.info = {"start":305,"length":75,"line":10,"column":8,"endLine":12,"endColumn":9,"fileName":"pxt_modules/game/renderable.ts","functionName":"__visible","argumentNames":["this"]}\n\nfunction scene_Renderable___visible__P892_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Renderable___visible__P892, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction effects_SceneAnchor_height__P1412(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, effects_SceneAnchor__C1408_VT)) failedCast(r0);\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n return leave(s, r0)\n default: oops()\n} } }\neffects_SceneAnchor_height__P1412.info = {"start":2494,"length":58,"line":70,"column":8,"endLine":72,"endColumn":9,"fileName":"pxt_modules/game/particleeffects.ts","functionName":"height","argumentNames":["this"]}\n\nfunction effects_SceneAnchor_height__P1412_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: effects_SceneAnchor_height__P1412, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction particles_ShapeFactory_drawParticle__P1361(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.pImage___12707 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ShapeFactory__C1358_VT)) failedCast(r0);\n s.tmp_1 = Math_FastRandom_pickRandom__P1159_mk(s);\n r0 = s.arg0.fields["galois"];\n s.tmp_1.arg0 = r0;\n r0 = s.arg0.fields["sources"];\n s.tmp_1.arg1 = r0;\n s.pc = 1; return s.tmp_1;\n case 1:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.clone(s.tmp_0);\n s.pImage___12707 = (r0);\n r0 = s.arg1.fields["color"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.replace(s.pImage___12707, 15, s.tmp_0);\n s.tmp_0 = r0 = globals.screen___464;\n s.tmp_1 = r0 = s.pImage___12707;\n r0 = s.arg0.fields["ox"];\n s.tmp_4 = r0;\n r0 = (s.arg2 - s.tmp_4);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 + 128);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 >> 8);\n s.tmp_2 = r0;\n r0 = s.arg0.fields["oy"];\n s.tmp_8 = r0;\n r0 = (s.arg3 - s.tmp_8);\n s.tmp_7 = r0;\n r0 = (s.tmp_7 + 128);\n s.tmp_9 = r0;\n r0 = (s.tmp_9 >> 8);\n s.tmp_6 = r0;\n r0 = pxsim_ImageMethods.drawTransparentImage(s.tmp_0, s.tmp_1, s.tmp_2, s.tmp_6);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ShapeFactory_drawParticle__P1361.info = {"start":7172,"length":323,"line":229,"column":8,"endLine":237,"endColumn":9,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"drawParticle","argumentNames":["this","p","x","y"]}\n\nfunction particles_ShapeFactory_drawParticle__P1361_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ShapeFactory_drawParticle__P1361, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n pImage___12707: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction Math_FastRandom_pickRandom__P1159(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Math_FastRandom__C1156_VT)) failedCast(r0);\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = pxsim_Array__length(s.arg1);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 == 0);\n case 2:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 3; continue; }\n r0 = undefined;\n { step = 5; continue; }\n case 3:\n case 4:\n s.tmp_4 = r0 = s.arg1;\n s.tmp_6 = Math_FastRandom_randomRange__P1158_mk(s);\n s.tmp_6.arg0 = s.arg0;\n s.tmp_6.arg1 = 0;\n r0 = pxsim_Array__length(s.arg1);\n s.tmp_7 = r0;\n r0 = (s.tmp_7 - 1);\n s.tmp_6.arg2 = r0;\n s.pc = 6; return s.tmp_6;\n case 6:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = pxsim_Array__getAt(s.tmp_4, s.tmp_5);\n case 5:\n return leave(s, r0)\n default: oops()\n} } }\nMath_FastRandom_pickRandom__P1159.info = {"start":2325,"length":192,"line":69,"column":8,"endLine":74,"endColumn":9,"fileName":"pxt_modules/game/mathUtil.ts","functionName":"pickRandom","argumentNames":["this","list"]}\n\nfunction Math_FastRandom_pickRandom__P1159_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Math_FastRandom_pickRandom__P1159, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction particles_AreaFactory_drawParticle__P1351(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.col___12750 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_AreaFactory__C1348_VT)) failedCast(r0);\n r0 = s.arg1.fields["lifespan"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > 500);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = 4;\n { step = 4; continue; }\n case 1:\n r0 = s.arg1.fields["lifespan"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 > 250);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 2; continue; }\n r0 = 5;\n { step = 3; continue; }\n case 2:\n r0 = 1;\n case 3:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n r0 = s.tmp_4;\n case 4:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n s.col___12750 = (s.tmp_5);\n s.tmp_0 = r0 = globals.screen___464;\n r0 = (s.arg2 + 128);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 >> 8);\n s.tmp_1 = r0;\n r0 = (s.arg3 + 128);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 >> 8);\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.setPixel(s.tmp_0, s.tmp_1, s.tmp_3, s.col___12750);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_AreaFactory_drawParticle__P1351.info = {"start":4770,"length":222,"line":158,"column":8,"endLine":163,"endColumn":9,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"drawParticle","argumentNames":["this","p","x","y"]}\n\nfunction particles_AreaFactory_drawParticle__P1351_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_AreaFactory_drawParticle__P1351, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n col___12750: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction particles_SprayFactory_drawParticle__P1344(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_SprayFactory__C1341_VT)) failedCast(r0);\n s.tmp_0 = r0 = globals.screen___464;\n r0 = (s.arg2 + 128);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 >> 8);\n s.tmp_1 = r0;\n r0 = (s.arg3 + 128);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 >> 8);\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.setPixel(s.tmp_0, s.tmp_1, s.tmp_3, 1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_SprayFactory_drawParticle__P1344.info = {"start":3194,"length":118,"line":115,"column":8,"endLine":117,"endColumn":9,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"drawParticle","argumentNames":["this","particle","x","y"]}\n\nfunction particles_SprayFactory_drawParticle__P1344_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_SprayFactory_drawParticle__P1344, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction Sprite___drawCore__P644(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.l___12787 = undefined;\n s.t___12791 = undefined;\n s.font___12806 = undefined;\n s.margin___12808 = undefined;\n s.tx___12809 = undefined;\n s.ty___12811 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_1 = Sprite_isOutOfScreen__P643_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.tmp_1.arg1 = s.arg1;\n s.pc = 16; return s.tmp_1;\n case 16:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 15; continue; }\n case 1:\n case 2:\n s.tmp_3 = Sprite_left__P629_mk(s);\n s.tmp_3.arg0 = s.arg0;\n s.pc = 17; return s.tmp_3;\n case 17:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = s.arg1.fields["drawOffsetX"];\n s.tmp_4 = r0;\n r0 = (s.tmp_2 - s.tmp_4);\n s.l___12787 = (r0);\n s.tmp_1 = Sprite_top__P633_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.pc = 18; return s.tmp_1;\n case 18:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = s.arg1.fields["drawOffsetY"];\n s.tmp_2 = r0;\n r0 = (s.tmp_0 - s.tmp_2);\n s.t___12791 = (r0);\n r0 = s.arg0.fields["_image"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.drawTransparentImage(globals.screen___464, s.tmp_0, s.l___12787, s.t___12791);\n r0 = s.arg0.fields["flags"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 & 64);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 11; continue; }\n s.font___12806 = (globals.font5___428);\n s.margin___12808 = (2);\n s.tx___12809 = (s.l___12787);\n s.tmp_2 = Sprite_bottom__P635_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 19; return s.tmp_2;\n case 19:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 + s.margin___12808);\n s.tmp_0 = r0;\n r0 = s.arg1.fields["drawOffsetY"];\n s.tmp_3 = r0;\n r0 = (s.tmp_0 - s.tmp_3);\n s.ty___12811 = (r0);\n s.tmp_0 = helpers_imagePrint__P432_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n r0 = pxsim_String_.mkEmpty();\n s.tmp_3 = r0;\n s.tmp_7 = Sprite_x__P609_mk(s);\n s.tmp_7.arg0 = s.arg0;\n s.pc = 21; return s.tmp_7;\n case 21:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = (s.tmp_6 >> 0);\n s.tmp_5 = r0;\n if ((s.tmp_5) && (s.tmp_5).vtable) {\n setupResume(s, 22);\n pxsim_String__stringConv(s.tmp_5);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_5) + ""; }\n case 22:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = pxsim_String__concat(s.tmp_3, s.tmp_4);\n s.tmp_2 = r0;\n r0 = pxsim_String__concat(s.tmp_2, ",");\n s.tmp_1 = r0;\n s.tmp_11 = Sprite_y__P611_mk(s);\n s.tmp_11.arg0 = s.arg0;\n s.pc = 23; return s.tmp_11;\n case 23:\n r0 = s.retval;\n s.tmp_10 = r0;\n r0 = (s.tmp_10 >> 0);\n s.tmp_9 = r0;\n if ((s.tmp_9) && (s.tmp_9).vtable) {\n setupResume(s, 24);\n pxsim_String__stringConv(s.tmp_9);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_9) + ""; }\n case 24:\n r0 = s.retval;\n s.tmp_8 = r0;\n r0 = pxsim_String__concat(s.tmp_1, s.tmp_8);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = s.tx___12809;\n s.tmp_0.arg3 = s.ty___12811;\n s.tmp_0.arg4 = 1;\n s.tmp_0.arg5 = s.font___12806;\n s.tmp_0.arg6 = undefined;\n s.pc = 20; return s.tmp_0;\n case 20:\n r0 = s.retval;\n s.tmp_0 = r0 = s.tx___12809;\n s.tmp_2 = if_charWidth_1_mk(s);\n s.tmp_2.arg0 = s.font___12806;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "charWidth");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["charWidth"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["charWidth"]; }\n else { s.pc = 25; return s.tmp_2; }\n }\n case 25:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0 - s.tmp_1);\n s.tx___12809 = (r0);\n s.tmp_1 = Sprite_vx__P613_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.pc = 26; return s.tmp_1;\n case 26:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = s.tmp_0;\n { step = 4; continue; }\n case 3:\n s.tmp_2 = Sprite_vy__P615_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 27; return s.tmp_2;\n case 27:\n r0 = s.retval;\n case 4:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 5; continue; }\n s.tmp_4 = r0 = s.ty___12811;\n s.tmp_7 = if_charHeight_1_mk(s);\n s.tmp_7.arg0 = s.font___12806;\n if (!s.tmp_7.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_7.arg0, "charHeight");\n } else {\n s.tmp_7.fn = s.tmp_7.arg0.vtable.iface["charHeight"];\n if (s.tmp_7.fn == null) { s.retval = s.tmp_7.arg0.fields["charHeight"]; }\n else { s.pc = 28; return s.tmp_7; }\n }\n case 28:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = (s.tmp_6 + s.margin___12808);\n s.tmp_5 = r0;\n r0 = (s.tmp_4 + s.tmp_5);\n s.ty___12811 = (r0);\n s.tmp_0 = helpers_imagePrint__P432_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_6 = Sprite_vx__P613_mk(s);\n s.tmp_6.arg0 = s.arg0;\n s.pc = 30; return s.tmp_6;\n case 30:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = (s.tmp_5 >> 0);\n s.tmp_4 = r0;\n if ((s.tmp_4) && (s.tmp_4).vtable) {\n setupResume(s, 31);\n pxsim_String__stringConv(s.tmp_4);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_4) + ""; }\n case 31:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = pxsim_String__concat("v", s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_String__concat(s.tmp_2, ",");\n s.tmp_1 = r0;\n s.tmp_10 = Sprite_vy__P615_mk(s);\n s.tmp_10.arg0 = s.arg0;\n s.pc = 32; return s.tmp_10;\n case 32:\n r0 = s.retval;\n s.tmp_9 = r0;\n r0 = (s.tmp_9 >> 0);\n s.tmp_8 = r0;\n if ((s.tmp_8) && (s.tmp_8).vtable) {\n setupResume(s, 33);\n pxsim_String__stringConv(s.tmp_8);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_8) + ""; }\n case 33:\n r0 = s.retval;\n s.tmp_7 = r0;\n r0 = pxsim_String__concat(s.tmp_1, s.tmp_7);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = s.tx___12809;\n s.tmp_0.arg3 = s.ty___12811;\n s.tmp_0.arg4 = 1;\n s.tmp_0.arg5 = s.font___12806;\n s.tmp_0.arg6 = undefined;\n s.pc = 29; return s.tmp_0;\n case 29:\n r0 = s.retval;\n case 5:\n case 6:\n s.tmp_1 = Sprite_ax__P617_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.pc = 34; return s.tmp_1;\n case 34:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 7; continue; }\n r0 = s.tmp_0;\n { step = 8; continue; }\n case 7:\n s.tmp_2 = Sprite_ay__P619_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 35; return s.tmp_2;\n case 35:\n r0 = s.retval;\n case 8:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 9; continue; }\n s.tmp_4 = r0 = s.ty___12811;\n s.tmp_7 = if_charHeight_1_mk(s);\n s.tmp_7.arg0 = s.font___12806;\n if (!s.tmp_7.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_7.arg0, "charHeight");\n } else {\n s.tmp_7.fn = s.tmp_7.arg0.vtable.iface["charHeight"];\n if (s.tmp_7.fn == null) { s.retval = s.tmp_7.arg0.fields["charHeight"]; }\n else { s.pc = 36; return s.tmp_7; }\n }\n case 36:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = (s.tmp_6 + s.margin___12808);\n s.tmp_5 = r0;\n r0 = (s.tmp_4 + s.tmp_5);\n s.ty___12811 = (r0);\n s.tmp_0 = helpers_imagePrint__P432_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_6 = Sprite_ax__P617_mk(s);\n s.tmp_6.arg0 = s.arg0;\n s.pc = 38; return s.tmp_6;\n case 38:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = (s.tmp_5 >> 0);\n s.tmp_4 = r0;\n if ((s.tmp_4) && (s.tmp_4).vtable) {\n setupResume(s, 39);\n pxsim_String__stringConv(s.tmp_4);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_4) + ""; }\n case 39:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = pxsim_String__concat("a", s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_String__concat(s.tmp_2, ",");\n s.tmp_1 = r0;\n s.tmp_10 = Sprite_ay__P619_mk(s);\n s.tmp_10.arg0 = s.arg0;\n s.pc = 40; return s.tmp_10;\n case 40:\n r0 = s.retval;\n s.tmp_9 = r0;\n r0 = (s.tmp_9 >> 0);\n s.tmp_8 = r0;\n if ((s.tmp_8) && (s.tmp_8).vtable) {\n setupResume(s, 41);\n pxsim_String__stringConv(s.tmp_8);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_8) + ""; }\n case 41:\n r0 = s.retval;\n s.tmp_7 = r0;\n r0 = pxsim_String__concat(s.tmp_1, s.tmp_7);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = s.tx___12809;\n s.tmp_0.arg3 = s.ty___12811;\n s.tmp_0.arg4 = 1;\n s.tmp_0.arg5 = s.font___12806;\n s.tmp_0.arg6 = undefined;\n s.pc = 37; return s.tmp_0;\n case 37:\n r0 = s.retval;\n case 9:\n case 10:\n case 11:\n case 12:\n r0 = pxsim_numops_toBoolDecr(globals.debug___998);\n if (!r0) { step = 13; continue; }\n s.tmp_0 = helpers_imageDrawRect__P414_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_3 = game_Hitbox_left__P594_mk(s);\n r0 = s.arg0.fields["_hitbox"];\n s.tmp_3.arg0 = r0;\n s.pc = 43; return s.tmp_3;\n case 43:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + 128);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 >> 8);\n s.tmp_1 = r0;\n r0 = s.arg1.fields["drawOffsetX"];\n s.tmp_5 = r0;\n r0 = (s.tmp_1 - s.tmp_5);\n s.tmp_0.arg1 = r0;\n s.tmp_8 = game_Hitbox_top__P595_mk(s);\n r0 = s.arg0.fields["_hitbox"];\n s.tmp_8.arg0 = r0;\n s.pc = 44; return s.tmp_8;\n case 44:\n r0 = s.retval;\n s.tmp_7 = r0;\n r0 = (s.tmp_7 + 128);\n s.tmp_9 = r0;\n r0 = (s.tmp_9 >> 8);\n s.tmp_6 = r0;\n r0 = s.arg1.fields["drawOffsetY"];\n s.tmp_10 = r0;\n r0 = (s.tmp_6 - s.tmp_10);\n s.tmp_0.arg2 = r0;\n r0 = s.arg0.fields["_hitbox"];\n r0 = r0.fields["width"];\n s.tmp_0.arg3 = r0;\n r0 = s.arg0.fields["_hitbox"];\n r0 = r0.fields["height"];\n s.tmp_0.arg4 = r0;\n s.tmp_0.arg5 = 1;\n s.pc = 42; return s.tmp_0;\n case 42:\n r0 = s.retval;\n case 13:\n case 14:\n case 15:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite___drawCore__P644.info = {"start":19088,"length":1262,"line":588,"column":4,"endLine":622,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"__drawCore","argumentNames":["this","camera"]}\n\nfunction Sprite___drawCore__P644_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite___drawCore__P644, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n l___12787: undefined,\n t___12791: undefined,\n font___12806: undefined,\n margin___12808: undefined,\n tx___12809: undefined,\n ty___12811: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite___visible__P626(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields["flags"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 & 128);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\nSprite___visible__P626.info = {"start":7151,"length":72,"line":254,"column":4,"endLine":256,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"__visible","argumentNames":["this"]}\n\nfunction Sprite___visible__P626_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite___visible__P626, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\nfunction lambda_3_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\nfunction if_flags_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction particles_ParticleFactory__C1337_v0_2_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\nfunction particles_ParticleSource__C1285_v4_3_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\nfunction if_x_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_y_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_id_2_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\nfunction lambda_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction lambda_2_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\nfunction if_startScreenEffect_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction game_GameOverDialog__C983_v0_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction PhysicsEngine__C708_v4_2_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\nfunction if___update_3_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\nfunction PhysicsEngine__C708_v3_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_charHeight_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_charWidth_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_multiplier_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_data_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_xOffset_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_yOffset_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if___draw_2_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\nfunction if_z_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_id_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction game_GameOverDialog__C983_v1_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction lambda_5_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n} }\n\n\nfunction PhysicsEngine__C708_v2_4_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\nfunction if_animations_2_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\nfunction if_animations_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction animation_SpriteAnimation__C1541_v0_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction PhysicsEngine__C708_v0_2_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\nfunction PhysicsEngine__C708_v1_2_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\nfunction lambda_4_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\nfunction if_padding_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_cardsPerRow_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_cardWidth_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_cardSpacing_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_cardsTop_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_headerText_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_headerFont_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_infoTop_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_infoFont_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_basicCard_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_selectedCard_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_activeCard_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_z_2_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\nfunction animation_PathNode__C1514_v0_4_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\nfunction if_tileIndex_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction game_BaseDialog__C952_v1_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_height_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction particles_ParticleFactory__C1337_v1_4_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\nfunction sprites_BaseSprite__C508_v0_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction sprites_BaseSprite__C508_v2_2_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\nfunction if_scene_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_state_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_up_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_yOffset_2_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\nfunction if_up_2_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\nfunction if_width_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\nconst controller_Button__C538_VT = mkVTable({\n name: "Button",\n numFields: 8,\n classNo: 16,\n lastSubtypeNo: 16,\n methods: {\n },\n iface: {\n "_owner": null,\n "set/_owner": null,\n "id": null,\n "set/id": null,\n "repeatDelay": null,\n "set/repeatDelay": null,\n "repeatInterval": null,\n "set/repeatInterval": null,\n "_pressed": null,\n "set/_pressed": null,\n "_pressedElasped": null,\n "set/_pressedElasped": null,\n "_repeatCount": null,\n "set/_repeatCount": null,\n "_buttonId": null,\n "set/_buttonId": null,\n "toString": controller_Button_toString__P539,\n "raiseButtonUp": controller_Button_raiseButtonUp__P540,\n "raiseButtonDown": controller_Button_raiseButtonDown__P541,\n "raiseButtonRepeat": controller_Button_raiseButtonRepeat__P542,\n "onEvent": controller_Button_onEvent__P543,\n "isPressed": controller_Button_isPressed__P545,\n "setPressed": controller_Button_setPressed__P546,\n "__update": controller_Button___update__P547,\n },\n toStringMethod: controller_Button_toString__P539,\n});\nconst Math_FastRandom__C1156_VT = mkVTable({\n name: "FastRandom",\n numFields: 2,\n classNo: 17,\n lastSubtypeNo: 17,\n methods: {\n },\n iface: {\n "lfsr": null,\n "set/lfsr": null,\n "seed": null,\n "set/seed": null,\n "next": Math_FastRandom_next__P1157,\n "randomRange": Math_FastRandom_randomRange__P1158,\n "pickRandom": Math_FastRandom_pickRandom__P1159,\n },\n});\nconst texteffects_TextEffect__C1448_VT = mkVTable({\n name: "TextEffect",\n numFields: 1,\n classNo: 18,\n lastSubtypeNo: 18,\n methods: {\n },\n iface: {\n "getState": null,\n "set/getState": null,\n },\n});\nconst sprites_BaseSprite__C508_VT = mkVTable({\n name: "BaseSprite",\n numFields: 2,\n classNo: 19,\n lastSubtypeNo: 22,\n methods: {\n "__visible": sprites_BaseSprite___visible__P509,\n "__draw": sprites_BaseSprite___draw__P512,\n "__drawCore": sprites_BaseSprite___drawCore__P513,\n "__update": sprites_BaseSprite___update__P514,\n },\n iface: {\n "_z": null,\n "set/_z": null,\n "id": null,\n "set/id": null,\n "__visible": sprites_BaseSprite___visible__P509,\n "z": sprites_BaseSprite_z__P510,\n "set/z": sprites_BaseSprite_z__P511,\n "__draw": sprites_BaseSprite___draw__P512,\n "__drawCore": sprites_BaseSprite___drawCore__P513,\n "__update": sprites_BaseSprite___update__P514,\n },\n});\nconst Sprite__C607_VT = mkVTable({\n name: "Sprite",\n numFields: 24,\n classNo: 20,\n lastSubtypeNo: 20,\n methods: {\n "__visible": Sprite___visible__P626,\n "__draw": sprites_BaseSprite___draw__P512,\n "__drawCore": Sprite___drawCore__P644,\n "__update": Sprite___update__P645,\n },\n iface: {\n "_z": null,\n "set/_z": null,\n "id": null,\n "set/id": null,\n "_x": null,\n "set/_x": null,\n "_y": null,\n "set/_y": null,\n "_vx": null,\n "set/_vx": null,\n "_vy": null,\n "set/_vy": null,\n "_ax": null,\n "set/_ax": null,\n "_ay": null,\n "set/_ay": null,\n "_data": null,\n "set/_data": null,\n "_kind": null,\n "set/_kind": null,\n "layer": null,\n "set/layer": null,\n "_lastX": null,\n "set/_lastX": null,\n "_lastY": null,\n "set/_lastY": null,\n "_action": null,\n "set/_action": null,\n "lifespan": null,\n "set/lifespan": null,\n "_image": null,\n "set/_image": null,\n "_obstacles": null,\n "set/_obstacles": null,\n "updateSay": null,\n "set/updateSay": null,\n "sayBubbleSprite": null,\n "set/sayBubbleSprite": null,\n "_hitbox": null,\n "set/_hitbox": null,\n "_overlappers": null,\n "set/_overlappers": null,\n "_kindsOverlappedWith": null,\n "set/_kindsOverlappedWith": null,\n "flags": null,\n "set/flags": null,\n "destroyHandler": null,\n "set/destroyHandler": null,\n "x": Sprite_x__P609,\n "set/x": Sprite_x__P610,\n "y": Sprite_y__P611,\n "set/y": Sprite_y__P612,\n "vx": Sprite_vx__P613,\n "set/vx": Sprite_vx__P614,\n "vy": Sprite_vy__P615,\n "set/vy": Sprite_vy__P616,\n "ax": Sprite_ax__P617,\n "set/ax": Sprite_ax__P618,\n "ay": Sprite_ay__P619,\n "set/ay": Sprite_ay__P620,\n "data": Sprite_data__P621,\n "set/data": Sprite_data__P622,\n "image": Sprite_image__P624,\n "setImage": Sprite_setImage__P625,\n "__visible": Sprite___visible__P626,\n "width": Sprite_width__P627,\n "height": Sprite_height__P628,\n "left": Sprite_left__P629,\n "set/left": Sprite_left__P630,\n "right": Sprite_right__P631,\n "set/right": Sprite_right__P632,\n "top": Sprite_top__P633,\n "set/top": Sprite_top__P634,\n "bottom": Sprite_bottom__P635,\n "set/bottom": Sprite_bottom__P636,\n "kind": Sprite_kind__P637,\n "setKind": Sprite_setKind__P638,\n "setPosition": Sprite_setPosition__P639,\n "setVelocity": Sprite_setVelocity__P640,\n "isOutOfScreen": Sprite_isOutOfScreen__P643,\n "__drawCore": Sprite___drawCore__P644,\n "__update": Sprite___update__P645,\n "setFlag": Sprite_setFlag__P646,\n "overlapsWith": Sprite_overlapsWith__P647,\n "clearObstacles": Sprite_clearObstacles__P650,\n "registerObstacle": Sprite_registerObstacle__P651,\n "destroy": Sprite_destroy__P653,\n "_destroyCore": Sprite__destroyCore__P654,\n "toString": Sprite_toString__P656,\n "z": sprites_BaseSprite_z__P510,\n "set/z": sprites_BaseSprite_z__P511,\n "__draw": sprites_BaseSprite___draw__P512,\n },\n toStringMethod: Sprite_toString__P656,\n});\nconst effects_ParticleEffect__C1404_VT = mkVTable({\n name: "ParticleEffect",\n numFields: 3,\n classNo: 23,\n lastSubtypeNo: 24,\n methods: {\n },\n iface: {\n "sourceFactory": null,\n "set/sourceFactory": null,\n "defaultRate": null,\n "set/defaultRate": null,\n "defaultLifespan": null,\n "set/defaultLifespan": null,\n "start": effects_ParticleEffect_start__P1405,\n "destroy": effects_ParticleEffect_destroy__P1406,\n },\n});\nconst effects_ScreenEffect__C1414_VT = mkVTable({\n name: "ScreenEffect",\n numFields: 5,\n classNo: 24,\n lastSubtypeNo: 24,\n methods: {\n },\n iface: {\n "sourceFactory": null,\n "set/sourceFactory": null,\n "defaultRate": null,\n "set/defaultRate": null,\n "defaultLifespan": null,\n "set/defaultLifespan": null,\n "source": null,\n "set/source": null,\n "sceneDefaultRate": null,\n "set/sceneDefaultRate": null,\n "startScreenEffect": effects_ScreenEffect_startScreenEffect__P1416,\n "endScreenEffect": effects_ScreenEffect_endScreenEffect__P1417,\n "start": effects_ParticleEffect_start__P1405,\n "destroy": effects_ParticleEffect_destroy__P1406,\n },\n});\nconst particles_ParticleSource__C1285_VT = mkVTable({\n name: "ParticleSource",\n numFields: 13,\n classNo: 21,\n lastSubtypeNo: 21,\n methods: {\n "__visible": sprites_BaseSprite___visible__P509,\n "__draw": particles_ParticleSource___draw__P1287,\n "__drawCore": sprites_BaseSprite___drawCore__P513,\n "__update": sprites_BaseSprite___update__P514,\n "updateParticle": particles_ParticleSource_updateParticle__P1300,\n },\n iface: {\n "_z": null,\n "set/_z": null,\n "id": null,\n "set/id": null,\n "priority": null,\n "set/priority": null,\n "_dt": null,\n "set/_dt": null,\n "anchor": null,\n "set/anchor": null,\n "lifespan": null,\n "set/lifespan": null,\n "pFlags": null,\n "set/pFlags": null,\n "head": null,\n "set/head": null,\n "timer": null,\n "set/timer": null,\n "period": null,\n "set/period": null,\n "_factory": null,\n "set/_factory": null,\n "ax": null,\n "set/ax": null,\n "ay": null,\n "set/ay": null,\n "__draw": particles_ParticleSource___draw__P1287,\n "_update": particles_ParticleSource__update__P1288,\n "_prune": particles_ParticleSource__prune__P1289,\n "setAcceleration": particles_ParticleSource_setAcceleration__P1290,\n "enabled": particles_ParticleSource_enabled__P1292,\n "set/enabled": particles_ParticleSource_enabled__P1293,\n "destroy": particles_ParticleSource_destroy__P1294,\n "clear": particles_ParticleSource_clear__P1295,\n "setAnchor": particles_ParticleSource_setAnchor__P1296,\n "setRate": particles_ParticleSource_setRate__P1297,\n "setFactory": particles_ParticleSource_setFactory__P1299,\n "updateParticle": particles_ParticleSource_updateParticle__P1300,\n "drawParticle": particles_ParticleSource_drawParticle__P1301,\n "__visible": sprites_BaseSprite___visible__P509,\n "z": sprites_BaseSprite_z__P510,\n "set/z": sprites_BaseSprite_z__P511,\n "__drawCore": sprites_BaseSprite___drawCore__P513,\n "__update": sprites_BaseSprite___update__P514,\n },\n});\nconst particles_ParticleFactory__C1337_VT = mkVTable({\n name: "ParticleFactory",\n numFields: 0,\n classNo: 25,\n lastSubtypeNo: 29,\n methods: {\n "createParticle": particles_ParticleFactory_createParticle__P1338,\n "drawParticle": particles_ParticleFactory_drawParticle__P1339,\n },\n iface: {\n "createParticle": particles_ParticleFactory_createParticle__P1338,\n "drawParticle": particles_ParticleFactory_drawParticle__P1339,\n },\n});\nconst particles_SprayFactory__C1341_VT = mkVTable({\n name: "SprayFactory",\n numFields: 3,\n classNo: 26,\n lastSubtypeNo: 29,\n methods: {\n "createParticle": particles_SprayFactory_createParticle__P1343,\n "drawParticle": particles_SprayFactory_drawParticle__P1344,\n },\n iface: {\n "speed": null,\n "set/speed": null,\n "minAngle": null,\n "set/minAngle": null,\n "spread": null,\n "set/spread": null,\n "createParticle": particles_SprayFactory_createParticle__P1343,\n "drawParticle": particles_SprayFactory_drawParticle__P1344,\n "setSpeed": particles_SprayFactory_setSpeed__P1345,\n "setDirection": particles_SprayFactory_setDirection__P1346,\n },\n});\nconst particles_AreaFactory__C1348_VT = mkVTable({\n name: "AreaFactory",\n numFields: 8,\n classNo: 27,\n lastSubtypeNo: 29,\n methods: {\n "createParticle": particles_AreaFactory_createParticle__P1350,\n "drawParticle": particles_AreaFactory_drawParticle__P1351,\n },\n iface: {\n "speed": null,\n "set/speed": null,\n "minAngle": null,\n "set/minAngle": null,\n "spread": null,\n "set/spread": null,\n "xRange": null,\n "set/xRange": null,\n "yRange": null,\n "set/yRange": null,\n "minLifespan": null,\n "set/minLifespan": null,\n "maxLifespan": null,\n "set/maxLifespan": null,\n "galois": null,\n "set/galois": null,\n "createParticle": particles_AreaFactory_createParticle__P1350,\n "drawParticle": particles_AreaFactory_drawParticle__P1351,\n "setSpeed": particles_SprayFactory_setSpeed__P1345,\n "setDirection": particles_SprayFactory_setDirection__P1346,\n },\n});\nconst particles_ShapeFactory__C1358_VT = mkVTable({\n name: "ShapeFactory",\n numFields: 11,\n classNo: 28,\n lastSubtypeNo: 29,\n methods: {\n "createParticle": particles_ShapeFactory_createParticle__P1362,\n "drawParticle": particles_ShapeFactory_drawParticle__P1361,\n },\n iface: {\n "speed": null,\n "set/speed": null,\n "minAngle": null,\n "set/minAngle": null,\n "spread": null,\n "set/spread": null,\n "xRange": null,\n "set/xRange": null,\n "yRange": null,\n "set/yRange": null,\n "minLifespan": null,\n "set/minLifespan": null,\n "maxLifespan": null,\n "set/maxLifespan": null,\n "galois": null,\n "set/galois": null,\n "sources": null,\n "set/sources": null,\n "ox": null,\n "set/ox": null,\n "oy": null,\n "set/oy": null,\n "addShape": particles_ShapeFactory_addShape__P1360,\n "drawParticle": particles_ShapeFactory_drawParticle__P1361,\n "createParticle": particles_ShapeFactory_createParticle__P1362,\n "setSpeed": particles_SprayFactory_setSpeed__P1345,\n "setDirection": particles_SprayFactory_setDirection__P1346,\n },\n});\nconst particles_ConfettiFactory__C1364_VT = mkVTable({\n name: "ConfettiFactory",\n numFields: 11,\n classNo: 29,\n lastSubtypeNo: 29,\n methods: {\n "createParticle": particles_ShapeFactory_createParticle__P1362,\n "drawParticle": particles_ShapeFactory_drawParticle__P1361,\n },\n iface: {\n "speed": null,\n "set/speed": null,\n "minAngle": null,\n "set/minAngle": null,\n "spread": null,\n "set/spread": null,\n "xRange": null,\n "set/xRange": null,\n "yRange": null,\n "set/yRange": null,\n "minLifespan": null,\n "set/minLifespan": null,\n "maxLifespan": null,\n "set/maxLifespan": null,\n "galois": null,\n "set/galois": null,\n "sources": null,\n "set/sources": null,\n "ox": null,\n "set/ox": null,\n "oy": null,\n "set/oy": null,\n "addShape": particles_ShapeFactory_addShape__P1360,\n "drawParticle": particles_ShapeFactory_drawParticle__P1361,\n "createParticle": particles_ShapeFactory_createParticle__P1362,\n "setSpeed": particles_SprayFactory_setSpeed__P1345,\n "setDirection": particles_SprayFactory_setDirection__P1346,\n },\n});\nconst particles_Particle__C1283_VT = mkVTable({\n name: "Particle",\n numFields: 8,\n classNo: 30,\n lastSubtypeNo: 30,\n methods: {\n },\n iface: {\n "_x": null,\n "set/_x": null,\n "_y": null,\n "set/_y": null,\n "vx": null,\n "set/vx": null,\n "vy": null,\n "set/vy": null,\n "lifespan": null,\n "set/lifespan": null,\n "next": null,\n "set/next": null,\n "data": null,\n "set/data": null,\n "color": null,\n "set/color": null,\n },\n});\nconst scene_Scene__C923_VT = mkVTable({\n name: "Scene",\n numFields: 21,\n classNo: 31,\n lastSubtypeNo: 31,\n methods: {\n },\n iface: {\n "eventContext": null,\n "set/eventContext": null,\n "background": null,\n "set/background": null,\n "tileMap": null,\n "set/tileMap": null,\n "allSprites": null,\n "set/allSprites": null,\n "spriteNextId": null,\n "set/spriteNextId": null,\n "spritesByKind": null,\n "set/spritesByKind": null,\n "physicsEngine": null,\n "set/physicsEngine": null,\n "camera": null,\n "set/camera": null,\n "flags": null,\n "set/flags": null,\n "destroyedHandlers": null,\n "set/destroyedHandlers": null,\n "createdHandlers": null,\n "set/createdHandlers": null,\n "overlapHandlers": null,\n "set/overlapHandlers": null,\n "overlapMap": null,\n "set/overlapMap": null,\n "collisionHandlers": null,\n "set/collisionHandlers": null,\n "gameForeverHandlers": null,\n "set/gameForeverHandlers": null,\n "particleSources": null,\n "set/particleSources": null,\n "controlledSprites": null,\n "set/controlledSprites": null,\n "followingSprites": null,\n "set/followingSprites": null,\n "_millis": null,\n "set/_millis": null,\n "_data": null,\n "set/_data": null,\n "cachedRender": null,\n "set/cachedRender": null,\n "init": scene_Scene_init__P924,\n "data": scene_Scene_data__P925,\n "millis": scene_Scene_millis__P926,\n "addSprite": scene_Scene_addSprite__P927,\n "destroy": scene_Scene_destroy__P928,\n "renderCore": scene_Scene_renderCore__P930,\n },\n});\nconst effects_SceneAnchor__C1408_VT = mkVTable({\n name: "SceneAnchor",\n numFields: 1,\n classNo: 32,\n lastSubtypeNo: 32,\n methods: {\n },\n iface: {\n "camera": null,\n "set/camera": null,\n "x": effects_SceneAnchor_x__P1409,\n "y": effects_SceneAnchor_y__P1410,\n "width": effects_SceneAnchor_width__P1411,\n "height": effects_SceneAnchor_height__P1412,\n },\n});\nconst info_PlayerInfo__C823_VT = mkVTable({\n name: "PlayerInfo",\n numFields: 12,\n classNo: 33,\n lastSubtypeNo: 33,\n methods: {\n },\n iface: {\n "_player": null,\n "set/_player": null,\n "bg": null,\n "set/bg": null,\n "border": null,\n "set/border": null,\n "fc": null,\n "set/fc": null,\n "showScore": null,\n "set/showScore": null,\n "showLife": null,\n "set/showLife": null,\n "visilibity": null,\n "set/visilibity": null,\n "showPlayer": null,\n "set/showPlayer": null,\n "x": null,\n "set/x": null,\n "y": null,\n "set/y": null,\n "left": null,\n "set/left": null,\n "up": null,\n "set/up": null,\n "init": info_PlayerInfo_init__P824,\n "getState": info_PlayerInfo_getState__P825,\n "id": info_PlayerInfo_id__P826,\n "score": info_PlayerInfo_score__P827,\n "setScore": info_PlayerInfo_setScore__P828,\n "changeScoreBy": info_PlayerInfo_changeScoreBy__P829,\n "hasScore": info_PlayerInfo_hasScore__P830,\n "hasLife": info_PlayerInfo_hasLife__P834,\n "raiseLifeZero": info_PlayerInfo_raiseLifeZero__P836,\n "drawPlayer": info_PlayerInfo_drawPlayer__P837,\n "drawScore": info_PlayerInfo_drawScore__P838,\n "drawLives": info_PlayerInfo_drawLives__P839,\n },\n});\nconst info_PlayerState__C740_VT = mkVTable({\n name: "PlayerState",\n numFields: 3,\n classNo: 34,\n lastSubtypeNo: 34,\n methods: {\n },\n iface: {\n "score": null,\n "set/score": null,\n "life": null,\n "set/life": null,\n "lifeZeroHandler": null,\n "set/lifeZeroHandler": null,\n },\n});\nconst info_InfoState__C742_VT = mkVTable({\n name: "InfoState",\n numFields: 10,\n classNo: 35,\n lastSubtypeNo: 35,\n methods: {\n },\n iface: {\n "playerStates": null,\n "set/playerStates": null,\n "visibilityFlag": null,\n "set/visibilityFlag": null,\n "gameEnd": null,\n "set/gameEnd": null,\n "heartImage": null,\n "set/heartImage": null,\n "multiplierImage": null,\n "set/multiplierImage": null,\n "bgColor": null,\n "set/bgColor": null,\n "borderColor": null,\n "set/borderColor": null,\n "fontColor": null,\n "set/fontColor": null,\n "countdownExpired": null,\n "set/countdownExpired": null,\n "countdownEndHandler": null,\n "set/countdownEndHandler": null,\n },\n});\nconst music_Melody__C349_VT = mkVTable({\n name: "Melody",\n numFields: 2,\n classNo: 36,\n lastSubtypeNo: 36,\n methods: {\n },\n iface: {\n "_text": null,\n "set/_text": null,\n "_player": null,\n "set/_player": null,\n "stop": music_Melody_stop__P352,\n "registerMelody": music_Melody_registerMelody__P353,\n "unregisterMelody": music_Melody_unregisterMelody__P354,\n "playCore": music_Melody_playCore__P355,\n "play": music_Melody_play__P357,\n "toString": music_Melody_toString__P359,\n },\n toStringMethod: music_Melody_toString__P359,\n});\nconst game_BaseDialog__C952_VT = mkVTable({\n name: "BaseDialog",\n numFields: 11,\n classNo: 37,\n lastSubtypeNo: 38,\n methods: {\n "update": game_BaseDialog_update__P953,\n "drawTextCore": game_BaseDialog_drawTextCore__P955,\n },\n iface: {\n "image": null,\n "set/image": null,\n "frame": null,\n "set/frame": null,\n "cursor": null,\n "set/cursor": null,\n "columns": null,\n "set/columns": null,\n "rows": null,\n "set/rows": null,\n "unit": null,\n "set/unit": null,\n "innerLeft": null,\n "set/innerLeft": null,\n "innerTop": null,\n "set/innerTop": null,\n "cursorCount": null,\n "set/cursorCount": null,\n "font": null,\n "set/font": null,\n "textColor": null,\n "set/textColor": null,\n "update": game_BaseDialog_update__P953,\n "drawTextCore": game_BaseDialog_drawTextCore__P955,\n "drawCursorRow": game_BaseDialog_drawCursorRow__P956,\n "drawBorder": game_BaseDialog_drawBorder__P957,\n "clearInterior": game_BaseDialog_clearInterior__P958,\n "drawPartial": game_BaseDialog_drawPartial__P959,\n "cursorRowHeight": game_BaseDialog_cursorRowHeight__P960,\n "textAreaWidth": game_BaseDialog_textAreaWidth__P962,\n "textAreaHeight": game_BaseDialog_textAreaHeight__P963,\n },\n});\nconst game_GameOverDialog__C983_VT = mkVTable({\n name: "GameOverDialog",\n numFields: 16,\n classNo: 38,\n lastSubtypeNo: 38,\n methods: {\n "update": game_GameOverDialog_update__P986,\n "drawTextCore": game_GameOverDialog_drawTextCore__P987,\n },\n iface: {\n "image": null,\n "set/image": null,\n "frame": null,\n "set/frame": null,\n "cursor": null,\n "set/cursor": null,\n "columns": null,\n "set/columns": null,\n "rows": null,\n "set/rows": null,\n "unit": null,\n "set/unit": null,\n "innerLeft": null,\n "set/innerLeft": null,\n "innerTop": null,\n "set/innerTop": null,\n "cursorCount": null,\n "set/cursorCount": null,\n "font": null,\n "set/font": null,\n "textColor": null,\n "set/textColor": null,\n "cursorOn": null,\n "set/cursorOn": null,\n "isNewHighScore": null,\n "set/isNewHighScore": null,\n "win": null,\n "set/win": null,\n "score": null,\n "set/score": null,\n "highScore": null,\n "set/highScore": null,\n "displayCursor": game_GameOverDialog_displayCursor__P985,\n "update": game_GameOverDialog_update__P986,\n "drawTextCore": game_GameOverDialog_drawTextCore__P987,\n "drawCursorRow": game_BaseDialog_drawCursorRow__P956,\n "drawBorder": game_BaseDialog_drawBorder__P957,\n "clearInterior": game_BaseDialog_clearInterior__P958,\n "drawPartial": game_BaseDialog_drawPartial__P959,\n "cursorRowHeight": game_BaseDialog_cursorRowHeight__P960,\n "textAreaWidth": game_BaseDialog_textAreaWidth__P962,\n "textAreaHeight": game_BaseDialog_textAreaHeight__P963,\n },\n});\nconst control_EventContext__C220_VT = mkVTable({\n name: "EventContext",\n numFields: 8,\n classNo: 39,\n lastSubtypeNo: 39,\n methods: {\n },\n iface: {\n "handlers": null,\n "set/handlers": null,\n "frameCallbacks": null,\n "set/frameCallbacks": null,\n "frameWorker": null,\n "set/frameWorker": null,\n "framesInSample": null,\n "set/framesInSample": null,\n "timeInSample": null,\n "set/timeInSample": null,\n "deltaTimeMillis": null,\n "set/deltaTimeMillis": null,\n "prevTimeMillis": null,\n "set/prevTimeMillis": null,\n "idleCallbacks": null,\n "set/idleCallbacks": null,\n "deltaTime": control_EventContext_deltaTime__P221,\n "runCallbacks": control_EventContext_runCallbacks__P222,\n "registerFrameCallbacks": control_EventContext_registerFrameCallbacks__P223,\n "register": control_EventContext_register__P224,\n "unregister": control_EventContext_unregister__P225,\n "registerFrameHandler": control_EventContext_registerFrameHandler__P226,\n "registerHandler": control_EventContext_registerHandler__P227,\n },\n});\nconst control_EventHandler__C215_VT = mkVTable({\n name: "EventHandler",\n numFields: 4,\n classNo: 40,\n lastSubtypeNo: 40,\n methods: {\n },\n iface: {\n "src": null,\n "set/src": null,\n "value": null,\n "set/value": null,\n "handler": null,\n "set/handler": null,\n "flags": null,\n "set/flags": null,\n "register": control_EventHandler_register__P216,\n "unregister": control_EventHandler_unregister__P217,\n },\n});\nconst effects_ImageEffect__C1438_VT = mkVTable({\n name: "ImageEffect",\n numFields: 4,\n classNo: 41,\n lastSubtypeNo: 41,\n methods: {\n },\n iface: {\n "preferredDelay": null,\n "set/preferredDelay": null,\n "effect": null,\n "set/effect": null,\n "fastRandom": null,\n "set/fastRandom": null,\n "times": null,\n "set/times": null,\n "applyTo": effects_ImageEffect_applyTo__P1439,\n "change": effects_ImageEffect_change__P1440,\n "startScreenEffect": effects_ImageEffect_startScreenEffect__P1441,\n },\n});\nconst PhysicsEngine__C708_VT = mkVTable({\n name: "PhysicsEngine",\n numFields: 0,\n classNo: 42,\n lastSubtypeNo: 43,\n methods: {\n "addSprite": PhysicsEngine_addSprite__P709,\n "removeSprite": PhysicsEngine_removeSprite__P710,\n "moveSprite": PhysicsEngine_moveSprite__P711,\n "draw": PhysicsEngine_draw__P712,\n "move": PhysicsEngine_move__P713,\n },\n iface: {\n "addSprite": PhysicsEngine_addSprite__P709,\n "removeSprite": PhysicsEngine_removeSprite__P710,\n "moveSprite": PhysicsEngine_moveSprite__P711,\n "draw": PhysicsEngine_draw__P712,\n "move": PhysicsEngine_move__P713,\n },\n});\nconst ArcadePhysicsEngine__C727_VT = mkVTable({\n name: "ArcadePhysicsEngine",\n numFields: 6,\n classNo: 43,\n lastSubtypeNo: 43,\n methods: {\n "addSprite": ArcadePhysicsEngine_addSprite__P729,\n "removeSprite": ArcadePhysicsEngine_removeSprite__P730,\n "moveSprite": ArcadePhysicsEngine_moveSprite__P737,\n "draw": ArcadePhysicsEngine_draw__P731,\n "move": ArcadePhysicsEngine_move__P732,\n },\n iface: {\n "sprites": null,\n "set/sprites": null,\n "map": null,\n "set/map": null,\n "maxVelocity": null,\n "set/maxVelocity": null,\n "maxNegativeVelocity": null,\n "set/maxNegativeVelocity": null,\n "minSingleStep": null,\n "set/minSingleStep": null,\n "maxSingleStep": null,\n "set/maxSingleStep": null,\n "addSprite": ArcadePhysicsEngine_addSprite__P729,\n "removeSprite": ArcadePhysicsEngine_removeSprite__P730,\n "draw": ArcadePhysicsEngine_draw__P731,\n "move": ArcadePhysicsEngine_move__P732,\n "createMovingSprite": ArcadePhysicsEngine_createMovingSprite__P733,\n "spriteCollisions": ArcadePhysicsEngine_spriteCollisions__P734,\n "tilemapCollisions": ArcadePhysicsEngine_tilemapCollisions__P735,\n "moveSprite": ArcadePhysicsEngine_moveSprite__P737,\n "constrain": ArcadePhysicsEngine_constrain__P738,\n },\n});\nconst scene_Background__C846_VT = mkVTable({\n name: "Background",\n numFields: 4,\n classNo: 44,\n lastSubtypeNo: 44,\n methods: {\n },\n iface: {\n "color": null,\n "set/color": null,\n "_image": null,\n "set/_image": null,\n "camera": null,\n "set/camera": null,\n "_layers": null,\n "set/_layers": null,\n "image": scene_Background_image__P848,\n "set/image": scene_Background_image__P849,\n "hasBackgroundImage": scene_Background_hasBackgroundImage__P850,\n "draw": scene_Background_draw__P851,\n },\n});\nconst scene_Camera__C886_VT = mkVTable({\n name: "Camera",\n numFields: 8,\n classNo: 45,\n lastSubtypeNo: 45,\n methods: {\n },\n iface: {\n "offsetX": null,\n "set/offsetX": null,\n "offsetY": null,\n "set/offsetY": null,\n "drawOffsetX": null,\n "set/drawOffsetX": null,\n "drawOffsetY": null,\n "set/drawOffsetY": null,\n "sprite": null,\n "set/sprite": null,\n "shakeStartTime": null,\n "set/shakeStartTime": null,\n "shakeDuration": null,\n "set/shakeDuration": null,\n "shakeAmplitude": null,\n "set/shakeAmplitude": null,\n "update": scene_Camera_update__P888,\n },\n});\nconst sprites_SpriteMap__C659_VT = mkVTable({\n name: "SpriteMap",\n numFields: 5,\n classNo: 46,\n lastSubtypeNo: 46,\n methods: {\n },\n iface: {\n "cellWidth": null,\n "set/cellWidth": null,\n "cellHeight": null,\n "set/cellHeight": null,\n "rowCount": null,\n "set/rowCount": null,\n "columnCount": null,\n "set/columnCount": null,\n "buckets": null,\n "set/buckets": null,\n "neighbors": sprites_SpriteMap_neighbors__P660,\n "overlaps": sprites_SpriteMap_overlaps__P661,\n "draw": sprites_SpriteMap_draw__P662,\n "resizeBuckets": sprites_SpriteMap_resizeBuckets__P663,\n "clear": sprites_SpriteMap_clear__P664,\n "key": sprites_SpriteMap_key__P665,\n "insertAtKey": sprites_SpriteMap_insertAtKey__P666,\n "isOob": sprites_SpriteMap_isOob__P667,\n "insertAABB": sprites_SpriteMap_insertAABB__P668,\n "mergeAtKey": sprites_SpriteMap_mergeAtKey__P669,\n "toString": sprites_SpriteMap_toString__P670,\n },\n toStringMethod: sprites_SpriteMap_toString__P670,\n});\nconst scene_BackgroundLayer__C853_VT = mkVTable({\n name: "BackgroundLayer",\n numFields: 6,\n classNo: 47,\n lastSubtypeNo: 47,\n methods: {\n },\n iface: {\n "distance": null,\n "set/distance": null,\n "img": null,\n "set/img": null,\n "repeatX": null,\n "set/repeatX": null,\n "repeatY": null,\n "set/repeatY": null,\n "alignX": null,\n "set/alignX": null,\n "alignY": null,\n "set/alignY": null,\n "draw": scene_BackgroundLayer_draw__P854,\n },\n});\nconst tiles_TileMap__C865_VT = mkVTable({\n name: "TileMap",\n numFields: 4,\n classNo: 48,\n lastSubtypeNo: 48,\n methods: {\n },\n iface: {\n "scale": null,\n "set/scale": null,\n "_layer": null,\n "set/_layer": null,\n "_map": null,\n "set/_map": null,\n "_tileSets": null,\n "set/_tileSets": null,\n "offsetX": tiles_TileMap_offsetX__P867,\n "offsetY": tiles_TileMap_offsetY__P868,\n "areaWidth": tiles_TileMap_areaWidth__P869,\n "areaHeight": tiles_TileMap_areaHeight__P870,\n "layer": tiles_TileMap_layer__P871,\n "enabled": tiles_TileMap_enabled__P873,\n "generateTile": tiles_TileMap_generateTile__P879,\n "isOutsideMap": tiles_TileMap_isOutsideMap__P880,\n "draw": tiles_TileMap_draw__P882,\n "isObstacle": tiles_TileMap_isObstacle__P883,\n "getObstacle": tiles_TileMap_getObstacle__P884,\n },\n});\nconst controller_Controller__C557_VT = mkVTable({\n name: "Controller",\n numFields: 4,\n classNo: 49,\n lastSubtypeNo: 49,\n methods: {\n },\n iface: {\n "playerIndex": null,\n "set/playerIndex": null,\n "buttons": null,\n "set/buttons": null,\n "_id": null,\n "set/_id": null,\n "_connected": null,\n "set/_connected": null,\n "_controlledSprites": controller_Controller__controlledSprites__P558,\n "set/_controlledSprites": controller_Controller__controlledSprites__P559,\n "id": controller_Controller_id__P560,\n "left": controller_Controller_left__P562,\n "right": controller_Controller_right__P563,\n "up": controller_Controller_up__P564,\n "down": controller_Controller_down__P565,\n "button": controller_Controller_button__P570,\n "connected": controller_Controller_connected__P573,\n "set/connected": controller_Controller_connected__P574,\n "__preUpdate": controller_Controller___preUpdate__P578,\n "__update": controller_Controller___update__P579,\n },\n});\nconst control_FrameCallback__C214_VT = mkVTable({\n name: "FrameCallback",\n numFields: 2,\n classNo: 50,\n lastSubtypeNo: 50,\n methods: {\n },\n iface: {\n "order": null,\n "set/order": null,\n "handler": null,\n "set/handler": null,\n },\n});\nconst music_MelodyPlayer__C363_VT = mkVTable({\n name: "MelodyPlayer",\n numFields: 2,\n classNo: 51,\n lastSubtypeNo: 51,\n methods: {\n },\n iface: {\n "melody": null,\n "set/melody": null,\n "onPlayFinished": null,\n "set/onPlayFinished": null,\n "stop": music_MelodyPlayer_stop__P364,\n "play": music_MelodyPlayer_play__P365,\n },\n});\nconst scene_Renderable__C890_VT = mkVTable({\n name: "Renderable",\n numFields: 4,\n classNo: 22,\n lastSubtypeNo: 22,\n methods: {\n "__visible": scene_Renderable___visible__P892,\n "__draw": sprites_BaseSprite___draw__P512,\n "__drawCore": scene_Renderable___drawCore__P893,\n "__update": sprites_BaseSprite___update__P514,\n },\n iface: {\n "_z": null,\n "set/_z": null,\n "id": null,\n "set/id": null,\n "handler": null,\n "set/handler": null,\n "shouldBeVisible": null,\n "set/shouldBeVisible": null,\n "__visible": scene_Renderable___visible__P892,\n "__drawCore": scene_Renderable___drawCore__P893,\n "z": sprites_BaseSprite_z__P510,\n "set/z": sprites_BaseSprite_z__P511,\n "__draw": sprites_BaseSprite___draw__P512,\n "__update": sprites_BaseSprite___update__P514,\n },\n});\nconst SpriteSet__C676_VT = mkVTable({\n name: "SpriteSet",\n numFields: 1,\n classNo: 52,\n lastSubtypeNo: 52,\n methods: {\n },\n iface: {\n "_sprites": null,\n "set/_sprites": null,\n "length": SpriteSet_length__P678,\n "add": SpriteSet_add__P680,\n "remove": SpriteSet_remove__P682,\n "contains": SpriteSet_contains__P683,\n "toString": SpriteSet_toString__P686,\n },\n toStringMethod: SpriteSet_toString__P686,\n});\nconst scene_GameForeverHandler__C902_VT = mkVTable({\n name: "GameForeverHandler",\n numFields: 2,\n classNo: 53,\n lastSubtypeNo: 53,\n methods: {\n },\n iface: {\n "lock": null,\n "set/lock": null,\n "handler": null,\n "set/handler": null,\n },\n});\nconst animation_SpriteAnimation__C1541_VT = mkVTable({\n name: "SpriteAnimation",\n numFields: 3,\n classNo: 54,\n lastSubtypeNo: 56,\n methods: {\n "update": animation_SpriteAnimation_update__P1543,\n },\n iface: {\n "startedAt": null,\n "set/startedAt": null,\n "sprite": null,\n "set/sprite": null,\n "loop": null,\n "set/loop": null,\n "init": animation_SpriteAnimation_init__P1542,\n "update": animation_SpriteAnimation_update__P1543,\n },\n});\nconst animation_ImageAnimation__C1545_VT = mkVTable({\n name: "ImageAnimation",\n numFields: 6,\n classNo: 55,\n lastSubtypeNo: 55,\n methods: {\n "update": animation_ImageAnimation_update__P1547,\n },\n iface: {\n "startedAt": null,\n "set/startedAt": null,\n "sprite": null,\n "set/sprite": null,\n "loop": null,\n "set/loop": null,\n "lastFrame": null,\n "set/lastFrame": null,\n "frames": null,\n "set/frames": null,\n "frameInterval": null,\n "set/frameInterval": null,\n "update": animation_ImageAnimation_update__P1547,\n "init": animation_SpriteAnimation_init__P1542,\n },\n});\nconst animation_MovementAnimation__C1549_VT = mkVTable({\n name: "MovementAnimation",\n numFields: 5,\n classNo: 56,\n lastSubtypeNo: 56,\n methods: {\n "update": animation_MovementAnimation_update__P1551,\n },\n iface: {\n "startedAt": null,\n "set/startedAt": null,\n "sprite": null,\n "set/sprite": null,\n "loop": null,\n "set/loop": null,\n "path": null,\n "set/path": null,\n "nodeInterval": null,\n "set/nodeInterval": null,\n "update": animation_MovementAnimation_update__P1551,\n "init": animation_SpriteAnimation_init__P1542,\n },\n});\nconst game_Hitbox__C593_VT = mkVTable({\n name: "Hitbox",\n numFields: 5,\n classNo: 57,\n lastSubtypeNo: 57,\n methods: {\n },\n iface: {\n "parent": null,\n "set/parent": null,\n "ox": null,\n "set/ox": null,\n "oy": null,\n "set/oy": null,\n "width": null,\n "set/width": null,\n "height": null,\n "set/height": null,\n "left": game_Hitbox_left__P594,\n "top": game_Hitbox_top__P595,\n "right": game_Hitbox_right__P596,\n "bottom": game_Hitbox_bottom__P597,\n },\n});\nconst scene_OverlapHandler__C900_VT = mkVTable({\n name: "OverlapHandler",\n numFields: 3,\n classNo: 58,\n lastSubtypeNo: 58,\n methods: {\n },\n iface: {\n "kind": null,\n "set/kind": null,\n "otherKind": null,\n "set/otherKind": null,\n "handler": null,\n "set/handler": null,\n },\n});\nconst scene_systemMenu_PauseMenu__C1176_VT = mkVTable({\n name: "PauseMenu",\n numFields: 7,\n classNo: 59,\n lastSubtypeNo: 59,\n methods: {\n },\n iface: {\n "options": null,\n "set/options": null,\n "theme": null,\n "set/theme": null,\n "selection": null,\n "set/selection": null,\n "scrollRow": null,\n "set/scrollRow": null,\n "scrollTarget": null,\n "set/scrollTarget": null,\n "scrollOffset": null,\n "set/scrollOffset": null,\n "generator": null,\n "set/generator": null,\n "show": scene_systemMenu_PauseMenu_show__P1177,\n "onUpdate": scene_systemMenu_PauseMenu_onUpdate__P1178,\n "setSelection": scene_systemMenu_PauseMenu_setSelection__P1179,\n "drawText": scene_systemMenu_PauseMenu_drawText__P1180,\n "dispose": scene_systemMenu_PauseMenu_dispose__P1181,\n "updateScrollTarget": scene_systemMenu_PauseMenu_updateScrollTarget__P1182,\n },\n});\nconst scene_systemMenu_MenuOption__C1167_VT = mkVTable({\n name: "MenuOption",\n numFields: 8,\n classNo: 60,\n lastSubtypeNo: 60,\n methods: {\n },\n iface: {\n "card": null,\n "set/card": null,\n "icon": null,\n "set/icon": null,\n "top": null,\n "set/top": null,\n "state": null,\n "set/state": null,\n "theme": null,\n "set/theme": null,\n "iconImage": null,\n "set/iconImage": null,\n "getText": null,\n "set/getText": null,\n "action": null,\n "set/action": null,\n "show": scene_systemMenu_MenuOption_show__P1168,\n "position": scene_systemMenu_MenuOption_position__P1169,\n "setOffset": scene_systemMenu_MenuOption_setOffset__P1170,\n "setTheme": scene_systemMenu_MenuOption_setTheme__P1171,\n "setState": scene_systemMenu_MenuOption_setState__P1172,\n "dispose": scene_systemMenu_MenuOption_dispose__P1173,\n "updateCard": scene_systemMenu_MenuOption_updateCard__P1174,\n },\n});\nconst animation_Path__C1506_VT = mkVTable({\n name: "Path",\n numFields: 2,\n classNo: 61,\n lastSubtypeNo: 61,\n methods: {\n },\n iface: {\n "nodes": null,\n "set/nodes": null,\n "lastNode": null,\n "set/lastNode": null,\n "run": animation_Path_run__P1512,\n },\n});\nconst animation_PathNode__C1514_VT = mkVTable({\n name: "PathNode",\n numFields: 1,\n classNo: 62,\n lastSubtypeNo: 62,\n methods: {\n "apply": animation_PathNode_apply__P1515,\n },\n iface: {\n "setStart": null,\n "set/setStart": null,\n "apply": animation_PathNode_apply__P1515,\n },\n});\nconst tiles_TileSet__C856_VT = mkVTable({\n name: "TileSet",\n numFields: 4,\n classNo: 63,\n lastSubtypeNo: 63,\n methods: {\n },\n iface: {\n "obstacle": null,\n "set/obstacle": null,\n "map": null,\n "set/map": null,\n "originalImage": null,\n "set/originalImage": null,\n "cachedImage": null,\n "set/cachedImage": null,\n "image": tiles_TileSet_image__P857,\n },\n});\nconst MovingSprite__C725_VT = mkVTable({\n name: "MovingSprite",\n numFields: 7,\n classNo: 64,\n lastSubtypeNo: 64,\n methods: {\n },\n iface: {\n "sprite": null,\n "set/sprite": null,\n "cachedVx": null,\n "set/cachedVx": null,\n "cachedVy": null,\n "set/cachedVy": null,\n "dx": null,\n "set/dx": null,\n "dy": null,\n "set/dy": null,\n "xStep": null,\n "set/xStep": null,\n "yStep": null,\n "set/yStep": null,\n },\n});\nconst sprites_StaticObstacle__C700_VT = mkVTable({\n name: "StaticObstacle",\n numFields: 5,\n classNo: 65,\n lastSubtypeNo: 65,\n methods: {\n },\n iface: {\n "layer": null,\n "set/layer": null,\n "image": null,\n "set/image": null,\n "tileIndex": null,\n "set/tileIndex": null,\n "top": null,\n "set/top": null,\n "left": null,\n "set/left": null,\n "x": sprites_StaticObstacle_x__P701,\n "y": sprites_StaticObstacle_y__P702,\n "height": sprites_StaticObstacle_height__P703,\n "width": sprites_StaticObstacle_width__P704,\n },\n});\n\nconst breakpoints = setupDebugger(1, ["Obstacle___22731","bunny___22740","gravity___22747","bird___22772","difficultyFactor___22764","osbstacleSpeed___22763","numObstacles___22762","newObstacle___22761","obstacles___22770","projectile___22760","grass___22759","grassImages___22768","over___22733","tree___22766","trees___22769","cloud___22765","clouds___22767","birdFrames___22771"])\n\nreturn _main___P22728\n})\n\n',a="\nnamespace SpriteKind {\n export const Obstacle = SpriteKind.create()\n}\ncontroller.anyButton.onEvent(ControllerButtonEvent.Pressed, function () {\n if (bunny.ay == 0) {\n bunny.vy = -160\n bunny.ay = gravity\n }\n})\nfunction setupFrames () {\n birdFrames = [img`\n . . . . . . . . . . . .\n . . . . . 1 1 1 1 . . .\n . . . . 1 1 1 1 . . . .\n . . . . 1 1 1 . . . . .\n . . . . 1 1 1 . . . . .\n . . . . 1 1 1 . . . . .\n . . 1 1 1 1 1 1 . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n `, img`\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . 1 1 1 1 1 1 . .\n . . . 1 1 1 1 1 . . . .\n . . . 1 1 1 1 . . . . .\n . . 1 1 1 1 1 1 . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n `, img`\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . 1 1 1 1 . . . . .\n . . 1 1 1 1 1 1 . . . .\n . . . 1 1 1 1 1 1 1 1 .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n `, img`\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . 1 1 1 1 1 1 . . . .\n . . . 1 1 1 1 . . . . .\n . . . 1 1 1 1 1 1 . . .\n . . . . 1 1 1 1 1 1 1 .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n `, img`\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . 1 1 1 1 1 1 . . . .\n . . . 1 1 1 1 . . . . .\n . . . 1 1 1 1 . . . . .\n . . . . 1 1 1 1 1 . . .\n . . . . . 1 1 1 1 1 . .\n . . . . . . . . . . . .\n `, img`\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . 1 1 1 1 1 1 . . . .\n . . . 1 1 1 1 . . . . .\n . . . 1 1 1 1 . . . . .\n . . . . 1 1 1 1 1 . . .\n . . . . . 1 1 1 1 1 . .\n . . . . . . . . . . . .\n `, img`\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . 1 1 1 1 1 1 . . . .\n . . . 1 1 1 1 . . . . .\n . . . 1 1 1 1 1 1 . . .\n . . . . 1 1 1 1 1 1 1 .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n `, img`\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . 1 1 1 1 . . . . .\n . . 1 1 1 1 1 1 . . . .\n . . . 1 1 1 1 1 1 1 1 .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n `, img`\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . 1 1 1 1 1 1 . .\n . . . 1 1 1 1 1 . . . .\n . . . 1 1 1 1 . . . . .\n . . 1 1 1 1 1 1 . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n `, img`\n . . . . . . . . . . . .\n . . . . . 1 1 1 1 . . .\n . . . . 1 1 1 1 . . . .\n . . . . 1 1 1 . . . . .\n . . . . 1 1 1 . . . . .\n . . . . 1 1 1 . . . . .\n . . 1 1 1 1 1 1 . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n `]\n animation.runImageAnimation(\n bird,\n birdFrames,\n 40,\n true\n )\n obstacles = [img`\n . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . 7 . . . . . . . . . . .\n . . . . . . . . . . 7 7 . . . . . . . . . .\n . . . . . . . . . 6 7 7 . . . . . . . . . .\n . . . . . . . . 6 6 7 7 7 . . . . . . . . .\n . . . . . . . . 6 6 7 7 7 . . . . . . . . .\n . . . . . . . . 6 6 7 7 7 7 . . . . . . . .\n . . . . . . . 6 6 7 7 7 7 7 . . . . . . . .\n . . . . . . 6 6 6 7 7 7 7 7 . . . . . . . .\n . . . . . . . . 6 6 6 6 6 . . . . . . . . .\n . . . . . . . . 6 6 6 6 . . . . . . . . . .\n . . . . . . . 6 6 6 6 6 7 7 . . . . . . . .\n . . . . . . 6 6 6 7 7 7 7 7 7 . . . . . . .\n . . . . . . 6 6 6 7 7 7 7 7 7 7 . . . . . .\n . . . . . . 6 6 7 7 7 7 7 7 7 7 7 . . . . .\n . . 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 . . .\n . . . 6 6 6 6 6 7 7 7 7 7 6 6 6 6 6 . . . .\n . . . . . . . . 6 6 6 6 7 7 . . . . . . . .\n . . . . . . . . 6 6 6 7 7 7 . . . . . . . .\n . . . . . . 6 6 7 7 7 7 7 7 7 . . . . . . .\n . . . 6 6 6 7 7 7 7 7 7 7 7 7 7 7 . . . . .\n 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 . . . .\n 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 6\n . . . 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 6 .\n . . . . . 6 6 6 6 e e e e 7 7 7 7 7 6 6 6 .\n . . . . . . . . . e e e e . . . . . . . . .\n . . . . . . . . . e e e e . . . . . . . . .\n . . . . . . . . . e e e e . . . . . . . . .\n . . . . . . . 6 . e e e e . . 6 . . . . . .\n . . . 6 6 6 . . . e e e e . 6 . . . . . . .\n . . . 6 . 6 . . . e e e e . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . .\n `, img`\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . e e e e e . . . . .\n . . . . e e b b b e e . . . .\n . . . e e b e e e b e e . . .\n . . . e e b e e b b e e . . .\n . . . . e e b b e e e . . . .\n . . . e b e e e e b b e . . .\n . . . e e b b b b e e e . . e\n . . . e e e e e e e e . . e .\n . . . e b e e b e b e . e . e\n . . . e b e e e e b e e . . .\n . . . e e e b e e e e . . . .\n . . e e b e b e b e e e . . .\n . e e e e e e e e e e e e . .\n . . . . . . e e . . . . . . .\n `]\n trees = [img`\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . b b b b b b b b . . . . . . . . . . . . .\n . . . . . . . . . . . . . . b b . . b b b b b b . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b . . b b b . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . b b b b b . b b . . . . . . . . . . . . .\n . . . . . . . . . . . . . . b b b b b b b b b b . . . . . . . . . . . .\n . . . . . . . . . . . . b b b b . b b b b b b b . . . . . . . . . . . .\n . . . . . . . . . . b b b b b . . b b b b b . b b b b . . . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b b . . . b b b . . . . . . . .\n . . . . . . . . . . . . . . . b b b b b b b b . . . . . . . . . . . . .\n . . . . . . . . . . . . . . b b b b b b . b b . . . . . . . . . . . . .\n . . . . . . . . . . . b b b b b b b b b b b b b . . . . . . . . . . . .\n . . . . . . . . . b b b b b b . . b b b b . b b b . . . . . . . . . . .\n . . . . . . . . . . b b b b b . . b b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b b b . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . b b b b b b b b b . . . . . . . . . . . .\n . . . . . . . . . . . . . b b b b b b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . b b b b b b b b b b b b b b b b b . . . . . . . .\n . . . . . . . . . . b b b b b b b b b b b b b b b b b . . . . . . . . .\n . . . . . . . . . b b b b . b b b b b b b b . . . . . . . . . . . . . .\n . . . . . . . . b b . . . . b b b b b b b b b . . . . . . . . . . . . .\n . . . . . . . . . . . . b b b b b b b b b b b b b . . . . . . . . . . .\n . . . . . . . . b b b b b b b b b b b b b b b b b b b b . . . . . . . .\n . . . . . . . b b b b b b b b b b b b b b b b b b b b b b b . . . . . .\n . . . . . . b b b b b b b b . . . b b b b b b b b b . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n `, img`\n . . . . . . . . . . . . . . . . . . . b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b b b . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . b b b b . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b b b b . . . . . . . . . . . .\n . . . . . . . . . . . . . . . b b b . b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . b b b b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b b b b . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b . b b b b . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b b b . . . . . . . . . . . . .\n . . . . . . . . . . . . . b b b b b b b . b b b b . . . . . . . . . . .\n . . . . . . . . . . . . b b b b b . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . b b b b b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . . . b b b b b b b b b b . . . . . . . . . . . . .\n . . . . . . . . . . . . b b b . . b b b b b b b b . . . . . . . . . . .\n . . . . . . . . . . . b b b b . b b b b b b b b . b . . . . . . . . . .\n . . . . . . . . . . . . b . . . b b b b b b b b b . . . . . . . . . . .\n . . . . . . . . . . . . . . . b b b b b b b b b b b . . . . . . . . . .\n . . . . . . . . . . . . . . b b b b b b b . b b b b . . . . . . . . . .\n . . . . . . . . . . . . . b b b b b b b b b b b b b b b . . . . . . . .\n . . . . . . . . . . . b b b b . b b b b b b b . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . b b b b b b . b b . . . . . . . . . . . .\n . . . . . . . . . . . . . b b b b b b b b b b b b . . . . . . . . . . .\n . . . . . . . . . . . . b b b b b b b b b b b b b b . . . . . . . . . .\n . . . . . . . . . . . . b b b b b b b b b b . . b b b . . . . . . . . .\n . . . . . . . . . b b b b b b b b b b b b b b . . b b b b . . . . . . .\n . . . . . . . . b b . . . b b b b b b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . b b b b b b b b b b b . . . . . . . . . . .\n . . . . . . . . . . . . b b b b . b b b b b b b b . . . . . . . . . . .\n . . . . . . . . b b b b . b . . . b b b b b b b . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b . . b b b b . . . . . . . . .\n . . . . . . . . . . . . . b b b b b . b b b b b b b b . . . . . . . . .\n . . . . . . . . . b b b b b b . . b b b b . . b b b b b . . . . . . . .\n . . . . . . . . b b . b . . . . b b b b b . . . . . b b b . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n `, img`\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . b b b b b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b b b . . . . . . . . . . . . .\n . . . . . . . . . . . . . . b b b b b b b b b b . . . . . . . . . . . .\n . . . . . . . . . . . . b b b b . . b b b b b b b . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . b b b b b b b b . . . . . . . . . . . . .\n . . . . . . . . . . . . b b b b b b b b b b b b b . . . . . . . . . . .\n . . . . . . . . b b b b b b b b b b b b b b b b b b b b . . . . . . . .\n . . . . . . . . . . . b b b b b b b b b b b b b b b b . . . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b b b . b . . . . . . . . . . .\n . . . . . . . . . . . . . . b b b b b b b b b b b b b b b b . . . . . .\n . . . . . . . . . . . b b b b b b b b b b b b b b b b b b . . . . . . .\n . . . . . . . . b b b b b b b b b b b b b b b b b b b . . . . . . . . .\n . . . . . . . . . . b b b b b . . . b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b . b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b . b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n `]\n grassImages = [img`\n . . . . . . . .\n . . . . . . . .\n . . . . . . . .\n . . . . . . . .\n . . . . b . . .\n . . . . b . . .\n . . . b b . . .\n . . . b b . . .\n `, img`\n . . . . . . . .\n . . . . . . . .\n . . . . . . . .\n . . . . . . . .\n . . . b . . . .\n . . . b . . . .\n . . . b b . b .\n . . . b b . b .\n `, img`\n . . . . . . . .\n . . . . . . . .\n b . . . . . . .\n b . . b . . . .\n b . . b b . . .\n b . b b b . . .\n b . b b b . b .\n b b b b b . b .\n `, img`\n . . . . . . . .\n . . . . . . . .\n . . . . . . . .\n . . . . . . . b\n . . . b . . . b\n . . . b . . . b\n . . . b b . b b\n . . . b b . b b\n `, img`\n . . . . . . . .\n . . . . . . . .\n . . . b . . . .\n . . . b . . . .\n . . b b . . . .\n . . b b b . . .\n . . b b b . . .\n . . b b b . . .\n `, img`\n . . . . . . . .\n . . . . . . . .\n . . . . . . . .\n . b . . . . . .\n . b . . . . . .\n . b b . . . b .\n . b b . . . b .\n . b b . . . b .\n `]\n clouds = [img`\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . .\n . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . .\n . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . .\n . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . .\n . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . .\n . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . .\n . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . .\n . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . .\n . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . .\n . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . .\n . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . .\n . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 .\n . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 .\n . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 .\n . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . .\n `, img`\n . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 1 1 1 . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . .\n . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . .\n . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . .\n . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . .\n . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . .\n . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . .\n . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . .\n . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . .\n . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . .\n . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . .\n . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 .\n . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 .\n . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 .\n 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 . .\n `, img`\n . . . . . . . . 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . . .\n . . . . . . . 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . .\n . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . .\n . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . .\n . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . .\n . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . .\n . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . .\n . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . .\n 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . .\n 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . .\n . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . .\n . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 .\n . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n `, img`\n . . . . . . . . . . . . . . . . . . . 1 1 1 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . 1 1 1 1 1 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . 1 1 1 1 1 . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . . . . .\n . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . . .\n . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . .\n . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . .\n . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . .\n . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . .\n . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . .\n . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . .\n . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . .\n . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . .\n . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . .\n . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . .\n 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 .\n 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 .\n 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 .\n . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . 1 1 1 1 1 1 1 1 . . . . . . .\n `, img`\n . . . . . . . . . . . . . . . . . . . . . . . . 1 1 1 1 . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . 1 1 1 1 . . 1 1 1 1 1 1 . . . . . . . . . .\n . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . .\n . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . .\n . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . .\n . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . .\n . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . .\n . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . .\n . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . .\n . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . .\n . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 .\n . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 .\n . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 .\n 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . .\n 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . . . . . . .\n `]\n}\nfunction createTree () {\n tree = sprites.createProjectileFromSide(trees[Math.randomRange(0, trees.length - 1)], (-100 - game.runtime() / 250) / 2, 0)\n tree.bottom = 100\n tree.z = -1\n}\nfunction createCloud () {\n cloud = sprites.createProjectileFromSide(clouds[Math.randomRange(0, clouds.length - 1)], -30, 0)\n cloud.bottom = Math.randomRange(30, 55)\n cloud.z = -2\n}\nsprites.onOverlap(SpriteKind.Player, SpriteKind.Obstacle, function (sprite, otherSprite) {\n game.over(false, effects.melt)\n})\nlet grass: Sprite = null\nlet projectile: Sprite = null\nlet newObstacle: Image = null\nlet numObstacles = 0\nlet osbstacleSpeed = 0\nlet difficultyFactor = 0\nlet cloud: Sprite = null\nlet tree: Sprite = null\nlet clouds: Image[] = []\nlet grassImages: Image[] = []\nlet trees: Image[] = []\nlet obstacles: Image[] = []\nlet birdFrames: Image[] = []\nlet bird: Sprite = null\nlet gravity = 0\nlet bunny: Sprite = null\nlet theScore = 0\nscene.setBackgroundColor(13)\nbunny = sprites.create(img`\n . . . . . . . . . . . .\n . . . 1 1 . 1 1 . . . .\n . . . 1 3 . 1 3 . . . .\n . . . . 1 3 . 1 3 . . .\n . . . . 1 3 . 1 3 . . .\n . . . 1 1 1 1 1 1 . . .\n . . 1 1 1 1 1 1 1 1 . .\n . . 1 1 1 f 1 1 f 1 . .\n . . 1 1 1 1 1 1 1 1 . .\n . . 1 1 1 1 f f 1 1 . .\n . . . 1 1 1 1 1 1 . . .\n . 1 1 1 1 1 1 1 1 1 1 .\n . 1 1 1 1 1 1 1 1 1 1 .\n . . . . 1 1 1 1 . . . .\n . . . . 1 1 1 1 . . . .\n . . . . 1 1 1 1 . . . .\n . . . . 1 1 1 1 . . . .\n . . . . . 1 1 . . . . .\n . . . . . . 1 . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n`, SpriteKind.Player)\ngravity = 400\nbunny.ay = gravity\nbunny.x = 20\nbird = sprites.create(img`\n . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . .\n`, SpriteKind.Projectile)\nbird.setPosition(160, 20)\nbird.setVelocity(-120, 0)\nsetupFrames()\ngame.onUpdate(function () {\n if (bunny.bottom > 105) {\n bunny.bottom = 105\n bunny.vy = 0\n bunny.ay = 0\n }\n})\ngame.onUpdate(function () {\n if (bird.x < 0) {\n bird.setPosition(Math.randomRange(160, 240), Math.randomRange(20, 60))\n }\n})\ngame.onUpdateInterval(100, function () {\n bird.x += -1\n})\nforever(function () {\n difficultyFactor = game.runtime() / 250\n osbstacleSpeed = 100 + difficultyFactor\n numObstacles = Math.randomRange(1, 3)\n for (let i = 0; i < numObstacles; i++) {\n newObstacle = obstacles[Math.randomRange(0, obstacles.length - 1)]\n projectile = sprites.createProjectileFromSide(newObstacle, 0 - osbstacleSpeed, 0)\n projectile.bottom = 105\n projectile.setKind(SpriteKind.Obstacle)\n pause(11500 / osbstacleSpeed)\n }\n pause(Math.randomRange(1500, 2500))\n})\ngame.onUpdateInterval(200, function () {\n if (Math.percentChance(40)) {\n grass = sprites.createProjectileFromSide(grassImages[Math.randomRange(0, grassImages.length - 1)], (-100 - game.runtime() / 250) / 2, 0)\n grass.bottom = 100\n grass.z = -1\n }\n})\ngame.onUpdateInterval(100, function () {\n info.changeScoreBy(1)\n if (info.score() > 0 && info.score() % 100 == 0) {\n effects.confetti.startScreenEffect()\n } else if (info.score() > 0 && (info.score() - 10) % 100 == 0) {\n effects.confetti.endScreenEffect()\n }\n})\ngame.onUpdateInterval(1000, function () {\n if (Math.percentChance(20)) {\n createCloud()\n }\n})\nforever(function () {\n if (Math.percentChance(60)) {\n createTree()\n if (Math.percentChance(50)) {\n pause(Math.randomRange(150, 300))\n createTree()\n }\n }\n pause(1500)\n})\n\n",i="\n",p=!0,m=!1,l=void 0,n.prev=12,d=e[Symbol.iterator]();!(p=(u=d.next()).done);p=!0)c=u.value,o=j(c.default),f=j(c.data),_=r(_,c),a=Ve(a,o,f),i=Ve(i,o,f);n.next=20;break;case 16:n.prev=16,n.t0=n.catch(12),m=!0,l=n.t0;case 20:n.prev=20,n.prev=21,p||null==d.return||d.return();case 23:if(n.prev=23,!m){n.next=26;break}throw l;case 26:return n.finish(23);case 27:return n.finish(20);case 28:return _=s(_,this.state.currentBackground),a=t(a,this.state.currentBackground),n.next=32,Se(this.state.currentBackground+1,this.state.userImages.map(function(n){return U(n.data)?n.default:n.data}));case 32:g=n.sent,this.props.playHandler({binJs:_,mainTs:a,mainBlocks:i,screenshot:g});case 34:case"end":return n.stop()}},n,this,[[12,16,20,28],[21,,23,27]])}));return function(){return n.apply(this,arguments)}}()}]),e}(_.a.Component),Ue=(s(32),s(14));function We(n,e){var s=Object.keys(n);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(n);e&&(t=t.filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable})),s.push.apply(s,t)}return s}function ze(n){for(var e=1;e void)[] = [];\n protected framePromise: Deferrable;\n protected readyPromise: Deferrable;\n\n protected lastRunBinary: string;\n\n constructor(frame?: HTMLIFrameElement) {\n this.frame = frame;\n\n window.addEventListener(\"message\", this.messageHandler);\n }\n\n setFrame(frame: HTMLIFrameElement | null) {\n if (frame) {\n this.frame = frame;\n if (this.framePromise) this.framePromise.resolve();\n }\n }\n\n pressButton(button: SimulatorButton) {\n if (!this.buttonState[button]) {\n this.sendButtonState(button, true);\n }\n }\n\n releaseButton(button: SimulatorButton) {\n if (this.buttonState[button]) {\n this.sendButtonState(button, false);\n }\n }\n\n isPressed(button: SimulatorButton) {\n return !!this.buttonState[button];\n }\n\n addChangeListener(cb: (button: SimulatorButton, pressed: boolean) => void) {\n if (this.changeListeners.indexOf(cb) === -1) {\n this.changeListeners.push(cb);\n }\n }\n\n removeChangeListener(cb: (button: SimulatorButton, pressed: boolean) => void) {\n const index = this.changeListeners.indexOf(cb);\n if (index !== -1) {\n this.changeListeners.splice(index, 1);\n }\n }\n\n runCode(binaryjs: string) {\n this.lastRunBinary = binaryjs;\n\n this.waitForSimFrameAsync()\n .then(() => {\n this.readyPromise = undefined;\n\n const id = `sim-frame-${Math.random() * 1000000}`;\n this.frame.setAttribute(\"id\", id);\n this.frame.src = `${baseurl}?justscreen=1&run=${id}#${id}`;\n\n this.waitForSimReadyAsync()\n .then(() => {\n this.sendMessage({\n type: \"run\",\n code: binaryjs\n });\n });\n })\n }\n\n dispose() {\n window.removeEventListener(\"message\", this.messageHandler);\n }\n\n protected sendButtonState(button: SimulatorButton, pressed: boolean) {\n this.updateButtonState(button, pressed);\n this.sendMessage({\n type: \"button-pressed\",\n button,\n pressed\n });\n }\n\n protected updateButtonState(button: SimulatorButton, pressed: boolean) {\n if ((!!this.buttonState[button]) !== pressed) {\n this.buttonState[button] = pressed;\n this.changeListeners.forEach(cb => cb(button, pressed));\n }\n }\n\n protected sendMessage(msg: SentMessage) {\n if (this.frame && this.frame.contentWindow) {\n this.frame.contentWindow.postMessage(msg, \"*\");\n }\n }\n\n protected handleMessage(msg: ReceivedMessage) {\n switch (msg.type) {\n case \"ready\":\n if (this.readyPromise) this.readyPromise.resolve();\n break;\n case \"simulator\":\n if (msg.command === \"restart\") {\n tickEvent(\"shareExperiment.play.restart\");\n this.runCode(this.lastRunBinary);\n }\n }\n }\n\n protected messageHandler = (ev: MessageEvent) => {\n const msg = ev.data as ReceivedMessage;\n this.handleMessage(msg);\n }\n\n protected waitForSimFrameAsync() {\n if (this.frame) return Promise.resolve();\n if (this.framePromise) return this.framePromise.promise;\n\n this.framePromise = new Deferrable();\n\n return this.framePromise.promise;\n }\n\n protected waitForSimReadyAsync() {\n if (this.readyPromise) return this.readyPromise.promise;\n\n this.readyPromise = new Deferrable();\n\n return this.readyPromise.promise;\n }\n}\n\nclass Deferrable {\n promise: Promise;\n protected _resolve: () => void;\n protected _reject: (reason?: any) => void;\n\n constructor() {\n this.promise = new Promise((resolve, reject) => {\n this._resolve = resolve;\n this._reject = reject;\n });\n }\n\n resolve() {\n if (this._resolve) this._resolve();\n this._resolve = undefined;\n this._reject = undefined;\n }\n\n reject() {\n if (this._reject) this._reject();\n this._resolve = undefined;\n this._reject = undefined;\n }\n\n isFinished() {\n return !this._resolve;\n }\n}","import React from 'react';\nimport \"../css/SimFrame.css\";\nimport { Simulator } from './simulator';\n\n// https://arcade.makecode.com/beta/--run?fullscreen=1&nofooter=1&id=13415-29846-81435-24572\n\nexport interface SimFrameProps {\n simulator: Simulator;\n}\n\nconst SimFrame: React.FC = props => {\n return (\n \n
\n );\n}\n\n\nexport default SimFrame;","export function loadAppInsights(includeCookie: any) {\n var appInsights = (window as any).appInsights || function(config: any) {\n // @ts-ignore\n function i(config){t[config]=function(){var i=arguments;t.queue.push(function(){t[config].apply(t,i)})}}var t={config:config},u=document,e=window,o=\"script\",s=\"AuthenticatedUserContext\",h=\"start\",c=\"stop\",l=\"Track\",a=l+\"Event\",v=l+\"Page\",y=u.createElement(o),r,f;y.src=config.url||\"https://az416426.vo.msecnd.net/scripts/a/ai.0.js\";u.getElementsByTagName(o)[0].parentNode.appendChild(y);try{t.cookie=u.cookie}catch(p){}for(t.queue=[],t.version=\"1.0\",r=[\"Event\",\"Exception\",\"Metric\",\"PageView\",\"Trace\",\"Dependency\"];r.length;)i(\"track\"+r.pop());return i(\"set\"+s),i(\"clear\"+s),i(h+a),i(c+a),i(h+v),i(c+v),i(\"flush\"),config.disableExceptionTracking||(r=\"onerror\",i(\"_\"+r),f=e[r],e[r]=function(config,i,u,e,o){var s=f&&f(config,i,u,e,o);return s!==!0&&t[\"_\"+r](config,i,u,e,o),s}),t\n }({\n instrumentationKey:\"9801ed01-c40f-46ec-aa40-2a1742a9e71c\",\n disableAjaxTracking: true,\n overridePageViewDuration: false,\n disableExceptionTracking: true,\n isCookieUseDisabled: !includeCookie,\n isStorageUseDisabled: !includeCookie,\n url: \"https://pxt.azureedge.net/blob/dd22520c096be24e7432f5b46e8aad59711f31f0/ai.0.js\" // Hardcode docs CDN url for experiment\n });\n (window as any).appInsights = appInsights;\n \n if (!isLocalHost()) {\n appInsights.queue.push(function () {\n appInsights.context.addTelemetryInitializer(function (envelope: any) {\n var telemetryItem = envelope.data.baseData;\n telemetryItem.properties = telemetryItem.properties || {};\n telemetryItem.properties[\"target\"] = \"arcade\";\n telemetryItem.properties[\"cookie\"] = includeCookie;\n });\n });\n appInsights.trackPageView(null, scrubUrl(window.location.toString()), {urlReferrer: scrubUrl(document.referrer.toString())});\n }\n\n // Scrub the key (if any) from the URL.\n function scrubUrl(url: any) {\n var scriptIdRegex = /(?:\\d{5}-\\d{5}-\\d{5}-\\d{5})|(?:_[0-9a-zA-Z]{12})/g;\n return url.replace(scriptIdRegex, \"xxxxx-xxxxx-xxxxx-xxxxx\");\n }\n}\n\nexport function tickEvent(id: string, data?: any, measures?: any) {\n // Don't log events for localhost\n if (!isLocalHost()) (window as any).appInsights.trackEvent(id, data, measures);\n}\n\nfunction isLocalHost(): boolean {\n try {\n return typeof window !== \"undefined\"\n && /^http:\\/\\/(localhost|127\\.0\\.0\\.1):\\d+\\//.test(window.location.href)\n && !/nolocalhost=1/.test(window.location.href);\n } catch (e) { return false; }\n}","import React from 'react';\n\nimport { Simulator, SimulatorButton } from \"./simulator\";\nimport { tickEvent } from '../telemetry/appinsights';\n\nimport '../css/Joystick.css';\n\nexport interface JoystickProps {\n simulator: Simulator;\n changeMode: (mode: \"play\" | \"share\" | \"mod\") => void;\n}\n\nconst SVG_WIDTH = 40;\nconst HALF_WIDTH = SVG_WIDTH >> 1;\n\nexport class Joystick extends React.Component {\n protected dPadUp: SVGRectElement | undefined;\n protected dPadDown: SVGRectElement | undefined;\n protected dPadLeft: SVGRectElement | undefined;\n protected dPadRight: SVGRectElement | undefined;\n protected joystickHandle: SVGCircleElement | undefined;\n\n protected joystickAnimation: number | undefined;\n\n protected handleX = SVG_WIDTH >> 1;\n protected handleY = SVG_WIDTH >> 1;\n protected lastOctet: number | undefined;\n\n protected joystickGestureCount: number = 0;\n protected joystickGestureInterval: any;\n\n componentDidMount() {\n this.dPadUp = this.refs[\"dpad-up\"] as SVGRectElement;\n this.dPadDown = this.refs[\"dpad-down\"] as SVGRectElement;\n this.dPadLeft = this.refs[\"dpad-left\"] as SVGRectElement;\n this.dPadRight = this.refs[\"dpad-right\"] as SVGRectElement;\n this.joystickHandle = this.refs[\"joystick-handle\"] as SVGCircleElement;\n\n this.bindEvents(this.refs[\"joystick-bounds\"] as HTMLDivElement);\n\n this.props.simulator.addChangeListener(this.buttonChangeListener);\n }\n\n componentWillUnmount() {\n this.dPadUp = undefined;\n this.dPadDown = undefined;\n this.dPadLeft = undefined;\n this.dPadRight = undefined;\n this.joystickHandle = undefined;\n\n this.props.simulator.removeChangeListener(this.buttonChangeListener);\n this.cleanupInterval();\n }\n\n render() {\n const { changeMode } = this.props;\n return (\n \n
\n
\n changeMode(\"mod\")}>Mod \n
\n
\n \n \n \n \n \n \n \n \n
\n )\n }\n\n protected buttonChangeListener = (button: SimulatorButton, isPressed: boolean) => {\n switch (button) {\n case SimulatorButton.Down:\n this.updateDirection(this.dPadDown, isPressed);\n break;\n case SimulatorButton.Up:\n this.updateDirection(this.dPadUp, isPressed);\n break;\n case SimulatorButton.Left:\n this.updateDirection(this.dPadLeft, isPressed);\n break;\n case SimulatorButton.Right:\n this.updateDirection(this.dPadRight, isPressed);\n break;\n }\n }\n\n protected updateDirection(button: SVGRectElement | undefined, isPressed: boolean) {\n if (button) {\n button.setAttribute(\"fill\", isPressed ? \"#249ca3\" : \"#cecece\");\n }\n }\n\n protected bindEvents(div: HTMLDivElement) {\n if (!div) return;\n\n if (hasPointerEvents()) {\n this.bindPointerEvents(div);\n }\n else if (isTouchEnabled()) {\n this.bindTouchEvents(div);\n }\n else {\n this.bindMouseEvents(div);\n }\n\n this.joystickGestureInterval = setInterval(this.logEvents, 5000);\n }\n\n protected bindPointerEvents(div: HTMLDivElement) {\n let inGesture = false;\n\n div.addEventListener(\"pointerup\", ev => {\n if (inGesture) {\n this.updateJoystickDrag(ev.clientX, ev.clientY);\n this.startAnimation();\n }\n inGesture = false;\n });\n\n div.addEventListener(\"pointerdown\", ev => {\n this.updateJoystickDrag(ev.clientX, ev.clientY);\n inGesture = true\n });\n\n div.addEventListener(\"pointermove\", ev => {\n if (inGesture) this.updateJoystickDrag(ev.clientX, ev.clientY);\n });\n\n div.addEventListener(\"pointerleave\", ev => {\n if (inGesture) {\n this.updateJoystickDrag(ev.clientX, ev.clientY);\n this.startAnimation();\n }\n inGesture = false;\n });\n }\n\n protected bindMouseEvents(div: HTMLDivElement) {\n let inGesture = false;\n\n div.addEventListener(\"mouseup\", ev => {\n if (inGesture) {\n this.updateJoystickDrag(ev.clientX, ev.clientY);\n this.startAnimation();\n }\n inGesture = false;\n });\n\n div.addEventListener(\"mousedown\", ev => {\n this.updateJoystickDrag(ev.clientX, ev.clientY);\n inGesture = true\n });\n\n div.addEventListener(\"mousemove\", ev => {\n if (inGesture) this.updateJoystickDrag(ev.clientX, ev.clientY);\n });\n\n div.addEventListener(\"mouseleave\", ev => {\n if (inGesture) {\n this.updateJoystickDrag(ev.clientX, ev.clientY);\n this.startAnimation();\n }\n inGesture = false;\n });\n }\n\n protected bindTouchEvents(div: HTMLDivElement) {\n let touchIdentifier: number | undefined;\n\n div.addEventListener(\"touchend\", ev => {\n if (touchIdentifier) {\n const touch = getTouch(ev, touchIdentifier);\n\n if (touch) {\n this.updateJoystickDrag(touch.clientX, touch.clientY);\n this.startAnimation();\n ev.preventDefault();\n }\n }\n touchIdentifier = undefined;\n });\n\n div.addEventListener(\"touchstart\", ev => {\n touchIdentifier = ev.changedTouches[0].identifier;\n this.updateJoystickDrag(ev.changedTouches[0].clientX, ev.changedTouches[0].clientY);\n });\n\n div.addEventListener(\"touchmove\", ev => {\n if (touchIdentifier) {\n const touch = getTouch(ev, touchIdentifier);\n\n if (touch) {\n this.updateJoystickDrag(touch.clientX, touch.clientY);\n ev.preventDefault();\n }\n }\n });\n\n div.addEventListener(\"touchcancel\", ev => {\n if (touchIdentifier) {\n const touch = getTouch(ev, touchIdentifier);\n\n if (touch) {\n this.updateJoystickDrag(touch.clientX, touch.clientY);\n this.startAnimation();\n }\n }\n touchIdentifier = undefined;\n });\n }\n\n protected updateJoystickDrag(x: number, y: number) {\n if (this.joystickHandle) {\n const bounds = (this.refs[\"joystick-bounds\"] as HTMLDivElement).getBoundingClientRect();\n\n const dx = ((x - bounds.left) * (SVG_WIDTH / bounds.width)) - HALF_WIDTH;\n const dy = ((y - bounds.top) * (SVG_WIDTH / bounds.height)) - HALF_WIDTH;\n\n const angle = Math.atan2(dy, dx);\n const distance = Math.min(Math.sqrt(Math.pow(dx, 2) + Math.pow(dy, 2)), 10);\n\n this.setHandlePosition(HALF_WIDTH + distance * Math.cos(angle), HALF_WIDTH + distance * Math.sin(angle));\n }\n }\n\n protected startAnimation() {\n this.clearButtonPresses();\n if (this.joystickHandle) {\n this.stopAnimation();\n\n const animationFrame = () => {\n let distance = this.getHandleDistance();\n\n if (distance < 0.5) {\n this.setHandlePosition(HALF_WIDTH, HALF_WIDTH, true);\n this.stopAnimation();\n }\n else {\n const angle = this.getHandleAngle();\n distance = Math.max(distance - 1, 0);\n this.setHandlePosition(HALF_WIDTH + distance * Math.cos(angle), HALF_WIDTH + distance * Math.sin(angle), true);\n this.joystickAnimation = requestAnimationFrame(animationFrame);\n }\n }\n\n this.joystickAnimation = requestAnimationFrame(animationFrame);\n }\n }\n\n protected stopAnimation() {\n if (this.joystickAnimation) {\n cancelAnimationFrame(this.joystickAnimation);\n this.joystickAnimation = undefined;\n this.joystickGestureCount += 1;\n }\n }\n\n protected logEvents = () => {\n if (this.joystickGestureCount > 0) {\n tickEvent(\"shareExperiment.play.joystickGestureUp\", {\"count\": this.joystickGestureCount});\n this.joystickGestureCount = 0;\n }\n }\n\n protected cleanupInterval = () => {\n clearInterval(this.joystickGestureInterval);\n this.joystickGestureCount = 0;\n }\n\n /**\n *\n * @param x The x location in SVG coordinates\n * @param y The y location in SVG coordinates\n */\n protected setHandlePosition(x: number, y: number, animation = false) {\n if (this.joystickHandle) {\n this.joystickHandle.setAttribute(\"cx\", \"\" + x)\n this.joystickHandle.setAttribute(\"cy\", \"\" + y)\n\n this.handleX = x;\n this.handleY = y;\n\n if (!animation) {\n if (this.getHandleDistance() < 5) {\n this.clearButtonPresses();\n }\n else {\n const { simulator } = this.props;\n const angle = this.getHandleAngle();\n const octet = (5 + Math.floor((angle / (Math.PI / 4)) - 0.5)) % 8;\n\n if (octet === this.lastOctet) return;\n this.lastOctet = octet;\n\n let left = false;\n let right = false;\n let up = false;\n let down = false;\n\n switch (octet) {\n case 0:\n left = true;\n break;\n case 1:\n left = true;\n up = true;\n break;\n case 2:\n up = true;\n break;\n case 3:\n up = true;\n right = true;\n break;\n case 4:\n right = true;\n break;\n case 5:\n right = true;\n down = true;\n break;\n case 6:\n down = true;\n break;\n case 7:\n left = true;\n down = true;\n break;\n }\n\n if (down) simulator.pressButton(SimulatorButton.Down);\n else simulator.releaseButton(SimulatorButton.Down);\n\n if (up) simulator.pressButton(SimulatorButton.Up);\n else simulator.releaseButton(SimulatorButton.Up);\n\n if (left) simulator.pressButton(SimulatorButton.Left);\n else simulator.releaseButton(SimulatorButton.Left);\n\n if (right) simulator.pressButton(SimulatorButton.Right);\n else simulator.releaseButton(SimulatorButton.Right);\n }\n }\n }\n }\n\n protected getHandleAngle() {\n return Math.atan2(this.handleY - HALF_WIDTH, this.handleX - HALF_WIDTH);;\n }\n\n protected getHandleDistance() {\n return Math.sqrt(Math.pow(this.handleX - HALF_WIDTH, 2) + Math.pow(this.handleY - HALF_WIDTH, 2));\n }\n\n protected clearButtonPresses() {\n const { simulator } = this.props;\n simulator.releaseButton(SimulatorButton.Down);\n simulator.releaseButton(SimulatorButton.Up);\n simulator.releaseButton(SimulatorButton.Left);\n simulator.releaseButton(SimulatorButton.Right);\n this.lastOctet = undefined;\n }\n}\n\nfunction hasPointerEvents(): boolean {\n return typeof window != \"undefined\" && !!(window as any).PointerEvent;\n}\n\nfunction isTouchEnabled(): boolean {\n return typeof window !== \"undefined\" &&\n ('ontouchstart' in window // works on most browsers\n || (navigator && navigator.maxTouchPoints > 0)); // works on IE10/11 and Surface);\n}\n\nfunction getTouch(ev: TouchEvent, identifier: number) {\n for (let i = 0; i < ev.changedTouches.length; i++) {\n if (ev.changedTouches[i].identifier === identifier) {\n return ev.changedTouches[i];\n }\n }\n\n return undefined;\n}\n\nexport default Joystick;","import React from 'react';\n\nimport '../css/GameButtons.css';\nimport { Simulator, SimulatorButton } from './simulator';\nimport { tickEvent } from '../telemetry/appinsights';\n\nexport interface GameButtonsProps {\n simulator: Simulator;\n changeMode: (mode: \"play\" | \"share\" | \"mod\") => void;\n}\n\nconst SVG_WIDTH = 40;\n\nclass GameButtons extends React.Component {\n protected aButton: SVGCircleElement | undefined;\n protected aLabel: SVGTextElement | undefined;\n protected bButton: SVGCircleElement | undefined;\n protected bLabel: SVGTextElement | undefined;\n protected buttonPressCount: {[key: string]: number} = {};\n protected buttonPressInterval: any;\n\n componentDidMount() {\n this.aButton = this.refs[\"button-a\"] as SVGCircleElement;\n this.aLabel = this.refs[\"label-a\"] as SVGTextElement;\n this.bButton = this.refs[\"button-b\"] as SVGCircleElement;;\n this.bLabel = this.refs[\"label-b\"] as SVGTextElement;\n\n this.bindEvents(this.refs[\"button-bounds\"] as HTMLElement)\n }\n\n componentWillUnmount() {\n this.aButton = undefined;\n this.aLabel = undefined;\n this.bButton = undefined;\n this.bLabel = undefined;\n this.cleanupInterval();\n }\n\n render() {\n const { changeMode } = this.props;\n return (\n \n
\n
\n changeMode(\"share\")}>Share \n
\n
\n \n B \n \n A \n \n
\n )\n }\n\n protected updateButtonGesture(x: number, y: number) {\n const bounds = (this.refs[\"button-bounds\"] as HTMLDivElement).getBoundingClientRect();\n\n const dx = ((x - bounds.left) * (SVG_WIDTH / bounds.width));\n const dy = ((y - bounds.top) * (SVG_WIDTH / bounds.height));\n\n const aDistance = Math.sqrt(Math.pow(dx - 30, 2) + Math.pow(dy - 13, 2));\n const bDistance = Math.sqrt(Math.pow(dx - 15, 2) + Math.pow(dy - 28, 2));\n\n this.setButtonState(SimulatorButton.A, aDistance < 8)\n this.setButtonState(SimulatorButton.B, bDistance < 8)\n }\n\n protected clearButtonPresses() {\n this.setButtonState(SimulatorButton.A, false);\n this.setButtonState(SimulatorButton.B, false);\n }\n\n protected setButtonState(button: SimulatorButton, pressed: boolean) {\n const isAButton = button === SimulatorButton.A;\n const circle = isAButton ? this.aButton : this.bButton;\n const label = isAButton ? this.aLabel : this.bLabel;\n\n if (circle && label) {\n const pressedColor = \"#249ca3\";\n circle.setAttribute(\"fill\", pressed ? pressedColor : \"#333\")\n label.setAttribute(\"fill\", pressed ? \"#333\" : \"\")\n }\n\n const { simulator } = this.props;\n if (pressed) {\n if (!this.buttonPressCount[SimulatorButton[button]]) this.buttonPressCount[SimulatorButton[button]] = 0;\n this.buttonPressCount[SimulatorButton[button]] += 1;\n simulator.pressButton(button);\n }\n else simulator.releaseButton(button);\n }\n\n protected bindEvents(div: HTMLElement) {\n if (!div) return;\n\n if (hasPointerEvents()) {\n this.bindPointerEvents(div);\n }\n else if (isTouchEnabled()) {\n this.bindTouchEvents(div);\n }\n else {\n this.bindMouseEvents(div);\n }\n\n this.buttonPressInterval = setInterval(this.logEvents, 5000);\n }\n\n protected bindPointerEvents(div: HTMLElement) {\n let inGesture = false;\n\n div.addEventListener(\"pointerup\", ev => {\n if (inGesture) {\n this.clearButtonPresses()\n }\n inGesture = false;\n });\n\n div.addEventListener(\"pointerdown\", ev => {\n this.updateButtonGesture(ev.clientX, ev.clientY);\n inGesture = true\n });\n\n div.addEventListener(\"pointermove\", ev => {\n if (inGesture) this.updateButtonGesture(ev.clientX, ev.clientY);\n });\n\n div.addEventListener(\"pointerleave\", ev => {\n if (inGesture) {\n this.clearButtonPresses()\n }\n inGesture = false;\n });\n }\n\n protected bindMouseEvents(div: HTMLElement) {\n let inGesture = false;\n\n div.addEventListener(\"mouseup\", ev => {\n if (inGesture) {\n this.clearButtonPresses()\n }\n inGesture = false;\n });\n\n div.addEventListener(\"mousedown\", ev => {\n this.updateButtonGesture(ev.clientX, ev.clientY);\n inGesture = true\n });\n\n div.addEventListener(\"mousemove\", ev => {\n if (inGesture) this.updateButtonGesture(ev.clientX, ev.clientY);\n });\n\n div.addEventListener(\"mouseleave\", ev => {\n if (inGesture) {\n this.clearButtonPresses()\n }\n inGesture = false;\n });\n }\n\n protected bindTouchEvents(div: HTMLElement) {\n let touchIdentifier: number | undefined;\n\n div.addEventListener(\"touchend\", ev => {\n if (touchIdentifier) {\n const touch = getTouch(ev, touchIdentifier);\n\n if (touch) {\n this.clearButtonPresses()\n ev.preventDefault();\n }\n }\n touchIdentifier = undefined;\n });\n\n div.addEventListener(\"touchstart\", ev => {\n touchIdentifier = ev.changedTouches[0].identifier;\n this.updateButtonGesture(ev.changedTouches[0].clientX, ev.changedTouches[0].clientY);\n });\n\n div.addEventListener(\"touchmove\", ev => {\n if (touchIdentifier) {\n const touch = getTouch(ev, touchIdentifier);\n\n if (touch) {\n this.updateButtonGesture(touch.clientX, touch.clientY);\n ev.preventDefault();\n }\n }\n });\n\n div.addEventListener(\"touchcancel\", ev => {\n if (touchIdentifier) {\n const touch = getTouch(ev, touchIdentifier);\n\n if (touch) {\n this.clearButtonPresses();\n }\n }\n touchIdentifier = undefined;\n });\n }\n\n protected logEvents = () => {\n if (Object.values(this.buttonPressCount).some(x => !!x)) {\n tickEvent(\"shareExperiment.play.buttonPress\", this.buttonPressCount);\n Object.keys(this.buttonPressCount).forEach(k => this.buttonPressCount[k] = 0);\n }\n }\n\n protected cleanupInterval = () => {\n clearInterval(this.buttonPressInterval);\n this.buttonPressCount = {};\n }\n}\n\nfunction hasPointerEvents(): boolean {\n return typeof window != \"undefined\" && !!(window as any).PointerEvent;\n}\n\nfunction isTouchEnabled(): boolean {\n return typeof window !== \"undefined\" &&\n ('ontouchstart' in window // works on most browsers\n || (navigator && navigator.maxTouchPoints > 0)); // works on IE10/11 and Surface);\n}\n\nfunction getTouch(ev: TouchEvent, identifier: number) {\n for (let i = 0; i < ev.changedTouches.length; i++) {\n if (ev.changedTouches[i].identifier === identifier) {\n return ev.changedTouches[i];\n }\n }\n\n return undefined;\n}\n\nexport default GameButtons;","import React from 'react';\n\nimport SimFrame from './SimFrame';\nimport Joystick from './Joystick';\nimport GameButtons from './GameButtons';\n\nimport '../css/GamePlayer.css';\nimport { Simulator } from './simulator';\nimport { UserProject } from './util';\n\n\nexport interface GamePlayerProps {\n proj: UserProject;\n changeMode: (mode: \"play\" | \"share\" | \"mod\") => void;\n}\n\nconst GamePlayer: React.FC = props => {\n let sim = new Simulator();\n\n sim.runCode(props.proj.binJs);\n\n return (\n \n
\n
\n
\n
\n
MAKECODE
\n
\n
\n
\n );\n}\n\nexport default GamePlayer;\n","// These are the characters used to output literals (but we support aliases for some of these)\nconst hexChars = [\".\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\"];\n\nexport interface Coord {\n x: number,\n y: number\n}\n\n/**\n * 16-color sprite\n */\nexport class Bitmap {\n public buf: Uint8Array;\n\n constructor(public width: number, public height: number, public x0 = 0, public y0 = 0) {\n this.buf = new Uint8Array(Math.ceil(width * height / 2));\n }\n\n set(col: number, row: number, value: number) {\n if (col < this.width && row < this.height && col >= 0 && row >= 0) {\n const index = this.coordToIndex(col, row);\n this.setCore(index, value);\n }\n }\n\n get(col: number, row: number) {\n if (col < this.width && row < this.height && col >= 0 && row >= 0) {\n const index = this.coordToIndex(col, row);\n return this.getCore(index);\n }\n return 0;\n }\n\n copy(col = 0, row = 0, width = this.width, height = this.height): Bitmap {\n const sub = new Bitmap(width, height);\n sub.x0 = col;\n sub.y0 = row;\n for (let c = 0; c < width; c++) {\n for (let r = 0; r < height; r++) {\n sub.set(c, r, this.get(col + c, row + r));\n }\n }\n return sub;\n }\n\n apply(change: Bitmap, transparent = false) {\n let current: number;\n for (let c = 0; c < change.width; c++) {\n for (let r = 0; r < change.height; r++) {\n current = change.get(c, r);\n\n if (!current && transparent) continue;\n this.set(change.x0 + c, change.y0 + r, current);\n }\n }\n }\n\n equals(other: Bitmap) {\n if (this.width === other.width && this.height === other.height && this.x0 === other.x0 && this.y0 === other.y0 && this.buf.length === other.buf.length) {\n for (let i = 0; i < this.buf.length; i++) {\n if (this.buf[i] !== other.buf[i]) return false;\n }\n return true;\n }\n\n return false;\n }\n\n protected coordToIndex(col: number, row: number) {\n return col + row * this.width;\n }\n\n protected getCore(index: number) {\n const cell = Math.floor(index / 2);\n if (index % 2 === 0) {\n return this.buf[cell] & 0xf;\n }\n else {\n return (this.buf[cell] & 0xf0) >> 4;\n }\n }\n\n protected setCore(index: number, value: number) {\n const cell = Math.floor(index / 2);\n if (index % 2 === 0) {\n this.buf[cell] = (this.buf[cell] & 0xf0) | (value & 0xf);\n }\n else {\n this.buf[cell] = (this.buf[cell] & 0x0f) | ((value & 0xf) << 4);\n }\n }\n}\n\nexport class Bitmask {\n protected mask: Uint8Array;\n\n constructor(public width: number, public height: number) {\n this.mask = new Uint8Array(Math.ceil(width * height / 8));\n }\n\n set(col: number, row: number) {\n const cellIndex = col + this.width * row;\n const index = cellIndex >> 3;\n const offset = cellIndex & 7;\n this.mask[index] |= (1 << offset);\n }\n\n get(col: number, row: number) {\n const cellIndex = col + this.width * row;\n const index = cellIndex >> 3;\n const offset = cellIndex & 7;\n return (this.mask[index] >> offset) & 1;\n }\n}\n\nexport function resizeBitmap(img: Bitmap, width: number, height: number) {\n const result = new Bitmap(width, height);\n result.apply(img);\n return result;\n}\n\nexport function imageLiteralToBitmap(text: string, defaultPattern?: string): Bitmap {\n // Strip the tagged template string business and the whitespace. We don't have to exhaustively\n // replace encoded characters because the compiler will catch any disallowed characters and throw\n // an error before the decompilation happens. 96 is backtick and 9 is tab\n text = text.replace(/[ `]|(?:`)|(?: )|(?:img)/g, \"\").trim();\n text = text.replace(/^[\"`\\(\\)]*/, '').replace(/[\"`\\(\\)]*$/, '');\n text = text.replace(/
/g, \"\\n\");\n\n if (!text && defaultPattern)\n text = defaultPattern;\n\n const rows = text.split(\"\\n\");\n\n // We support \"ragged\" sprites so not all rows will be the same length\n const sprite: number[][] = [];\n let spriteWidth = 0;\n\n for (let r = 0; r < rows.length; r++) {\n const row = rows[r];\n const rowValues: number[] = [];\n for (let c = 0; c < row.length; c++) {\n // This list comes from libs/screen/targetOverrides.ts in pxt-arcade\n // Technically, this could change per target.\n switch (row[c]) {\n case \"0\": case \".\": rowValues.push(0); break;\n case \"1\": case \"#\": rowValues.push(1); break;\n case \"2\": case \"T\": rowValues.push(2); break;\n case \"3\": case \"t\": rowValues.push(3); break;\n case \"4\": case \"N\": rowValues.push(4); break;\n case \"5\": case \"n\": rowValues.push(5); break;\n case \"6\": case \"G\": rowValues.push(6); break;\n case \"7\": case \"g\": rowValues.push(7); break;\n case \"8\": rowValues.push(8); break;\n case \"9\": rowValues.push(9); break;\n case \"a\": case \"A\": case \"R\": rowValues.push(10); break;\n case \"b\": case \"B\": case \"P\": rowValues.push(11); break;\n case \"c\": case \"C\": case \"p\": rowValues.push(12); break;\n case \"d\": case \"D\": case \"O\": rowValues.push(13); break;\n case \"e\": case \"E\": case \"Y\": rowValues.push(14); break;\n case \"f\": case \"F\": case \"W\": rowValues.push(15); break;\n }\n }\n\n if (rowValues.length) {\n sprite.push(rowValues);\n spriteWidth = Math.max(spriteWidth, rowValues.length);\n }\n }\n\n const spriteHeight = sprite.length;\n\n const result = new Bitmap(spriteWidth, spriteHeight)\n\n for (let r = 0; r < spriteHeight; r++) {\n const row = sprite[r];\n for (let c = 0; c < spriteWidth; c++) {\n if (c < row.length) {\n result.set(c, r, row[c]);\n }\n else {\n result.set(c, r, 0);\n }\n }\n }\n\n return result;\n}\n\nexport function bitmapToImageLiteral(bitmap: Bitmap): string {\n let res = \"img`\";\n\n\n if (bitmap) {\n for (let r = 0; r < bitmap.height; r++) {\n res += \"\\n\"\n for (let c = 0; c < bitmap.width; c++) {\n res += hexChars[bitmap.get(c, r)] + \" \";\n }\n }\n }\n\n res += \"\\n\";\n res += \"`\";\n return res;\n}","import { Bitmap, bitmapToImageLiteral, imageLiteralToBitmap } from \"./sprite-editor/bitmap\";\n\nexport function f4EncodeImg(w: number, h: number, bpp: number, getPix: (x: number, y: number) => number) {\n let r = hex2(0xe0 | bpp) + hex2(w) + hex2(h) + \"00\"\n let ptr = 4\n let curr = 0\n let shift = 0\n\n let pushBits = (n: number) => {\n curr |= n << shift\n if (shift == 8 - bpp) {\n r += hex2(curr)\n ptr++\n curr = 0\n shift = 0\n } else {\n shift += bpp\n }\n }\n\n for (let i = 0; i < w; ++i) {\n for (let j = 0; j < h; ++j)\n pushBits(getPix(i, j))\n while (shift != 0)\n pushBits(0)\n if (bpp > 1) {\n while (ptr & 3)\n pushBits(0)\n }\n }\n\n return r\n\n function hex2(n: number) {\n return (\"0\" + n.toString(16)).slice(-2)\n }\n}\n\nexport function f4PreProcess(s: string) {\n let matrix: number[][] = []\n let line: number[] = []\n let tbl: { [k: string]: number } = {}\n let maxLen = 0\n // attrs.groups.forEach((str, n) => {\n // for (let c of str) tbl[c] = n\n // })\n s += \"\\n\"\n for (let i = 0; i < s.length; ++i) {\n let c = s[i]\n switch (c) {\n case ' ':\n case '\\t':\n break\n case '\\n':\n if (line.length > 0) {\n matrix.push(line)\n maxLen = Math.max(line.length, maxLen)\n line = []\n }\n break\n default:\n let v = tbl[c] // U.lookup(tbl, c) //TODO(dz):\n if (v == null) {\n // if (attrs.groups.length == 2)\n // v = 1 // default anything non-zero to one\n // else\n // throw unhandled(node, lf(\"invalid character in image literal: '{0}'\", v), 9273)\n }\n line.push(v)\n break\n }\n }\n\n let bpp = 8\n // if (attrs.groups.length <= 2) {\n // bpp = 1\n // } else if (attrs.groups.length <= 16) {\n bpp = 4 // TODO:\n // }\n return f4EncodeImg(maxLen, matrix.length, bpp, (x, y) => matrix[y][x] || 0)\n}\n\nexport function toNumbers(colors: string[]): number[][] {\n const res: number[][] = [];\n for (let i = 0; i < colors.length; i++) {\n const color = parseColorString(colors[i]);\n res.push([_r(color), _g(color), _b(color)]);\n }\n return res;\n}\n\nfunction parseColorString(color: string) {\n if (color) {\n if (color.length === 6) {\n return parseInt(\"0x\" + color);\n }\n else if (color.length === 7) {\n return parseInt(\"0x\" + color.substr(1));\n }\n }\n return 0;\n}\n\nfunction _r(color: number) { return (color >> 16) & 0xff }\nfunction _g(color: number) { return (color >> 8) & 0xff }\nfunction _b(color: number) { return color & 0xff }\n\nconst defaultPalletColors = [\n \"#000000\",\n \"#ffffff\",\n \"#ff2121\",\n \"#ff93c4\",\n \"#ff8135\",\n \"#fff609\",\n \"#249ca3\",\n \"#78dc52\",\n \"#003fad\",\n \"#87f2ff\",\n \"#8e2ec4\",\n \"#a4839f\",\n \"#5c406c\",\n \"#e5cdc4\",\n \"#91463d\",\n \"#000000\"\n]\nexport const defaultColorArray = toNumbers(defaultPalletColors);\n\nfunction scale_color(v: number) {\n return v * v\n}\nexport function textToBinHex(text: string): string {\n // TODO(dz): does this behave different than a roundtrip through Bitmap?\n return f4PreProcess(text)\n}\nexport function bitmapToBinHex(bitmap: Bitmap): string {\n // return f4PreProcess(\n return f4EncodeImg(bitmap.width, bitmap.height, 4, bitmap.get.bind(bitmap))\n}\nexport function bitmapToText(bmp: Bitmap): string {\n return bitmapToImageLiteral(bmp);\n}\nexport function textToBitmap(text: string): Bitmap {\n const bmp = imageLiteralToBitmap(text);\n\n // Ignore invalid bitmaps\n if (bmp && bmp.width && bmp.height) {\n return bmp\n } else {\n return null;\n }\n}\n\nexport function bitmapToCanvas(bmp: Bitmap, scale: number = 4) {\n const colors = defaultPalletColors.slice(1)\n // const canvas = document.createElementNS(\"http://www.w3.org/2000/svg\", \"canvas\");\n const canvas = document.createElement(\"canvas\");\n let width = canvas.width = bmp.width * scale;\n let height = canvas.height = bmp.height * scale;\n\n let cellSize = scale\n\n // TODO: Center the image if it isn't square\n const xOffset = 0\n const yOffset = 0\n\n let context: CanvasRenderingContext2D;\n context = canvas.getContext(\"2d\");\n\n for (let c = 0; c < bmp.width; c++) {\n for (let r = 0; r < bmp.height; r++) {\n const color = bmp.get(c, r);\n\n if (color) {\n context.fillStyle = colors[color - 1];\n context.fillRect(xOffset + c * cellSize, yOffset + r * cellSize, cellSize, cellSize);\n }\n }\n }\n\n return canvas;\n}\nexport function bitmapToUrl(bmp: Bitmap): string {\n return bitmapToCanvas(bmp).toDataURL();\n}\n\nexport function createPngImg(x: number, y: number, w: number, h: number, bmp?: Bitmap): SVGImageElement {\n let img = document.createElementNS(\"http://www.w3.org/2000/svg\", \"image\")\n img.setAttribute(\"x\", `${x}`)\n img.setAttribute(\"y\", `${y}`)\n img.setAttribute(\"width\", `${w}px`)\n img.setAttribute(\"height\", `${h}px`)\n if (bmp) {\n updatePngImg(img, bmp)\n }\n return img\n}\n\nexport function updatePngImg(img: SVGImageElement, bmp: Bitmap) {\n let imgData = bitmapToUrl(bmp)\n img.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", `${imgData}`)\n}\n\nexport function isEmptyBitmap(bmp: Bitmap) {\n for (let x = 0; x < bmp.width; x++) {\n for (let y = 0; y < bmp.height; y++) {\n if (bmp.get(x, y)) return false;\n }\n }\n return true;\n}","import React from 'react';\n\nimport { Bitmap } from '../sprite-editor/bitmap';\n\nimport '../css/TabBar.css';\nimport { bitmapToUrl } from '../bitmap_helpers';\n\ninterface TabBarProps {\n tabImages: Bitmap[],\n tabChange: (idx: number) => void,\n startTab: number\n}\ninterface TabBarState {\n currentTab: number\n}\n\nconst R = 10\nconst ICON_H = 64\nconst ICON_W = 64\nconst TAB_MARGIN_T = 10\nconst TAB_MARGIN_B = 2\nconst SVG_W = 541\nconst TAB_SVG_H = R * 2 + ICON_H + TAB_MARGIN_T + TAB_MARGIN_B\nconst IMG_SPACE = R * 2 + ICON_W\nconst OUT = TAB_MARGIN_T + TAB_MARGIN_B + 5\nconst TOTAL_TAB_W = R * 4 + ICON_W\n\nexport class TabBar extends React.Component\n{\n public TabBarSvg: SVGSVGElement | undefined;\n\n private TOTAL_IMG_SPACE: number;\n private LEFT_SPACE: number;\n private TABS_START: number;\n\n constructor(props: TabBarProps) {\n super(props);\n\n this.state = {\n currentTab: props.startTab\n }\n\n this.TOTAL_IMG_SPACE = IMG_SPACE * this.props.tabImages.length\n this.LEFT_SPACE = (SVG_W - this.TOTAL_IMG_SPACE) / 2\n this.TABS_START = this.LEFT_SPACE - R\n }\n\n componentDidMount() {\n this.TabBarSvg = this.refs[\"tab-bar-svg\"] as SVGSVGElement\n }\n componentWillUnmount() {\n this.TabBarSvg = undefined\n }\n\n getTabPath(idx: number): string {\n let tabW = ICON_W + R * 2\n let tabStart = this.TABS_START + tabW * idx\n let tabFinish = SVG_W - (tabStart + tabW)\n let tabPath = `M -${OUT},${(TAB_SVG_H - TAB_MARGIN_B) + OUT} l 0,-${OUT} l ${OUT},0 h ${tabStart} q ${R},0 ${R},-${R} v -${ICON_H} q 0,-${R} ${R},-${R} h ${ICON_W} q ${R},0 ${R},${R} v ${ICON_H} q 0,${R} ${R},${R} h ${tabFinish} l ${OUT},0 l 0,${OUT} z`\n return tabPath\n }\n\n render() {\n const viewBox = `0 0 ${SVG_W} ${TAB_SVG_H}`\n const tabPath = this.getTabPath(this.state.currentTab)\n const tabImgs = this.props.tabImages\n .map((img, i) => {\n return {\n x: this.TABS_START + R + R + i * IMG_SPACE,\n y: TAB_MARGIN_T + R,\n w: ICON_W,\n h: ICON_H,\n idx: i,\n data: bitmapToUrl(img)\n }\n })\n function clickHandler(this: TabBar, idx: number) {\n this.setState({ currentTab: idx })\n this.props.tabChange(idx)\n }\n return (\n \n
\n \n \n {tabImgs.map(i =>\n )}\n \n
\n );\n }\n}\n\nexport default TabBar;\n","import * as events from './svgEvents'\n\nexport type Map = {\n [index: string]: T;\n};\n\nexport type PointerHandler = () => void;\n\nexport enum PatternUnits {\n userSpaceOnUse = 0,\n objectBoundingBox = 1,\n}\n\nexport enum LengthUnit {\n em,\n ex,\n px,\n in,\n cm,\n mm,\n pt,\n pc,\n percent\n}\n\nconst XLINK_NAMESPACE = \"http://www.w3.org/1999/xlink\";\n\nexport class BaseElement {\n el: T;\n protected titleElement: SVGTitleElement;\n constructor(type: string) {\n this.el = elt(type) as T;\n }\n attr(attributes: Map): this {\n Object.keys(attributes).forEach(at => {\n this.setAttribute(at, attributes[at]);\n });\n return this;\n }\n\n setAttribute(name: string, value: string | number | boolean): this {\n this.el.setAttribute(name, value.toString());\n return this;\n }\n\n setAttributeNS(ns: string, name: string, value: string | number | boolean): this {\n this.el.setAttributeNS(ns, name, value.toString());\n return this;\n }\n\n id(id: string): this {\n return this.setAttribute(\"id\", id);\n }\n\n setClass(...classes: string[]): this {\n return this.setAttribute(\"class\", classes.join(\" \"));\n }\n\n\n\n addClassInternal(el: SVGElement | HTMLElement, classes: string) {\n classes\n .split(/\\s+/)\n .forEach(cls => addSingleClass(el, cls));\n\n function addSingleClass(el: SVGElement | HTMLElement, cls: string) {\n if (el.classList) {\n el.classList.add(cls);\n } else {\n const classes = (el.className + \"\").split(/\\s+/);\n if (classes.indexOf(cls) < 0) {\n el.className.baseVal += \" \" + cls;\n }\n }\n }\n }\n\n removeClassInternal(el: SVGElement | HTMLElement, classes: string) {\n classes\n .split(/\\s+/)\n .forEach(cls => removeSingleClass(el, cls));\n\n function removeSingleClass(el: SVGElement | HTMLElement, cls: string) {\n if (el.classList) {\n el.classList.remove(cls);\n } else {\n el.className.baseVal = (el.className + \"\")\n .split(/\\s+/)\n .filter(c => c != cls)\n .join(\" \");\n }\n }\n }\n\n\n appendClass(className: string): this {\n this.addClassInternal(this.el, className);\n return this;\n }\n\n removeClass(className: string): void {\n this.removeClassInternal(this.el, className);\n }\n\n title(text: string) {\n if (!this.titleElement) {\n this.titleElement = elt(\"title\");\n\n // Title has to be the first child in the DOM\n if (this.el.firstChild) {\n this.el.insertBefore(this.titleElement, this.el.firstChild)\n }\n else {\n this.el.appendChild(this.titleElement);\n }\n }\n this.titleElement.textContent = text;\n }\n\n setVisible(visible: boolean): this {\n return this.setAttribute(\"visibility\", visible ? \"visible\" : \"hidden\");\n }\n}\n\nexport class DrawContext extends BaseElement {\n draw(type: \"text\"): Text;\n draw(type: \"circle\"): Circle;\n draw(type: \"rect\"): Rect;\n draw(type: \"line\"): Line;\n draw(type: \"polygon\"): Polygon;\n draw(type: \"polyline\"): Polyline;\n draw(type: \"path\"): Path;\n draw(type: string): Drawable {\n const el = drawable(type as any /*FIXME?*/);\n this.el.appendChild(el.el);\n return el;\n }\n\n element(type: \"text\", cb: (newElement: Text) => void): this;\n element(type: \"circle\", cb: (newElement: Circle) => void): this;\n element(type: \"rect\", cb: (newElement: Rect) => void): this;\n element(type: \"line\", cb: (newElement: Line) => void): this;\n element(type: \"polygon\", cb: (newElement: Polygon) => void): this;\n element(type: \"polyline\", cb: (newElement: Polyline) => void): this;\n element(type: \"path\", cb: (newElement: Path) => void): this;\n element(type: string, cb: (newElement: any) => void): this {\n cb(this.draw(type as any /*FIXME?*/));\n return this;\n }\n\n group(): Group {\n const g = new Group();\n this.el.appendChild(g.el);\n return g;\n }\n\n appendChild(child: BaseElement): void {\n this.el.appendChild(child.el);\n }\n\n onDown(handler: PointerHandler): this {\n events.down(this.el, handler);\n return this;\n }\n\n onUp(handler: PointerHandler): this {\n events.up(this.el, handler);\n return this;\n }\n\n onMove(handler: PointerHandler): this {\n events.move(this.el, handler);\n return this;\n }\n\n onEnter(handler: (isDown: boolean) => void): this {\n events.enter(this.el, handler);\n return this;\n }\n\n onLeave(handler: PointerHandler): this {\n events.leave(this.el, handler);\n return this;\n }\n\n onClick(handler: PointerHandler): this {\n events.click(this.el, handler);\n return this;\n }\n}\n\nexport class SVG extends DrawContext {\n defs: DefsElement;\n constructor(parent?: Element) {\n super(\"svg\");\n if (parent) {\n parent.appendChild(this.el);\n }\n }\n\n define(cb: (defs: DefsElement) => void): this {\n if (!this.defs) {\n this.defs = new DefsElement(this.el);\n }\n cb(this.defs);\n return this;\n }\n}\n\nexport class Group extends DrawContext {\n top: number;\n left: number;\n scaleFactor: number;\n\n constructor(parent?: SVGElement) {\n super(\"g\");\n if (parent) {\n parent.appendChild(this.el);\n }\n }\n\n translate(x: number, y: number): this {\n this.left = x;\n this.top = y;\n return this.updateTransform();\n }\n\n scale(factor: number): this {\n this.scaleFactor = factor;\n return this.updateTransform();\n }\n\n def() {\n return new DefsElement(this.el);\n }\n\n style() {\n return new StyleElement(this.el);\n }\n\n private updateTransform(): this {\n let transform = \"\";\n if (this.left != undefined) {\n transform += `translate(${this.left} ${this.top})`\n }\n if (this.scaleFactor != undefined) {\n transform += ` scale(${this.scaleFactor})`\n }\n this.setAttribute(\"transform\", transform);\n return this;\n }\n}\n\nexport class Pattern extends DrawContext {\n constructor() {\n super(\"pattern\");\n }\n\n units(kind: PatternUnits): this {\n return this.setAttribute(\"patternUnits\", kind === PatternUnits.objectBoundingBox ? \"objectBoundingBox\" : \"userSpaceOnUse\")\n }\n\n contentUnits(kind: PatternUnits): this {\n return this.setAttribute(\"patternContentUnits\", kind === PatternUnits.objectBoundingBox ? \"objectBoundingBox\" : \"userSpaceOnUse\")\n }\n\n size(width: number, height: number): this {\n this.setAttribute(\"width\", width);\n this.setAttribute(\"height\", height);\n return this;\n }\n}\n\nexport class DefsElement extends BaseElement {\n constructor(parent: SVGElement) {\n super(\"defs\");\n parent.appendChild(this.el);\n }\n\n create(type: \"path\", id: string): Path;\n create(type: \"pattern\", id: string): Pattern;\n create(type: \"radialGradient\", id: string): RadialGradient;\n create(type: \"linearGradient\", id: string): LinearGradient;\n create(type: \"clipPath\", id: string): ClipPath;\n create(type: string, id: string): BaseElement {\n let el: BaseElement;\n switch (type) {\n case \"path\": el = new Path(); break;\n case \"pattern\": el = new Pattern(); break;\n case \"radialGradient\": el = new RadialGradient(); break;\n case \"linearGradient\": el = new LinearGradient(); break;\n case \"clipPath\": el = new ClipPath(); break;\n default: el = new BaseElement(type);\n }\n el.id(id);\n this.el.appendChild(el.el);\n return el;\n }\n}\n\nexport class StyleElement extends BaseElement {\n constructor(parent: SVGElement) {\n super(\"style\");\n parent.appendChild(this.el);\n }\n\n content(css: string) {\n this.el.textContent = css;\n }\n}\n\nexport class Drawable extends DrawContext {\n at(x: number, y: number): this {\n this.setAttribute(\"x\", x);\n this.setAttribute(\"y\", y);\n return this;\n }\n\n moveTo(x: number, y: number): this {\n return this.at(x, y);\n }\n\n fill(color: string, opacity?: number): this {\n this.setAttribute(\"fill\", color);\n if (opacity != undefined) {\n this.opacity(opacity);\n }\n return this;\n }\n\n opacity(opacity: number): this {\n return this.setAttribute(\"fill-opacity\", opacity);\n }\n\n stroke(color: string, width?: number): this {\n this.setAttribute(\"stroke\", color);\n if (width != undefined) {\n this.strokeWidth(width);\n }\n return this;\n }\n\n strokeWidth(width: number): this {\n return this.setAttribute(\"stroke-width\", width);\n }\n\n strokeOpacity(opacity: number): this {\n return this.setAttribute(\"stroke-opacity\", opacity);\n }\n\n clipPath(url: string): this {\n return this.setAttribute(\"clip-path\", url);\n }\n}\n\nexport class Text extends Drawable {\n constructor(text?: string) {\n super(\"text\");\n\n if (text != undefined) {\n this.text(text);\n }\n }\n\n text(text: string): this {\n this.el.textContent = text;\n return this;\n }\n\n fontFamily(family: string) {\n return this.setAttribute(\"font-family\", family);\n }\n\n fontSize(size: number, units: LengthUnit) {\n return this.setAttribute(\"font-size\", lengthWithUnits(size, units));\n }\n\n offset(dx: number, dy: number, units: LengthUnit) {\n if (dx !== 0) {\n this.setAttribute(\"dx\", lengthWithUnits(dx, units));\n }\n if (dy !== 0) {\n this.setAttribute(\"dy\", lengthWithUnits(dy, units));\n }\n return this;\n }\n\n anchor(type: \"start\" | \"middle\" | \"end\" | \"inherit\") {\n return this.setAttribute(\"text-anchor\", type);\n }\n}\n\nexport class Rect extends Drawable {\n constructor() { super(\"rect\") };\n\n width(width: number, unit = LengthUnit.px): this {\n return this.setAttribute(\"width\", lengthWithUnits(width, unit));\n }\n\n height(height: number, unit = LengthUnit.px): this {\n return this.setAttribute(\"height\", lengthWithUnits(height, unit));\n }\n\n corner(radius: number): this {\n return this.corners(radius, radius);\n }\n\n corners(rx: number, ry: number): this {\n this.setAttribute(\"rx\", rx);\n this.setAttribute(\"ry\", ry);\n return this;\n }\n\n size(width: number, height: number, unit = LengthUnit.px): this {\n this.width(width, unit);\n this.height(height, unit);\n return this;\n }\n}\n\nexport class Circle extends Drawable {\n constructor() { super(\"circle\"); }\n\n at(cx: number, cy: number): this {\n this.setAttribute(\"cx\", cx);\n this.setAttribute(\"cy\", cy);\n return this;\n }\n\n radius(r: number): this {\n return this.setAttribute(\"r\", r);\n }\n}\n\nclass Ellipse extends Drawable {\n constructor() { super(\"ellipse\"); }\n\n at(cx: number, cy: number): this {\n this.setAttribute(\"cx\", cx);\n this.setAttribute(\"cy\", cy);\n return this;\n }\n\n radius(rx: number, ry: number): this {\n this.setAttribute(\"rx\", rx);\n this.setAttribute(\"ry\", ry);\n return this;\n }\n}\n\nexport class Line extends Drawable {\n constructor() { super(\"line\"); }\n\n at(x1: number, y1: number, x2?: number, y2?: number): this {\n this.from(x1, y1);\n if (x2 != undefined && y2 != undefined) {\n this.to(x2, y2);\n }\n return this;\n }\n\n from(x1: number, y1: number): this {\n this.setAttribute(\"x1\", x1);\n this.setAttribute(\"y1\", y1);\n return this;\n }\n\n to(x2: number, y2: number): this {\n this.setAttribute(\"x2\", x2);\n this.setAttribute(\"y2\", y2);\n return this;\n }\n}\n\nexport class PolyElement extends Drawable {\n points(points: string): this {\n return this.setAttribute(\"points\", points);\n }\n\n with(points: {\n x: number;\n y: number;\n }[]): this {\n return this.points(points.map(({ x, y }) => x + \" \" + y).join(\",\"))\n }\n}\n\nexport class Polyline extends PolyElement {\n constructor() { super(\"polyline\") }\n}\n\nexport class Polygon extends PolyElement {\n constructor() { super(\"polygon\") }\n}\n\nexport class Path extends Drawable {\n d: PathContext;\n\n constructor() {\n super(\"path\");\n this.d = new PathContext();\n }\n\n update(): this {\n return this.setAttribute(\"d\", this.d.toAttribute());\n }\n\n path(cb: (d: PathContext) => void): this {\n cb(this.d);\n return this.update();\n }\n}\n\nexport class Image extends Drawable {\n constructor() { super(\"image\") }\n\n src(url: string) {\n return this.setAttributeNS(XLINK_NAMESPACE, \"href\", url);\n }\n\n width(width: number, unit = LengthUnit.px): this {\n return this.setAttribute(\"width\", lengthWithUnits(width, unit));\n }\n\n height(height: number, unit = LengthUnit.px): this {\n return this.setAttribute(\"height\", lengthWithUnits(height, unit));\n }\n\n size(width: number, height: number, unit = LengthUnit.px): this {\n this.width(width, unit);\n this.height(height, unit);\n return this;\n }\n}\n\nexport class Gradient extends BaseElement {\n units(kind: PatternUnits): this {\n return this.setAttribute(\"gradientUnits\", kind === PatternUnits.objectBoundingBox ? \"objectBoundingBox\" : \"userSpaceOnUse\")\n }\n\n stop(offset: number, color?: string, opacity?: string): this {\n const s = elt(\"stop\");\n s.setAttribute(\"offset\", offset + \"%\");\n if (color != undefined) {\n s.setAttribute(\"stop-color\", color);\n }\n\n if (opacity != undefined) {\n s.setAttribute(\"stop-opacity\", opacity);\n }\n\n this.el.appendChild(s);\n return this;\n }\n}\n\nexport class LinearGradient extends Gradient {\n constructor() { super(\"linearGradient\"); }\n\n start(x1: number, y1: number): this {\n this.setAttribute(\"x1\", x1);\n this.setAttribute(\"y1\", y1);\n return this;\n }\n\n end(x2: number, y2: number): this {\n this.setAttribute(\"x2\", x2);\n this.setAttribute(\"y2\", y2);\n return this;\n }\n}\n\nexport class RadialGradient extends Gradient {\n constructor() { super(\"radialGradient\"); }\n\n center(cx: number, cy: number): this {\n this.setAttribute(\"cx\", cx);\n this.setAttribute(\"cy\", cy);\n return this;\n }\n\n focus(fx: number, fy: number, fr: number): this {\n this.setAttribute(\"fx\", fx);\n this.setAttribute(\"fy\", fy);\n this.setAttribute(\"fr\", fr);\n return this;\n }\n\n radius(r: number): this {\n return this.setAttribute(\"r\", r);\n }\n}\n\nexport class ClipPath extends DrawContext {\n constructor() { super(\"clipPath\") }\n\n clipPathUnits(objectBoundingBox: boolean) {\n if (objectBoundingBox) {\n return this.setAttribute(\"clipPathUnits\", \"objectBoundingBox\");\n }\n else {\n return this.setAttribute(\"clipPathUnits\", \"userSpaceOnUse\");\n }\n }\n}\n\nfunction elt(type: string): SVGElement {\n let el = document.createElementNS(\"http://www.w3.org/2000/svg\", type);\n return el;\n}\n\nfunction drawable(type: \"text\"): Text;\nfunction drawable(type: \"circle\"): Circle;\nfunction drawable(type: \"rect\"): Rect;\nfunction drawable(type: \"line\"): Line;\nfunction drawable(type: \"polygon\"): Polygon;\nfunction drawable(type: \"polyline\"): Polyline;\nfunction drawable(type: \"path\"): Path;\nfunction drawable(type: string): Drawable {\n switch (type) {\n case \"text\": return new Text();\n case \"circle\": return new Circle();\n case \"rect\": return new Rect();\n case \"line\": return new Line();\n case \"polygon\": return new Polygon();\n case \"polyline\": return new Polyline();\n case \"path\": return new Path();\n default: return new Drawable(type);\n }\n}\n\nexport type OperatorSymbol = \"m\" | \"M\" | \"l\" | \"L\" | \"c\" | \"C\" | \"q\" | \"Q\" | \"T\" | \"t\" | \"S\" | \"s\" | \"z\" | \"Z\" | \"A\" | \"a\";\nexport interface PathOp {\n op: OperatorSymbol;\n args: number[];\n}\nexport class PathContext {\n private ops: PathOp[] = [];\n\n clear(): void {\n this.ops = [];\n }\n\n moveTo(x: number, y: number): this {\n return this.op(\"M\", x, y);\n }\n\n moveBy(dx: number, dy: number): this {\n return this.op(\"m\", dx, dy);\n }\n\n lineTo(x: number, y: number): this {\n return this.op(\"L\", x, y);\n }\n\n lineBy(dx: number, dy: number): this {\n return this.op(\"l\", dx, dy);\n }\n\n cCurveTo(c1x: number, c1y: number, c2x: number, c2y: number, x: number, y: number): this {\n return this.op(\"C\", c1x, c1y, c2x, c2y, x, y);\n }\n\n cCurveBy(dc1x: number, dc1y: number, dc2x: number, dc2y: number, dx: number, dy: number): this {\n return this.op(\"c\", dc1x, dc1y, dc2x, dc2y, dx, dy);\n }\n\n qCurveTo(cx: number, cy: number, x: number, y: number): this {\n return this.op(\"Q\", cx, cy, x, y);\n }\n\n qCurveBy(dcx: number, dcy: number, dx: number, dy: number): this {\n return this.op(\"q\", dcx, dcy, dx, dy);\n }\n\n sCurveTo(cx: number, cy: number, x: number, y: number): this {\n return this.op(\"S\", cx, cy, x, y);\n }\n\n sCurveBy(dcx: number, dcy: number, dx: number, dy: number): this {\n return this.op(\"s\", dcx, dcy, dx, dy);\n }\n\n tCurveTo(x: number, y: number): this {\n return this.op(\"T\", x, y);\n }\n\n tCurveBy(dx: number, dy: number): this {\n return this.op(\"t\", dx, dy);\n }\n\n arcTo(rx: number, ry: number, xRotate: number, large: boolean, sweepClockwise: boolean, x: number, y: number): this {\n return this.op(\"A\", rx, ry, xRotate, large ? 1 : 0, sweepClockwise ? 1 : 0, x, y);\n }\n\n arcBy(rx: number, ry: number, xRotate: number, large: boolean, sweepClockwise: boolean, x: number, y: number): this {\n return this.op(\"a\", rx, ry, xRotate, large ? 1 : 0, sweepClockwise ? 1 : 0, x, y);\n }\n\n close(): this {\n return this.op(\"z\");\n }\n\n toAttribute(): string {\n return this.ops.map(op => op.op + \" \" + op.args.join(\" \")).join(\" \");\n }\n\n private op(op: OperatorSymbol, ...args: number[]) {\n this.ops.push({\n op,\n args\n });\n return this;\n }\n}\n\nfunction lengthWithUnits(value: number, unit: LengthUnit) {\n switch (unit) {\n case LengthUnit.em: return value + \"em\";\n case LengthUnit.ex: return value + \"ex\";\n case LengthUnit.px: return value + \"px\";\n case LengthUnit.in: return value + \"in\";\n case LengthUnit.cm: return value + \"cm\";\n case LengthUnit.mm: return value + \"mm\";\n case LengthUnit.pt: return value + \"pt\";\n case LengthUnit.pc: return value + \"pc\";\n case LengthUnit.percent: return value + \"%\";\n default: return value.toString();\n }\n}","import React, { CSSProperties } from 'react';\n\nimport '../css/ColorPicker.css';\nimport { textToBitmap, bitmapToUrl } from '../bitmap_helpers';\n\ninterface ColorPickerProps {\n height: number,\n colors: string[],\n selected: number,\n selectionChanged: (idx: number) => void,\n}\ninterface ColorPickerState {\n selection: number\n}\n\ninterface SwatchProps {\n color: string,\n selected: boolean,\n onClick: () => void\n}\nconst Swatch: React.FC = (props: SwatchProps) => {\n let style: CSSProperties = {\n backgroundColor: props.color\n }\n let classes = `swatch ${props.selected ? \"selected\" : \"\"}`\n let backgroundImg = bitmapToUrl(SAMPLE_TREE)\n return (\n \n
\n \n
\n );\n}\nexport class ColorPicker extends React.Component\n{\n private colorPicker: HTMLDivElement | undefined;\n\n constructor(props: ColorPickerProps) {\n super(props);\n\n this.state = {\n selection: this.props.selected\n }\n\n }\n\n componentDidMount() {\n this.colorPicker = this.refs[\"color-picker\"] as HTMLDivElement\n\n // this.colorPicker.setAttribute(\"style\", `height:${this.props.height}px`)\n }\n componentWillUnmount() {\n this.colorPicker = undefined\n }\n\n clickHandler(idx: number) {\n this.props.selectionChanged(idx)\n this.setState({ selection: idx })\n }\n\n render() {\n let swatchs = this.props.colors\n .map((c, i) =>\n \n )\n\n return (\n \n {swatchs}\n
\n );\n }\n}\n\nexport default ColorPicker;\n\nconst TREES = [`\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . b b b b b b b b . . . . . . . . . . . . .\n . . . . . . . . . . . . . . b b . . b b b b b b . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b . . b b b . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . b b b b b . b b . . . . . . . . . . . . .\n . . . . . . . . . . . . . . b b b b b b b b b b . . . . . . . . . . . .\n . . . . . . . . . . . . b b b b . b b b b b b b . . . . . . . . . . . .\n . . . . . . . . . . b b b b b . . b b b b b . b b b b . . . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b b . . . b b b . . . . . . . .\n . . . . . . . . . . . . . . . b b b b b b b b . . . . . . . . . . . . .\n . . . . . . . . . . . . . . b b b b b b . b b . . . . . . . . . . . . .\n . . . . . . . . . . . b b b b b b b b b b b b b . . . . . . . . . . . .\n . . . . . . . . . b b b b b b . . b b b b . b b b . . . . . . . . . . .\n . . . . . . . . . . b b b b b . . b b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b b b . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . b b b b b b b b b . . . . . . . . . . . .\n . . . . . . . . . . . . . b b b b b b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . b b b b b b b b b b b b b b b b b . . . . . . . .\n . . . . . . . . . . b b b b b b b b b b b b b b b b b . . . . . . . . .\n . . . . . . . . . b b b b . b b b b b b b b . . . . . . . . . . . . . .\n . . . . . . . . b b . . . . b b b b b b b b b . . . . . . . . . . . . .\n . . . . . . . . . . . . b b b b b b b b b b b b b . . . . . . . . . . .\n . . . . . . . . b b b b b b b b b b b b b b b b b b b b . . . . . . . .\n . . . . . . . b b b b b b b b b b b b b b b b b b b b b b b . . . . . .\n . . . . . . b b b b b b b b . . . b b b b b b b b b . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n `, `\n . . . . . . . . . . . . . . . . . . . b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b b b . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . b b b b . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b b b b . . . . . . . . . . . .\n . . . . . . . . . . . . . . . b b b . b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . b b b b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b b b b . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b . b b b b . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b b b . . . . . . . . . . . . .\n . . . . . . . . . . . . . b b b b b b b . b b b b . . . . . . . . . . .\n . . . . . . . . . . . . b b b b b . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . b b b b b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . . . b b b b b b b b b b . . . . . . . . . . . . .\n . . . . . . . . . . . . b b b . . b b b b b b b b . . . . . . . . . . .\n . . . . . . . . . . . b b b b . b b b b b b b b . b . . . . . . . . . .\n . . . . . . . . . . . . b . . . b b b b b b b b b . . . . . . . . . . .\n . . . . . . . . . . . . . . . b b b b b b b b b b b . . . . . . . . . .\n . . . . . . . . . . . . . . b b b b b b b . b b b b . . . . . . . . . .\n . . . . . . . . . . . . . b b b b b b b b b b b b b b b . . . . . . . .\n . . . . . . . . . . . b b b b . b b b b b b b . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . b b b b b b . b b . . . . . . . . . . . .\n . . . . . . . . . . . . . b b b b b b b b b b b b . . . . . . . . . . .\n . . . . . . . . . . . . b b b b b b b b b b b b b b . . . . . . . . . .\n . . . . . . . . . . . . b b b b b b b b b b . . b b b . . . . . . . . .\n . . . . . . . . . b b b b b b b b b b b b b b . . b b b b . . . . . . .\n . . . . . . . . b b . . . b b b b b b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . b b b b b b b b b b b . . . . . . . . . . .\n . . . . . . . . . . . . b b b b . b b b b b b b b . . . . . . . . . . .\n . . . . . . . . b b b b . b . . . b b b b b b b . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b . . b b b b . . . . . . . . .\n . . . . . . . . . . . . . b b b b b . b b b b b b b b . . . . . . . . .\n . . . . . . . . . b b b b b b . . b b b b . . b b b b b . . . . . . . .\n . . . . . . . . b b . b . . . . b b b b b . . . . . b b b . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n `, `\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . b b b b b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b b b . . . . . . . . . . . . .\n . . . . . . . . . . . . . . b b b b b b b b b b . . . . . . . . . . . .\n . . . . . . . . . . . . b b b b . . b b b b b b b . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . b b b b b b b b . . . . . . . . . . . . .\n . . . . . . . . . . . . b b b b b b b b b b b b b . . . . . . . . . . .\n . . . . . . . . b b b b b b b b b b b b b b b b b b b b . . . . . . . .\n . . . . . . . . . . . b b b b b b b b b b b b b b b b . . . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b b b . b . . . . . . . . . . .\n . . . . . . . . . . . . . . b b b b b b b b b b b b b b b b . . . . . .\n . . . . . . . . . . . b b b b b b b b b b b b b b b b b b . . . . . . .\n . . . . . . . . b b b b b b b b b b b b b b b b b b b . . . . . . . . .\n . . . . . . . . . . b b b b b . . . b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b . b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b . b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n `]\nconst CLOUDS = [\n]\nconst SAMPLE_TREE = textToBitmap(TREES[0])","\n\nexport function isTouchEnabled(): boolean {\n return typeof window !== \"undefined\" &&\n ('ontouchstart' in window // works on most browsers\n || (navigator && navigator.maxTouchPoints > 0)); // works on IE10/11 and Surface);\n}\n\nexport function hasPointerEvents(): boolean {\n return typeof window != \"undefined\" && !!(window as any).PointerEvent;\n}\n\nexport function down(el: SVGElement, handler: () => void) {\n if (hasPointerEvents()) {\n el.addEventListener(\"pointerdown\", handler);\n }\n else if (isTouchEnabled()) {\n el.addEventListener(\"mousedown\", handler);\n el.addEventListener(\"touchstart\", handler);\n }\n else {\n el.addEventListener(\"mousedown\", handler);\n }\n}\n\nexport function up(el: SVGElement, handler: () => void) {\n if (hasPointerEvents()) {\n el.addEventListener(\"pointerup\", handler);\n }\n else if (isTouchEnabled()) {\n el.addEventListener(\"mouseup\", handler);\n }\n else {\n el.addEventListener(\"mouseup\", handler);\n }\n}\n\nexport function enter(el: SVGElement, handler: (isDown: boolean) => void) {\n if (hasPointerEvents()) {\n el.addEventListener(\"pointerover\", e => {\n handler(!!(e.buttons & 1))\n });\n }\n else if (isTouchEnabled()) {\n el.addEventListener(\"touchstart\", e => {\n handler(true);\n });\n }\n else {\n el.addEventListener(\"mouseover\", e => {\n handler(!!(e.buttons & 1))\n });\n }\n}\n\nexport function leave(el: SVGElement, handler: () => void) {\n if (hasPointerEvents()) {\n el.addEventListener(\"pointerleave\", handler);\n }\n else if (isTouchEnabled()) {\n el.addEventListener(\"touchend\", handler);\n }\n else {\n el.addEventListener(\"mouseleave\", handler);\n }\n}\n\nexport function move(el: SVGElement, handler: () => void) {\n if (hasPointerEvents()) {\n el.addEventListener(\"pointermove\", handler);\n }\n else if (isTouchEnabled()) {\n el.addEventListener(\"touchmove\", handler);\n }\n else {\n el.addEventListener(\"mousemove\", handler);\n }\n}\n\nexport function click(el: SVGElement, handler: () => void) {\n el.addEventListener(\"click\", handler);\n}","export const DRAG_RADIUS = 3;\n\nexport function hasPointerEvents(): boolean {\n return typeof window != \"undefined\" && !!(window as any).PointerEvent;\n}\n\nexport function isTouchEnabled(): boolean {\n return typeof window !== \"undefined\" &&\n ('ontouchstart' in window // works on most browsers\n || (navigator && navigator.maxTouchPoints > 0)); // works on IE10/11 and Surface);\n}\n\nexport enum MapTools {\n Pan,\n Stamp,\n Erase\n}\n\nexport class Bitmask {\n protected mask: Uint8Array;\n\n constructor(public width: number, public height: number) {\n this.mask = new Uint8Array(Math.ceil(width * height / 8));\n }\n\n set(col: number, row: number) {\n const cellIndex = col + this.width * row;\n const index = cellIndex >> 3;\n const offset = cellIndex & 7;\n this.mask[index] |= (1 << offset);\n }\n\n get(col: number, row: number) {\n const cellIndex = col + this.width * row;\n const index = cellIndex >> 3;\n const offset = cellIndex & 7;\n return (this.mask[index] >> offset) & 1;\n }\n}\n\nexport interface IPointerEvents {\n up: string,\n down: string[],\n move: string,\n enter: string,\n leave: string\n}\n\nexport const pointerEvents: IPointerEvents = (() => {\n if (hasPointerEvents()) {\n return {\n up: \"pointerup\",\n down: [\"pointerdown\"],\n move: \"pointermove\",\n enter: \"pointerenter\",\n leave: \"pointerleave\"\n }\n } else if (isTouchEnabled()) {\n return {\n up: \"mouseup\",\n down: [\"mousedown\", \"touchstart\"],\n move: \"touchmove\",\n enter: \"touchenter\",\n leave: \"touchend\"\n }\n } else {\n return {\n up: \"mouseup\",\n down: [\"mousedown\"],\n move: \"mousemove\",\n enter: \"mouseenter\",\n leave: \"mouseleave\"\n }\n }\n})();\n\nexport interface ClientCoordinates {\n clientX: number;\n clientY: number;\n}\n\nexport function clientCoord(ev: PointerEvent | MouseEvent | TouchEvent): ClientCoordinates {\n if ((ev as TouchEvent).touches) {\n const te = ev as TouchEvent;\n if (te.touches.length) {\n return te.touches[0];\n }\n return te.changedTouches[0];\n }\n return (ev as PointerEvent | MouseEvent);\n}\n\nexport async function loadImageAsync(src: string) {\n return new Promise((resolve, reject) => {\n const el = document.createElement(\"img\");\n\n el.onload = () => resolve(el);\n el.onerror = () => reject('');\n\n el.src = src;\n })\n}\n\nexport interface GestureTarget {\n onClick(coord: ClientCoordinates): void;\n onDragStart(coord: ClientCoordinates): void;\n onDragMove(coord: ClientCoordinates): void;\n onDragEnd(coord: ClientCoordinates): void;\n}\n\nexport class GestureState {\n startX: number;\n startY: number;\n\n currentX: number;\n currentY: number;\n\n isDrag: boolean;\n\n constructor(protected target: GestureTarget, coord: ClientCoordinates) {\n this.startX = coord.clientX;\n this.startY = coord.clientY;\n\n this.currentX = coord.clientX;\n this.currentY = coord.clientY;\n }\n\n update(coord: ClientCoordinates) {\n this.currentX = coord.clientX;\n this.currentY = coord.clientY;\n\n if (!this.isDrag && this.distance() > DRAG_RADIUS) {\n this.isDrag = true;\n this.target.onDragStart(coord);\n }\n else if (this.isDrag) {\n this.target.onDragMove(coord);\n }\n }\n\n end(coord?: ClientCoordinates) {\n if (coord) {\n this.update(coord);\n }\n\n coord = coord || { clientX: this.currentX, clientY: this.currentY };\n\n if (this.isDrag) {\n this.target.onDragEnd(coord);\n }\n else {\n this.target.onClick(coord);\n }\n }\n\n distance() {\n return Math.sqrt(Math.pow(this.currentX - this.startX, 2) + Math.pow(this.currentY - this.startY, 2));\n }\n}\n\nexport function bindGestureEvents(el: HTMLElement, target: GestureTarget) {\n let state: GestureState;\n\n let upHandler = (ev: MouseEvent) => {\n endGesture(ev);\n\n ev.stopPropagation();\n ev.preventDefault();\n };\n\n let leaveHandler = (ev: MouseEvent) => {\n endGesture(ev);\n\n ev.stopPropagation();\n ev.preventDefault();\n };\n\n let moveHandler = (ev: MouseEvent) => {\n if (state) state.update(clientCoord(ev));\n\n ev.stopPropagation();\n ev.preventDefault();\n };\n\n let startGesture = (ev: MouseEvent | PointerEvent | TouchEvent) => {\n if (state) state.end();\n\n state = new GestureState(target, clientCoord(ev));\n\n document.addEventListener(pointerEvents.move, moveHandler);\n document.addEventListener(pointerEvents.up, upHandler);\n\n if (isTouchEnabled() && !hasPointerEvents()) {\n document.addEventListener(\"touchend\", upHandler);\n document.addEventListener(\"touchcancel\", leaveHandler);\n }\n else {\n document.addEventListener(pointerEvents.leave, leaveHandler);\n }\n }\n\n let endGesture = (ev: MouseEvent | PointerEvent | TouchEvent) => {\n if (state) state.end(clientCoord(ev));\n\n state = undefined;\n\n document.removeEventListener(pointerEvents.move, moveHandler);\n document.removeEventListener(pointerEvents.up, upHandler);\n document.removeEventListener(pointerEvents.leave, leaveHandler);\n\n if (isTouchEnabled() && !hasPointerEvents()) {\n document.removeEventListener(\"touchend\", upHandler);\n document.removeEventListener(\"touchcancel\", leaveHandler);\n }\n else {\n document.removeEventListener(pointerEvents.leave, leaveHandler);\n }\n }\n\n pointerEvents.down.forEach(evId => {\n el.addEventListener(evId, startGesture);\n });\n}","import { CanvasState } from './canvasState'\nimport { Coord } from './bitmap';\nimport { Bitmask } from './util';\n\nexport enum PaintTool {\n Normal = 0,\n Rectangle = 1,\n Outline = 2,\n Circle = 3,\n Fill = 4,\n Line = 5,\n Erase = 6,\n Marquee = 7,\n}\n\nexport function getPaintToolShortcut(tool: PaintTool) {\n switch (tool) {\n case PaintTool.Normal:\n return \"p\";\n case PaintTool.Rectangle:\n return \"r\";\n case PaintTool.Circle:\n return \"c\";\n case PaintTool.Fill:\n return \"b\";\n case PaintTool.Line:\n return \"l\";\n case PaintTool.Erase:\n return \"e\";\n case PaintTool.Marquee:\n return \"s\";\n default:\n return undefined;\n }\n}\n\nexport class Cursor {\n offsetX: number;\n offsetY: number;\n constructor(public readonly width: number, public readonly height: number) {\n this.offsetX = -(width >> 1);\n this.offsetY = -(height >> 1);\n }\n}\n\nexport abstract class Edit {\n protected startCol: number;\n protected startRow: number;\n isStarted: boolean;\n showPreview: boolean;\n\n constructor(protected canvasWidth: number, protected canvasHeight: number, public color: number, protected toolWidth: number) {\n }\n\n public abstract update(col: number, row: number): void;\n protected abstract doEditCore(state: CanvasState): void;\n\n public doEdit(state: CanvasState): void {\n if (this.isStarted) {\n this.doEditCore(state);\n }\n }\n\n\n start(cursorCol: number, cursorRow: number, state: CanvasState) {\n this.isStarted = true;\n this.startCol = cursorCol;\n this.startRow = cursorRow;\n\n state.mergeFloatingLayer();\n }\n\n\n end(col: number, row: number, state: CanvasState): void {\n\n }\n\n\n getCursor(): Cursor {\n return new Cursor(this.toolWidth, this.toolWidth);\n }\n\n drawCursor(col: number, row: number, draw: (c: number, r: number) => void) {\n draw(col, row);\n }\n}\n\nexport abstract class SelectionEdit extends Edit {\n protected endCol: number;\n protected endRow: number;\n protected isDragged: boolean;\n\n update(col: number, row: number) {\n this.endCol = col;\n this.endRow = row;\n\n if (!this.isDragged && !(col == this.startCol && row == this.startRow)) {\n this.isDragged = true;\n }\n }\n\n protected topLeft(): Coord {\n return {\n x: Math.min(this.startCol, this.endCol),\n y: Math.min(this.startRow, this.endRow)\n };\n }\n\n protected bottomRight(): Coord {\n return {\n x: Math.max(this.startCol, this.endCol),\n y: Math.max(this.startRow, this.endRow)\n };\n }\n}\n\n/**\n * Regular old drawing tool\n */\nexport class PaintEdit extends Edit {\n protected mask: Bitmask;\n showPreview = true;\n\n constructor(canvasWidth: number, canvasHeight: number, color: number, toolWidth: number) {\n super(canvasWidth, canvasHeight, color, toolWidth);\n this.mask = new Bitmask(canvasWidth, canvasHeight);\n }\n\n update(col: number, row: number) {\n // Interpolate (Draw a line) from startCol, startRow to col, row\n this.interpolate(this.startCol, this.startRow, col, row);\n\n this.startCol = col;\n this.startRow = row;\n }\n\n // https://en.wikipedia.org/wiki/Bresenham%27s_line_algorithm\n protected interpolate(x0: number, y0: number, x1: number, y1: number) {\n const dx = x1 - x0;\n const dy = y1 - y0;\n const draw = (c: number, r: number) => this.mask.set(c, r);\n if (dx === 0) {\n const startY = dy >= 0 ? y0 : y1;\n const endY = dy >= 0 ? y1 : y0;\n for (let y = startY; y <= endY; y++) {\n this.drawCore(x0, y, draw);\n }\n return;\n }\n\n const xStep = dx > 0 ? 1 : -1;\n const yStep = dy > 0 ? 1 : -1;\n const dErr = Math.abs(dy / dx);\n\n let err = 0;\n let y = y0;\n for (let x = x0; xStep > 0 ? x <= x1 : x >= x1; x += xStep) {\n this.drawCore(x, y, draw);\n err += dErr;\n while (err >= 0.5) {\n if (yStep > 0 ? y <= y1 : y >= y1) {\n this.drawCore(x, y, draw);\n }\n y += yStep;\n err -= 1;\n }\n }\n }\n\n protected doEditCore(state: CanvasState) {\n for (let c = 0; c < state.width; c++) {\n for (let r = 0; r < state.height; r++) {\n if (this.mask.get(c, r)) {\n state.image.set(c, r, this.color);\n }\n }\n }\n }\n\n drawCursor(col: number, row: number, draw: (c: number, r: number) => void) {\n this.drawCore(col, row, draw);\n }\n\n protected drawCore(col: number, row: number, setPixel: (col: number, row: number) => void) {\n col = col - Math.floor(this.toolWidth / 2);\n row = row - Math.floor(this.toolWidth / 2);\n for (let i = 0; i < this.toolWidth; i++) {\n for (let j = 0; j < this.toolWidth; j++) {\n const c = col + i;\n const r = row + j;\n\n if (c >= 0 && c < this.canvasWidth && r >= 0 && r < this.canvasHeight) {\n setPixel(col + i, row + j);\n }\n }\n }\n }\n}\n\n/**\n * Tool for drawing filled rectangles\n */\nexport class RectangleEdit extends SelectionEdit {\n showPreview = true;\n\n protected doEditCore(state: CanvasState) {\n const tl = this.topLeft();\n const br = this.bottomRight();\n for (let c = tl.x; c <= br.x; c++) {\n for (let r = tl.y; r <= br.y; r++) {\n state.image.set(c, r, this.color);\n }\n }\n }\n}\n\n/**\n * Tool for drawing empty rectangles\n */\nexport class OutlineEdit extends SelectionEdit {\n showPreview = true;\n\n protected doEditCore(state: CanvasState) {\n let tl = this.topLeft();\n tl.x -= this.toolWidth >> 1;\n tl.y -= this.toolWidth >> 1;\n\n let br = this.bottomRight();\n br.x += this.toolWidth >> 1;\n br.y += this.toolWidth >> 1;\n\n for (let i = 0; i < this.toolWidth; i++) {\n this.drawRectangle(state,\n { x: tl.x + i, y: tl.y + i },\n { x: br.x - i, y: br.y - i }\n );\n }\n }\n\n protected drawRectangle(state: CanvasState, tl: Coord, br: Coord) {\n if (tl.x > br.x || tl.y > br.y) return;\n\n for (let c = tl.x; c <= br.x; c++) {\n state.image.set(c, tl.y, this.color);\n state.image.set(c, br.y, this.color);\n }\n for (let r = tl.y; r <= br.y; r++) {\n state.image.set(tl.x, r, this.color);\n state.image.set(br.x, r, this.color);\n }\n }\n\n drawCursor(col: number, row: number, draw: (c: number, r: number) => void) {\n this.drawCore(col, row, draw);\n }\n\n protected drawCore(col: number, row: number, setPixel: (col: number, row: number) => void) {\n col = col - Math.floor(this.toolWidth / 2);\n row = row - Math.floor(this.toolWidth / 2);\n for (let i = 0; i < this.toolWidth; i++) {\n for (let j = 0; j < this.toolWidth; j++) {\n const c = col + i;\n const r = row + j;\n\n if (c >= 0 && c < this.canvasWidth && r >= 0 && r < this.canvasHeight) {\n setPixel(col + i, row + j);\n }\n }\n }\n }\n\n}\n\n/**\n * Tool for drawing straight lines\n */\nexport class LineEdit extends SelectionEdit {\n showPreview = true;\n\n protected doEditCore(state: CanvasState) {\n this.bresenham(this.startCol, this.startRow, this.endCol, this.endRow, state);\n }\n\n // https://en.wikipedia.org/wiki/Bresenham%27s_line_algorithm\n protected bresenham(x0: number, y0: number, x1: number, y1: number, state: CanvasState) {\n const dx = x1 - x0;\n const dy = y1 - y0;\n const draw = (c: number, r: number) => state.image.set(c, r, this.color);\n if (dx === 0) {\n const startY = dy >= 0 ? y0 : y1;\n const endY = dy >= 0 ? y1 : y0;\n for (let y = startY; y <= endY; y++) {\n this.drawCore(x0, y, draw);\n }\n return;\n }\n\n const xStep = dx > 0 ? 1 : -1;\n const yStep = dy > 0 ? 1 : -1;\n const dErr = Math.abs(dy / dx);\n\n let err = 0;\n let y = y0;\n for (let x = x0; xStep > 0 ? x <= x1 : x >= x1; x += xStep) {\n this.drawCore(x, y, draw);\n err += dErr;\n while (err >= 0.5) {\n if (yStep > 0 ? y <= y1 : y >= y1) {\n this.drawCore(x, y, draw);\n }\n y += yStep;\n err -= 1;\n }\n }\n }\n\n drawCursor(col: number, row: number, draw: (c: number, r: number) => void) {\n this.drawCore(col, row, draw);\n }\n\n // This is surely not the most efficient approach for drawing thick lines...\n protected drawCore(col: number, row: number, draw: (c: number, r: number) => void) {\n col = col - Math.floor(this.toolWidth / 2);\n row = row - Math.floor(this.toolWidth / 2);\n for (let i = 0; i < this.toolWidth; i++) {\n for (let j = 0; j < this.toolWidth; j++) {\n const c = col + i;\n const r = row + j;\n\n draw(c, r);\n }\n }\n }\n}\n\n/**\n * Tool for circular outlines\n */\nexport class CircleEdit extends SelectionEdit {\n showPreview = true;\n\n protected doEditCore(state: CanvasState) {\n const tl = this.topLeft();\n const br = this.bottomRight();\n const dx = br.x - tl.x;\n const dy = br.y - tl.y;\n\n const radius = Math.floor(Math.hypot(dx, dy));\n const cx = this.startCol;\n const cy = this.startRow;\n\n this.midpoint(cx, cy, radius, state);\n }\n\n // https://en.wikipedia.org/wiki/Midpoint_circle_algorithm\n midpoint(cx: number, cy: number, radius: number, state: CanvasState) {\n let x = radius - 1;\n let y = 0;\n let dx = 1;\n let dy = 1;\n let err = dx - (radius * 2);\n while (x >= y) {\n state.image.set(cx + x, cy + y, this.color);\n state.image.set(cx + x, cy - y, this.color);\n state.image.set(cx + y, cy + x, this.color);\n state.image.set(cx + y, cy - x, this.color);\n state.image.set(cx - y, cy + x, this.color);\n state.image.set(cx - y, cy - x, this.color);\n state.image.set(cx - x, cy + y, this.color);\n state.image.set(cx - x, cy - y, this.color);\n if (err <= 0) {\n y++;\n err += dy;\n dy += 2;\n }\n if (err > 0) {\n x--;\n dx += 2;\n err += dx - (radius * 2);\n }\n }\n }\n\n getCursor(): Cursor {\n return new Cursor(1, 1);\n }\n}\n\n\nexport class FillEdit extends Edit {\n protected col: number;\n protected row: number;\n showPreview = true;\n\n start(col: number, row: number, state: CanvasState) {\n this.isStarted = true;\n this.col = col;\n this.row = row;\n\n state.mergeFloatingLayer();\n }\n\n update(col: number, row: number) {\n this.col = col;\n this.row = row;\n }\n\n protected doEditCore(state: CanvasState) {\n const replColor = state.image.get(this.col, this.row);\n if (replColor === this.color) {\n return;\n }\n\n const mask = new Bitmask(state.width, state.height);\n mask.set(this.col, this.row);\n const q: Coord[] = [{ x: this.col, y: this.row }];\n while (q.length) {\n const curr = q.pop();\n if (state.image.get(curr.x, curr.y) === replColor) {\n state.image.set(curr.x, curr.y, this.color);\n tryPush(curr.x + 1, curr.y);\n tryPush(curr.x - 1, curr.y);\n tryPush(curr.x, curr.y + 1);\n tryPush(curr.x, curr.y - 1);\n }\n }\n\n function tryPush(x: number, y: number) {\n if (x >= 0 && x < mask.width && y >= 0 && y < mask.height && !mask.get(x, y)) {\n mask.set(x, y);\n q.push({ x: x, y: y });\n }\n }\n }\n\n getCursor(): Cursor {\n return new Cursor(1, 1);\n }\n}\n\n\nexport class MarqueeEdit extends SelectionEdit {\n protected isMove = false;\n showPreview = false;\n\n start(cursorCol: number, cursorRow: number, state: CanvasState) {\n this.isStarted = true;\n this.startCol = cursorCol;\n this.startRow = cursorRow;\n if (state.floatingLayer) {\n if (state.inFloatingLayer(cursorCol, cursorRow)) {\n this.isMove = true;\n } else {\n state.mergeFloatingLayer();\n }\n }\n }\n\n end(cursorCol: number, cursorRow: number, state: CanvasState) {\n if (!this.isDragged && state.floatingLayer) {\n state.mergeFloatingLayer();\n }\n }\n\n protected doEditCore(state: CanvasState): void {\n const tl = this.topLeft();\n const br = this.bottomRight();\n\n if (this.isDragged) {\n if (this.isMove) {\n state.layerOffsetX = state.floatingLayer.x0 + this.endCol - this.startCol;\n state.layerOffsetY = state.floatingLayer.y0 + this.endRow - this.startRow;\n }\n else {\n state.copyToLayer(tl.x, tl.y, br.x - tl.x + 1, br.y - tl.y + 1, true);\n }\n }\n }\n\n getCursor(): Cursor {\n return undefined;\n }\n}","import * as svg from './svgUtil'\n\nexport interface ButtonGroup {\n root: svg.Group;\n cx: number;\n cy: number;\n}\n\nconst TOGGLE_WIDTH = 200;\nconst TOGGLE_HEIGHT = 40;\nconst TOGGLE_BORDER_WIDTH = 2;\nconst TOGGLE_CORNER_RADIUS = 4;\n\nconst BUTTON_CORNER_RADIUS = 2;\nconst BUTTON_BORDER_WIDTH = 1;\nconst BUTTON_BOTTOM_BORDER_WIDTH = 2;\n\nexport interface ToggleProps {\n baseColor: string;\n borderColor: string;\n backgroundColor: string;\n switchColor: string;\n unselectedTextColor: string;\n selectedTextColor: string;\n\n leftText: string;\n leftIcon: string;\n\n rightText: string;\n rightIcon: string;\n}\n\nexport class Toggle {\n protected leftElement: svg.Group;\n protected leftText: svg.Text;\n protected rightElement: svg.Group;\n protected rightText: svg.Text;\n\n protected switch: svg.Rect;\n protected root: svg.Group;\n protected props: ToggleProps;\n\n protected isLeft: boolean;\n protected changeHandler: (left: boolean) => void;\n\n constructor(parent: svg.SVG, props: Partial) {\n this.props = defaultColors(props);\n this.root = parent.group();\n this.buildDom();\n this.isLeft = true;\n }\n\n protected buildDom() {\n // Our css minifier mangles animation names so they need to be injected manually\n this.root.style().content(`\n .toggle-left {\n transform: translateX(0px);\n animation: mvleft 0.2s 0s ease;\n }\n\n .toggle-right {\n transform: translateX(100px);\n animation: mvright 0.2s 0s ease;\n }\n\n @keyframes mvright {\n 0% {\n transform: translateX(0px);\n }\n 100% {\n transform: translateX(100px);\n }\n }\n\n @keyframes mvleft {\n 0% {\n transform: translateX(100px);\n }\n 100% {\n transform: translateX(0px);\n }\n }\n `);\n\n\n // The outer border has an inner-stroke so we need to clip out the outer part\n // because SVG's don't support \"inner borders\"\n const clip = this.root.def().create(\"clipPath\", \"sprite-editor-toggle-border\")\n .clipPathUnits(true);\n\n clip.draw(\"rect\")\n .at(0, 0)\n .corners(TOGGLE_CORNER_RADIUS / TOGGLE_WIDTH, TOGGLE_CORNER_RADIUS / TOGGLE_HEIGHT)\n .size(1, 1);\n\n // Draw the outer border\n this.root.draw(\"rect\")\n .size(TOGGLE_WIDTH, TOGGLE_HEIGHT)\n .fill(this.props.baseColor)\n .stroke(this.props.borderColor, TOGGLE_BORDER_WIDTH * 2)\n .corners(TOGGLE_CORNER_RADIUS, TOGGLE_CORNER_RADIUS)\n .clipPath(\"url(#sprite-editor-toggle-border)\");\n\n\n // Draw the background\n this.root.draw(\"rect\")\n .at(TOGGLE_BORDER_WIDTH, TOGGLE_BORDER_WIDTH)\n .size(TOGGLE_WIDTH - TOGGLE_BORDER_WIDTH * 2, TOGGLE_HEIGHT - TOGGLE_BORDER_WIDTH * 2)\n .fill(this.props.backgroundColor)\n .corners(TOGGLE_CORNER_RADIUS, TOGGLE_CORNER_RADIUS);\n\n // Draw the switch\n this.switch = this.root.draw(\"rect\")\n .at(TOGGLE_BORDER_WIDTH, TOGGLE_BORDER_WIDTH)\n .size((TOGGLE_WIDTH - TOGGLE_BORDER_WIDTH * 2) / 2, TOGGLE_HEIGHT - TOGGLE_BORDER_WIDTH * 2)\n .fill(this.props.switchColor)\n .corners(TOGGLE_CORNER_RADIUS, TOGGLE_CORNER_RADIUS);\n\n // Draw the left option\n this.leftElement = this.root.group();\n this.leftText = mkText(this.props.leftText)\n .appendClass(\"sprite-editor-text\")\n .fill(this.props.selectedTextColor);\n this.leftElement.appendChild(this.leftText);\n\n // Draw the right option\n this.rightElement = this.root.group();\n this.rightText = mkText(this.props.rightText)\n .appendClass(\"sprite-editor-text\")\n .fill(this.props.unselectedTextColor);\n this.rightElement.appendChild(this.rightText);\n\n this.root.onClick(() => this.toggle());\n }\n\n toggle(quiet = false) {\n if (this.isLeft) {\n this.switch.removeClass(\"toggle-left\");\n this.switch.appendClass(\"toggle-right\");\n this.leftText.fill(this.props.unselectedTextColor);\n this.rightText.fill(this.props.selectedTextColor);\n }\n else {\n this.switch.removeClass(\"toggle-right\");\n this.switch.appendClass(\"toggle-left\");\n this.leftText.fill(this.props.selectedTextColor);\n this.rightText.fill(this.props.unselectedTextColor);\n }\n this.isLeft = !this.isLeft;\n\n if (!quiet && this.changeHandler) {\n this.changeHandler(this.isLeft);\n }\n }\n\n onStateChange(handler: (left: boolean) => void) {\n this.changeHandler = handler;\n }\n\n layout() {\n const centerOffset = (TOGGLE_WIDTH - TOGGLE_BORDER_WIDTH * 2) / 4;\n this.leftText.moveTo(centerOffset + TOGGLE_BORDER_WIDTH, TOGGLE_HEIGHT / 2);\n this.rightText.moveTo(TOGGLE_WIDTH - TOGGLE_BORDER_WIDTH - centerOffset, TOGGLE_HEIGHT / 2)\n }\n\n translate(x: number, y: number) {\n this.root.translate(x, y);\n }\n\n height() {\n return TOGGLE_HEIGHT;\n }\n\n width() {\n return TOGGLE_WIDTH;\n }\n}\n\nexport class Button {\n cx: number;\n cy: number;\n root: svg.Group;\n clickHandler: () => void;\n private _title: string;\n private _shortcut: string;\n\n constructor(root: svg.Group, cx: number, cy: number) {\n this.root = root;\n this.cx = cx;\n this.cy = cy;\n this.root.onClick(() => this.clickHandler && this.clickHandler());\n this.root.appendClass(\"sprite-editor-button\");\n }\n\n public getElement() {\n return this.root;\n }\n\n public addClass(className: string) {\n this.root.appendClass(className);\n }\n\n public removeClass(className: string) {\n this.root.removeClass(className);\n }\n\n public onClick(clickHandler: () => void) {\n this.clickHandler = clickHandler;\n }\n\n public translate(x: number, y: number) {\n this.root.translate(x, y);\n }\n\n public title(text: string) {\n this._title = text;\n this.setRootTitle();\n }\n\n public shortcut(text: string) {\n this._shortcut = text;\n this.setRootTitle();\n }\n\n private setRootTitle() {\n this.root.title(this._title + (this._shortcut ? \" (\" + this._shortcut + \")\" : \"\"));\n }\n\n public setDisabled(disabled: boolean) {\n this.editClass(\"disabled\", disabled);\n }\n\n public setSelected(selected: boolean) {\n this.editClass(\"selected\", selected);\n }\n\n protected layout() { /* subclass */ }\n\n protected editClass(className: string, add: boolean) {\n if (add) {\n this.root.appendClass(className);\n }\n else {\n this.root.removeClass(className);\n }\n }\n}\n\nexport class TextButton extends Button {\n protected textEl: svg.Text;\n\n constructor(button: ButtonGroup, text: string, className: string) {\n super(button.root, button.cx, button.cy);\n\n this.textEl = mkText(text)\n .appendClass(className);\n\n this.textEl.moveTo(this.cx, this.cy);\n\n this.root.appendChild(this.textEl);\n }\n\n setText(text: string) {\n this.textEl.text(text);\n this.textEl.moveTo(this.cx, this.cy);\n }\n\n getComputedTextLength() {\n try {\n return this.textEl.el.getComputedTextLength();\n }\n catch (e) {\n // Internet Explorer and Microsoft Edge throw if the element\n // is not visible. The best we can do is approximate\n return this.textEl.el.textContent.length * 8;\n }\n }\n}\n\nexport class StandaloneTextButton extends TextButton {\n protected padding = 30;\n\n constructor(text: string, readonly height: number) {\n super(drawSingleButton(65, height), text, \"sprite-editor-text\");\n this.addClass(\"sprite-editor-label\");\n }\n\n layout() {\n const newBG = drawSingleButton(this.width(), this.height);\n\n while (this.root.el.hasChildNodes()) {\n this.root.el.removeChild(this.root.el.firstChild);\n }\n\n while (newBG.root.el.hasChildNodes()) {\n const el = newBG.root.el.firstChild;\n newBG.root.el.removeChild(el);\n this.root.el.appendChild(el);\n }\n\n this.cx = newBG.cx;\n this.cy = newBG.cy;\n\n this.root.appendChild(this.textEl);\n this.textEl.moveTo(this.cx, this.cy);\n }\n\n width() {\n return this.getComputedTextLength() + this.padding * 2;\n }\n}\n\nexport class CursorButton extends Button {\n constructor(root: svg.Group, cx: number, cy: number, width: number) {\n super(root, cx, cy);\n\n this.root.draw(\"rect\")\n .fill(\"white\")\n .size(width, width)\n .at(Math.floor(this.cx - width / 2), Math.floor(this.cy - width / 2))\n }\n}\n\nexport function mkIconButton(icon: string, width: number, height = width + BUTTON_BOTTOM_BORDER_WIDTH - BUTTON_BORDER_WIDTH) {\n const g = drawSingleButton(width, height);\n return new TextButton(g, icon, \"sprite-editor-icon\");\n}\n\nexport function mkXIconButton(icon: string, width: number, height = width + BUTTON_BOTTOM_BORDER_WIDTH - BUTTON_BORDER_WIDTH) {\n const g = drawSingleButton(width, height);\n return new TextButton(g, icon, \"sprite-editor-xicon\");\n}\n\nexport function mkTextButton(text: string, width: number, height: number) {\n const g = drawSingleButton(width, height);\n const t = new TextButton(g, text, \"sprite-editor-text\");\n t.addClass(\"sprite-editor-label\");\n return t;\n}\n\n/**\n * Draws a button suitable for the left end of a button group.\n *\n * @param width The total width of the result (including border)\n * @param height The total height of the resul (including border and lip)\n * @param lip The width of the bottom border\n * @param border The width of the outer border (except bottom)\n * @param r The corner radius\n */\nfunction drawLeftButton(width: number, height: number, lip: number, border: number, r: number): ButtonGroup {\n const root = new svg.Group().appendClass(\"sprite-editor-button\");\n const bg = root.draw(\"path\")\n .appendClass(\"sprite-editor-button-bg\");\n bg.d.moveTo(r, 0)\n .lineBy(width - r, 0)\n .lineBy(0, height)\n .lineBy(-(width - r), 0)\n .arcBy(r, r, 0, false, true, -r, -r)\n .lineBy(0, -(height - (r << 1)))\n .arcBy(r, r, 0, false, true, r, -r)\n .close();\n bg.update();\n\n const fg = root.draw(\"path\")\n .appendClass(\"sprite-editor-button-fg\");\n fg.d.moveTo(border + r, border)\n .lineBy(width - border - r, 0)\n .lineBy(0, height - lip - border)\n .lineBy(-(width - border - r), 0)\n .arcBy(r, r, 0, false, true, -r, -r)\n .lineBy(0, -(height - lip - border - (r << 1)))\n .arcBy(r, r, 0, false, true, r, -r)\n .close();\n fg.update();\n\n return {\n root,\n cx: border + (width - border) / 2,\n cy: border + (height - lip) / 2\n };\n}\n\nexport class CursorMultiButton {\n root: svg.Group;\n selected: number;\n buttons: Button[];\n\n indexHandler: (index: number) => void;\n\n constructor(parent: svg.Group, width: number) {\n this.root = parent.group();\n const widths = [4, 7, 10]\n\n this.buttons = buttonGroup(65, 21, 3).map((b, i) => new CursorButton(b.root, b.cx, b.cy, widths[i]));\n this.buttons.forEach((button, index) => {\n button.onClick(() => this.handleClick(index));\n button.title(sizeAdjective(index));\n this.root.appendChild(button.getElement());\n });\n }\n\n protected handleClick(index: number) {\n if (index === this.selected) return;\n\n if (this.selected != undefined) {\n this.buttons[this.selected].setSelected(false);\n }\n\n this.selected = index;\n\n if (this.selected != undefined) {\n this.buttons[this.selected].setSelected(true);\n }\n\n if (this.indexHandler) this.indexHandler(index);\n }\n\n onSelected(cb: (index: number) => void) {\n this.indexHandler = cb;\n }\n}\n\nexport interface UndoRedoHost {\n undo(): void;\n redo(): void;\n}\n\nexport class UndoRedoGroup {\n root: svg.Group;\n undo: TextButton;\n redo: TextButton;\n\n host: UndoRedoHost;\n\n constructor(parent: svg.Group, host: UndoRedoHost, width: number, height: number) {\n this.root = parent.group();\n this.host = host;\n const [undo, redo] = buttonGroup(width, height, 2);\n\n this.undo = new TextButton(undo, \"\\uf118\", \"sprite-editor-xicon\");\n this.undo.onClick(() => this.host.undo());\n this.root.appendChild(this.undo.getElement());\n\n\n this.redo = new TextButton(redo, \"\\uf111\", \"sprite-editor-xicon\");\n this.redo.onClick(() => this.host.redo());\n this.root.appendChild(this.redo.getElement());\n }\n\n translate(x: number, y: number) {\n this.root.translate(x, y);\n }\n\n updateState(undo: boolean, redo: boolean) {\n this.undo.setDisabled(undo);\n this.redo.setDisabled(redo);\n }\n}\n\n\nfunction defaultColors(props: Partial): ToggleProps {\n if (!props.baseColor) props.baseColor = \"#e95153\";\n if (!props.backgroundColor) props.backgroundColor = \"rgba(52,73,94,.2)\";\n if (!props.borderColor) props.borderColor = \"rgba(52,73,94,.4)\";\n if (!props.selectedTextColor) props.selectedTextColor = props.baseColor;\n if (!props.unselectedTextColor) props.unselectedTextColor = \"hsla(0,0%,100%,.9)\";\n if (!props.switchColor) props.switchColor = \"#ffffff\";\n\n return props as ToggleProps;\n}\n\nfunction sizeAdjective(cursorIndex: number) {\n switch (cursorIndex) {\n case 0: return \"Small Cursor\";\n case 1: return \"Medium Cursor\";\n case 2: return \"Large Cursor\";\n }\n\n return undefined;\n}\n\n/**\n* Draws a button suitable for the interior of a button group.\n*\n* @param width The total width of the result (including border)\n* @param height The total height of the resul (including border and lip)\n* @param lip The width of the bottom border\n* @param border The width of the outer border (except bottom)\n*/\nfunction drawMidButton(width: number, height: number, lip: number, border: number): ButtonGroup {\n const root = new svg.Group().appendClass(\"sprite-editor-button\");\n const bg = root.draw(\"rect\")\n .appendClass(\"sprite-editor-button-bg\")\n .size(width, height)\n\n const fg = root.draw(\"rect\")\n .appendClass(\"sprite-editor-button-fg\")\n .size(width - border, height - lip - border)\n .at(border, border);\n\n return {\n root,\n cx: border + (width - border) / 2,\n cy: border + (height - lip) / 2\n };\n}\n\n/**\n * Draws a button suitable for the right end of a button group.\n *\n * @param width The total width of the result (including border)\n * @param height The total height of the resul (including border and lip)\n * @param lip The width of the bottom border\n * @param border The width of the outer border (except bottom)\n * @param r The corner radius\n */\nfunction drawRightButton(width: number, height: number, lip: number, border: number, r: number): ButtonGroup {\n const root = new svg.Group().appendClass(\"sprite-editor-button\");\n const bg = root.draw(\"path\")\n .appendClass(\"sprite-editor-button-bg\");\n bg.d.moveTo(0, 0)\n .lineBy(width - r, 0)\n .arcBy(r, r, 0, false, true, r, r)\n .lineBy(0, height - (r << 1))\n .arcBy(r, r, 0, false, true, -r, r)\n .lineBy(-(width - r), 0)\n .lineBy(0, -height)\n .close();\n bg.update();\n\n const fg = root.draw(\"path\")\n .appendClass(\"sprite-editor-button-fg\");\n fg.d.moveTo(border, border)\n .lineBy(width - border - r, 0)\n .arcBy(r, r, 0, false, true, r, r)\n .lineBy(0, height - border - lip - (r << 1))\n .arcBy(r, r, 0, false, true, -r, r)\n .lineBy(-(width - border - r), 0)\n .lineBy(0, -(height - border - lip))\n .close();\n fg.update();\n\n const content = root.group().id(\"sprite-editor-button-content\");\n content.translate(border + (width - (border << 1)) >> 1, (height - lip - border) >> 1);\n\n return {\n root,\n cx: width / 2,\n cy: border + (height - lip) / 2\n };\n}\n\n/**\n * Draws a standalone button.\n *\n * @param width The total width of the result (including border)\n * @param height The total height of the resul (including border and lip)\n * @param lip The width of the bottom border\n * @param border The width of the outer border (except bottom)\n * @param r The corner radius\n */\nfunction drawSingleButton(width: number, height: number, lip = BUTTON_BOTTOM_BORDER_WIDTH, border = BUTTON_BORDER_WIDTH, r = BUTTON_CORNER_RADIUS): ButtonGroup {\n const root = new svg.Group().appendClass(\"sprite-editor-button\");\n root.draw(\"rect\")\n .size(width, height)\n .corners(r, r)\n .appendClass(\"sprite-editor-button-bg\");\n\n root.draw(\"rect\")\n .at(border, border)\n .size(width - (border << 1), height - lip - border)\n .corners(r, r)\n .appendClass(\"sprite-editor-button-fg\");\n\n return {\n root,\n cx: width / 2,\n cy: border + (height - lip) / 2\n };\n}\n\nfunction buttonGroup(width: number, height: number, segments: number, lip = BUTTON_BOTTOM_BORDER_WIDTH, border = BUTTON_BORDER_WIDTH, r = BUTTON_CORNER_RADIUS): ButtonGroup[] {\n const available = width - (segments + 1) * border;\n const segmentWidth = Math.floor(available / segments);\n\n const result: ButtonGroup[] = [];\n for (let i = 0; i < segments; i++) {\n if (i === 0) {\n result.push(drawLeftButton(segmentWidth + border, height, lip, border, r));\n }\n else if (i === segments - 1) {\n const b = drawRightButton(segmentWidth + (border << 1), height, lip, border, r);\n b.root.translate((border + segmentWidth) * i, 0);\n result.push(b);\n }\n else {\n const b = drawMidButton(segmentWidth + border, height, lip, border);\n b.root.translate((border + segmentWidth) * i, 0);\n result.push(b);\n }\n }\n\n return result;\n}\n\nexport function mkText(text: string) {\n return new svg.Text(text)\n .anchor(\"middle\")\n .setAttribute(\"dominant-baseline\", \"middle\")\n .setAttribute(\"dy\", (false /*IE or edge*/) ? \"0.3em\" : \"0.1em\")\n}","import { PaintTool, getPaintToolShortcut } from \"./tools\";\nimport {\n Button, CursorMultiButton,\n mkXIconButton, mkIconButton, UndoRedoGroup, UndoRedoHost\n} from \"./buttons\";\nimport * as svg from './svgUtil'\nimport { tickEvent } from \"../telemetry/appinsights\";\n\nexport interface SideBarHost {\n setActiveTool(tool: PaintTool): void;\n setActiveColor(color: number): void;\n setToolWidth(width: number): void;\n setIconsToDefault(): void;\n}\n\nexport const TOOLBAR_WIDTH = 65;\nconst INNER_BUTTON_MARGIN = 3;\nconst PALETTE_BORDER_WIDTH = 1;\nconst BUTTON_GROUP_SPACING = 3;\nconst SELECTED_BORDER_WIDTH = 2;\nconst COLOR_PREVIEW_HEIGHT = 30;\nconst COLOR_MARGIN = 7;\n\nconst UNDO_REDO_START = 430;\nconst UNDO_REDO_WIDTH = 65;\nconst UNDO_REDO_HEIGHT = 31;\nexport const TOOLBAR_HEIGHT = UNDO_REDO_START + UNDO_REDO_HEIGHT\n\nconst TOOL_BUTTON_WIDTH = (TOOLBAR_WIDTH - INNER_BUTTON_MARGIN) / 2;\nconst PALLETTE_SWATCH_WIDTH = (TOOLBAR_WIDTH - PALETTE_BORDER_WIDTH * 3) / 2;\nconst TOOL_BUTTON_TOP = TOOLBAR_WIDTH / 3 + BUTTON_GROUP_SPACING;\nconst PALETTE_TOP = TOOL_BUTTON_TOP + TOOL_BUTTON_WIDTH * 3 + INNER_BUTTON_MARGIN + COLOR_MARGIN;\n\nexport class SideBar {\n root: svg.Group;\n host: SideBarHost;\n palette: string[];\n\n protected colorSwatches: svg.Rect[];\n protected pencilTool: Button;\n protected eraseTool: Button;\n protected rectangleTool: Button;\n protected fillTool: Button;\n protected marqueeTool: Button;\n\n protected sizeGroup: svg.Group;\n protected buttonGroup: svg.Group;\n protected paletteGroup: svg.Group;\n\n protected selectedTool: Button;\n protected selectedSwatch: svg.Rect;\n protected colorPreview: svg.Rect;\n\n public undoRedo: UndoRedoGroup;\n\n constructor(palette: string[], host: SideBarHost & UndoRedoHost, parent: svg.Group) {\n this.palette = palette;\n this.host = host;\n this.root = parent.group().id(\"sprite-editor-sidebar\");\n\n this.undoRedo = new UndoRedoGroup(this.root, host, UNDO_REDO_WIDTH, UNDO_REDO_HEIGHT);\n\n this.initSizes();\n this.initTools();\n this.initPalette();\n }\n\n updateUndoRedo(undo: boolean, redo: boolean) {\n this.undoRedo.updateState(undo, redo);\n }\n\n public setTool(tool: PaintTool) {\n this.host.setActiveTool(tool);\n\n if (this.selectedTool) {\n this.selectedTool.removeClass(\"selected\");\n }\n\n this.selectedTool = this.getButtonForTool(tool);\n\n if (this.selectedTool) {\n this.selectedTool.addClass(\"selected\");\n }\n }\n\n public setColor(color: number) {\n this.host.setActiveColor(color);\n\n if (this.selectedSwatch) {\n this.selectedSwatch.stroke(\"none\");\n }\n\n this.selectedSwatch = this.colorSwatches[color];\n\n if (this.selectedSwatch) {\n // Border is multiplied by 2 and the excess is clipped away\n this.selectedSwatch.stroke(\"orange\", SELECTED_BORDER_WIDTH * 2);\n this.colorPreview.fill(this.palette[color]);\n }\n\n // FIXME: Switch the tool to pencil\n }\n\n public setCursorSize(size: number) {\n this.host.setToolWidth(size);\n }\n\n public setWidth(width: number) {\n this.root.scale(width / TOOLBAR_WIDTH);\n }\n\n public translate(left: number, top: number) {\n this.root.translate(left, top);\n }\n\n protected initSizes() {\n this.sizeGroup = this.root.group().id(\"sprite-editor-cursor-buttons\");\n const buttonGroup = new CursorMultiButton(this.sizeGroup, TOOLBAR_WIDTH);\n buttonGroup.onSelected(index => {\n this.setCursorSize(1 + (index * 2));\n tickEvent(\"shareExperiment.mod.changeSize\", {\"size\": 1 + (index * 2)});\n });\n // Sets the first button to show as selected\n buttonGroup.selected = 0;\n buttonGroup.buttons[0].setSelected(true);\n }\n\n protected initTools() {\n this.buttonGroup = this.root.group()\n .id(\"sprite-editor-tools\")\n .translate(0, TOOL_BUTTON_TOP);\n\n this.pencilTool = this.initButton((\"Pencil\"), \"\\uf040\", PaintTool.Normal);\n\n this.eraseTool = this.initButton((\"Erase\"), \"\\uf12d\", PaintTool.Erase);\n this.eraseTool.translate(1 + TOOL_BUTTON_WIDTH + INNER_BUTTON_MARGIN, 0);\n\n this.fillTool = this.initButton((\"Fill\"), \"\\uf102\", PaintTool.Fill, true);\n this.fillTool.translate(0, TOOL_BUTTON_WIDTH + INNER_BUTTON_MARGIN);\n\n this.rectangleTool = this.initButton((\"Rectangle\"), \"\\uf096\", PaintTool.Rectangle);\n this.rectangleTool.translate(1 + TOOL_BUTTON_WIDTH + INNER_BUTTON_MARGIN, TOOL_BUTTON_WIDTH + INNER_BUTTON_MARGIN);\n\n this.marqueeTool = this.initButton((\"Marquee\"), \"\\uf113\", PaintTool.Marquee, true);\n this.marqueeTool.translate(0, (TOOL_BUTTON_WIDTH + INNER_BUTTON_MARGIN) << 1);\n\n this.setTool(PaintTool.Normal);\n this.undoRedo.translate(0, UNDO_REDO_START);\n }\n\n protected initPalette() {\n this.paletteGroup = this.root.group().id(\"sprite-editor-palette\")\n .translate(0, PALETTE_TOP);\n\n // Draw the background/borders for the entire palette\n const bgHeight = COLOR_PREVIEW_HEIGHT + PALETTE_BORDER_WIDTH * 2;\n this.paletteGroup.draw(\"rect\")\n .fill(\"#000000\")\n .size(TOOLBAR_WIDTH, bgHeight);\n\n this.paletteGroup.draw(\"rect\")\n .fill(\"#000000\")\n .at(0, bgHeight + COLOR_MARGIN)\n .size(TOOLBAR_WIDTH, PALETTE_BORDER_WIDTH + (this.palette.length >> 1) * (PALLETTE_SWATCH_WIDTH + PALETTE_BORDER_WIDTH));\n\n // The highlighted swatch has an inner border. The only way to do that in SVG\n // is to set the stroke to double the border width and clip the excess away\n const clip = this.paletteGroup.def().create(\"clipPath\", \"sprite-editor-selected-color\")\n .clipPathUnits(true);\n\n clip.draw(\"rect\")\n .at(0, 0)\n .size(1, 1);\n\n // Draw a preview of the current color\n this.colorPreview = this.paletteGroup.draw(\"rect\")\n .at(PALETTE_BORDER_WIDTH, PALETTE_BORDER_WIDTH)\n .size(TOOLBAR_WIDTH - PALETTE_BORDER_WIDTH * 2, COLOR_PREVIEW_HEIGHT);\n\n // Draw the swatches for each color\n this.colorSwatches = []\n for (let i = 0; i < this.palette.length; i++) {\n const col = i % 2;\n const row = Math.floor(i / 2);\n\n const swatch = this.paletteGroup\n .draw(\"rect\")\n .size(PALLETTE_SWATCH_WIDTH, PALLETTE_SWATCH_WIDTH)\n .at(col ? PALETTE_BORDER_WIDTH * 2 + PALLETTE_SWATCH_WIDTH : PALETTE_BORDER_WIDTH, bgHeight + COLOR_MARGIN + PALETTE_BORDER_WIDTH + row * (PALETTE_BORDER_WIDTH + PALLETTE_SWATCH_WIDTH))\n .fill(this.palette[i])\n .clipPath(\"url(#sprite-editor-selected-color)\")\n .onClick(() => {\n tickEvent(\"shareExperiment.mod.setColor\", {\"color\": i});\n this.setColor(i)\n });\n swatch.title(`${i}`)\n\n this.colorSwatches.push(swatch);\n }\n\n this.setColor(0);\n }\n\n protected initButton(title: string, icon: string, tool: PaintTool, xicon = false) {\n const btn = xicon ? mkXIconButton(icon, TOOL_BUTTON_WIDTH) : mkIconButton(icon, TOOL_BUTTON_WIDTH);\n const shortcut = getPaintToolShortcut(tool);\n if (shortcut) btn.shortcut(shortcut);\n btn.title(title);\n\n btn.onClick(() => {\n this.host.setIconsToDefault();\n this.setTool(tool);\n tickEvent(\"shareExperiment.mod.changeTool\", {\"tool\": PaintTool[tool].toLowerCase()});\n });\n this.buttonGroup.appendChild(btn.getElement());\n return btn;\n }\n\n getButtonForTool(tool: PaintTool) {\n switch (tool) {\n case PaintTool.Normal:\n case PaintTool.Line: return this.pencilTool;\n case PaintTool.Erase: return this.eraseTool;\n case PaintTool.Fill: return this.fillTool;\n case PaintTool.Rectangle:\n case PaintTool.Circle: return this.rectangleTool;\n case PaintTool.Marquee: return this.marqueeTool;\n default: return undefined;\n }\n }\n}","import { CanvasState } from './canvasState'\nimport { Edit } from './tools'\nimport * as utils from './util'\n\nconst alphaCellWidth = 5;\nconst dropdownPaddding = 4;\nconst lightModeBackground = \"#dedede\";\n\nexport class CanvasGrid {\n protected cellWidth: number = 16;\n protected cellHeight: number = 16;\n\n private gesture: GestureState;\n private context: CanvasRenderingContext2D;\n private fadeAnimation: Fade;\n private selectAnimation: number;\n\n protected backgroundLayer: HTMLCanvasElement;\n protected paintLayer: HTMLCanvasElement;\n protected overlayLayer: HTMLCanvasElement;\n\n mouseCol: number;\n mouseRow: number;\n\n scale: number;\n\n constructor(protected palette: string[], public state: CanvasState, protected lightMode = false, scale: number) {\n this.scale = scale;\n this.paintLayer = document.createElement(\"canvas\");\n this.paintLayer.setAttribute(\"class\", \"sprite-editor-canvas\");\n this.overlayLayer = document.createElement(\"canvas\")\n this.overlayLayer.setAttribute(\"class\", \"sprite-editor-canvas\")\n\n if (!this.lightMode) {\n this.backgroundLayer = document.createElement(\"canvas\");\n this.backgroundLayer.setAttribute(\"class\", \"sprite-editor-canvas\")\n this.context = this.paintLayer.getContext(\"2d\");\n }\n else {\n this.context = this.paintLayer.getContext(\"2d\", { alpha: false });\n this.context.fillStyle = lightModeBackground;\n this.context.fill();\n }\n\n this.hideOverlay();\n }\n\n\n get image() {\n return this.state.image;\n }\n\n setEyedropperMouse(on: boolean) {\n /* TODO\n const eyedropperClass = \"sprite-editor-eyedropper\";\n\n const toApply = on ? utils.addClass : utils.removeClass;\n toApply(this.paintLayer, eyedropperClass);\n toApply(this.overlayLayer, eyedropperClass);\n if (!this.lightMode) {\n toApply(this.backgroundLayer, eyedropperClass);\n }\n */\n }\n\n repaint(): void {\n this.clearContext(this.context);\n this.drawImage();\n if (this.state.floatingLayer) this.drawFloatingLayer();\n else this.hideOverlay();\n }\n\n applyEdit(edit: Edit, cursorCol: number, cursorRow: number, gestureEnd = false) {\n edit.doEdit(this.state);\n this.drawCursor(edit, cursorCol, cursorRow);\n }\n\n drawCursor(edit: Edit, col: number, row: number) {\n const cursor = edit.getCursor();\n\n if (cursor) {\n this.repaint();\n if (edit.showPreview) {\n edit.drawCursor(col, row, (c, r) => {\n this.drawColor(c, r, edit.color);\n });\n }\n this.context.strokeStyle = \"#898989\";\n this.context.strokeRect((col + cursor.offsetX) * this.cellWidth, (row + cursor.offsetY) * this.cellHeight, cursor.width * this.cellWidth, cursor.height * this.cellHeight);\n }\n else if (edit.isStarted) {\n this.repaint();\n }\n }\n\n bitmap() {\n return this.image;\n }\n\n outerWidth(): number {\n return this.paintLayer.getBoundingClientRect().width;\n }\n\n outerHeight(): number {\n return this.paintLayer.getBoundingClientRect().height;\n }\n\n writeColor(col: number, row: number, color: number) {\n this.image.set(col, row, color);\n this.drawColor(col, row, color);\n }\n\n drawColor(col: number, row: number, color: number, context = this.context, transparency = !this.lightMode) {\n const x = col * this.cellWidth;\n const y = row * this.cellHeight;\n\n if (color) {\n context.fillStyle = this.palette[color - 1];\n context.fillRect(x, y, this.cellWidth, this.cellHeight);\n }\n else if (!transparency) {\n context.fillStyle = lightModeBackground;\n context.fillRect(x, y, this.cellWidth, this.cellHeight);\n }\n }\n\n restore(state: CanvasState, repaint = false) {\n if (state.height != this.image.height || state.width != this.image.width) {\n this.state = state.copy();\n this.resizeGrid(state.width, state.width * state.height);\n }\n else {\n this.state = state.copy();\n }\n\n if (repaint) {\n this.repaint();\n }\n }\n\n showResizeOverlay(): void {\n if (this.lightMode) return;\n\n if (this.fadeAnimation) {\n this.fadeAnimation.kill();\n }\n this.showOverlay();\n this.stopSelectAnimation();\n\n const w = this.overlayLayer.width;\n const h = this.overlayLayer.height;\n const context = this.overlayLayer.getContext(\"2d\");\n const toastWidth = 100;\n const toastHeight = 40;\n const toastLeft = w / 2 - toastWidth / 2;\n const toastTop = h / 2 - toastWidth / 4;\n\n this.fadeAnimation = new Fade((opacity, dead) => {\n if (dead) {\n this.drawFloatingLayer();\n return;\n }\n\n this.clearContext(context);\n context.globalAlpha = opacity;\n context.fillStyle = \"#898989\";\n\n // After 32x32 the grid isn't easy to see anymore so skip it\n if (this.image.width <= 32 && this.image.height <= 32) {\n for (let c = 1; c < this.image.width; c++) {\n context.fillRect(c * this.cellWidth, 0, 1, h);\n }\n for (let r = 1; r < this.image.height; r++) {\n context.fillRect(0, r * this.cellHeight, w, 1);\n }\n }\n\n context.fillRect(toastLeft, toastTop, toastWidth, toastHeight);\n context.fillStyle = \"#ffffff\";\n context.font = \"30px sans-serif\";\n context.textBaseline = \"middle\";\n context.textAlign = \"center\";\n\n context.fillText(this.image.width.toString(), toastLeft + toastWidth / 2 - 25, toastTop + toastHeight / 2);\n context.fillText(\"x\", toastLeft + 50, toastTop + toastHeight / 2, 10);\n context.fillText(this.image.height.toString(), toastLeft + toastWidth / 2 + 25, toastTop + toastHeight / 2);\n }, 750, 500);\n }\n\n showOverlay() {\n this.overlayLayer.style.visibility = \"visible\";\n }\n\n hideOverlay() {\n this.stopSelectAnimation();\n\n this.overlayLayer.style.visibility = \"hidden\";\n\n if (this.fadeAnimation) {\n this.fadeAnimation.kill();\n }\n }\n\n resizeGrid(rowLength: number, numCells: number): void {\n this.repaint();\n }\n\n setCellDimensions(width: number, height: number): void {\n this.cellWidth = width | 0;\n this.cellHeight = height | 0;\n\n const canvasWidth = this.cellWidth * this.image.width // * this.scale;\n const canvasHeight = this.cellHeight * this.image.height // * this.scale;\n\n this.paintLayer.width = canvasWidth;\n this.paintLayer.height = canvasHeight;\n this.overlayLayer.width = canvasWidth;\n this.overlayLayer.height = canvasHeight;\n\n if (!this.lightMode) {\n this.backgroundLayer.width = canvasWidth;\n this.backgroundLayer.height = canvasHeight;\n }\n }\n\n setGridDimensions(width: number, height = width, lockAspectRatio = true): void {\n const maxCellWidth = width / this.image.width;\n const maxCellHeight = height / this.image.height;\n\n if (lockAspectRatio) {\n const aspectRatio = this.cellWidth / this.cellHeight;\n\n if (aspectRatio >= 1) {\n const w = Math.min(maxCellWidth, maxCellHeight * aspectRatio);\n this.setCellDimensions(w, w * aspectRatio);\n }\n else {\n const h = Math.min(maxCellHeight, maxCellWidth / aspectRatio)\n this.setCellDimensions(h / aspectRatio, h);\n }\n }\n else {\n this.setCellDimensions(maxCellWidth, maxCellHeight);\n }\n }\n\n down(handler: (col: number, row: number) => void): void {\n this.initDragSurface();\n this.gesture.subscribe(GestureType.Down, handler);\n }\n\n up(handler: (col: number, row: number) => void): void {\n this.initDragSurface();\n this.gesture.subscribe(GestureType.Up, handler);\n }\n\n drag(handler: (col: number, row: number) => void): void {\n this.initDragSurface();\n this.gesture.subscribe(GestureType.Drag, handler);\n }\n\n move(handler: (col: number, row: number) => void): void {\n this.initDragSurface();\n this.gesture.subscribe(GestureType.Move, handler);\n }\n\n leave(handler: () => void): void {\n this.initDragSurface();\n this.gesture.subscribe(GestureType.Leave, handler);\n }\n\n updateBounds(top: number, left: number, width: number, height: number) {\n this.layoutCanvas(this.paintLayer, top, left, width, height);\n this.layoutCanvas(this.overlayLayer, top, left, width, height);\n\n if (!this.lightMode) {\n this.layoutCanvas(this.backgroundLayer, top, left, width, height);\n }\n\n this.drawImage();\n this.drawBackground();\n }\n\n render(parent: HTMLDivElement) {\n if (!this.lightMode) {\n parent.appendChild(this.backgroundLayer);\n }\n\n parent.appendChild(this.paintLayer);\n parent.appendChild(this.overlayLayer);\n }\n\n removeMouseListeners() {\n this.stopSelectAnimation();\n if (this.fadeAnimation) this.fadeAnimation.kill();\n\n this.endDrag();\n }\n\n onEditStart(col: number, row: number, edit: Edit) {\n edit.start(col, row, this.state);\n }\n\n onEditEnd(col: number, row: number, edit: Edit) {\n edit.end(col, row, this.state);\n this.drawFloatingLayer();\n }\n\n protected drawImage(image = this.image, context = this.context, left = 0, top = 0, transparency = !this.lightMode) {\n for (let c = 0; c < image.width; c++) {\n for (let r = 0; r < image.height; r++) {\n this.drawColor(left + c, top + r, image.get(c, r), context, transparency);\n }\n }\n }\n\n protected drawBackground() {\n if (this.lightMode) return;\n const context = this.backgroundLayer.getContext(\"2d\", { alpha: false });\n const alphaCols = Math.ceil(this.paintLayer.width / alphaCellWidth);\n const alphaRows = Math.ceil(this.paintLayer.height / alphaCellWidth);\n context.fillStyle = \"#ffffff\";\n context.fillRect(0, 0, this.paintLayer.width, this.paintLayer.height);\n\n context.fillStyle = \"#dedede\";\n for (let ac = 0; ac < alphaCols; ac++) {\n for (let ar = 0; ar < alphaRows; ar++) {\n if ((ac + ar) % 2) {\n context.fillRect(ac * alphaCellWidth, ar * alphaCellWidth, alphaCellWidth, alphaCellWidth);\n }\n }\n }\n }\n\n /**\n * This calls getBoundingClientRect() so don't call it in a loop!\n */\n protected clientEventToCell(ev: MouseEvent) {\n const coord = clientCoord(ev);\n const bounds = this.paintLayer.getBoundingClientRect();\n const left = bounds.left + (window.scrollX !== null ? window.scrollX : window.pageXOffset);\n const top = bounds.top + (window.scrollY !== null ? window.scrollY : window.pageYOffset);\n\n let cellW = bounds.width / this.image.width\n let cellH = bounds.width / this.image.width\n\n this.mouseCol = Math.floor((coord.clientX - left) / cellW);\n this.mouseRow = Math.floor((coord.clientY - top) / cellH);\n\n return [\n this.mouseCol,\n this.mouseRow\n ];\n }\n protected drawFloatingLayer() {\n if (!this.state.floatingLayer) {\n return;\n }\n this.drawImage(this.state.floatingLayer, this.context, this.state.layerOffsetX, this.state.layerOffsetY, true);\n\n this.drawSelectionAnimation();\n }\n\n protected drawSelectionAnimation(dashOffset = 0) {\n if (!this.state.floatingLayer) {\n this.hideOverlay();\n return;\n }\n this.showOverlay();\n const context = this.overlayLayer.getContext(\"2d\");\n this.clearContext(context);\n context.globalAlpha = 1;\n context.strokeStyle = \"#303030\";\n context.lineWidth = 2;\n context.setLineDash([5, 3]);\n context.lineDashOffset = dashOffset;\n context.strokeRect(this.state.layerOffsetX * this.cellWidth, this.state.layerOffsetY * this.cellHeight, this.state.floatingLayer.width * this.cellWidth, this.state.floatingLayer.height * this.cellHeight);\n\n\n if (!this.lightMode && !this.selectAnimation && (!this.fadeAnimation || this.fadeAnimation.dead)) {\n let drawLayer = () => {\n dashOffset++\n requestAnimationFrame(() => this.drawSelectionAnimation(dashOffset));\n };\n\n this.selectAnimation = window.setInterval(drawLayer, 40)\n }\n }\n\n private clearContext(context: CanvasRenderingContext2D) {\n // Paint Layer has the same dimensions as all other contexts\n context.clearRect(0, 0, this.paintLayer.width, this.paintLayer.height);\n }\n\n private initDragSurface() {\n\n if (!this.gesture) {\n this.gesture = new GestureState();\n\n this.bindEvents(this.paintLayer);\n this.bindEvents(this.overlayLayer);\n\n document.addEventListener(utils.pointerEvents.move, this.hoverHandler);\n }\n\n }\n\n private bindEvents(surface: HTMLElement) {\n utils.pointerEvents.down.forEach(evId => {\n surface.addEventListener(evId, ((ev: MouseEvent) => {\n this.startDrag();\n const [col, row] = this.clientEventToCell(ev);\n this.gesture.handle(InputEvent.Down, col, row);\n }));\n })\n\n\n // surface.addEventListener(\"click\", (ev: MouseEvent) => {\n // const [col, row] = this.clientEventToCell(ev);\n // this.gesture.handle(InputEvent.Down, col, row);\n // this.gesture.handle(InputEvent.Up, col, row);\n // });\n }\n\n private upHandler = (ev: MouseEvent) => {\n this.endDrag();\n const [col, row] = this.clientEventToCell(ev);\n this.gesture.handle(InputEvent.Up, col, row);\n\n ev.stopPropagation();\n ev.preventDefault();\n }\n\n private leaveHandler = (ev: MouseEvent) => {\n this.endDrag();\n const [col, row] = this.clientEventToCell(ev);\n this.gesture.handle(InputEvent.Leave, col, row);\n\n ev.stopPropagation();\n ev.preventDefault();\n };\n\n private moveHandler = (ev: MouseEvent) => {\n const [col, row] = this.clientEventToCell(ev);\n if (col >= 0 && row >= 0 && col < this.image.width && row < this.image.height) {\n if (ev.buttons & 1) {\n this.gesture.handle(InputEvent.Down, col, row);\n }\n this.gesture.handle(InputEvent.Move, col, row);\n }\n\n ev.stopPropagation();\n ev.preventDefault();\n }\n\n private hoverHandler = (ev: MouseEvent) => {\n const [col, row] = this.clientEventToCell(ev);\n if (col >= 0 && row >= 0 && col < this.image.width && row < this.image.height) {\n this.gesture.handle(InputEvent.Move, col, row);\n this.gesture.isHover = true;\n }\n else if (this.gesture.isHover) {\n this.gesture.isHover = false;\n this.gesture.handle(InputEvent.Leave, -1, -1);\n }\n }\n\n private startDrag() {\n document.removeEventListener(utils.pointerEvents.move, this.hoverHandler);\n document.addEventListener(utils.pointerEvents.move, this.moveHandler);\n document.addEventListener(utils.pointerEvents.up, this.upHandler);\n\n if (utils.isTouchEnabled() && !utils.hasPointerEvents()) {\n document.addEventListener(\"touchend\", this.upHandler);\n document.addEventListener(\"touchcancel\", this.leaveHandler);\n }\n else {\n document.addEventListener(utils.pointerEvents.leave, this.leaveHandler);\n }\n\n }\n\n private endDrag() {\n\n document.addEventListener(utils.pointerEvents.move, this.hoverHandler);\n document.removeEventListener(utils.pointerEvents.move, this.moveHandler);\n document.removeEventListener(utils.pointerEvents.up, this.upHandler);\n document.removeEventListener(utils.pointerEvents.leave, this.leaveHandler);\n\n if (utils.isTouchEnabled() && !utils.hasPointerEvents()) {\n document.removeEventListener(\"touchend\", this.upHandler);\n document.removeEventListener(\"touchcancel\", this.leaveHandler);\n }\n else {\n document.removeEventListener(utils.pointerEvents.leave, this.leaveHandler);\n }\n\n }\n\n private layoutCanvas(canvas: HTMLCanvasElement, top: number, left: number, width: number, height: number) {\n // canvas.style.position = \"absolute\";\n // canvas.style.top = `0px`\n // canvas.style.left = `0px`\n\n // if (this.image.width === this.image.height) {\n // canvas.style.top = top + \"px\";\n // canvas.style.left = left + \"px\";\n // }\n // else if (this.image.width > this.image.height) {\n // canvas.style.top = (top + dropdownPaddding + (height - canvas.height) / 2) + \"px\";\n // canvas.style.left = left + \"px\";\n // }\n // else {\n // canvas.style.top = top + \"px\";\n // canvas.style.left = (left + dropdownPaddding + (width - canvas.width) / 2) + \"px\";\n // }\n }\n\n private stopSelectAnimation() {\n if (this.selectAnimation) {\n clearInterval(this.selectAnimation);\n this.selectAnimation = undefined;\n }\n\n }\n}\n\nenum InputEvent {\n Up,\n Down,\n Move,\n Leave\n}\n\nenum GestureType {\n Up,\n Down,\n Move,\n Drag,\n Leave\n}\n\ntype GestureHandler = (col: number, row: number) => void;\n\nclass GestureState {\n lastCol: number;\n lastRow: number;\n\n isDown = false;\n isHover = false;\n\n handlers: { [index: number]: GestureHandler } = {};\n\n handle(event: InputEvent, col: number, row: number) {\n switch (event) {\n case InputEvent.Up:\n this.update(col, row);\n this.isDown = false;\n this.fire(GestureType.Up);\n break;\n case InputEvent.Down:\n if (!this.isDown) {\n this.update(col, row);\n this.isDown = true;\n this.fire(GestureType.Down);\n }\n break;\n case InputEvent.Move:\n if (col === this.lastCol && row === this.lastRow) return;\n this.update(col, row);\n if (this.isDown) {\n this.fire(GestureType.Drag);\n }\n else {\n this.fire(GestureType.Move);\n }\n break;\n\n case InputEvent.Leave:\n this.update(col, row);\n this.isDown = false;\n this.fire(GestureType.Leave);\n break;\n }\n }\n\n subscribe(type: GestureType, handler: GestureHandler) {\n this.handlers[type] = handler;\n }\n\n protected update(col: number, row: number) {\n this.lastCol = col;\n this.lastRow = row;\n }\n\n protected fire(type: GestureType) {\n if (this.handlers[type]) {\n this.handlers[type](this.lastCol, this.lastRow);\n }\n }\n}\n\nclass Fade {\n start: number;\n end: number;\n slope: number;\n dead: boolean;\n\n constructor(protected draw: (opacity: number, dead: boolean) => void, delay: number, duration: number) {\n this.start = Date.now() + delay;\n this.end = this.start + duration;\n this.slope = 1 / duration;\n this.dead = false;\n\n draw(1, false);\n\n setTimeout(() => requestAnimationFrame(() => this.frame()), delay);\n }\n\n frame() {\n if (this.dead) return;\n const now = Date.now();\n if (now < this.end) {\n const v = 1 - (this.slope * (now - this.start));\n this.draw(v, false);\n requestAnimationFrame(() => this.frame());\n }\n else {\n this.kill();\n this.draw(0, true);\n }\n }\n\n kill() {\n this.dead = true;\n }\n}\n\nexport interface ClientCoordinates {\n clientX: number;\n clientY: number;\n}\n\nfunction clientCoord(ev: PointerEvent | MouseEvent | TouchEvent): ClientCoordinates {\n if ((ev as TouchEvent).touches) {\n const te = ev as TouchEvent;\n if (te.touches.length) {\n return te.touches[0];\n }\n return te.changedTouches[0];\n }\n return (ev as PointerEvent | MouseEvent);\n}","import { Bitmap } from './bitmap'\n\nexport class CanvasState {\n image: Bitmap;\n floatingLayer: Bitmap;\n layerOffsetX: number;\n layerOffsetY: number;\n\n constructor(bitmap?: Bitmap) {\n this.image = bitmap;\n this.layerOffsetX = 0;\n this.layerOffsetY = 0;\n }\n\n get width() {\n return this.image.width;\n }\n\n get height() {\n return this.image.height;\n }\n\n copy() {\n const res = new CanvasState();\n res.image = this.image.copy();\n\n if (this.floatingLayer) {\n res.floatingLayer = this.floatingLayer.copy();\n res.floatingLayer.x0 = this.layerOffsetX;\n res.floatingLayer.y0 = this.layerOffsetY;\n }\n res.layerOffsetX = this.layerOffsetX;\n res.layerOffsetY = this.layerOffsetY;\n\n return res;\n }\n\n equals(other: CanvasState) {\n if (!this.image.equals(other.image) || (this.floatingLayer && !other.floatingLayer) || (!this.floatingLayer && other.floatingLayer)) return false;\n\n if (this.floatingLayer) return this.floatingLayer.equals(other.floatingLayer) && this.layerOffsetX === other.layerOffsetX && this.layerOffsetY === other.layerOffsetY;\n\n return true;\n }\n\n mergeFloatingLayer() {\n if (!this.floatingLayer) return;\n\n this.floatingLayer.x0 = this.layerOffsetX;\n this.floatingLayer.y0 = this.layerOffsetY;\n\n this.image.apply(this.floatingLayer, true);\n this.floatingLayer = undefined;\n }\n\n copyToLayer(left: number, top: number, width: number, height: number, cut = false) {\n if (width === 0 || height === 0) return;\n\n if (width < 0) {\n left += width;\n width = -width;\n }\n\n if (height < 0) {\n top += height;\n height = -height;\n }\n\n this.floatingLayer = this.image.copy(left, top, width, height);\n this.layerOffsetX = this.floatingLayer.x0;\n this.layerOffsetY = this.floatingLayer.y0;\n\n if (cut) {\n for (let c = 0; c < width; c++) {\n for (let r = 0; r < height; r++) {\n this.image.set(left + c, top + r, 0);\n }\n }\n }\n }\n\n inFloatingLayer(col: number, row: number) {\n if (!this.floatingLayer) return false;\n\n col = col - this.layerOffsetX;\n row = row - this.layerOffsetY;\n\n return col >= 0 && col < this.floatingLayer.width && row >= 0 && row < this.floatingLayer.height;\n }\n}","import * as svg from './svgUtil'\nimport { SideBarHost, SideBar } from './sidebar';\nimport { SpriteHeaderHost, SpriteHeader } from './header';\nimport { CanvasGrid } from './canvasGrid';\nimport { ReporterBar } from './reporterBar';\nimport {\n Edit, PaintTool, getPaintToolShortcut,\n PaintEdit, OutlineEdit, LineEdit, CircleEdit, FillEdit, MarqueeEdit\n} from './tools';\nimport { Bitmap, resizeBitmap } from './bitmap';\nimport { CanvasState } from './canvasState';\nimport { TextButton, UndoRedoGroup } from './buttons';\nimport { tickEvent } from '../telemetry/appinsights';\n\nexport const TOTAL_HEIGHT = 465;\n\nconst PADDING = 10;\n\nconst DROP_DOWN_PADDING = 4;\n\n// Height of toolbar (the buttons above the canvas)\nexport const HEADER_HEIGHT = 0;\n\n// Spacing between the toolbar and the canvas\nconst HEADER_CANVAS_MARGIN = 10;\n\n// Height of the bar that displays editor size and info below the canvas\nconst REPORTER_BAR_HEIGHT = 31;\n\n// Spacing between the canvas and reporter bar\nconst REPORTER_BAR_CANVAS_MARGIN = 5;\n\n// Spacing between palette and paint surface\nconst SIDEBAR_CANVAS_MARGIN = 10;\n\nconst SIDEBAR_WIDTH = 65;\n\n// Total allowed height of paint surface\nconst CANVAS_HEIGHT = 500 - HEADER_HEIGHT - HEADER_CANVAS_MARGIN\n - REPORTER_BAR_HEIGHT - REPORTER_BAR_CANVAS_MARGIN - PADDING + DROP_DOWN_PADDING * 2;\n\nconst WIDTH = PADDING + SIDEBAR_WIDTH + SIDEBAR_CANVAS_MARGIN + CANVAS_HEIGHT + PADDING - DROP_DOWN_PADDING * 2;\n\nexport const COLORS = [\n \"#ffffff\",\n \"#ff2121\",\n \"#ff93c4\",\n \"#ff8135\",\n \"#fff609\",\n \"#249ca3\",\n \"#78dc52\",\n \"#003fad\",\n \"#87f2ff\",\n \"#8e2ec4\",\n \"#a4839f\",\n \"#5c406c\",\n \"#e5cdc4\",\n \"#91463d\",\n \"#000000\"\n];\n\nexport class SpriteEditor implements SideBarHost, SpriteHeaderHost {\n private group: svg.Group;\n private toolbarRoot: svg.SVG;\n\n private paintSurface: CanvasGrid;\n private sidebar: SideBar;\n private header: SpriteHeader;\n // private bottomBar: ReporterBar;\n // private gallery: Gallery;\n\n private state: CanvasState;\n\n // When changing the size, keep the old bitmap around so that we can restore it\n private cachedState: CanvasState;\n\n private edit: Edit;\n private activeTool: PaintTool = PaintTool.Normal;\n private toolWidth = 1;\n public color = 1;\n\n private cursorCol = 0;\n private cursorRow = 0;\n\n private undoStack: CanvasState[] = [];\n private redoStack: CanvasState[] = [];\n private undoRedo: UndoRedoGroup = undefined;\n\n private columns: number = 16;\n private rows: number = 16;\n\n private shiftDown: boolean = false;\n private altDown: boolean = false;\n private mouseDown: boolean = false;\n\n private closeHandler: () => void;\n\n public paintGestureCount: number = 0;\n public paintGestureInterval: any;\n\n constructor(bitmap: Bitmap, blocksInfo?: {}, protected lightMode = false, public scale = 1) {\n\n this.columns = bitmap.width;\n this.rows = bitmap.height;\n\n this.state = new CanvasState(bitmap.copy())\n\n this.toolbarRoot = new svg.SVG();\n this.toolbarRoot.setClass(\"sprite-canvas-controls\");\n this.group = this.toolbarRoot.group();\n this.createDefs();\n\n this.paintSurface = new CanvasGrid(COLORS, this.state.copy(), this.lightMode, this.scale);\n\n this.paintSurface.drag((col, row) => {\n this.debug(\"gesture (\" + PaintTool[this.activeTool] + \")\");\n if (!this.altDown) {\n this.setCell(col, row, this.color, false);\n }\n\n // this.bottomBar.updateCursor(col, row);\n });\n\n this.paintGestureInterval = setInterval(this.logEvents, 5000);\n\n this.paintSurface.up((col, row) => {\n this.debug(\"gesture end (\" + PaintTool[this.activeTool] + \")\");\n this.paintGestureCount += 1;\n if (this.altDown) {\n const color = this.state.image.get(col, row);\n this.sidebar.setColor(color);\n } else {\n this.paintSurface.onEditEnd(col, row, this.edit);\n if (this.state.floatingLayer && !this.paintSurface.state.floatingLayer) {\n this.pushState(true);\n this.state = this.paintSurface.state.copy();\n this.rePaint();\n }\n this.commit();\n this.shiftAction();\n }\n\n this.mouseDown = false;\n });\n\n this.paintSurface.down((col, row) => {\n if (!this.altDown) {\n this.setCell(col, row, this.color, false);\n }\n this.mouseDown = true;\n });\n\n this.paintSurface.move((col, row) => {\n this.drawCursor(col, row);\n this.shiftAction()\n // this.bottomBar.updateCursor(col, row);\n });\n\n this.paintSurface.leave(() => {\n if (this.edit) {\n this.rePaint();\n if (this.edit.isStarted && !this.shiftDown) {\n this.commit();\n }\n }\n // this.bottomBar.hideCursor();\n });\n\n this.sidebar = new SideBar(['url(\"#alpha-background\")'].concat(COLORS), this, this.group);\n this.sidebar.setColor(COLORS.length >= 3 ? 3 : 1); // colors omits 0\n\n // this.header = new SpriteHeader(this);\n // this.gallery = new Gallery(blocksInfo);\n // this.bottomBar = new ReporterBar(this.group, this, REPORTER_BAR_HEIGHT);\n\n this.updateUndoRedo();\n\n // Sets canvas scale\n this.scale = scale;\n }\n\n setSidebarColor(color: number) {\n this.sidebar.setColor(color);\n }\n\n setCell(col: number, row: number, color: number, commit: boolean): void {\n if (commit) {\n this.state.image.set(col, row, color);\n this.paintCell(col, row, color);\n }\n else if (this.edit) {\n if (!this.edit.isStarted) {\n this.paintSurface.onEditStart(col, row, this.edit);\n\n if (this.state.floatingLayer && !this.paintSurface.state.floatingLayer) {\n this.pushState(true);\n this.state = this.paintSurface.state.copy();\n }\n }\n this.edit.update(col, row);\n this.cursorCol = col;\n this.cursorRow = row;\n this.paintEdit(this.edit, col, row);\n }\n }\n\n render(el: HTMLDivElement): void {\n // el.appendChild(this.header.getElement());\n // el.appendChild(this.gallery.getElement());\n el.appendChild(this.toolbarRoot.el);\n this.layout();\n // this.toolbarRoot.attr({ \"width\": `${65}px`, \"height\": this.outerHeight() + \"px\" });\n // this.toolbarRoot.el.style.position = \"absolute\";\n // this.toolbarRoot.el.style.top = \"0px\";\n // this.toolbarRoot.el.style.left = \"0px\";\n\n let canvasHolder = document.createElement(\"div\")\n canvasHolder.setAttribute(\"class\", \"sprite-canvas-container\")\n el.appendChild(canvasHolder)\n this.paintSurface.render(canvasHolder);\n }\n\n layout(): void {\n if (!this.toolbarRoot) {\n return;\n }\n\n this.paintSurface.setGridDimensions(CANVAS_HEIGHT);\n\n // The width of the palette + editor\n const paintAreaTop = (HEADER_HEIGHT + HEADER_CANVAS_MARGIN);\n const paintAreaLeft = (PADDING + SIDEBAR_WIDTH + SIDEBAR_CANVAS_MARGIN);\n\n // this.sidebar.translate(PADDING, paintAreaTop);\n // TODO(dz): hacky scaling\n this.paintSurface.updateBounds(paintAreaTop, paintAreaLeft, CANVAS_HEIGHT, CANVAS_HEIGHT);\n // this.bottomBar.layout(\n // HEADER_HEIGHT + HEADER_CANVAS_MARGIN + (CANVAS_HEIGHT + REPORTER_BAR_CANVAS_MARGIN),\n // PADDING + SIDEBAR_WIDTH + SIDEBAR_CANVAS_MARGIN, CANVAS_HEIGHT);\n\n // this.gallery.layout(0, HEADER_HEIGHT, TOTAL_HEIGHT - HEADER_HEIGHT);\n // this.header.layout();\n }\n\n rePaint() {\n this.paintSurface.repaint();\n }\n\n setActiveColor(color: number, setPalette = false) {\n if (setPalette) {\n }\n else if (this.color != color) {\n this.color = color;\n\n // If the user is erasing, go back to pencil\n if (this.activeTool === PaintTool.Erase) {\n this.sidebar.setTool(PaintTool.Normal);\n } else {\n this.updateEdit();\n }\n }\n }\n\n setActiveTool(tool: PaintTool) {\n if (this.activeTool != tool) {\n this.activeTool = tool;\n this.updateEdit()\n }\n }\n\n setToolWidth(width: number) {\n if (this.toolWidth != width) {\n this.toolWidth = width;\n this.updateEdit();\n }\n }\n\n initializeUndoRedo(undoStack: CanvasState[], redoStack: CanvasState[]) {\n if (undoStack) {\n this.undoStack = undoStack;\n }\n if (redoStack) {\n this.redoStack = redoStack;\n }\n this.updateUndoRedo();\n }\n\n getUndoStack() {\n return this.undoStack.slice();\n }\n\n getRedoStack() {\n return this.redoStack.slice();\n }\n\n undo() {\n if (this.undoStack.length) {\n this.debug(\"undo\");\n tickEvent(\"shareExperiment.mod.undo\");\n const todo = this.undoStack.pop();\n this.pushState(false);\n\n // The current state is at the top of the stack unless the user has pressed redo, so\n // we need to discard it\n if (todo.equals(this.state)) {\n this.undo();\n return;\n }\n this.restore(todo);\n }\n this.updateUndoRedo();\n }\n\n redo() {\n if (this.redoStack.length) {\n this.debug(\"redo\");\n tickEvent(\"shareExperiment.mod.redo\");\n const todo = this.redoStack.pop();\n this.pushState(true);\n this.restore(todo);\n }\n this.updateUndoRedo();\n }\n\n resize(width: number, height: number) {\n if (!this.cachedState) {\n this.cachedState = this.state.copy();\n this.undoStack.push(this.cachedState)\n this.redoStack = [];\n }\n this.state.image = resizeBitmap(this.cachedState.image, width, height);\n this.afterResize(true);\n }\n\n setSizePresets(presets: [number, number][]) {\n // this.bottomBar.setSizePresets(presets, this.columns, this.rows);\n }\n\n canvasWidth() {\n return this.columns;\n }\n\n canvasHeight() {\n return this.rows;\n }\n\n outerWidth() {\n return WIDTH;\n }\n\n outerHeight() {\n return TOTAL_HEIGHT;\n }\n\n bitmap() {\n return this.state;\n }\n\n showGallery() {\n /*\n this.gallery.show((result: Bitmap, err?: string) => {\n if (err && err !== \"cancelled\") {\n console.error(err);\n }\n else if (result) {\n this.redoStack = [];\n this.pushState(true);\n this.restore(new CanvasState(result));\n this.hideGallery();\n this.header.toggle.toggle(true);\n }\n });*/\n }\n\n hideGallery() {\n //this.gallery.hide();\n }\n\n closeEditor() {\n if (this.closeHandler) {\n const ch = this.closeHandler;\n this.closeHandler = undefined;\n ch();\n }\n if (this.state.floatingLayer) {\n this.state.mergeFloatingLayer();\n this.pushState(true);\n }\n }\n\n onClose(handler: () => void) {\n this.closeHandler = handler;\n }\n\n switchIconTo(tool: PaintTool) {\n if (this.activeTool === tool) return;\n\n const btn = this.sidebar.getButtonForTool(tool) as TextButton;\n\n switch (tool) {\n case PaintTool.Rectangle:\n updateIcon(btn, \"\\uf096\", (\"Rectangle\"));\n break;\n case PaintTool.Circle:\n updateIcon(btn, \"\\uf10c\", (\"Circle\"));\n break;\n case PaintTool.Normal:\n updateIcon(btn, \"\\uf040\", (\"Pencil\"));\n break;\n case PaintTool.Line:\n updateIcon(btn, \"\\uf07e\", (\"Line\"));\n break;\n default: // no alternate icon, do not change\n return;\n }\n\n btn.onClick(() => {\n if (tool != PaintTool.Circle && tool != PaintTool.Line) {\n this.setIconsToDefault();\n this.sidebar.setTool(tool);\n }\n });\n\n function updateIcon(button: TextButton, text: string, title: string) {\n const shortcut = getPaintToolShortcut(tool);\n\n button.setText(text);\n button.title(title);\n button.shortcut(shortcut);\n }\n }\n\n setIconsToDefault() {\n this.switchIconTo(PaintTool.Rectangle);\n this.switchIconTo(PaintTool.Normal);\n }\n\n logEvents = () => {\n if (this.paintGestureCount > 0) {\n tickEvent(\"shareExperiment.mod.paintGestureUp\", {\"count\": this.paintGestureCount});\n this.paintGestureCount = 0;\n }\n }\n\n cleanupInterval = () => {\n clearInterval(this.paintGestureInterval);\n this.paintGestureInterval = null;\n }\n\n private keyDown = (event: KeyboardEvent) => {\n if (event.keyCode == 16) { // Shift\n this.shiftDown = true;\n this.shiftAction();\n }\n\n if (event.keyCode === 18) { // Alt\n this.discardEdit();\n this.paintSurface.setEyedropperMouse(true);\n this.altDown = true;\n }\n\n if (this.state.floatingLayer) {\n let didSomething = true;\n\n switch (event.keyCode) {\n case 8: // backspace\n case 46: // delete\n event.preventDefault();\n event.stopPropagation();\n this.state.floatingLayer = undefined;\n break;\n case 37: // Left arrow\n this.state.layerOffsetX--;\n break;\n case 38: // Up arrow\n this.state.layerOffsetY--;\n break;\n case 39: // Right arrow\n this.state.layerOffsetX++;\n break;\n case 40: // Down arrow\n this.state.layerOffsetY++;\n break;\n default:\n didSomething = false;\n }\n\n if (didSomething) {\n this.updateEdit();\n this.pushState(true);\n this.paintSurface.restore(this.state, true);\n }\n }\n\n const tools = [\n PaintTool.Fill,\n PaintTool.Normal,\n PaintTool.Rectangle,\n PaintTool.Erase,\n PaintTool.Circle,\n PaintTool.Line,\n PaintTool.Marquee\n ]\n\n tools.forEach(tool => {\n if (event.key === getPaintToolShortcut(tool)) {\n this.setIconsToDefault();\n this.switchIconTo(tool);\n this.sidebar.setTool(tool);\n }\n });\n\n const zeroKeyCode = 48;\n const nineKeyCode = 57;\n\n if (event.keyCode >= zeroKeyCode && event.keyCode <= nineKeyCode) {\n let color = event.keyCode - zeroKeyCode;\n if (this.shiftDown) {\n color += 9;\n }\n if (color <= COLORS.length) { // colors omits 0\n this.sidebar.setColor(color);\n }\n }\n }\n\n private keyUp = (event: KeyboardEvent) => {\n // If not drawing a circle, switch back to Rectangle and Pencil\n if (event.keyCode === 16) { // Shift\n this.shiftDown = false;\n this.clearShiftAction();\n } else if (event.keyCode === 18) { // Alt\n this.altDown = false;\n this.paintSurface.setEyedropperMouse(false);\n this.updateEdit();\n }\n }\n\n private undoRedoEvent = (event: KeyboardEvent) => {\n const controlOrMeta = event.ctrlKey || event.metaKey; // ctrl on windows, meta on mac\n if (event.key === \"Undo\" || (controlOrMeta && event.key === \"z\")) {\n this.undo();\n event.preventDefault();\n event.stopPropagation();\n } else if (event.key === \"Redo\" || (controlOrMeta && event.key === \"y\")) {\n this.redo();\n event.preventDefault();\n event.stopPropagation();\n }\n }\n\n addKeyListeners() {\n document.addEventListener(\"keydown\", this.keyDown);\n document.addEventListener(\"keyup\", this.keyUp);\n document.addEventListener(\"keydown\", this.undoRedoEvent, true);\n }\n\n removeKeyListeners() {\n document.removeEventListener(\"keydown\", this.keyDown);\n document.removeEventListener(\"keyup\", this.keyUp);\n document.removeEventListener(\"keydown\", this.undoRedoEvent, true);\n this.paintSurface.removeMouseListeners();\n }\n\n private afterResize(showOverlay: boolean) {\n this.columns = this.state.width;\n this.rows = this.state.height;\n this.paintSurface.restore(this.state, true);\n // this.bottomBar.updateDimensions(this.columns, this.rows);\n this.layout();\n\n if (showOverlay) this.paintSurface.showResizeOverlay();\n\n // Canvas size changed and some edits rely on that (like paint)\n this.updateEdit();\n }\n\n private drawCursor(col: number, row: number) {\n if (this.edit) {\n this.paintSurface.drawCursor(this.edit, col, row);\n }\n }\n\n private paintEdit(edit: Edit, col: number, row: number, gestureEnd = false) {\n this.paintSurface.restore(this.state);\n this.paintSurface.applyEdit(edit, col, row, gestureEnd);\n }\n\n public commit() {\n if (this.edit) {\n if (this.cachedState) {\n this.cachedState = undefined;\n }\n this.pushState(true);\n this.paintEdit(this.edit, this.cursorCol, this.cursorRow, true);\n this.state = this.paintSurface.state.copy();\n this.updateEdit();\n this.redoStack = [];\n }\n }\n\n private pushState(undo: boolean) {\n const stack = undo ? this.undoStack : this.redoStack;\n if (stack.length && this.state.equals(stack[stack.length - 1])) {\n // Don't push empty commits\n return;\n }\n\n stack.push(this.state.copy());\n this.updateUndoRedo();\n }\n\n private discardEdit() {\n if (this.edit) {\n this.edit = undefined;\n this.rePaint();\n }\n }\n\n private updateEdit() {\n if (!this.altDown) {\n this.edit = this.newEdit();\n }\n }\n\n private restore(state: CanvasState) {\n if (state.width !== this.state.width || state.height !== this.state.height) {\n this.state = state;\n this.afterResize(false);\n }\n else {\n this.state = state.copy();\n this.paintSurface.restore(state, true);\n }\n }\n\n private updateUndoRedo() {\n // this.bottomBar.updateUndoRedo(this.undoStack.length === 0, this.redoStack.length === 0)\n this.sidebar.updateUndoRedo(this.undoStack.length === 0, this.redoStack.length === 0)\n }\n\n private paintCell(col: number, row: number, color: number) {\n this.paintSurface.writeColor(col, row, color);\n }\n\n private newEdit() {\n switch (this.activeTool) {\n case PaintTool.Normal:\n return new PaintEdit(this.columns, this.rows, this.color, this.toolWidth);\n case PaintTool.Rectangle:\n return new OutlineEdit(this.columns, this.rows, this.color, this.toolWidth);\n case PaintTool.Outline:\n return new OutlineEdit(this.columns, this.rows, this.color, this.toolWidth);\n case PaintTool.Line:\n return new LineEdit(this.columns, this.rows, this.color, this.toolWidth);\n case PaintTool.Circle:\n return new CircleEdit(this.columns, this.rows, this.color, this.toolWidth);\n case PaintTool.Erase:\n return new PaintEdit(this.columns, this.rows, 0, this.toolWidth);\n case PaintTool.Fill:\n return new FillEdit(this.columns, this.rows, this.color, this.toolWidth);\n case PaintTool.Marquee:\n return new MarqueeEdit(this.columns, this.rows, this.color, this.toolWidth);\n }\n }\n\n private shiftAction() {\n if (!this.shiftDown || this.altDown)\n return;\n\n switch (this.activeTool) {\n case PaintTool.Line:\n case PaintTool.Rectangle:\n case PaintTool.Circle:\n this.setCell(this.paintSurface.mouseCol, this.paintSurface.mouseRow, this.color, false);\n break;\n }\n }\n\n private clearShiftAction() {\n if (this.mouseDown)\n return;\n\n switch (this.activeTool) {\n case PaintTool.Line:\n case PaintTool.Rectangle:\n case PaintTool.Circle:\n this.updateEdit();\n this.paintSurface.restore(this.state, true);\n break;\n }\n }\n\n private debug(msg: string) {\n // if (this.debugText) {\n // this.debugText.text(\"DEBUG: \" + msg);\n // }\n }\n\n private createDefs() {\n this.toolbarRoot.define(defs => {\n const p = defs.create(\"pattern\", \"alpha-background\")\n .size(10, 10)\n .units(svg.PatternUnits.userSpaceOnUse);\n\n p.draw(\"rect\")\n .at(0, 0)\n .size(10, 10)\n .fill(\"white\");\n p.draw(\"rect\")\n .at(0, 0)\n .size(5, 5)\n .fill(\"#dedede\");\n p.draw(\"rect\")\n .at(5, 5)\n .size(5, 5)\n .fill(\"#dedede\");\n })\n }\n}","import React, { CSSProperties } from 'react';\n\nimport '../css/SpriteGallery.css';\nimport { Bitmap } from '../sprite-editor/bitmap';\nimport { bitmapToUrl } from '../bitmap_helpers';\n\nexport interface SpriteGalleryProps {\n height: number,\n options: Bitmap[],\n onClick: (b: Bitmap, idx?: number) => void,\n}\ninterface SpriteGalleryState {\n}\n\ninterface ItemProps {\n onClick: () => void,\n img: Bitmap\n}\nconst Item: React.FC = (props: ItemProps) => {\n let style: CSSProperties = {\n backgroundColor: \"blue\"\n }\n let classes = `item`\n let data = bitmapToUrl(props.img)\n return (\n \n
\n \n
\n );\n}\nexport class SpriteGallery extends React.Component\n{\n private spriteGallery: HTMLDivElement | undefined;\n\n constructor(props: SpriteGalleryProps) {\n super(props);\n\n this.state = {\n }\n\n }\n\n componentDidMount() {\n this.spriteGallery = this.refs[\"sprite-gallery\"] as HTMLDivElement\n\n // this.spriteGallery.setAttribute(\"style\", `height:${this.props.height}px`)\n }\n componentWillUnmount() {\n this.spriteGallery = undefined\n }\n\n clickHandler(idx: number) {\n this.props.onClick(this.props.options[idx], idx)\n }\n\n render() {\n let items = this.props.options\n .map((c, i) =>\n \n )\n\n return (\n \n {items}\n
\n );\n }\n}\n\nexport default SpriteGallery;\n\n","import React from 'react';\nimport { Bitmap } from '../sprite-editor/bitmap';\nimport * as SE from '../sprite-editor/spriteEditor'\nimport { SpriteEditor } from '../sprite-editor/spriteEditor';\nimport SpriteGallery, { SpriteGalleryProps } from './SpriteGallery';\nimport { TOOLBAR_WIDTH, TOOLBAR_HEIGHT } from '../sprite-editor/sidebar';\n\ninterface SpriteEditorProps {\n onPlay: () => void;\n scale: number;\n startImage: Bitmap;\n galleryProps: SpriteGalleryProps;\n}\ninterface SpriteEditorState {\n}\n\nexport class SpriteEditorComp extends React.Component\n{\n protected spriteEditorHolder: HTMLDivElement | undefined;\n public editor: SpriteEditor | undefined;\n\n constructor(props: SpriteEditorProps) {\n super(props);\n\n this.state = {\n }\n\n }\n\n componentDidMount() {\n this.spriteEditorHolder = this.refs['sprite-editor-holder'] as HTMLDivElement;\n this.renderSpriteEditor()\n }\n componentWillUnmount() {\n this.removeSpriteEditor();\n this.spriteEditorHolder = undefined;\n }\n componentDidUpdate() {\n this.editor.logEvents();\n this.editor.cleanupInterval();\n this.removeSpriteEditor()\n this.renderSpriteEditor()\n }\n\n // resize() {\n // this.spriteEditorHolder.style.transform = `scale(${this.props.scale})`;\n // }\n\n removeSpriteEditor() {\n let toRemove: Element[] = []\n for (let r of this.spriteEditorHolder.children)\n toRemove.push(r)\n toRemove\n .filter(r => r.className !== \"sprite-gallery\")\n .forEach(r =>\n this.spriteEditorHolder.removeChild(r));\n this.editor = null\n }\n\n renderSpriteEditor() {\n let currImg = this.props.startImage\n let spriteEditor = this.editor = new SpriteEditor(currImg, null, false, this.props.scale);\n spriteEditor.render(this.spriteEditorHolder);\n let controls = document.getElementsByClassName(\"sprite-canvas-controls\")[0]\n controls.setAttribute(\"viewBox\", `${0} ${0} ${TOOLBAR_WIDTH} ${TOOLBAR_HEIGHT}`)\n\n spriteEditor.rePaint();\n spriteEditor.setActiveColor(1, true);\n spriteEditor.setSizePresets([\n [8, 8],\n [16, 16],\n [32, 32],\n [10, 8]\n ]);\n\n this.spriteEditorHolder.className = ' sprite-editor-container sprite-editor-dropdown-bg sprite-editor-dropdown';\n spriteEditor.addKeyListeners();\n spriteEditor.onClose(() => {\n this.props.onPlay()\n });\n }\n\n render() {\n let gp = this.props.galleryProps\n return (\n \n \n\n \n
\n );\n }\n}\n\nexport default SpriteEditor;\n","import { Bitmap } from '../sprite-editor/bitmap';\nimport { COLORS } from '../sprite-editor/spriteEditor';\n\nconst base = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAAGKElEQVR4Xu2aMRYdJwxF7W2k9wbSpkqbBbtNk5TJBlI720jO+HhyMIFBgEBIc93ZZgR6744EzP/45Y/f/vnAHxQwUuAjABopz7RfFQBAQDBVAABN5WdyAIQBUwUA0FR+JgdAGDBVAABN5WdyAIQBUwUA0FR+JgdAGDBVAABN5WdyAIQBUwUA0FR+JgdAGDBVAABN5WdyAIQBUwUA0FR+JgdAGDBVAABN5WdyAIQBUwUA0FR+JncB4A8//vSdU3//+TvOBVHgGABrkOX/fusOhDEINAewBphEXiCUqHT2GDMAZ8BLJY0MYUmjaPmaAKgFX+R2/KRRJAi3AagNXd5Yopgi1SlKvlsAlIo6s1vxasiMNl5zTn1eDuCMwCNAejBFSxMPubY8XAqgltCtJDy14x2aeAJzGYA7hH4C80QTdmpyYv4lv8ICeCV7mgkA+H8ElwC4U2hPVXC3Lqe9gNsq4G6hPUBooQkA9p4eFow/xQQLAE/chuQWq7ZgK5GpgHUFTnkBaytUAxD46hBYa3MyhCoAWgtcst5K9BO1OLkVHwWgFTRaW89T4Tv5RxsqAGoZ6DnO6fCdWgUBUIF6D/CdWgUBEAAVFBgPAYDj2v33JBVwXEQAHNcOABW0A8BJET1VvxMPIgA4AaA3+ABwwuzTHgU+HUeogIM6agCodfEuWYvWXINyVR8DQG1FidelAAB2ycVgbQUAUFtR4nUpAIBdcjE4V+DXz399+PmXT8PCAOCwdDx4KQCAcGCqAACayv/uyS/47j+jbZgW/G6GhrNP4UuD9IIIgMMW8OANYS90qXIACEdTCuSVsBdGAJyS/70P11rwpUgPhAC4iKHZ0+GiZU2HzQ8es3kC4LQl5QCzxixalmpYTsGqcuoGiwqgVuu91aYC6nL3NZpGZViwLLWQTxCyB1STeTyQxvXE+Oz7nkzzHD0NUwGV/Ro1QnkZW8JpVHoAVLRK6+uA4pKWhdLKFQArFs0cIiK24NbhY7TyA6AygKNGLCtVCoFL8F2XzbRgBXFrIUYqoFZbWpiWamgAVJXz+2C9AGpeTSxMSy10rSr2TkALLijWu4fLx0ethCteMgB8ALD3UjW/hE6f12hXvdVFc3wLvnuunh8iXM8AYOaSxiGit4JqgrIiVunlaQEpBREAvzmmtafRAHgFRKMxS/lI4JPuoQFQYQ94h4i890srWgvAnq0LACq14NZdmbQljVaqXc9J4OvZDwKgAoBSU7xDuOJrCAA2AHxqJ737I88ASl+yUiV+yhsAE8Vab/jTXu8WudWKe9rTrrb6NM/qlwwAsx+QPpnRqmCSQ0jU+8D023BLp1TjVwNYuzKRVsJUyFaL6jHlhMqXr6GVXz5emu+rASwZPXKP91T5IlxK98LXs80AwMFT8Igp0qpwWgWU5lraB7dyBkDBIURyCVs7hGj9bm43lFLoaq1X2kkAsBPAa/jTZzup8LuB6pmvtG2QANmqdqU1AOA3VVoCS8QdObz0gGE9tqVRuj6JXtf4VwPYI2hrYy2JJTXFGrTWCTjfVvRePr/2GkYCSY/5EiOueN7Aq10+S/bCvfm+tgJqw9gDbquajsTa+YzmHvi1AEruAPM9zSW8tOq1gPBeFe9K13qRW3kCYMenuBZUtf9vmTAad+Vzrc+KPV+R+DFCwanWmys1V1oRPUGYXsPcVT/V46kF18bV8n9VBdSCTtp+Zk6H0hfAYpwUQMnaXgXgLUhLwJ72IhE5UmuWVrhS5SzpcDyA0kRmQMifTQF8+p2f1pxP7dkif2leJZ3SlzzVzk0LzgW3MCAXttW6pfdj0uuXNGeL/FcAeG9b8tjHVcDTAKwJ92RSrYX3GJtX3hzyEw41kgr4NObS40gA803+brE1AMphu0/LrVzSE+gVI//7/W+tOFLYZ8aNAJgXGAAsOACAMixbAEpewuMAlKXOqCgKAGAUJ53mAYBOjYuybACM4qTTPADQqXFRlg2AUZx0mgcAOjUuyrIBMIqTTvMAQKfGRVk2AEZx0mkeAOjUuCjLBsAoTjrNAwCdGhdl2QAYxUmneQCgU+OiLBsAozjpNA8AdGpclGUDYBQnneYBgE6Ni7JsAIzipNM8/gWNA2aNl2P7EgAAAABJRU5ErkJggg==\";\nconst defaultBackground = 13;\nconst colors = [null].concat(COLORS)\n\n\nexport async function mkScreenshotAsync(bgColor: number, images: Bitmap[]): Promise {\n const canvas = document.createElement(\"canvas\");\n const context = canvas.getContext(\"2d\");\n\n const background = await loadImageAsync(base);\n\n canvas.width = background.width;\n canvas.height = background.height;\n\n context.drawImage(background, 0, 0);\n\n if (bgColor != defaultBackground) {\n const imgData = context.getImageData(0, 0, canvas.width, canvas.height);\n const data = imgData.data;\n const toReplace = colorToArray(colors[defaultBackground]);\n const replace = colorToArray(colors[bgColor]);\n\n for (let index = 0; index < data.length; index += 4) {\n if (data[index] === toReplace[0] && data[index + 1] === toReplace[1] && data[index + 2] === toReplace[2]) {\n data[index] = replace[0];\n data[index + 1] = replace[1];\n data[index + 2] = replace[2];\n }\n }\n\n context.putImageData(imgData, 0, 0);\n }\n\n drawImage(images[0], context, 25, 85 - images[0].height);\n drawImage(images[1], context, 10, 105 - images[1].height);\n drawImage(images[2], context, 110, 105 - images[2].height);\n\n return canvas.toDataURL();\n}\n\nfunction drawImage(image: Bitmap, context: CanvasRenderingContext2D, left: number, top: number) {\n let current: number;\n for (let x = 0; x < image.width; x++) {\n for (let y = 0; y < image.height; y++) {\n current = image.get(x, y);\n\n if (current) {\n context.fillStyle = colors[current];\n context.fillRect(left + x, top + y, 1, 1);\n }\n }\n }\n}\n\n\nexport async function loadImageAsync(uri: string): Promise {\n return new Promise((resolve, reject) => {\n const el = document.createElement(\"img\");\n\n el.onload = () => resolve(el);\n el.onerror = (e) => reject(e);\n\n el.src = uri;\n });\n}\n\nfunction colorToArray(color: string) {\n return [\n parseInt(color.substr(1, 2), 16),\n parseInt(color.substr(3, 2), 16),\n parseInt(color.substr(5, 2), 16)\n ];\n}","import React from 'react';\nimport TabBar from './TabBar'\nimport ColorPicker from './ColorPicker'\n\nimport '../css/GameModder.css';\nimport '../css/icons.css';\nimport '../css/SpriteEditor.css';\nimport { imageLiteralToBitmap, Bitmap } from '../sprite-editor/bitmap';\nimport { textToBitmap, createPngImg, updatePngImg, bitmapToBinHex, bitmapToText, isEmptyBitmap } from '../bitmap_helpers';\nimport { tickEvent } from '../telemetry/appinsights';\nimport { UserProject } from './util';\nimport { bunny_hop_bin_js } from '../games/bunny_hop/bin.js';\nimport { bunny_hop_main_ts } from '../games/bunny_hop/main.ts';\nimport { bunny_hop_main_blocks } from '../games/bunny_hop/main.blocks';\nimport { gameModderState } from '../App';\nimport { SpriteEditorComp } from './SpriteEditor';\nimport * as SE from '../sprite-editor/spriteEditor'\nimport { mkScreenshotAsync } from \"./screenshot\";\nimport { SpriteGalleryProps } from './SpriteGallery';\n// import { bunnyHopBinJs } from '../../public/games/bunny_hop/bunny_hop_min.js.js';\n\nexport interface GameModderProps {\n playHandler: (proj: UserProject) => void;\n changeMode: (mode: \"play\" | \"share\" | \"mod\") => void;\n}\n\nexport interface UserImage {\n default: Bitmap,\n data: Bitmap,\n name: string,\n callToAction: string,\n}\nexport interface GameModderState {\n userImages: UserImage[]\n currentImg: number,\n currentBackground: number,\n alertShown?: boolean;\n pulse?: boolean;\n}\nfunction IsGameModderState(s: any): s is GameModderState {\n return !!(s as GameModderState).userImages\n}\n\nfunction CreateEmptyImageText(w: number, h: number) {\n let res = \"\\n\"\n for (let i = 0; i < h; i++)\n res += \".\".repeat(w) + \"\\n\"\n return res\n}\nfunction GetImageTextDimensions(s: string): { w: number, h: number } {\n s = s.trim()\n let lns = s.split(\"\\n\")\n let ln1 = lns[0].replace(/\\s/g, \"\")\n return {\n w: ln1.length,\n h: lns.length\n }\n}\n\n// TODO: either we need binHexToBitmap or we need the original source code\n\nfunction mkPxtJson(): string {\n let json = {\n \"name\": \"SampleIMages\",\n \"dependencies\": {\n \"device\": \"*\"\n },\n \"description\": \"\",\n \"files\": [\n \"main.blocks\",\n \"main.ts\",\n \"README.md\"\n ],\n \"preferredEditor\": \"blocksprj\"\n }\n return JSON.stringify(json)\n}\n\nasync function getTxtFile(url: string): Promise {\n return new Promise((resolve, reject) => {\n var xhr = new XMLHttpRequest();\n xhr.open('GET', url, true);\n xhr.responseType = 'text';\n xhr.onload = function () {\n var status = xhr.status;\n if (status === 200) {\n resolve(xhr.response);\n } else {\n const err = new Error(`Error response (${status}) from '${url}'; content: ${xhr.response}`);\n reject(err)\n }\n };\n xhr.send();\n });\n};\n\nconst moddableImages: { [k: string]: string } = {\n \"character\": `\n . . . . . . . . . . . .\n . . . 1 1 . 1 1 . . . .\n . . . 1 3 . 1 3 . . . .\n . . . . 1 3 . 1 3 . . .\n . . . . 1 3 . 1 3 . . .\n . . . 1 1 1 1 1 1 . . .\n . . 1 1 1 1 1 1 1 1 . .\n . . 1 1 1 f 1 1 f 1 . .\n . . 1 1 1 1 1 1 1 1 . .\n . . 1 1 1 1 f f 1 1 . .\n . . . 1 1 1 1 1 1 . . .\n . 1 1 1 1 1 1 1 1 1 1 .\n . 1 1 1 1 1 1 1 1 1 1 .\n . . . . 1 1 1 1 . . . .\n . . . . 1 1 1 1 . . . .\n . . . . 1 1 1 1 . . . .\n . . . . 1 1 1 1 . . . .\n . . . . . 1 1 . . . . .\n . . . . . . 1 . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n `,\n \"obstacle1\": `\n . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . 7 . . . . . . . . . . .\n . . . . . . . . . . 7 7 . . . . . . . . . .\n . . . . . . . . . 6 7 7 . . . . . . . . . .\n . . . . . . . . 6 6 7 7 7 . . . . . . . . .\n . . . . . . . . 6 6 7 7 7 . . . . . . . . .\n . . . . . . . . 6 6 7 7 7 7 . . . . . . . .\n . . . . . . . 6 6 7 7 7 7 7 . . . . . . . .\n . . . . . . 6 6 6 7 7 7 7 7 . . . . . . . .\n . . . . . . . . 6 6 6 6 6 . . . . . . . . .\n . . . . . . . . 6 6 6 6 . . . . . . . . . .\n . . . . . . . 6 6 6 6 6 7 7 . . . . . . . .\n . . . . . . 6 6 6 7 7 7 7 7 7 . . . . . . .\n . . . . . . 6 6 6 7 7 7 7 7 7 7 . . . . . .\n . . . . . . 6 6 7 7 7 7 7 7 7 7 7 . . . . .\n . . 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 . . .\n . . . 6 6 6 6 6 7 7 7 7 7 6 6 6 6 6 . . . .\n . . . . . . . . 6 6 6 6 7 7 . . . . . . . .\n . . . . . . . . 6 6 6 7 7 7 . . . . . . . .\n . . . . . . 6 6 7 7 7 7 7 7 7 . . . . . . .\n . . . 6 6 6 7 7 7 7 7 7 7 7 7 7 7 . . . . .\n 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 . . . .\n 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 6\n . . . 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 6 .\n . . . . . 6 6 6 6 e e e e 7 7 7 7 7 6 6 6 .\n . . . . . . . . . e e e e . . . . . . . . .\n . . . . . . . . . e e e e . . . . . . . . .\n . . . . . . . . . e e e e . . . . . . . . .\n . . . . . . . 6 . e e e e . . 6 . . . . . .\n . . . 6 6 6 . . . e e e e . 6 . . . . . . .\n . . . 6 . 6 . . . e e e e . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . .\n `,\n \"obstacle2\": `\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . e e e e e . . . . .\n . . . . e e b b b e e . . . .\n . . . e e b e e e b e e . . .\n . . . e e b e e b b e e . . .\n . . . . e e b b e e e . . . .\n . . . e b e e e e b b e . . .\n . . . e e b b b b e e e . . e\n . . . e e e e e e e e . . e .\n . . . e b e e b e b e . e . e\n . . . e b e e e e b e e . . .\n . . . e e e b e e e e . . . .\n . . e e b e b e b e e e . . .\n . e e e e e e e e e e e e . .\n . . . . . . e e . . . . . . .\n `,\n \"background\": `\n . . . d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d . . .\n . . d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d . .\n . d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d .\n d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d\n d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d\n d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d\n d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d\n d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d\n d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d\n d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d\n d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d\n d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d\n d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d\n d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d\n d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d\n d d d d d d d d d d d d d d d d d d d b d d d d d d d d d d d d d d d d\n d d d d d d d d d d d d d d d d d d d b d d d d d d d d d d d d d d d d\n d d d d d d d d d d d d d d d d d d d b d d d d d d d d d d d d d d d d\n d d d d d d d d d d d d d d d d d d d b d d d d d d d d d d d d d d d d\n d d d d d d d d d d d d d d d d d d b b d d d d d d d d d d d d d d d d\n d d d d d d d d d d d d d d d d d d b b b d d d d d d d d d d d d d d d\n d d d d d d d d d d d d d d d d d b b b b d d d d d d d d d d d d d d d\n d d d d d d d d d d d d d d d b b b b b d d d d d d d d d d d d d d d d\n d d d d d d d d d d d d d d d d d d b b d d d d d d d d d d d d d d d d\n d d d d d d d d d d d d d d d d d b b b b d d d d d d d d d d d d d d d\n d d d d d d d d d d d d d d d d d b b b b d d d d d d d d d d d d d d d\n d d d d d d d d d d d d d d d d d b b b b b d d d d d d d d d d d d d d\n d d d d d d d d d d d d d d d d b b b b b b b d d d d d d d d d d d d d\n d d d d d d d d d d d d d d b b b b b b b b b b d d d d d d d d d d d d\n d d d d d d d d d d d d b b b b d d b b b b b b b d d d d d d d d d d d\n d d d d d d d d d d d d d d d d d b b b b d d d d d d d d d d d d d d d\n d d d d d d d d d d d d d d d d d b b b b d d d d d d d d d d d d d d d\n d d d d d d d d d d d d d d d d b b b b b b d d d d d d d d d d d d d d\n d d d d d d d d d d d d d d d d b b b b b b d d d d d d d d d d d d d d\n d d d d d d d d d d d d d d d b b b b b b b b d d d d d d d d d d d d d\n d d d d d d d d d d d d b b b b b b b b b b b b b d d d d d d d d d d d\n d d d d d d d d b b b b b b b b b b b b b b b b b b b b d d d d d d d d\n d d d d d d d d d d d b b b b b b b b b b b b b b b b d d d d d d d d d\n d d d d d d d d d d d d d d d d b b b b b b b d b d d d d d d d d d d d\n d d d d d d d d d d d d d d b b b b b b b b b b b b b b b b d d d d d d\n d d d d d d d d d d d b b b b b b b b b b b b b b b b b b d d d d d d d\n d d d d d d d d b b b b b b b b b b b b b b b b b b b d d d d d d d d d\n d d d d d d d d d d b b b b b d d d b b b b d d d d d d d d d d d d d d\n d d d d d d d d d d d d d d d d d d b b b d d d d d d d d d d d d d d d\n d d d d d d d d d d d d d d d d d d b d b d d d d d d d d d d d d d d d\n . d d d d d d d d d d d d d d d d d b d b d d d d d d d d d d d d d d .\n . . d d d d d d d d d d d d d d d d b b b d d d d d d d d d d d d d . .\n . . . d d d d d d d d d d d d d d d b b b d d d d d d d d d d d d . . .\n`\n}\nconst CALL_TO_ACTION: { [k: string]: string } = {\n \"character\": \"Draw your character!\",\n \"obstacle1\": \"Draw an obstacle!\",\n \"obstacle2\": \"Draw another obstacle!\",\n \"background\": \"Choose your background!\"\n}\n// TODO:\n// 15x32 stump\n// 22x32 tree\n\n\n\nfunction range(len: number): number[] {\n return new Array(len)\n .fill(undefined)\n .map((_, i) => i)\n}\nfunction img2Rows(imgTxt: string) {\n let rows = imgTxt.split(\"\\n\")\n .map(r => r.replace(/\\s/g, \"\"))\n .filter(r => !!r)\n return rows\n}\nfunction rows2img(rows: string[]): string {\n return rows.join('\\n')\n}\nfunction resizeUp(imgTxt: string, targW: number, targH: number): string {\n let rows = img2Rows(imgTxt)\n let oldW = rows[0].length\n let oldH = rows.length\n\n if (oldW > targW || oldH > targH)\n return imgTxt;\n\n const left2add = Math.floor((targW - oldW) / 2)\n const right2add = targW - oldW - left2add\n const top2add = targH - oldH\n\n let addCols = (numL: number, numR: number) => {\n let l = '.'.repeat(numL)\n let r = '.'.repeat(numR)\n rows = rows.map(o => l + o + r)\n }\n let addRows = (numT: number) => {\n let newR = range(numT)\n .map(_ => '.'.repeat(targW))\n rows = [...newR, ...rows]\n }\n\n addCols(left2add, right2add)\n addRows(top2add)\n\n return rows2img(rows)\n}\nfunction resizeTo24x24(imgTxt: string) {\n return resizeUp(imgTxt, 24, 24)\n}\nfunction mirror(imgTxt: string): string {\n let rows = img2Rows(imgTxt)\n\n rows = rows.map(r =>\n r.split(\"\").reverse().join(\"\"))\n\n return rows2img(rows)\n}\n\nconst SAMPLE_CHARACTERS = [`.`, `\n . . . . . . . . . . b 5 b . . .\n . . . . . . . . . b 5 b . . . .\n . . . . . . . . . b c . . . . .\n . . . . . . b b b b b b . . . .\n . . . . . b b 5 5 5 5 5 b . . .\n . . . . b b 5 d 1 f 5 5 d f . .\n . . . . b 5 5 1 f f 5 d 4 c . .\n . . . . b 5 5 d f b d d 4 4 . .\n b d d d b b d 5 5 5 4 4 4 4 4 b\n b b d 5 5 5 b 5 5 4 4 4 4 4 b .\n b d c 5 5 5 5 d 5 5 5 5 5 b . .\n c d d c d 5 5 b 5 5 5 5 5 5 b .\n c b d d c c b 5 5 5 5 5 5 5 b .\n . c d d d d d d 5 5 5 5 5 d b .\n . . c b d d d d d 5 5 5 b b . .\n . . . c c c c c c c c b b . . .\n`, mirror(`\n e e e . . . . e e e . . . .\n c d d c . . c d d c . . . .\n c b d d f f d d b c . . . .\n c 3 b d d b d b 3 c . . . .\n f b 3 d d d d 3 b f . . . .\n e d d d d d d d d e . . . .\n e d f d d d d f d e . b f b\n f d d f d d f d d f . f d f\n f b d d b b d d 2 f . f d f\n . f 2 2 2 2 2 2 b b f f d f\n . f b d d d d d d b b d b f\n . f d d d d d b d d f f f .\n . f d f f f d f f d f . . .\n . f f . . f f . . f f . . .\n`), mirror(`\n . . 4 4 4 . . . . 4 4 4 . . . .\n . 4 5 5 5 e . . e 5 5 5 4 . . .\n 4 5 5 5 5 5 e e 5 5 5 5 5 4 . .\n 4 5 5 4 4 5 5 5 5 4 4 5 5 4 . .\n e 5 4 4 5 5 5 5 5 5 4 4 5 e . .\n . e e 5 5 5 5 5 5 5 5 e e . . .\n . . e 5 f 5 5 5 5 f 5 e . . . .\n . . f 5 5 5 4 4 5 5 5 f . . f f\n . . f 4 5 5 f f 5 5 6 f . f 5 f\n . . . f 6 6 6 6 6 6 4 4 f 5 5 f\n . . . f 4 5 5 5 5 5 5 4 4 5 f .\n . . . f 5 5 5 5 5 4 5 5 f f . .\n . . . f 5 f f f 5 f f 5 f . . .\n . . . f f . . f f . . f f . . .\n`)].map(resizeTo24x24)\nconst SAMPLE_OBSTACLES = [`.`, `\n . . . . . . . . . c c 8 . . . .\n . . . . . . 8 c c c f 8 c c . .\n . . . c c 8 8 f c a f f f c c .\n . . c c c f f f c a a f f c c c\n 8 c c c f f f f c c a a c 8 c c\n c c c b f f f 8 a c c a a a c c\n c a a b b 8 a b c c c c c c c c\n a f c a a b b a c c c c c f f c\n a 8 f c a a c c a c a c f f f c\n c a 8 a a c c c c a a f f f 8 a\n . a c a a c f f a a b 8 f f c a\n . . c c b a f f f a b b c c 6 c\n . . . c b b a f f 6 6 a b 6 c .\n . . . c c b b b 6 6 a c c c c .\n . . . . c c a b b c c c . . . .\n . . . . . c c c c c c . . . . .\n`, `\n . . . . . . b b b b . . . . . .\n . . . . . . b 4 4 4 b . . . . .\n . . . . . . b b 4 4 4 b . . . .\n . . . . . b 4 b b b 4 4 b . . .\n . . . . b d 5 5 5 4 b 4 4 b . .\n . . . . b 3 2 3 5 5 4 e 4 4 b .\n . . . b d 2 2 2 5 7 5 4 e 4 4 e\n . . . b 5 3 2 3 5 5 5 5 e e e e\n . . b d 7 5 5 5 3 2 3 5 5 e e e\n . . b 5 5 5 5 5 2 2 2 5 5 d e e\n . b 3 2 3 5 7 5 3 2 3 5 d d e 4\n . b 2 2 2 5 5 5 5 5 5 d d e 4 .\n b d 3 2 d 5 5 5 d d d 4 4 . . .\n b 5 5 5 5 d d 4 4 4 4 . . . . .\n 4 d d d 4 4 4 . . . . . . . . .\n 4 4 4 4 . . . . . . . . . . . .\n`, `\n . . . b b b b b b b b b b . . .\n . . b 1 1 1 1 1 1 1 1 1 1 b . .\n . b 1 1 1 1 1 1 1 1 1 1 1 1 b .\n . b 1 1 1 1 1 1 1 1 1 1 1 1 b .\n . b d d c c c c c c c c d d b .\n . b d c 6 6 6 6 6 6 6 6 c d b .\n . b d c 6 1 d 6 6 6 6 6 c d b .\n . b d c 6 d 6 6 6 6 6 6 c d b .\n . b d c 6 6 6 6 6 6 6 6 c d b .\n . b d c 6 6 6 6 6 6 6 6 c d b .\n . b d c 6 6 6 6 6 6 6 6 c d b .\n . b d d c c c c c c c c d d b .\n . c b b b b b b b b b b b b c .\n f c c c c c c c c c c c c c c f\n f b b b b b b b b b b b b b b f\n f b c d d d d d d d d d d d b f\n f b c b b b b b b b b b b c b f\n f b c b b b b b b b b b b c b f\n f b c c c c c c c c c c c c b f\n f b b b b b b b b b b b b b b f\n f b f f f f f f f f f f f f b f\n f f f f f f f f f f f f f f f f\n`].map(resizeTo24x24)\n\nconst SAMPLE_OBSTACLES2 = [`.`, `\n . . . . . . . 6 . . . . . . . .\n . . . . . . 8 6 6 . . . 6 8 . .\n . . . e e e 8 8 6 6 . 6 7 8 . .\n . . e 2 2 2 2 e 8 6 6 7 6 . . .\n . e 2 2 4 4 2 7 7 7 7 7 8 6 . .\n . e 2 4 4 2 6 7 7 7 6 7 6 8 8 .\n e 2 4 5 2 2 6 7 7 6 2 7 7 6 . .\n e 2 4 4 2 2 6 7 6 2 2 6 7 7 6 .\n e 2 4 2 2 2 6 6 2 2 2 e 7 7 6 .\n e 2 4 2 2 4 2 2 2 4 2 2 e 7 6 .\n e 2 4 2 2 2 2 2 2 2 2 2 e c 6 .\n e 2 2 2 2 2 2 2 4 e 2 e e c . .\n e e 2 e 2 2 4 2 2 e e e c . . .\n e e e e 2 e 2 2 e e e c . . . .\n e e e 2 e e c e c c c . . . . .\n . c c c c c c c . . . . . . . .\n`, `\n . . . . . c c b b b . . . . . .\n . . . . c b d d d d b . . . . .\n . . . . c d d d d d d b b . . .\n . . . . c d d d d d d d d b . .\n . . . c b b d d d d d d d b . .\n . . . c b b d d d d d d d b . .\n . c c c c b b b b d d d b b b .\n . c d d b c b b b b b b b b d b\n c b b d d d b b b b b d d b d b\n c c b b d d d d d d d b b b d c\n c b c c c b b b b b b b d d c c\n c c b b c c c c b d d d b c c b\n . c c c c c c c c c c c b b b b\n . . c c c c c b b b b b b b c .\n . . . . . . c c b b b b c c . .\n . . . . . . . . c c c c . . . .\n`, `\n . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . f f f . . . . . . . .\n . . . . . . . . . . . . f 2 f f f f f . . . . .\n . . . . . . . . . . f f 2 2 e e e e e f f . . .\n . . . . . . . . . f f 2 2 2 e e e e e e f f . .\n . . . . . . . . . f e e e e f f f e e e e f . .\n . . . . . . . . f e 2 2 2 2 e e e f f f f f . .\n . . . . . . . . f 2 e f f f f f 2 2 2 e f f f .\n . c c . . . . . f f f e e e f f f f f f f f f .\n . c d c c . . . f e e 4 4 f b b e 4 4 e f e f .\n . c c d d c c . . f e d d f b b 4 d 4 e e f . .\n . . . c d d d c e e f d d d d d 4 e e e f . . .\n . . . . c c d c d d e e 2 2 2 2 2 2 2 f . . . .\n . . . . . c c c d d 4 4 e 5 4 4 4 4 4 f . . . .\n . . . . . . . . e e e e f f f f f f f f . . . .\n . . . . . . . . . . . . f f . . . f f f . . . .\n`].map(resizeTo24x24)\n\n// console.dir(SAMPLE_CHARACTERS)\n// console.dir(SAMPLE_OBSTACLES)\n\nexport class GameModder extends React.Component {\n protected playBtn: HTMLButtonElement | undefined;\n protected spriteEditor: SpriteEditorComp;\n protected header: HTMLHeadingElement | undefined;\n private tabImages: Bitmap[];\n private scale: number = 1.0;\n private alertTimeout: any;\n\n constructor(props: GameModderProps) {\n super(props);\n\n if (IsGameModderState(gameModderState)) {\n // Loading previous modder state\n this.state = gameModderState\n } else {\n // Creating new modder state\n let imgs = Object.keys(moddableImages)\n .map((name) => {\n let def = moddableImages[name]\n // TODO: match the original dimensions? One difficulty with this\n // is the sprite editor canvas can't handle this\n // let { w, h } = GetImageTextDimensions(moddableImages[name])\n let [w, h] = [24, 24]\n let blank = CreateEmptyImageText(w, h);\n return {\n data: imageLiteralToBitmap(blank),\n name: name,\n callToAction: CALL_TO_ACTION[name],\n default: textToBitmap(def)\n };\n })\n\n this.state = {\n userImages: imgs,\n currentImg: 0,\n currentBackground: 12\n }\n Object.assign(gameModderState, this.state)\n }\n\n this.tabImages = Object.keys(moddableImages)\n .map(k => moddableImages[k])\n .map(textToBitmap)\n\n if (!(gameModderState as GameModderState).alertShown) this.alertTimeout = setTimeout(this.alertPlay, 5000);\n }\n\n // async renderExperiments() {\n // let tabBar = this.refs[\"tab-bar\"] as TabBar\n // let dummyImg = createPngImg(20, 20, 64, 64)\n // tabBar.TabBarSvg.appendChild(dummyImg)\n // setInterval(() => {\n // updatePngImg(dummyImg, this.spriteEditor.bitmap().image)\n // }, 500)\n\n // function getImages(ts: string) {\n // let imgRegex = /img`([\\d\\s\\.a-f]*)`/gm\n // let match = imgRegex.exec(ts);\n // let res: string[] = []\n // while (match != null) {\n // res.push(match[1])\n // match = imgRegex.exec(ts);\n // }\n // return res\n // }\n\n // // HACK:\n // let mainTs = bunny_hop_main_ts;\n // // let mainTs = await getTxtFile(\"games/bunny_hop/main.ts\")\n\n // // TODO: find images\n // let imgs = getImages(mainTs)\n // // console.dir(imgs)\n\n // let imgsAsBmps = imgs.map(textToBitmap)\n // // console.dir(imgsAsBmps)\n // }\n\n private alertPlay = () => {\n this.save();\n (gameModderState as GameModderState).alertShown = true;\n this.setState({ pulse: true });\n }\n\n private clearTimers = () => {\n clearTimeout(this.alertTimeout);\n }\n\n private updateCurrentUserImage(bmp: Bitmap) {\n // TODO: set image bug somehow?\n function updateUserImage(old: UserImage, nw: Bitmap): UserImage {\n return {\n data: nw,\n name: old.name,\n callToAction: old.callToAction,\n default: old.default\n }\n }\n let newState = {\n userImages: this.state.userImages.map((m, i) =>\n i === this.state.currentImg\n ? updateUserImage(m, bmp)\n : m)\n }\n this.setState(newState)\n Object.assign(gameModderState, newState)\n }\n\n private save() {\n if (this.spriteEditor && this.spriteEditor.editor) {\n this.spriteEditor.editor.commit()\n let newImg = this.spriteEditor.editor.bitmap().image\n this.updateCurrentUserImage(newImg)\n }\n }\n\n onTabChange(idx: number) {\n this.save()\n this.setState({ currentImg: idx })\n if (IsGameModderState(gameModderState))\n gameModderState.currentImg = idx\n tickEvent(\"shareExperiment.mod.tabChange\", { \"tab\": idx });\n }\n\n onBackgroundColorChanged(idx: number) {\n this.setState({ currentBackground: idx })\n tickEvent(\"shareExperiment.mod.changeBackground\", { \"color\": idx });\n if (IsGameModderState(gameModderState))\n gameModderState.currentBackground = idx\n }\n\n onSpriteGalleryPick(bmp: Bitmap, idx?: number) {\n tickEvent(\"shareExperiment.mod.galleryPick\", { \"tab\": this.state.currentImg, \"item\": idx });\n this.updateCurrentUserImage(bmp)\n }\n\n render() {\n let currImg = this.state.userImages[this.state.currentImg]\n let isBackgroundTab = this.state.currentImg === 3\n\n let body = document.getElementsByTagName('body')[0]\n // const MARGIN = 20\n const HEADER_HEIGHT = 50\n let actualWidth = body.clientWidth\n let actualHeight = body.clientHeight - HEADER_HEIGHT\n let refWidth = 539.0\n let refHeight = SE.TOTAL_HEIGHT\n let wScale = actualWidth / refWidth\n let hScale = actualHeight / refHeight\n this.scale = Math.min(wScale, hScale)\n\n const SPRITE_GALLERY_HEIGHT = 100\n let spriteGalleryHeight = SPRITE_GALLERY_HEIGHT * this.scale\n let colorPickerHeight = (SE.TOTAL_HEIGHT + SPRITE_GALLERY_HEIGHT) * this.scale\n\n // TODO\n let samples = [\n SAMPLE_CHARACTERS,\n SAMPLE_OBSTACLES,\n SAMPLE_OBSTACLES2\n ]\n let spriteGalleryOptions =\n (samples[this.state.currentImg] || SAMPLE_CHARACTERS)\n .map(i => imageLiteralToBitmap(i))\n\n let startImg = this.state.userImages[this.state.currentImg].data\n let galKey = `tab${this.state.currentImg}__` + spriteGalleryOptions.map(b => b.buf.toString()).join(\"_\")\n let galProps: SpriteGalleryProps = {\n height: spriteGalleryHeight,\n options: spriteGalleryOptions,\n onClick: this.onSpriteGalleryPick.bind(this)\n }\n return (\n \n
{currImg.callToAction} \n
\n {isBackgroundTab\n ?\n
\n :\n
\n }\n {/*
\n
*/}\n
\n Play \n \n \n
\n )\n }\n\n async componentDidMount() {\n this.playBtn = this.refs[\"play-btn\"] as HTMLButtonElement;\n this.spriteEditor = this.refs[\"sprite-editor\"] as SpriteEditorComp;\n this.header = this.refs['header'] as HTMLHeadingElement\n\n // events\n this.playBtn.addEventListener('click', this.onPlay.bind(this))\n\n // HACK: Disable scrolling in iOS\n document.ontouchmove = function (e) {\n e.preventDefault();\n }\n }\n\n componentDidUpdate() {\n this.spriteEditor = this.refs[\"sprite-editor\"] as SpriteEditorComp;\n }\n\n componentWillUnmount() {\n this.playBtn = undefined;\n this.spriteEditor = undefined;\n this.header = undefined;\n\n this.clearTimers();\n }\n\n async onPlay() {\n this.save();\n (gameModderState as GameModderState).alertShown = true;\n\n const toReplace = this.state.userImages.filter(ui => !isEmptyBitmap(ui.data));\n\n function modBackground(bin: string, newColor: number): string {\n const originalColor = 13\n const template = (color: number) => `scene_setBackgroundColor__P935_mk(s);s.tmp_0.arg0=${color}`\n let old = template(originalColor)\n let newIdx = newColor + 1 // arcade function is 1-based b/c 0 is transparent\n let nw = template(newIdx)\n return bin.replace(old, nw)\n }\n\n function modBackgroundTs(bin: string, newColor: number): string {\n const originalColor = 13\n const template = (color: number) => `scene.setBackgroundColor(${color})`\n let old = template(originalColor)\n let newIdx = newColor + 1 // arcade function is 1-based b/c 0 is transparent\n let nw = template(newIdx)\n return bin.replace(old, nw)\n }\n\n function modImg(bin: string, img: UserImage): string {\n // HACK: for some reason the compiler emits image prefixes that look like:\n // 8704100010000000\n // whereas ours look like:\n // e4101000\n const MOD_PREFIX_LEN = \"e4101000\".length\n const BIN_PREFIX_LEN = \"8704100010000000\".length\n\n let newHex = bitmapToBinHex(img.data)\n\n const oldToFind = bitmapToBinHex(img.default)\n .slice(MOD_PREFIX_LEN)\n let oldStartIncl = bin.indexOf(oldToFind) - BIN_PREFIX_LEN\n if (oldStartIncl < 0)\n return bin;\n let oldEndExcl = bin.indexOf(`\"`, oldStartIncl)\n let oldHex = bin.slice(oldStartIncl, oldEndExcl)\n\n return bin.replace(oldHex, newHex)\n }\n\n let gameBinJs = bunny_hop_bin_js\n let gameMainTs = bunny_hop_main_ts\n let gameMainBlocks = bunny_hop_main_blocks;\n\n for (let i of toReplace) {\n const def = bitmapToText(i.default);\n const user = bitmapToText(i.data);\n gameBinJs = modImg(gameBinJs, i)\n gameMainTs = replaceImages(gameMainTs, def, user);\n gameMainBlocks = replaceImages(gameMainBlocks, def, user);\n }\n gameBinJs = modBackground(gameBinJs, this.state.currentBackground)\n gameMainTs = modBackgroundTs(gameMainTs, this.state.currentBackground);\n\n const screenshot = await mkScreenshotAsync(this.state.currentBackground + 1, this.state.userImages.map(u => isEmptyBitmap(u.data) ? u.default : u.data));\n\n this.props.playHandler({\n binJs: gameBinJs,\n mainTs: gameMainTs,\n mainBlocks: gameMainBlocks,\n screenshot\n });\n }\n}\n\nfunction replaceImages(sourceFile: string, toReplace: string, userImage: string) {\n const sourceLines = sourceFile.split(/\\n/).map(l => l.trim());\n const replaceLines = toReplace.split(/\\n/).map(l => l.trim()).slice(1, -1);\n\n userImage = userImage.replace(\"img`\", \"\").replace(\"`\", \"\");\n\n let foundMatch = false;\n for (let i = 0; i < sourceLines.length; i++) {\n if (sourceLines[i] === replaceLines[0]) {\n foundMatch = true;\n\n for (let j = 1; j < replaceLines.length; j++) {\n if (sourceLines[i + j] != replaceLines[j]) {\n foundMatch = false;\n break;\n }\n }\n\n if (foundMatch) {\n sourceLines.splice(i, replaceLines.length, userImage);\n }\n }\n }\n\n return sourceLines.join(\"\\n\");\n}\n\nexport default GameModder;\n","// source: https://makecode.com/_34fUva8ttMFi\n\nexport const bunny_hop_bin_js: string = `// total=1303956 new=9.81% cached=85.10% other=5.09%\n(function (ectx) {\n'use strict';\nconst runtime = ectx.runtime;\nconst oops = ectx.oops;\nconst doNothing = ectx.doNothing;\nconst pxsim = ectx.pxsim;\nconst globals = ectx.globals;\nconst maybeYield = ectx.maybeYield;\nconst setupDebugger = ectx.setupDebugger;\nconst isBreakFrame = ectx.isBreakFrame;\nconst breakpoint = ectx.breakpoint;\nconst trace = ectx.trace;\nconst checkStack = ectx.checkStack;\nconst leave = ectx.leave;\nconst checkResumeConsumed = ectx.checkResumeConsumed;\nconst setupResume = ectx.setupResume;\nconst setupLambda = ectx.setupLambda;\nconst checkSubtype = ectx.checkSubtype;\nconst failedCast = ectx.failedCast;\nconst buildResume = ectx.buildResume;\nconst mkVTable = ectx.mkVTable;\nconst __this = runtime;\nconst pxtrt = pxsim.pxtrt;\nlet yieldSteps = 1;\nectx.setupYield(function() { yieldSteps = 100; })\npxsim.setTitle(\"bunny-hop-updated\");\npxsim.setConfigData({\n \"37\": 160,\n \"38\": 120\n}, {\n \"DISPLAY_WIDTH\": 37,\n \"DISPLAY_HEIGHT\": 38\n});\npxtrt.mapKeyNames = [\n \"\",\n \"__draw\",\n \"__drawCore\",\n \"__preUpdate\",\n \"__update\",\n \"__visible\",\n \"_action\",\n \"_ax\",\n \"_ay\",\n \"_buttonId\",\n \"_connected\",\n \"_controlledSprites\",\n \"_data\",\n \"_destroyCore\",\n \"_dt\",\n \"_factory\",\n \"_hitbox\",\n \"_id\",\n \"_image\",\n \"_kind\",\n \"_kindsOverlappedWith\",\n \"_lastX\",\n \"_lastY\",\n \"_layer\",\n \"_layers\",\n \"_map\",\n \"_millis\",\n \"_obstacles\",\n \"_overlappers\",\n \"_owner\",\n \"_player\",\n \"_pressed\",\n \"_pressedElasped\",\n \"_prune\",\n \"_repeatCount\",\n \"_sprites\",\n \"_text\",\n \"_tileSets\",\n \"_update\",\n \"_vx\",\n \"_vy\",\n \"_x\",\n \"_y\",\n \"_z\",\n \"action\",\n \"activeCard\",\n \"add\",\n \"addShape\",\n \"addSprite\",\n \"alignX\",\n \"alignY\",\n \"allSprites\",\n \"anchor\",\n \"animations\",\n \"apply\",\n \"applyTo\",\n \"areaHeight\",\n \"areaWidth\",\n \"ax\",\n \"ay\",\n \"background\",\n \"basicCard\",\n \"bg\",\n \"bgColor\",\n \"border\",\n \"borderColor\",\n \"bottom\",\n \"buckets\",\n \"button\",\n \"buttons\",\n \"cachedImage\",\n \"cachedRender\",\n \"cachedVx\",\n \"cachedVy\",\n \"camera\",\n \"card\",\n \"cardSpacing\",\n \"cardWidth\",\n \"cardsPerRow\",\n \"cardsTop\",\n \"cellHeight\",\n \"cellWidth\",\n \"change\",\n \"changeScoreBy\",\n \"charHeight\",\n \"charWidth\",\n \"clear\",\n \"clearInterior\",\n \"clearObstacles\",\n \"collisionHandlers\",\n \"color\",\n \"columnCount\",\n \"columns\",\n \"connected\",\n \"constrain\",\n \"contains\",\n \"controlledSprites\",\n \"countdownEndHandler\",\n \"countdownExpired\",\n \"createMovingSprite\",\n \"createParticle\",\n \"createdHandlers\",\n \"cursor\",\n \"cursorCount\",\n \"cursorOn\",\n \"cursorRowHeight\",\n \"data\",\n \"defaultLifespan\",\n \"defaultRate\",\n \"deltaTime\",\n \"deltaTimeMillis\",\n \"destroy\",\n \"destroyHandler\",\n \"destroyedHandlers\",\n \"displayCursor\",\n \"dispose\",\n \"distance\",\n \"down\",\n \"draw\",\n \"drawBorder\",\n \"drawCursorRow\",\n \"drawLives\",\n \"drawOffsetX\",\n \"drawOffsetY\",\n \"drawPartial\",\n \"drawParticle\",\n \"drawPlayer\",\n \"drawScore\",\n \"drawText\",\n \"drawTextCore\",\n \"dx\",\n \"dy\",\n \"effect\",\n \"enabled\",\n \"endScreenEffect\",\n \"eventContext\",\n \"fastRandom\",\n \"fc\",\n \"flags\",\n \"followingSprites\",\n \"font\",\n \"fontColor\",\n \"frame\",\n \"frameCallbacks\",\n \"frameInterval\",\n \"frameWorker\",\n \"frames\",\n \"framesInSample\",\n \"galois\",\n \"gameEnd\",\n \"gameForeverHandlers\",\n \"generateTile\",\n \"generator\",\n \"getObstacle\",\n \"getState\",\n \"getText\",\n \"handler\",\n \"handlers\",\n \"hasBackgroundImage\",\n \"hasLife\",\n \"hasScore\",\n \"head\",\n \"headerFont\",\n \"headerText\",\n \"heartImage\",\n \"height\",\n \"highScore\",\n \"icon\",\n \"iconImage\",\n \"id\",\n \"idleCallbacks\",\n \"image\",\n \"img\",\n \"infoFont\",\n \"infoTop\",\n \"init\",\n \"innerLeft\",\n \"innerTop\",\n \"insertAABB\",\n \"insertAtKey\",\n \"isNewHighScore\",\n \"isObstacle\",\n \"isOob\",\n \"isOutOfScreen\",\n \"isOutsideMap\",\n \"isPressed\",\n \"key\",\n \"kind\",\n \"lastFrame\",\n \"lastNode\",\n \"layer\",\n \"left\",\n \"length\",\n \"lfsr\",\n \"life\",\n \"lifeZeroHandler\",\n \"lifespan\",\n \"lock\",\n \"loop\",\n \"map\",\n \"maxLifespan\",\n \"maxNegativeVelocity\",\n \"maxSingleStep\",\n \"maxVelocity\",\n \"melody\",\n \"mergeAtKey\",\n \"millis\",\n \"minAngle\",\n \"minLifespan\",\n \"minSingleStep\",\n \"move\",\n \"moveSprite\",\n \"multiplier\",\n \"multiplierImage\",\n \"neighbors\",\n \"next\",\n \"nodeInterval\",\n \"nodes\",\n \"obstacle\",\n \"offsetX\",\n \"offsetY\",\n \"onEvent\",\n \"onPlayFinished\",\n \"onUpdate\",\n \"options\",\n \"order\",\n \"originalImage\",\n \"otherKind\",\n \"overlapHandlers\",\n \"overlapMap\",\n \"overlaps\",\n \"overlapsWith\",\n \"ox\",\n \"oy\",\n \"pFlags\",\n \"padding\",\n \"parent\",\n \"particleSources\",\n \"path\",\n \"period\",\n \"physicsEngine\",\n \"pickRandom\",\n \"play\",\n \"playCore\",\n \"playerIndex\",\n \"playerStates\",\n \"position\",\n \"preferredDelay\",\n \"prevTimeMillis\",\n \"priority\",\n \"raiseButtonDown\",\n \"raiseButtonRepeat\",\n \"raiseButtonUp\",\n \"raiseLifeZero\",\n \"randomRange\",\n \"register\",\n \"registerFrameCallbacks\",\n \"registerFrameHandler\",\n \"registerHandler\",\n \"registerMelody\",\n \"registerObstacle\",\n \"remove\",\n \"removeSprite\",\n \"renderCore\",\n \"repeatDelay\",\n \"repeatInterval\",\n \"repeatX\",\n \"repeatY\",\n \"resizeBuckets\",\n \"right\",\n \"rowCount\",\n \"rows\",\n \"run\",\n \"runCallbacks\",\n \"sayBubbleSprite\",\n \"scale\",\n \"scene\",\n \"sceneDefaultRate\",\n \"score\",\n \"scrollOffset\",\n \"scrollRow\",\n \"scrollTarget\",\n \"seed\",\n \"selectedCard\",\n \"selection\",\n \"setAcceleration\",\n \"setAnchor\",\n \"setDirection\",\n \"setFactory\",\n \"setFlag\",\n \"setImage\",\n \"setKind\",\n \"setOffset\",\n \"setPosition\",\n \"setPressed\",\n \"setRate\",\n \"setScore\",\n \"setSelection\",\n \"setSpeed\",\n \"setStart\",\n \"setState\",\n \"setTheme\",\n \"setVelocity\",\n \"shakeAmplitude\",\n \"shakeDuration\",\n \"shakeStartTime\",\n \"shouldBeVisible\",\n \"show\",\n \"showLife\",\n \"showPlayer\",\n \"showScore\",\n \"source\",\n \"sourceFactory\",\n \"sources\",\n \"speed\",\n \"spread\",\n \"sprite\",\n \"spriteCollisions\",\n \"spriteNextId\",\n \"sprites\",\n \"spritesByKind\",\n \"src\",\n \"start\",\n \"startScreenEffect\",\n \"startedAt\",\n \"state\",\n \"stop\",\n \"textAreaHeight\",\n \"textAreaWidth\",\n \"textColor\",\n \"theme\",\n \"tileIndex\",\n \"tileMap\",\n \"tilemapCollisions\",\n \"timeInSample\",\n \"timer\",\n \"times\",\n \"toString\",\n \"top\",\n \"unit\",\n \"unregister\",\n \"unregisterMelody\",\n \"up\",\n \"update\",\n \"updateCard\",\n \"updateParticle\",\n \"updateSay\",\n \"updateScrollTarget\",\n \"value\",\n \"visibilityFlag\",\n \"visilibity\",\n \"vx\",\n \"vy\",\n \"width\",\n \"win\",\n \"x\",\n \"xOffset\",\n \"xRange\",\n \"xStep\",\n \"y\",\n \"yOffset\",\n \"yRange\",\n \"yStep\",\n \"z\"\n];\n__this.setupPerfCounters([]);\nconst pxsim_Array__getAt = pxsim.Array_.getAt;\nconst pxsim_Array__length = pxsim.Array_.length;\nconst pxsim_Array__mk = pxsim.Array_.mk;\nconst pxsim_Array__push = pxsim.Array_.push;\nconst pxsim_Boolean__bang = pxsim.Boolean_.bang;\nconst pxsim_String__concat = pxsim.String_.concat;\nconst pxsim_String__stringConv = pxsim.String_.stringConv;\nconst pxsim_numops_toBool = pxsim.numops.toBool;\nconst pxsim_numops_toBoolDecr = pxsim.numops.toBoolDecr;\nconst pxsim_pxtcore_mkAction = pxsim.pxtcore.mkAction;\nconst pxsim_pxtcore_mkClassInstance = pxsim.pxtcore.mkClassInstance;\nconst pxsim_pxtrt_ldlocRef = pxsim.pxtrt.ldlocRef;\nconst pxsim_pxtrt_mapGetByString = pxsim.pxtrt.mapGetByString;\nconst pxsim_pxtrt_stclo = pxsim.pxtrt.stclo;\nconst pxsim_pxtrt_stlocRef = pxsim.pxtrt.stlocRef;\nconst pxsim_Boolean_ = pxsim.Boolean_;\nconst pxsim_pxtcore = pxsim.pxtcore;\nconst pxsim_String_ = pxsim.String_;\nconst pxsim_ImageMethods = pxsim.ImageMethods;\nconst pxsim_Array_ = pxsim.Array_;\nconst pxsim_pxtrt = pxsim.pxtrt;\nconst pxsim_numops = pxsim.numops;\n\n\nfunction _main___P22728(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n globals.zeroFx8___79 = (0);\n r0 = (0.5 * 256);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 | 0);\n globals.oneHalfFx8___80 = (r0);\n globals.oneFx8___82 = (1);\n globals.twoFx8___83 = (2);\n globals._pollEventQueue___164 = (undefined);\n globals._intervals___171 = (undefined);\n globals.minPriority___185 = (1);\n r0 = pxsim_Array__mk();\n s.tmp_0 = r0;\n r0 = pxsim_Array__push(s.tmp_0, inline__P8934);\n globals.listeners___186 = (s.tmp_0);\n globals.freqs___333 = (_hex3749);\n globals.globalVolume___337 = (null);\n globals.playToneID___345 = (0);\n r0 = pxsim_pxtcore_mkClassInstance(music_Melody__C349_VT);\n s.tmp_0 = r0;\n s.tmp_1 = music_Melody_constructor__P361_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = \"~15 e3:3 r:1 d#:3 r:1 d:4 r:1 c#:8\";\n s.pc = 1; return s.tmp_1;\n case 1:\n r0 = s.retval;\n globals.wawawawaa___368 = (s.tmp_0);\n r0 = pxsim_pxtcore_mkClassInstance(music_Melody__C349_VT);\n s.tmp_0 = r0;\n s.tmp_1 = music_Melody_constructor__P361_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = \"g4:1 c5 e g:2 e:1 g:3\";\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n globals.powerUp___371 = (s.tmp_0);\n globals.brightness___401 = (100);\n r0 = pxsim_pxtrt.mkMap();\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, \"charWidth\", 6);\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, \"charHeight\", 8);\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, \"data\", _hex10057);\n globals.font8___423 = (s.tmp_0);\n r0 = pxsim_pxtrt.mkMap();\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, \"charWidth\", 12);\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, \"charHeight\", 12);\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, \"data\", _hex2735);\n globals.font12___424 = (s.tmp_0);\n r0 = pxsim_pxtrt.mkMap();\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, \"charWidth\", 6);\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, \"charHeight\", 5);\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, \"data\", _hex8942);\n globals.font5___428 = (s.tmp_0);\n globals.__updated___434 = (false);\n r0 = pxsim.control.runInParallel(inline__P439);\n r0 = pxsim_pxtcore.setPalette(_hex463);\n r0 = pxsim.image.create(160, 120);\n globals.screen___464 = (r0);\n s.tmp_0 = control___screen_setupUpdate__P436_mk(s);\n s.tmp_0.arg0 = inline__P470;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n globals.control_EventContext_onStats___232 = (inline__P475);\n s.tmp_0 = settings_initScopes__P491_mk(s);\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkClassInstance(controller_Button__C538_VT);\n s.tmp_0 = r0;\n s.tmp_1 = controller_Button_constructor__P548_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = 5;\n s.tmp_1.arg2 = -1;\n s.pc = 5; return s.tmp_1;\n case 5:\n r0 = s.retval;\n globals.A___525 = (s.tmp_0);\n r0 = pxsim_pxtcore_mkClassInstance(controller_Button__C538_VT);\n s.tmp_0 = r0;\n s.tmp_1 = controller_Button_constructor__P548_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = 6;\n s.tmp_1.arg2 = -1;\n s.pc = 6; return s.tmp_1;\n case 6:\n r0 = s.retval;\n globals.B___526 = (s.tmp_0);\n r0 = pxsim_pxtcore_mkClassInstance(controller_Button__C538_VT);\n s.tmp_0 = r0;\n s.tmp_1 = controller_Button_constructor__P548_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = 1;\n s.tmp_1.arg2 = -1;\n s.pc = 7; return s.tmp_1;\n case 7:\n r0 = s.retval;\n globals.left___527 = (s.tmp_0);\n r0 = pxsim_pxtcore_mkClassInstance(controller_Button__C538_VT);\n s.tmp_0 = r0;\n s.tmp_1 = controller_Button_constructor__P548_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = 2;\n s.tmp_1.arg2 = -1;\n s.pc = 8; return s.tmp_1;\n case 8:\n r0 = s.retval;\n globals.up___528 = (s.tmp_0);\n r0 = pxsim_pxtcore_mkClassInstance(controller_Button__C538_VT);\n s.tmp_0 = r0;\n s.tmp_1 = controller_Button_constructor__P548_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = 3;\n s.tmp_1.arg2 = -1;\n s.pc = 9; return s.tmp_1;\n case 9:\n r0 = s.retval;\n globals.right___529 = (s.tmp_0);\n r0 = pxsim_pxtcore_mkClassInstance(controller_Button__C538_VT);\n s.tmp_0 = r0;\n s.tmp_1 = controller_Button_constructor__P548_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = 4;\n s.tmp_1.arg2 = -1;\n s.pc = 10; return s.tmp_1;\n case 10:\n r0 = s.retval;\n globals.down___530 = (s.tmp_0);\n r0 = pxsim_pxtcore_mkClassInstance(controller_Button__C538_VT);\n s.tmp_0 = r0;\n s.tmp_1 = controller_Button_constructor__P548_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = 7;\n s.tmp_1.arg2 = -1;\n s.pc = 11; return s.tmp_1;\n case 11:\n r0 = s.retval;\n globals.menu___531 = (s.tmp_0);\n globals._userEventsEnabled___535 = (true);\n globals.defaultRepeatDelay___536 = (500);\n globals.defaultRepeatInterval___537 = (30);\n r0 = pxsim_pxtcore_mkClassInstance(controller_Button__C538_VT);\n s.tmp_0 = r0;\n s.tmp_1 = controller_Button_constructor__P548_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = 0;\n s.tmp_1.arg2 = -1;\n s.pc = 12; return s.tmp_1;\n case 12:\n r0 = s.retval;\n globals.anyButton___589 = (s.tmp_0);\n s.tmp_0 = SpriteKind_create__P691_mk(s);\n s.pc = 13; return s.tmp_0;\n case 13:\n r0 = s.retval;\n globals.Player___692 = (r0);\n s.tmp_0 = SpriteKind_create__P691_mk(s);\n s.pc = 14; return s.tmp_0;\n case 14:\n r0 = s.retval;\n globals.Food___695 = (r0);\n s.tmp_0 = SpriteKind_create__P691_mk(s);\n s.pc = 15; return s.tmp_0;\n case 15:\n r0 = s.retval;\n globals.Enemy___697 = (r0);\n r0 = (100 * 256);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 | 0);\n globals.MAX_TIME_STEP___716 = (r0);\n r0 = (1 | 2);\n globals.SPRITE_CANNOT_COLLIDE___718 = (r0);\n r0 = (0.1 * 256);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 | 0);\n globals.MIN_MOVE_GAP___723 = (r0);\n globals.infoState___745 = (undefined);\n s.tmp_0 = game_addScenePushHandler__P749_mk(s);\n s.tmp_0.arg0 = inline__P750;\n s.pc = 16; return s.tmp_0;\n case 16:\n r0 = s.retval;\n s.tmp_0 = game_addScenePopHandler__P765_mk(s);\n s.tmp_0.arg0 = inline__P766;\n s.pc = 17; return s.tmp_0;\n case 17:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkClassInstance(info_PlayerInfo__C823_VT);\n s.tmp_0 = r0;\n s.tmp_1 = info_PlayerInfo_constructor__P840_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = 1;\n s.pc = 18; return s.tmp_1;\n case 18:\n r0 = s.retval;\n globals.player1___845 = (s.tmp_0);\n globals.ON_PAINT_Z___916 = (-20);\n globals.TILE_MAP_Z___918 = (-1);\n r0 = pxsim_Array__mk();\n globals.scene_Scene_initializers___931 = (r0);\n globals.debug___998 = (false);\n globals.stats___999 = (false);\n globals.winEffect___1001 = (undefined);\n globals.loseEffect___1003 = (undefined);\n globals.loseSound___1005 = (undefined);\n globals.winSound___1007 = (undefined);\n globals.__isOver___1014 = (false);\n globals.foreverRunning___1029 = (false);\n s.tmp_0 = scene_systemMenu_initVolume__P1199_mk(s);\n s.pc = 19; return s.tmp_0;\n case 19:\n r0 = s.retval;\n r0 = pxsim_Array__push(globals.scene_Scene_initializers___931, scene_systemMenu_register__P1196);\n r0 = pxsim.image.ofBuffer(_hex1207);\n globals.CARD_NORMAL___1205 = (r0);\n r0 = pxsim.image.ofBuffer(_hex1210);\n globals.CARD_SELECTED___1208 = (r0);\n r0 = pxsim.image.ofBuffer(_hex1213);\n globals.CARD_ACTIVE___1211 = (r0);\n r0 = pxsim.image.ofBuffer(_hex1216);\n globals.VOLUME_UP_ICON___1214 = (r0);\n r0 = pxsim.image.ofBuffer(_hex1219);\n globals.BRIGHTNESS_DOWN_ICON___1217 = (r0);\n r0 = pxsim.image.ofBuffer(_hex1222);\n globals.CLOSE_MENU_ICON___1220 = (r0);\n r0 = pxsim.image.ofBuffer(_hex1225);\n globals.VOLUME_DOWN_ICON___1223 = (r0);\n r0 = pxsim.image.ofBuffer(_hex1228);\n globals.SLEEP_ICON___1226 = (r0);\n r0 = pxsim.image.ofBuffer(_hex1231);\n globals.CONSOLE_ICON___1229 = (r0);\n r0 = pxsim.image.ofBuffer(_hex1234);\n globals.BRIGHTNESS_UP_ICON___1232 = (r0);\n r0 = pxsim.image.ofBuffer(_hex1237);\n globals.STATS_ICON___1235 = (r0);\n globals.consoleColor___1238 = (1);\n globals.tabSize___1240 = (8);\n globals.consoleFont___1244 = (globals.font5___428);\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n s.tmp_2 = r0;\n s.tmp_5 = if_charHeight_1_mk(s);\n s.tmp_5.arg0 = globals.consoleFont___1244;\n if (!s.tmp_5.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_5.arg0, \"charHeight\");\n } else {\n s.tmp_5.fn = s.tmp_5.arg0.vtable.iface[\"charHeight\"];\n if (s.tmp_5.fn == null) { s.retval = s.tmp_5.arg0.fields[\"charHeight\"]; }\n else { s.pc = 20; return s.tmp_5; }\n }\n case 20:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = (s.tmp_4 + 2);\n s.tmp_3 = r0;\n r0 = (s.tmp_2 / s.tmp_3);\n s.tmp_1 = r0;\n r0 = pxsim.Math_.floor(s.tmp_1);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 - 1);\n globals.consoleLines___1245 = (r0);\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_2 = r0;\n r0 = (2 * 4);\n s.tmp_3 = r0;\n r0 = (s.tmp_2 - s.tmp_3);\n s.tmp_1 = r0;\n s.tmp_5 = if_charWidth_1_mk(s);\n s.tmp_5.arg0 = globals.consoleFont___1244;\n if (!s.tmp_5.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_5.arg0, \"charWidth\");\n } else {\n s.tmp_5.fn = s.tmp_5.arg0.vtable.iface[\"charWidth\"];\n if (s.tmp_5.fn == null) { s.retval = s.tmp_5.arg0.fields[\"charWidth\"]; }\n else { s.pc = 21; return s.tmp_5; }\n }\n case 21:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = (s.tmp_1 / s.tmp_4);\n s.tmp_0 = r0;\n r0 = pxsim.Math_.floor(s.tmp_0);\n globals.consoleColumns___1255 = (r0);\n s.tmp_0 = console_addListener__P194_mk(s);\n s.tmp_0.arg0 = game_consoleOverlay_listener__P1267;\n s.pc = 22; return s.tmp_0;\n case 22:\n r0 = s.retval;\n s.tmp_0 = lambda_1_mk(s);\n s.tmp_0.argL = inline__P1276;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 23; return s.tmp_0;\n case 23:\n r0 = s.retval;\n globals.MAX_SOURCES___1274 = (r0);\n r0 = pxsim_pxtcore_mkClassInstance(particles_SprayFactory__C1341_VT);\n s.tmp_0 = r0;\n s.tmp_1 = particles_SprayFactory_constructor__P1347_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = 20;\n s.tmp_1.arg2 = 0;\n s.tmp_1.arg3 = 60;\n s.pc = 24; return s.tmp_1;\n case 24:\n r0 = s.retval;\n globals.defaultFactory___1303 = (s.tmp_0);\n r0 = pxsim_pxtcore_mkClassInstance(Math_FastRandom__C1156_VT);\n s.tmp_0 = r0;\n s.tmp_1 = Math_FastRandom_constructor__P1163_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = undefined;\n s.pc = 25; return s.tmp_1;\n case 25:\n r0 = s.retval;\n globals.galois___1324 = (s.tmp_0);\n r0 = (2 * 3.141592653589793);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 / 100);\n globals.angleSlice___1328 = (r0);\n r0 = (3.141592653589793 / 180);\n globals.ratio___1334 = (r0);\n r0 = pxsim_pxtcore_mkClassInstance(effects_ScreenEffect__C1414_VT);\n s.tmp_0 = r0;\n s.tmp_1 = effects_ScreenEffect_constructor__P1418_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = 10;\n s.tmp_1.arg2 = 40;\n s.tmp_1.arg3 = 4000;\n s.tmp_1.arg4 = inline__P7538;\n s.pc = 26; return s.tmp_1;\n case 26:\n r0 = s.retval;\n globals.confetti___1424 = (s.tmp_0);\n r0 = pxsim_pxtcore_mkClassInstance(effects_ImageEffect__C1438_VT);\n s.tmp_0 = r0;\n s.tmp_1 = effects_ImageEffect_constructor__P1442_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = 100;\n s.tmp_1.arg2 = inline__P2929;\n s.pc = 27; return s.tmp_1;\n case 27:\n r0 = s.retval;\n globals.dissolve___1443 = (s.tmp_0);\n r0 = pxsim_pxtcore_mkClassInstance(effects_ImageEffect__C1438_VT);\n s.tmp_0 = r0;\n s.tmp_1 = effects_ImageEffect_constructor__P1442_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = 125;\n s.tmp_1.arg2 = inline__P5347;\n s.pc = 28; return s.tmp_1;\n case 28:\n r0 = s.retval;\n globals.melt___1444 = (s.tmp_0);\n r0 = pxsim_pxtcore_mkClassInstance(texteffects_TextEffect__C1448_VT);\n s.tmp_0 = r0;\n s.tmp_1 = texteffects_TextEffect_constructor__P1449_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = inline__P1453;\n s.pc = 29; return s.tmp_1;\n case 29:\n r0 = s.retval;\n globals.shake___1450 = (s.tmp_0);\n r0 = pxsim_pxtcore_mkClassInstance(texteffects_TextEffect__C1448_VT);\n s.tmp_0 = r0;\n s.tmp_1 = texteffects_TextEffect_constructor__P1449_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = inline__P1463;\n s.pc = 30; return s.tmp_1;\n case 30:\n r0 = s.retval;\n globals.wave___1460 = (s.tmp_0);\n s.tmp_0 = game_addScenePushHandler__P749_mk(s);\n s.tmp_0.arg0 = inline__P1575;\n s.pc = 31; return s.tmp_0;\n case 31:\n r0 = s.retval;\n s.tmp_0 = game_addScenePopHandler__P765_mk(s);\n s.tmp_0.arg0 = inline__P1589;\n s.pc = 32; return s.tmp_0;\n case 32:\n r0 = s.retval;\n s.tmp_0 = game_setWaitAnyButton__P1015_mk(s);\n s.tmp_0.arg0 = controller_pauseUntilAnyButtonIsPressed__P585;\n s.pc = 33; return s.tmp_0;\n case 33:\n r0 = s.retval;\n s.tmp_0 = game_eventContext__P1017_mk(s);\n s.pc = 34; return s.tmp_0;\n case 34:\n r0 = s.retval;\n s.tmp_0 = SpriteKind_create__P691_mk(s);\n s.pc = 35; return s.tmp_0;\n case 35:\n r0 = s.retval;\n globals.Obstacle___22731 = (r0);\n globals.over___22733 = (false);\n s.tmp_0 = controller_Button_onEvent__P543_mk(s);\n s.tmp_0.arg0 = globals.anyButton___589;\n s.tmp_0.arg1 = 2049;\n s.tmp_0.arg2 = inline__P22737;\n s.pc = 36; return s.tmp_0;\n case 36:\n r0 = s.retval;\n s.tmp_0 = sprites_onOverlap__P674_mk(s);\n s.tmp_0.arg0 = globals.Player___692;\n s.tmp_0.arg1 = globals.Obstacle___22731;\n s.tmp_0.arg2 = inline__P22754;\n s.pc = 37; return s.tmp_0;\n case 37:\n r0 = s.retval;\n globals.grass___22759 = (null);\n globals.projectile___22760 = (null);\n globals.newObstacle___22761 = (null);\n globals.numObstacles___22762 = (0);\n globals.osbstacleSpeed___22763 = (0);\n globals.difficultyFactor___22764 = (0);\n globals.cloud___22765 = (null);\n globals.tree___22766 = (null);\n r0 = pxsim_Array__mk();\n globals.clouds___22767 = (r0);\n r0 = pxsim_Array__mk();\n globals.grassImages___22768 = (r0);\n r0 = pxsim_Array__mk();\n globals.trees___22769 = (r0);\n r0 = pxsim_Array__mk();\n globals.obstacles___22770 = (r0);\n r0 = pxsim_Array__mk();\n globals.birdFrames___22771 = (r0);\n globals.bird___22772 = (null);\n globals.gravity___22747 = (0);\n globals.bunny___22740 = (null);\n s.tmp_0 = scene_setBackgroundColor__P935_mk(s);s.tmp_0.arg0=13;\n s.pc = 38; return s.tmp_0;\n case 38:\n r0 = s.retval;\n s.tmp_0 = sprites_create__P602_mk(s);\n r0 = pxsim.image.ofBuffer(_hex22778);\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = globals.Player___692;\n s.pc = 39; return s.tmp_0;\n case 39:\n r0 = s.retval;\n globals.bunny___22740 = (r0);\n globals.gravity___22747 = (400);\n s.tmp_0 = Sprite_ay__P620_mk(s);\n s.tmp_0.arg0 = globals.bunny___22740;\n s.tmp_0.arg1 = globals.gravity___22747;\n s.pc = 40; return s.tmp_0;\n case 40:\n r0 = s.retval;\n s.tmp_0 = Sprite_x__P610_mk(s);\n s.tmp_0.arg0 = globals.bunny___22740;\n s.tmp_0.arg1 = 20;\n s.pc = 41; return s.tmp_0;\n case 41:\n r0 = s.retval;\n s.tmp_0 = sprites_create__P602_mk(s);\n r0 = pxsim.image.ofBuffer(_hex22789);\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = 1;\n s.pc = 42; return s.tmp_0;\n case 42:\n r0 = s.retval;\n globals.bird___22772 = (r0);\n s.tmp_0 = Sprite_setPosition__P639_mk(s);\n s.tmp_0.arg0 = globals.bird___22772;\n s.tmp_0.arg1 = 160;\n s.tmp_0.arg2 = 20;\n s.pc = 43; return s.tmp_0;\n case 43:\n r0 = s.retval;\n s.tmp_0 = Sprite_setVelocity__P640_mk(s);\n s.tmp_0.arg0 = globals.bird___22772;\n s.tmp_0.arg1 = -120;\n s.tmp_0.arg2 = 0;\n s.pc = 44; return s.tmp_0;\n case 44:\n r0 = s.retval;\n s.tmp_0 = setupFrames__P22748_mk(s);\n s.pc = 45; return s.tmp_0;\n case 45:\n r0 = s.retval;\n s.tmp_0 = game_onUpdate__P1027_mk(s);\n s.tmp_0.arg0 = inline__P22798;\n s.pc = 46; return s.tmp_0;\n case 46:\n r0 = s.retval;\n s.tmp_0 = game_onUpdate__P1027_mk(s);\n s.tmp_0.arg0 = inline__P22808;\n s.pc = 47; return s.tmp_0;\n case 47:\n r0 = s.retval;\n s.tmp_0 = game_onUpdateInterval__P1028_mk(s);\n s.tmp_0.arg0 = 100;\n s.tmp_0.arg1 = inline__P22818;\n s.pc = 48; return s.tmp_0;\n case 48:\n r0 = s.retval;\n s.tmp_0 = forever__P505_mk(s);\n s.tmp_0.arg0 = inline__P22825;\n s.pc = 49; return s.tmp_0;\n case 49:\n r0 = s.retval;\n s.tmp_0 = game_onUpdateInterval__P1028_mk(s);\n s.tmp_0.arg0 = 200;\n s.tmp_0.arg1 = inline__P22861;\n s.pc = 50; return s.tmp_0;\n case 50:\n r0 = s.retval;\n s.tmp_0 = game_onUpdateInterval__P1028_mk(s);\n s.tmp_0.arg0 = 100;\n s.tmp_0.arg1 = inline__P22878;\n s.pc = 51; return s.tmp_0;\n case 51:\n r0 = s.retval;\n s.tmp_0 = game_onUpdateInterval__P1028_mk(s);\n s.tmp_0.arg0 = 1000;\n s.tmp_0.arg1 = inline__P22894;\n s.pc = 52; return s.tmp_0;\n case 52:\n r0 = s.retval;\n s.tmp_0 = forever__P505_mk(s);\n s.tmp_0.arg0 = inline__P22898;\n s.pc = 53; return s.tmp_0;\n case 53:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\n_main___P22728.info = {\"start\":0,\"length\":0,\"line\":0,\"column\":0,\"endLine\":0,\"endColumn\":0,\"fileName\":\"main.ts\",\"functionName\":\"\",\"argumentNames\":[]}\n_main___P22728.continuations = [ ]\n\nfunction _main___P22728_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: _main___P22728, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n} }\n\nconst _hex3749 = pxsim.BufferMethods.createBufferFromHex(\"1f00210023002500270029002c002e003100340037003a003e004100450049004e00520057005c00620068006e0075007b0083008b0093009c00a500af00b900c400d000dc00e900f70006011501260137014a015d01720188019f01b801d201ee010b022a024b026e029302ba02e40210033f037003a403dc03170455049704dd0427057505c80520067d06e0064907b8072d08a9082d09b9094d0aea0a900b400cfa0cc00d910e6f0f5a1053115b1272139a14d41520178018f519801b231dde1e\")\nconst _hex10057 = pxsim.BufferMethods.createBufferFromHex(\"2000000000000000210000005e0000002200000e000e0000230028fe28fe280024004c92ff926400250002651248a64026006c92926ca000270000000e000000280000007c82000029000000827c00002a005438103854002b0010107c1010002c000000907000002d001010101010002e000000606000002f000060100806003000003c42423c00310000447e4000003200004462524c00330000424a4e320034003028247e20003500004e4a4a32003600003c4a4a30003700000262120e00380000344a4a34003900000c52523c003a0000006c6c00003b000000967600003c001028284444003d002828282828003e004444282810003f0000025909060040003c425a560800410078141214780042007e4a4a4a34004300003c424224004400007e42423c004500007e4a4a42004600007e0a0a02004700003c425234004800007e08087e00490000427e4200004a002040423e02004b00007e081462004c00007e404040004d007e0418047e004e00007e04087e004f003c4242423c005000007e12120c005100003c5262bc005200007e12126c00530000244a522400540002027e0202005500003e40403e005600001e70701e0057007e2018207e00580042241824420059000608700806005a000062524a46005b00007e424200005c000006081060005d000042427e00005e000804020408005f00808080808000600000000204000061000030484878006200007e4848300063000030484848006400003048487e006500003068585000660000107c12040067000018a4a478006800007e08087000690000487a4000006a000040847d00006b00007e102840006c0000427e4000006d007808300870006e000078080870006f00003048483000700000fc24241800710000182424fc0072000078100810007300005058682800740000083e48200075000038404078007600001860601800770038403040380078000048303048007900005ca0a07c007a000048685848007b000008364100007c000000fe0000007d000041360800007e00000804080400a000000000000000a10000007a000000a200003048fc4800a30090fc92928400a400542844285400a5002a2c782c2a00a6000000ee000000a7000094aaaa5200a800000200020000a9003e414955413eaa0000242a2e0000ab00102854284400ac00001010107000ad00001010101000ae003e415d45413eaf00000202020200b000000814140800b1008888be888800b2000024322c0000b30000222a140000b400000004020000b50000f840207800b6000c1e7e027e00b700000010000000b800000080400000b90000243e200000ba0000242a240000bb00442854281000bc00025f70f84000bd00021f90c8b000be0011557af84000bf000030484d2000c000601916186000c100601816196000c200601a151a6000c300601a151a6100c400601914196000c500601a151a6000c6007c0a7e4a4200c700001ea1611200c800007c55564400c900007c56554400ca00007c56554600cb00007c55544500cc0000457e440000cd0000447e450000ce0000467d460000cf0000457c450000d000087e4a423c00d100007e09127d00d200003845463800d300003846453800d400003846453a00d500003a45463900d600003845443900d700442810284400d80000fc724e3f00d900003c41423c00da00003c42413c00db00003c42413e00dc00003c41403d00dd00040872090400de00007e24241800df00007c025a2400e0000030494a7800e10000304a497800e20000304a497a00e3000032494a7900e40000304a487a00e50000304a4d7a00e600304878685000e7000018a4642400e8000030695a5000e90000306a595000ea0000306a595200eb0000306a585200ec0000497a400000ed0000487a410000ee00004a79420000ef00004a78420000f00000304a4b3d00f100007a090a7100f2000030494a3000f30000304a493000f40000304a493200f5000032494a3100f60000304a483200f700101054101000f800007068583800f900003841427800fa00003842417800fb00003842417a00fc00003842407a00fd0000b84241f800fe0000ff24241800ff00005ca1a07d000001601915196000010100304a4a7a000201611a16196000030100314a4a790004013c0a094abc00050100182464bc000601003846452800070100304a4948000801003846452a00090100304a494a000a010038444528000b010030484a48000c010038454629000d010030494a49000e01007c454639000f0100314a497e001001087e4a423c00110130484c7e04001201007d55554500130100326a5a52001401007d56564500150100316a5a51001601007c55544400170100306a5850001801003f65a521001901001874ac28001a01007c555645001b010030695a51001c010038465536001d0100304a49f2001e010039465635001f0100314a4af100200100384455340021010018a4a578002201001ea1691a0023010018a6a578002401007812117a0025017e080a7102002601047e147e04002701047e0c08700028010002457e450029010002497a41002a0100457d4500002b01004a7a4200002c0100014a7a49002d0100014a7a41002e0100217fa100002f0100247da00000300100447d440000310100487840000032017e0022423e0033013d0040847d0034012040463d0600350100800af90200360100bf440a3100370100bf4814200038010078102848003901007c404241003a0100467d4000003b01003fa06020003c0100a17f2000003d01007c414241003e0100457e4100003f01007e40484000400100427e4008004101107e48404000420100527e4800004301007c0a117c00440100780a097000450100bf42043f00460100bc440438004701007c09127d00480100790a09700049010a06780870004a01003f02847f004b01003c048478004c013945454539004d0100324a4a32004e013946464639004f0100314a4a310050013a4544463900510132494832010052013c427e4a420053013048306850005401007c163548005501007812091000560100bf49093600570100bc480408005801007d1635480059010079120910005a010048565524005b0100505a6928005c010048565526005d0100505a692a005e010012a56912005f010028ac741400600100485556250061010050596a290062010101bf410100630100049f641000640104057e050400650100083d4a2100660102127e120200670100183e5820006801003a414239006901003a414279006a01003d41413d006b01003a42427a006c010039424239006d010039424279006e01003a45453a006f01003a45457a0070013a41403a010071013a41407a01007201001f60a01f007301001c60a03c00740178221122780075013842314238007601081261120800770100b84241fa00780104097009040079010064564d44007a0100486a5948007b010064544d44007c010048685a48007d010064554e45007e010048695a49007f0100087c0204008f01003452523c00920100887e090200a0013c42423c0806a101003048483008af01003e403e0806b001003840781008b501006a5a4a4e00b601005878585800d101003845463900d2010030494a3100e601003845563500e7010030494af100fa0100742a750000fb0100304c4a7d00fc0178147e554400fd0130487a695000fe010078744e3d00ff0100706a59380018020012a569120019020028ac7414001a020101bf4101001b0200049f641000bb0200000c0a0000bc0200000a060000bd020000060a0000c602000201020000c702000102010000c902000202020000d802000102020100d902000002000000da02000205020000db02000040800000dc02000201020100dd02020100020100740300000201000075030000804000007a030000c08000007e03000096760000840300000300000085030200030002008603037c12127c008703000010000000880303007e4a4200890303007e087e008a030300427e42008c03033c42423c008e0303000e700e008f03035c62625c00900302003b400200910378141214780092037e4a4a4a34009303007e0202020094036058465860009503007e4a4a420096030062524a46009703007e08087e0098033c4a4a4a3c00990300427e4200009a03007e081462009b036018061860009c037e0418047e009d03007e04087e009e0300424a4a42009f033c4242423c00a003007e02027e00a103007e12120c00a30300665a424200a40302027e020200a503060870080600a60318247e241800a703422418244200a8030e107e100e00a9035c6202625c00aa0300457c450000ab03040970090400ac030030484a7900ad030030685a5100ae0378100a09f000af03003a41200000b0033a4043403a00b103003048487800b20300fe25251a00b3030c30c0300c00b403344a4a4a3000b503003068585000b603021aa6a24200b7033c080404f800b803003c4a4a3c00b903003840200000ba03007820504800bb03641212227c00bc03fc2020103c00bd03182040201800be03112d2ba94100bf03003048483000c003087808780800c103f82424241800c2031824a4a44800c303304848582800c403000838482800c503384040403800c6031c20f8241800c703c4281028c400c8031c20fc201c00c903304820483000ca03000238422000cb03384240423800cc0330484a493000cd03384042413800ce03304822493000d0033c52525c2000d10310344a3c0800d203067804020400d303120a7c020400d4030d7009040800d5031824ff241800d603384828483800d70348302221d800da031c2221a14200db031824a4a44200dc037e1212020200dd0300fc24240400de033e2010087c00df030c0ac9281800e003700c621c7000e10301092516f800e2039ea0bea07e00e30398a0b8a07800e4030c1214107e00e503001028207800e603be9088887000e70348544e443800e803245252524c00e903285454544800ea0364524c526400eb03086458640800ec03385454542200ed03306848682400ee03184a7e4a1800ef031848ff0a0800f003483020205800f10378a4a4a49800f203304848485000f303006080847d00f4033c4a4a4a3c00f5030030585848000004007c555644000104007c55544500020401013f8579000304007c0605040004043c4a4a422400050400244a522400060400427e420000070400457c45000008042040423e020009047c027e4830000a047e087e4830000b0402027e0a72000c04007c102a45000d047c2112087c000e040c5152523d000f043f20e0203f00100478141214780011047e4a4a4a300012047e4a4a4a34001304007e020202001404c07c427ec0001504007e4a4a4200160476087e087600170424424a4a34001804007e08047e001904007d120a7d001a04007e081462001b04403c02027e001c047e0418047e001d04007e08087e001e043c4242423c001f047e0202027e002004007e12120c002104003c42422400220402027e02020023040e5050503e00240418247e241800250442241824420026043f2020bf600027040e1010107e0028047e407e407e0029043f203fa07f002a04027e484830002b047e4848307e002c04007e484830002d0424424a4a3c002e047e183c423c002f04006c12127e0030043048487840003104003c4a4a3100320400786850200033040078080808003404c0704878c000350430686850000036044830783048003704004058683000380478402010780039047942221279003a040078203048003b044030080878003c047810201078003d047810101078003e043048484830003f047808080878004004fc24242418004104304848485000420408087808080043041ca0a0a07c0044041824ff241800450400483030480046043c2020bc60004704182020207800480478407840780049043c203ca07c004a040878505020004b047850502078004c040078505020004d044858683000004e047830304830004f0450282878000050040030696a500051040032686a50005204023f0a887000530400780a09080054040030685848005504005058682800560400487a4000005704004a784200005804004080847d0059047008785020005a047810785020005b04047e141060005c040078223148005d047841221078005e0418a1a2a279005f043c20e0203c006204027f4a4830006304087e5850200070040e107e100e00710418207820180072043c4a4a4a3c0073043068586830007404001e70180c0075040018603010009004007e020203009104007808080c009204087e0a0a0200930420782808080096043b043f043be0970424183c1824c09a04003f040a31c09b04003c101824c0ae04060870080600af040c10e0100c00b004161870181600b1042c30e0302c00b20421120c1221c0b3040024181824c0ba047e0808087000bb04007e08087000d804003452523c00d904002868583000e20400457d450000e304004a7a420000e8043c4a4a4a3c00e904003058583000ee04003d41413d00ef04003a42427a00d005681020285000d105484848784000d205004830600000d305080808780800d405680808087800d505000008780000d605080818680800d705087808087800d805784050487800d905000008180000da0504040404fc00db05484848483800dc050e4848281800dd05087848487800de05582010487000df05000004fc0000e005004040487800e105000878483800e205487840281800e305041c0404fc00e405485848483800e50504f820140800e605485060685000e705f40424241c00e805080808087000e905785058403800ea05487808087800f005087800087800f105081800087800f205081800081800f305000010080000f405100800100800021e7c5455542800031e007e484930000a1e007c454438000b1e003049487e001e1e007c151404001f1e001079140800401e7e0419047e00411e780832087000561e007c15140800571e00fc25241800601e004854552400611e0050586a28006a1e04047d0404006b1e00083d482000801e7c2112207c00811e384132403800821e7c2012217c00831e384032413800841e7c2110217c00851e384230423800f21e040972080400f31e00b84142f800a3207e0a7a120a00a420a8fcaa828400a720087e2a1c0800ab200098a4a6bf02ac20183c5a5a4200af20627f224438009021103854101000912108047e0408009221101054381000932110207e201000942110381010381095212844fe442800\")\nconst _hex2735 = pxsim.BufferMethods.createBufferFromHex(\"20000000000000000000000000000000000000000000000000002100000000000006fc0000000000000000000000000000000000220000001c00000000001c0000000000000000000000000000002300a000f807a000f807a00000000000000000000000000000002400000018022404460c8803000000000000000000000000000025003802c4017800200390040803000000000000000000000000260080037804a4041803800340040000000000000000000000002700000000001c00000000000000000000000000000000000000280000000000f8010606010800000000000000000000000000002900000001080606f801000000000000000000000000000000002a00040014000e001400040000000000000000000000000000002b0040004000f8034000400000000000000000000000000000002c000000000000090006000000000000000000000000000000002d000000800080008000000000000000000000000000000000002e000000000000060000000000000000000000000000000000002f00000c800360001c000300000000000000000000000000000030000000f80304040404f80300000000000000000000000000003100000004040404fc07000400040000000000000000000000003200000008060405c4043804000000000000000000000000000033000000080244044404b803000000000000000000000000000034000000800170010801fc070001000000000000000000000000350000023c0424042404c403000000000000000000000000000036000000f0034804440488030000000000000000000000000000370000000400c40734000c00000000000000000000000000000038000000b80344044404b803000000000000000000000000000039000000780284048802f00100000000000000000000000000003a000000000030060000000000000000000000000000000000003b000000000018090006000000000000000000000000000000003c004000a000a000a000100100000000000000000000000000003d002001200120012001200100000000000000000000000000003e0000001001a000a000a00040000000000000000000000000003f000000080084066400180000000000000000000000000000004000f0030c04c20822092409f80900000000000000000000000041000007f8008400f8000007000000000000000000000000000042000000fc0744044404b803000000000000000000000000000043000000f001080204040404080200000000000000000000000044000000fc0704040802f001000000000000000000000000000045000000fc07440444044404000000000000000000000000000046000000fc07440044004400000000000000000000000000000047000000f00108024404c803000000000000000000000000000048000000fc0740004000fc070000000000000000000000000000490000000404fc070404040400000000000000000000000000004a000000000200040004fc0300000000000000000000000000004b000000fc074000f0000c0304040000000000000000000000004c000000fc0700040004000400000000000000000000000000004d000000fc0738007000fc0700000000000000000000000000004e000000fc073800c003fc0700000000000000000000000000004f000000f80304040404f803000000000000000000000000000050000000fc07840084004400780000000000000000000000000051000000fc0102020206fc09000000000000000000000000000052000000fc074400c4013806000000000000000000000000000053000000180224044404880300000000000000000000000000005400000004000400fc070400040000000000000000000000000055000000fc0300040004fc03000000000000000000000000000056000c00f0030004f0030c00000000000000000000000000000057007c008007e001f0010007fc0000000000000000000000000058000404b8034000b80304040000000000000000000000000000590004003800c00730000c0000000000000000000000000000005a0004040407e4041c04040400000000000000000000000000005b0000000000ff0f0108010800000000000000000000000000005c0003001c0060008003000c00000000000000000000000000005d00000001080108ff0f000000000000000000000000000000005e004000380004003800400000000000000000000000000000005f00000800080008000800080000000000000000000000000000600000000000020004000000000000000000000000000000000061000000200390049004e007000000000000000000000000000062000000fc0710041004e003000000000000000000000000000063000000c001200210043004000200000000000000000000000064000000e00310041004fc07000000000000000000000000000065000000e00390049004e0040000000000000000000000000000660000001000f80714001400000000000000000000000000000067000000b806440944093c09040600000000000000000000000068000000fc0710001000e0070000000000000000000000000000690000000000f4070000000000000000000000000000000000006a00000800080008fd07000000000000000000000000000000006b000000fe078000e001100610040000000000000000000000006c0000000000fc030004000400000000000000000000000000006d00f00710001000e0071000e0070000000000000000000000006e000000f00710001000e00700000000000000000000000000006f000000e00310041004e003000000000000000000000000000070000000fc0f04010401f800000000000000000000000000000071000000f80004010401fc0f000000000000000000000000000072000000f00720001000100000000000000000000000000000007300000060029004900420030000000000000000000000000000740000001000fc0310041004000000000000000000000000000075000000f00300040004f007000000000000000000000000000076003000c0030004c003300000000000000000000000000000007700f0000007e003c0010007f000000000000000000000000000780010046003800060031004000000000000000000000000000079000c0870088007f0000c0000000000000000000000000000007a000000000410079004700410040000000000000000000000007b0000004000be070108010800000000000000000000000000007c0000000000ff0f0000000000000000000000000000000000007d00000001080108be07400000000000000000000000000000007e00800040004000800080004000000000000000000000000000\")\nconst _hex8942 = pxsim.BufferMethods.createBufferFromHex(\"20000000000000002100001700000000220000030003000023000a1f0a1f0a0024000a17151d0a00250013090412190026000a15150a100027000003000000002800000e11000000290000110e0000002a00000a040a00002b0000040e0400002c000010080000002d000004040400002e000008000000002f0010080402010030000e11110e0000310000121f100000320019151512000033000911150b000034000c0a091f080035001715151509003600081416150800370011090503010038000a1515150a00390002150d0502003a00000a000000003b0000100a0000003c0000040a1100003d00000a0a0a00003e0000110a0400003f0002011505020040000e1115090e0041001e05051e000042001f15150a000043000e111111000044001f11110e000045001f151511000046001f050501000047000e1111150c0048001f04041f00004900111f110000004a000911110f01004b001f040a1100004c001f10101000004d001f0204021f004e001f0204081f004f000e11110e000050001f0505020000510006091916000052001f05050a10005300121515090000540001011f01010055000f10100f0000560007081008070057001f0804081f0058001b04041b0000590001021c0201005a001915131100005b00001f111100005c000102040810005d000011111f00005e000002010200005f00101010101000600000010200000061000c12121e100062001f141408000063000c121212000064000814141f000065000e15151200006600041e0501000067000215150f000068001f04041800006900001d000000006a000010100d00006b001f040a1000006c00000f101000006d001e0204021e006e001e02021c00006f000c12120c000070001e0a0a0400007100040a0a1e000072001c0202020000730010140a0200007400000f1414100075000e10101e1000760006081008060077001e1008101e007800120c0c12000079001214080402007a00121a161200007b0000041f1100007c00001f000000007d00111f040000007e00000404080800d3000c1213130c00f3000c12130d000004010e05051e100005010609191f080006010c121313120007010c121313000018010f0b1b19000019010e151d1a000041011f14121000004201100f1412000043011f0205081f0044011e03031c00005a0110140b0302005b0110140b0300007901121a171300007a01121a171300007b01121b171200007c01121b17120000\")\nconst _hex463 = pxsim.BufferMethods.createBufferFromHex(\"000000ffffffff2121ff93c4ff8135fff609249ca378dc52003fad87f2ff8e2ec4a4839f5c406ce5cdc491463d000000\")\nconst _hex1207 = pxsim.BufferMethods.createBufferFromHex(\"8704240024000000001111111111111111111111111111111100000010313333333333333333333333333333130100001113111111111111111111111111111131110000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000111311111111111111111111111111113111000010313333333333333333333333333333130100000011111111111111111111111111111111000000\")\nconst _hex1210 = pxsim.BufferMethods.createBufferFromHex(\"8704240024000000002222222222222222222222222222222200000020323333333333333333333333333333230200002223222222222222222222222222222232220000322211111111111111111111111111112223000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003222111111111111111111111111111122230000222322222222222222222222222222223222000020323333333333333333333333333333230200000022222222222222222222222222222222000000\")\nconst _hex1213 = pxsim.BufferMethods.createBufferFromHex(\"8704240024000000004444444444444444444444444444444400000040343333333333333333333333333333430400004443444444444444444444444444444434440000344411111111111111111111111111114443000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003444111111111111111111111111111144430000444344444444444444444444444444443444000040343333333333333333333333333333430400000044444444444444444444444444444444000000\")\nconst _hex1216 = pxsim.BufferMethods.createBufferFromHex(\"870420002000000000000000000000000000000000000000000000000000c0fcff0f000000000000000000000000bcddddfb000000000000000000000000dcbbbbfd000000000000000000000000ccbbbbfc0000000000000000000000c0bcd1bdfb0f00000000000000000000c01b11ddbb0f00000000000000000000c0bcbbbbcb0f00000000000000000000bc11d1ddddcb000000000000000000c01d11ddddddd10c0000000000000000bcd1cbbcfbcf1dcb00000000000000001ccdccddbdffdfc100000000000000001cccccdbcbffcfc10000000000000000dbcbccccfcffbfcd0000000000000000bbbdccccffcfdbbb0000000000000000b0dbbdbbbbdbbd0b000000000000000000b0cbccccbc0b000000000000000000000000000000000000000000000000000000d007700d00000000000000000000000070666607000000000000000000000000006776000000000000000000000000660700007066000000000000000000006766777766760000000000000000000060666666660600000000000000000066006766667600660000000000000000667600000000676600000000000000006766767777676676000000000000000060666666666666060000000000000000006766666666760000000000000000000000676666760000000000000000000000000000000000000000000000000000000000000000000000000000\")\nconst _hex1219 = pxsim.BufferMethods.createBufferFromHex(\"8704200020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b0bb000000000000000000000000b000404500b0000000000000000000005b0b000400540b0000000000000000b0550400000054b5000000000000000000440040bb0040040000000000000000000040d4ddbb0000000000000000000000004055ddbd000000000000000000004b005455d5dd0b400b000000000000005b045411d5dd0b540b000000000000004b005411d5dd0b400b0000000000000000004055ddbd00000000000000000000000040d4ddbb0000000000000000000000440040bb0040040000000000000000b0550400000054b50000000000000000005b04000400540b000000000000000000b000404500b0000000000000000000000000b0bb0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\")\nconst _hex1222 = pxsim.BufferMethods.createBufferFromHex(\"87042000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020020000000000002002000000000000202200000000000022020000000000000022020000000020220000000000000000202200000000220200000000000000000022020000202200000000000000000000202200002202000000000000000000000022022022000000000000000000000000202222020000000000000000000000000022220000000000000000000000000000222200000000000000000000000000202222020000000000000000000000002202202200000000000000000000002022000022020000000000000000000022020000202200000000000000000020220000000022020000000000000000220200000000202200000000000000202200000000000022020000000000002002000000000000200200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\")\nconst _hex1225 = pxsim.BufferMethods.createBufferFromHex(\"8704200020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0fcff0f000000000000000000000000bcddddfb000000000000000000000000dcbbbbfd000000000000000000000000ccbbbbfc0000000000000000000000c0bcd1bdfb0f00000000000000000000c01b11ddbb0f00000000000000000000c0bcbbbbcb0f00000000000000000000bc11d1ddddcb000000000000000000c01d11ddddddd10c0000000000000000bcd1cbbcfbcf1dcb00000000000000001ccdccddbdffdfc100000000000000001cccccdbcbffcfc10000000000000000dbcbccccfcffbfcd0000000000000000bbbdccccffcfdbbb0000000000000000b0dbbdbbbbdbbd0b000000000000000000b0cbccccbc0b000000000000000000000000000000000000000000000000000000d007700d0000000000000000000000007066660700000000000000000000000000677600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\")\nconst _hex1228 = pxsim.BufferMethods.createBufferFromHex(\"870420002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b0cbcc0c0000000000000000000000b0db55d5cd0c00000000000000000000db555555ddcd000000000000000000b055555555d59d0b0000000000000000db55555555d59db900000000000000005b55555555d5ddb900000000000000b05db5cccc5bdddd990b000000000000b055ccccccccdddd9d0b000000000000b0b5ccccccccdbdd9d0b000000000000b0c5ccccccccdcdd9d0b000000000000b0c5ccdccbccdcdd9d0c000000000000b0cdcc5b55ccdcdd9d0c00000000000000ccdc55b5ccdcddc90000000000000000cccc5b55ccdbddc90000000000000000c0ccdccbccdd9d0c000000000000000000ccccccdbddcd00000000000000000000c0dcddddcd0c0000000000000000000000c0cccc0c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\")\nconst _hex1231 = pxsim.BufferMethods.createBufferFromHex(\"870420002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cc00000000000000b0bbbbbbbbcb00c0cd000000000000001bddddddddbd0c1ccd000000000000b011cbccccccbc0c1ccd000000000000b01d6c666666bc0cbccd000000000000b01d6c616661bc0c1ccd000000000000b01d6c161666bccc1bcd000000000000b01d6c666166bcccbbcd000000000000b01d6c666666bccc1bcd000000000000b01d6c666661bccc1bcd000000000000b01d6c666661bcccbbcd000000000000b01d6c666661bccc1bcd000000000000b01d6c666666bc0c1ccd000000000000b01dcbccccccbc0cbccd000000000000c0b1bbbbbbbbbb0cdccb000000000000c0bbbbbbbbbbcb00dc0c00000000000000cccccccccc0c00cc000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\")\nconst _hex1234 = pxsim.BufferMethods.createBufferFromHex(\"87042000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004004000000000000000000000000000054450000000000000000000000440b00bbbb00b0440000000000000040550b00000000b0550400000000000040b5000044bb00005b04000000000000b00b0044ddddbb00b00b0000000000000000405d55d5dd0b00000000000000000000d4555555ddbd0000000000000000000054555555d5bd0000000000000000b44055555555d5dd0b4b000000000040b54055555555d5dd0b5b040000000040b54055555555d5dd0b5b040000000000b44055115555d5dd0b4b000000000000000054115555d5bd00000000000000000000d4555555ddbd00000000000000000000405d55d5dd0b0000000000000000b00b0044ddddbb00b00b00000000000040b5000044bb00005b0400000000000040550b00000000b0550400000000000000440b00bbbb00b0440000000000000000000000544500000000000000000000000000004004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\")\nconst _hex1237 = pxsim.BufferMethods.createBufferFromHex(\"870420002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000bbbb00000000000000000000000000b055bb00bbbbbb000000000000000000b0b5bdbcbbbbddcb0000000000000000b0dbcb5b5555bbdd0c00000000000000b0cbdcbdbb5b55dbcd0000000000000000c0dddb11d15bb5bd0c00000000000000bbbd111111b155bb0c00000000000000db1b111111115bb5cb00000000000000db1bb11d1199b9d5cb00000000000000db1b11bb9199b955cb000000000000005b1b11b19b99995bcb000000000000005b1d1111bb99995ccb00000000000000b0b511bbbb99995ccb00000000000000b0d51d919999d95b0b00000000000000005bdb919999c9d50b0000000000000000b0d51b99d9bcb5000000000000000000005bd5bbbc550b00000000000000000000b05b5555bd000000000000000000000000b0bbbb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\")\nconst _hex22778 = pxsim.BufferMethods.createBufferFromHex(\"87040c0015000000000000000000000000000000000000000010010000000000000000111110010000000000100110111111010000000000101311111111111101000000003013f1111111111100000010011011f11111111101000010131111f111111101000000003013f11111010000000000000000111110010000000000000000000010010000000000000000000000000000000000\")\nconst _hex22789 = pxsim.BufferMethods.createBufferFromHex(\"87041000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\")\n\n\n\n\nfunction inline__P439(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n case 1:\n r0 = pxsim_numops_toBoolDecr(true);\n if (!r0) { step = 4; continue; }\n globals.__updated___434 = (false);\n s.tmp_0 = pause__P241_mk(s);\n s.tmp_0.arg0 = 200;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(globals.__updated___434);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n s.tmp_2 = control___screen_update__P435_mk(s);\n s.pc = 6; return s.tmp_2;\n case 6:\n r0 = s.retval;\n globals.__updated___434 = (true);\n case 2:\n case 3:\n { step = 1; continue; }\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P439.info = {\"start\":396,\"length\":211,\"line\":17,\"column\":26,\"endLine\":26,\"endColumn\":5,\"fileName\":\"pxt_modules/screen/frame.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P439_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P439, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n} }\n\n\n\n\n\nfunction inline__P470(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_pxtcore.updateScreen(globals.screen___464);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P470.info = {\"start\":753,\"length\":26,\"line\":22,\"column\":33,\"endLine\":22,\"endColumn\":59,\"fileName\":\"pxt_modules/screen/targetoverrides.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P470_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P470, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n} }\n\n\n\n\n\nfunction inline__P475(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_pxtcore.updateStats(s.arg0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P475.info = {\"start\":816,\"length\":56,\"line\":23,\"column\":35,\"endLine\":25,\"endColumn\":5,\"fileName\":\"pxt_modules/screen/targetoverrides.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"msg\"]}\n\nfunction inline__P475_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P475, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P750(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_numops_toBoolDecr(globals.infoState___745);\n if (!r0) { step = 3; continue; }\n r0 = pxsim_numops_toBoolDecr(globals.infoStateStack___747);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_Array__mk();\n globals.infoStateStack___747 = (r0);\n case 1:\n case 2:\n r0 = pxsim_pxtrt.mkMap();\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, \"state\", globals.infoState___745);\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, \"scene\", s.arg0);\n r0 = pxsim_Array__push(globals.infoStateStack___747, s.tmp_0);\n globals.infoState___745 = (undefined);\n case 3:\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P750.info = {\"start\":1913,\"length\":259,\"line\":73,\"column\":29,\"endLine\":82,\"endColumn\":5,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"oldScene\"]}\n\nfunction inline__P750_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P750, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P766(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.scene___767 = undefined;\n s.nextState___776 = undefined;\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 7; return s.tmp_0;\n case 7:\n r0 = s.retval;\n s.scene___767 = (r0);\n globals.infoState___745 = (undefined);\n s.tmp_0 = r0 = globals.infoStateStack___747;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = pxsim_Array__length(globals.infoStateStack___747);\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 5; continue; }\n r0 = pxsim_Array_.pop(globals.infoStateStack___747);\n s.nextState___776 = (r0);\n s.tmp_2 = if_scene_1_mk(s);\n s.tmp_2.arg0 = s.nextState___776;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, \"scene\");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface[\"scene\"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields[\"scene\"]; }\n else { s.pc = 8; return s.tmp_2; }\n }\n case 8:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 == s.scene___767);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.tmp_3 = if_state_1_mk(s);\n s.tmp_3.arg0 = s.nextState___776;\n if (!s.tmp_3.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, \"state\");\n } else {\n s.tmp_3.fn = s.tmp_3.arg0.vtable.iface[\"state\"];\n if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields[\"state\"]; }\n else { s.pc = 9; return s.tmp_3; }\n }\n case 9:\n r0 = s.retval;\n globals.infoState___745 = (r0);\n { step = 4; continue; }\n case 3:\n r0 = pxsim_Array__push(globals.infoStateStack___747, s.nextState___776);\n case 4:\n case 5:\n case 6:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P766.info = {\"start\":2204,\"length\":376,\"line\":84,\"column\":28,\"endLine\":95,\"endColumn\":5,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P766_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P766, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n scene___767: undefined,\n nextState___776: undefined,\n} }\n\n\n\n\n\nfunction inline__P1276(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.sz___1277 = undefined;\n s.tmp_0 = control_ramSize__P179_mk(s);\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n s.sz___1277 = (r0);\n s.tmp_1 = r0 = s.sz___1277;\n r0 = (1024 * 100);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 <= s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = 8;\n { step = 5; continue; }\n { step = 4; continue; }\n case 1:\n s.tmp_4 = r0 = s.sz___1277;\n r0 = (1024 * 200);\n s.tmp_5 = r0;\n r0 = (s.tmp_4 <= s.tmp_5);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 2; continue; }\n r0 = 16;\n { step = 5; continue; }\n { step = 3; continue; }\n case 2:\n r0 = 50;\n { step = 5; continue; }\n case 3:\n case 4:\n r0 = undefined;\n case 5:\n return leave(s, r0)\n default: oops()\n} } }\ninline__P1276.info = {\"start\":189,\"length\":217,\"line\":7,\"column\":25,\"endLine\":16,\"endColumn\":5,\"fileName\":\"pxt_modules/game/particles.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P1276_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P1276, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n sz___1277: undefined,\n} }\n\n\n\n\n\nfunction inline__P1453(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_pxtrt.mkMap();\n s.tmp_0 = r0;\n r0 = pxsim.Math_.random();\n s.tmp_3 = r0;\n r0 = (s.tmp_3 * 2);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - 1);\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, \"xOffset\", s.tmp_1);\n r0 = pxsim.Math_.random();\n s.tmp_6 = r0;\n r0 = (s.tmp_6 * 2);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 - 1);\n s.tmp_4 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, \"yOffset\", s.tmp_4);\n r0 = s.tmp_0;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P1453.info = {\"start\":860,\"length\":117,\"line\":31,\"column\":40,\"endLine\":34,\"endColumn\":5,\"fileName\":\"pxt_modules/game/texteffects.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P1453_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P1453, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n} }\n\n\n\n\n\nfunction inline__P1463(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_pxtrt.mkMap();\n s.tmp_2 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_2, \"xOffset\", 0);\n r0 = pxsim.Math_.sin(s.arg0);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 * 2);\n s.tmp_3 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_2, \"yOffset\", s.tmp_3);\n s.tmp_7 = Math_sign__P60_mk(s);\n r0 = pxsim.Math_.sin(s.arg0);\n s.tmp_7.arg0 = r0;\n s.pc = 7; return s.tmp_7;\n case 7:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = (s.tmp_6 < 0);\n s.tmp_5 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_2, \"up\", s.tmp_5);\n s.arg1 = (s.tmp_2);\n case 1:\n case 2:\n s.tmp_1 = if_up_1_mk(s);\n s.tmp_1.arg0 = s.arg1;\n if (!s.tmp_1.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, \"up\");\n } else {\n s.tmp_1.fn = s.tmp_1.arg0.vtable.iface[\"up\"];\n if (s.tmp_1.fn == null) { s.retval = s.tmp_1.arg0.fields[\"up\"]; }\n else { s.pc = 8; return s.tmp_1; }\n }\n case 8:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = 1;\n { step = 4; continue; }\n case 3:\n r0 = -1;\n case 4:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n s.tmp_3 = if_yOffset_2_mk(s);\n s.tmp_4 = r0 = s.arg1;\n s.tmp_3.arg0 = r0;\n s.tmp_6 = if_yOffset_1_mk(s);\n s.tmp_6.arg0 = s.tmp_4;\n if (!s.tmp_6.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_6.arg0, \"yOffset\");\n } else {\n s.tmp_6.fn = s.tmp_6.arg0.vtable.iface[\"yOffset\"];\n if (s.tmp_6.fn == null) { s.retval = s.tmp_6.arg0.fields[\"yOffset\"]; }\n else { s.pc = 10; return s.tmp_6; }\n }\n case 10:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = (s.tmp_2 * 0.5);\n s.tmp_7 = r0;\n r0 = (s.tmp_5 + s.tmp_7);\n s.tmp_3.arg1 = r0;\n if (!s.tmp_3.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapSetByString(s.tmp_3.arg0, \"yOffset\", s.tmp_3.arg1);\n } else {\n s.tmp_3.fn = s.tmp_3.arg0.vtable.iface[\"set/yOffset\"];\n if (s.tmp_3.fn === null) { s.tmp_3.arg0.fields[\"yOffset\"] = s.tmp_3.arg1; }\n else if (s.tmp_3.fn === undefined) { failedCast(s.tmp_3.arg0) }\n else { s.pc = 9; return s.tmp_3; }\n }\n case 9:\n r0 = s.retval;\n s.tmp_2 = Math_abs__P59_mk(s);\n s.tmp_3 = if_yOffset_1_mk(s);\n s.tmp_3.arg0 = s.arg1;\n if (!s.tmp_3.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, \"yOffset\");\n } else {\n s.tmp_3.fn = s.tmp_3.arg0.vtable.iface[\"yOffset\"];\n if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields[\"yOffset\"]; }\n else { s.pc = 12; return s.tmp_3; }\n }\n case 12:\n r0 = s.retval;\n s.tmp_2.arg0 = r0;\n s.pc = 11; return s.tmp_2;\n case 11:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > 2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n s.tmp_6 = if_up_1_mk(s);\n s.tmp_6.arg0 = s.arg1;\n if (!s.tmp_6.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_6.arg0, \"up\");\n } else {\n s.tmp_6.fn = s.tmp_6.arg0.vtable.iface[\"up\"];\n if (s.tmp_6.fn == null) { s.retval = s.tmp_6.arg0.fields[\"up\"]; }\n else { s.pc = 13; return s.tmp_6; }\n }\n case 13:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_5);\n s.tmp_4 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_4);\n { step = 6; continue; }\n case 5:\n s.tmp_7 = if_up_1_mk(s);\n s.tmp_7.arg0 = s.arg1;\n if (!s.tmp_7.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_7.arg0, \"up\");\n } else {\n s.tmp_7.fn = s.tmp_7.arg0.vtable.iface[\"up\"];\n if (s.tmp_7.fn == null) { s.retval = s.tmp_7.arg0.fields[\"up\"]; }\n else { s.pc = 14; return s.tmp_7; }\n }\n case 14:\n r0 = s.retval;\n case 6:\n // jmp value (already in r0)\n s.tmp_8 = r0;\n s.tmp_9 = if_up_2_mk(s);\n s.tmp_9.arg0 = s.arg1;\n s.tmp_9.arg1 = s.tmp_8;\n if (!s.tmp_9.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapSetByString(s.tmp_9.arg0, \"up\", s.tmp_9.arg1);\n } else {\n s.tmp_9.fn = s.tmp_9.arg0.vtable.iface[\"set/up\"];\n if (s.tmp_9.fn === null) { s.tmp_9.arg0.fields[\"up\"] = s.tmp_9.arg1; }\n else if (s.tmp_9.fn === undefined) { failedCast(s.tmp_9.arg0) }\n else { s.pc = 15; return s.tmp_9; }\n }\n case 15:\n r0 = s.retval;\n r0 = s.arg1;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P1463.info = {\"start\":1127,\"length\":417,\"line\":42,\"column\":39,\"endLine\":55,\"endColumn\":5,\"fileName\":\"pxt_modules/game/texteffects.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"index\",\"state\"]}\n\nfunction inline__P1463_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P1463, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction inline__P1575(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_numops_toBoolDecr(globals.animations___1572);\n if (!r0) { step = 3; continue; }\n r0 = pxsim_numops_toBoolDecr(globals.animationStateStack___1573);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_Array__mk();\n globals.animationStateStack___1573 = (r0);\n case 1:\n case 2:\n r0 = pxsim_pxtrt.mkMap();\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, \"state\", globals.animations___1572);\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, \"scene\", s.arg0);\n r0 = pxsim_Array__push(globals.animationStateStack___1573, s.tmp_0);\n globals.animations___1572 = (undefined);\n case 3:\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P1575.info = {\"start\":251,\"length\":277,\"line\":12,\"column\":29,\"endLine\":21,\"endColumn\":5,\"fileName\":\"pxt_modules/animation/legacy.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"oldScene\"]}\n\nfunction inline__P1575_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P1575, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P1589(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.scene___1590 = undefined;\n s.nextState___1597 = undefined;\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 7; return s.tmp_0;\n case 7:\n r0 = s.retval;\n s.scene___1590 = (r0);\n globals.animations___1572 = (undefined);\n s.tmp_0 = r0 = globals.animationStateStack___1573;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = pxsim_Array__length(globals.animationStateStack___1573);\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 5; continue; }\n r0 = pxsim_Array_.pop(globals.animationStateStack___1573);\n s.nextState___1597 = (r0);\n s.tmp_2 = if_scene_1_mk(s);\n s.tmp_2.arg0 = s.nextState___1597;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, \"scene\");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface[\"scene\"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields[\"scene\"]; }\n else { s.pc = 8; return s.tmp_2; }\n }\n case 8:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 == s.scene___1590);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.tmp_3 = if_state_1_mk(s);\n s.tmp_3.arg0 = s.nextState___1597;\n if (!s.tmp_3.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, \"state\");\n } else {\n s.tmp_3.fn = s.tmp_3.arg0.vtable.iface[\"state\"];\n if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields[\"state\"]; }\n else { s.pc = 9; return s.tmp_3; }\n }\n case 9:\n r0 = s.retval;\n globals.animations___1572 = (r0);\n { step = 4; continue; }\n case 3:\n r0 = pxsim_Array__push(globals.animationStateStack___1573, s.nextState___1597);\n case 4:\n case 5:\n case 6:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P1589.info = {\"start\":560,\"length\":398,\"line\":23,\"column\":28,\"endLine\":34,\"endColumn\":5,\"fileName\":\"pxt_modules/animation/legacy.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P1589_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P1589, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n scene___1590: undefined,\n nextState___1597: undefined,\n} }\n\n\n\n\n\nfunction inline__P22737(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_2 = Sprite_ay__P619_mk(s);\n s.tmp_2.arg0 = globals.bunny___22740;\n s.pc = 3; return s.tmp_2;\n case 3:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 == 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_3 = Sprite_vy__P616_mk(s);\n s.tmp_3.arg0 = globals.bunny___22740;\n s.tmp_3.arg1 = -160;\n s.pc = 4; return s.tmp_3;\n case 4:\n r0 = s.retval;\n s.tmp_0 = Sprite_ay__P620_mk(s);\n s.tmp_0.arg0 = globals.bunny___22740;\n s.tmp_0.arg1 = globals.gravity___22747;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P22737.info = {\"start\":151,\"length\":97,\"line\":4,\"column\":60,\"endLine\":9,\"endColumn\":1,\"fileName\":\"main.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P22737_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P22737, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n} }\n\n\n\n\n\nfunction inline__P22754(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = gameover__P22758_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P22754.info = {\"start\":32727,\"length\":50,\"line\":546,\"column\":58,\"endLine\":548,\"endColumn\":1,\"fileName\":\"main.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"sprite\",\"otherSprite\"]}\n\nfunction inline__P22754_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P22754, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction inline__P22798(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_2 = Sprite_bottom__P635_mk(s);\n s.tmp_2.arg0 = globals.bunny___22740;\n s.pc = 3; return s.tmp_2;\n case 3:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > 105);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_3 = Sprite_bottom__P636_mk(s);\n s.tmp_3.arg0 = globals.bunny___22740;\n s.tmp_3.arg1 = 105;\n s.pc = 4; return s.tmp_3;\n case 4:\n r0 = s.retval;\n s.tmp_0 = Sprite_vy__P616_mk(s);\n s.tmp_0.arg0 = globals.bunny___22740;\n s.tmp_0.arg1 = 0;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n s.tmp_0 = Sprite_ay__P620_mk(s);\n s.tmp_0.arg0 = globals.bunny___22740;\n s.tmp_0.arg1 = 0;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P22798.info = {\"start\":34622,\"length\":120,\"line\":614,\"column\":14,\"endLine\":620,\"endColumn\":1,\"fileName\":\"main.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P22798_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P22798, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n} }\n\n\n\n\n\nfunction inline__P22808(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_2 = Sprite_x__P609_mk(s);\n s.tmp_2.arg0 = globals.bird___22772;\n s.pc = 3; return s.tmp_2;\n case 3:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_3 = Sprite_setPosition__P639_mk(s);\n s.tmp_3.arg0 = globals.bird___22772;\n r0 = pxsim.Math_.randomRange(160, 240);\n s.tmp_3.arg1 = r0;\n r0 = pxsim.Math_.randomRange(20, 60);\n s.tmp_3.arg2 = r0;\n s.pc = 4; return s.tmp_3;\n case 4:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P22808.info = {\"start\":34758,\"length\":122,\"line\":621,\"column\":14,\"endLine\":625,\"endColumn\":1,\"fileName\":\"main.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P22808_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P22808, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n} }\n\n\n\n\n\nfunction inline__P22818(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = Sprite_x__P610_mk(s);\n s.tmp_1 = r0 = globals.bird___22772;\n s.tmp_0.arg0 = r0;\n s.tmp_3 = Sprite_x__P609_mk(s);\n s.tmp_3.arg0 = s.tmp_1;\n s.pc = 2; return s.tmp_3;\n case 2:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + -1);\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P22818.info = {\"start\":34909,\"length\":32,\"line\":626,\"column\":27,\"endLine\":628,\"endColumn\":1,\"fileName\":\"main.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P22818_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P22818, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n} }\n\n\n\n\n\nfunction inline__P22825(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.i___22834 = undefined;\n s.tmp_1 = game_runtime__P1033_mk(s);\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = (s.tmp_0 / 250);\n globals.difficultyFactor___22764 = (r0);\n r0 = (100 + globals.difficultyFactor___22764);\n globals.osbstacleSpeed___22763 = (r0);\n r0 = pxsim.Math_.randomRange(1, 3);\n globals.numObstacles___22762 = (r0);\n s.i___22834 = (0);\n case 1:\n r0 = (s.i___22834 < globals.numObstacles___22762);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n s.tmp_1 = r0 = globals.obstacles___22770;\n r0 = pxsim_Array__length(globals.obstacles___22770);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 - 1);\n s.tmp_3 = r0;\n r0 = pxsim.Math_.randomRange(0, s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_Array__getAt(s.tmp_1, s.tmp_2);\n globals.newObstacle___22761 = (r0);\n s.tmp_0 = sprites_createProjectileFromSide__P604_mk(s);\n s.tmp_0.arg0 = globals.newObstacle___22761;\n r0 = (0 - globals.osbstacleSpeed___22763);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = 0;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n globals.projectile___22760 = (r0);\n s.tmp_0 = Sprite_bottom__P636_mk(s);\n s.tmp_0.arg0 = globals.projectile___22760;\n s.tmp_0.arg1 = 105;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n s.tmp_0 = Sprite_setKind__P638_mk(s);\n s.tmp_0.arg0 = globals.projectile___22760;\n s.tmp_0.arg1 = globals.Obstacle___22731;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n s.tmp_0 = pause__P241_mk(s);\n r0 = (11500 / globals.osbstacleSpeed___22763);\n s.tmp_0.arg0 = r0;\n s.pc = 7; return s.tmp_0;\n case 7:\n r0 = s.retval;\n r0 = (s.i___22834 + 1);\n s.i___22834 = (r0);\n { step = 1; continue; }\n case 2:\n s.tmp_0 = pause__P241_mk(s);\n r0 = pxsim.Math_.randomRange(1500, 2500);\n s.tmp_0.arg0 = r0;\n s.pc = 8; return s.tmp_0;\n case 8:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P22825.info = {\"start\":34951,\"length\":519,\"line\":629,\"column\":8,\"endLine\":641,\"endColumn\":1,\"fileName\":\"main.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P22825_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P22825, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n i___22834: undefined,\n} }\n\n\n\n\n\nfunction inline__P22861(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_1 = Math_percentChance__P1154_mk(s);\n s.tmp_1.arg0 = 40;\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_2 = sprites_createProjectileFromSide__P604_mk(s);\n s.tmp_3 = r0 = globals.grassImages___22768;\n r0 = pxsim_Array__length(globals.grassImages___22768);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 - 1);\n s.tmp_5 = r0;\n r0 = pxsim.Math_.randomRange(0, s.tmp_5);\n s.tmp_4 = r0;\n r0 = pxsim_Array__getAt(s.tmp_3, s.tmp_4);\n s.tmp_2.arg0 = r0;\n s.tmp_10 = game_runtime__P1033_mk(s);\n s.pc = 5; return s.tmp_10;\n case 5:\n r0 = s.retval;\n s.tmp_9 = r0;\n r0 = (s.tmp_9 / 250);\n s.tmp_8 = r0;\n r0 = (-100 - s.tmp_8);\n s.tmp_7 = r0;\n r0 = (s.tmp_7 / 2);\n s.tmp_2.arg1 = r0;\n s.tmp_2.arg2 = 0;\n s.pc = 4; return s.tmp_2;\n case 4:\n r0 = s.retval;\n globals.grass___22759 = (r0);\n s.tmp_0 = Sprite_bottom__P636_mk(s);\n s.tmp_0.arg0 = globals.grass___22759;\n s.tmp_0.arg1 = 100;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n s.tmp_0 = if_z_2_mk(s);\n s.tmp_0.arg0 = globals.grass___22759;\n s.tmp_0.arg1 = -1;\n if (!s.tmp_0.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapSetByString(s.tmp_0.arg0, \"z\", s.tmp_0.arg1);\n } else {\n s.tmp_0.fn = s.tmp_0.arg0.vtable.iface[\"set/z\"];\n if (s.tmp_0.fn === null) { s.tmp_0.arg0.fields[\"z\"] = s.tmp_0.arg1; }\n else if (s.tmp_0.fn === undefined) { failedCast(s.tmp_0.arg0) }\n else { s.pc = 7; return s.tmp_0; }\n }\n case 7:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P22861.info = {\"start\":35499,\"length\":248,\"line\":642,\"column\":27,\"endLine\":648,\"endColumn\":1,\"fileName\":\"main.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P22861_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P22861, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n} }\n\n\n\n\n\nfunction inline__P22878(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals.over___22733);\n if (!r0) { step = 1; continue; }\n { step = 11; continue; }\n case 1:\n case 2:\n s.tmp_0 = info_changeScoreBy__P802_mk(s);\n s.tmp_0.arg0 = 1;\n s.pc = 12; return s.tmp_0;\n case 12:\n r0 = s.retval;\n s.tmp_2 = info_score__P798_mk(s);\n s.pc = 13; return s.tmp_2;\n case 13:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 3; continue; }\n r0 = s.tmp_0;\n { step = 4; continue; }\n case 3:\n s.tmp_5 = info_score__P798_mk(s);\n s.pc = 14; return s.tmp_5;\n case 14:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = (s.tmp_4 % 100);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 == 0);\n case 4:\n // jmp value (already in r0)\n s.tmp_6 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_6);\n if (!r0) { step = 5; continue; }\n s.tmp_7 = effects_ScreenEffect_startScreenEffect__P1416_mk(s);\n s.tmp_7.arg0 = globals.confetti___1424;\n s.tmp_7.arg1 = undefined;\n s.tmp_7.arg2 = undefined;\n s.pc = 15; return s.tmp_7;\n case 15:\n r0 = s.retval;\n { step = 10; continue; }\n case 5:\n s.tmp_2 = info_score__P798_mk(s);\n s.pc = 16; return s.tmp_2;\n case 16:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 6; continue; }\n r0 = s.tmp_0;\n { step = 7; continue; }\n case 6:\n s.tmp_6 = info_score__P798_mk(s);\n s.pc = 17; return s.tmp_6;\n case 17:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = (s.tmp_5 - 10);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 % 100);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 == 0);\n case 7:\n // jmp value (already in r0)\n s.tmp_7 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_7);\n if (!r0) { step = 8; continue; }\n s.tmp_8 = effects_ScreenEffect_endScreenEffect__P1417_mk(s);\n s.tmp_8.arg0 = globals.confetti___1424;\n s.pc = 18; return s.tmp_8;\n case 18:\n r0 = s.retval;\n case 8:\n case 9:\n case 10:\n case 11:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P22878.info = {\"start\":35776,\"length\":280,\"line\":649,\"column\":27,\"endLine\":657,\"endColumn\":1,\"fileName\":\"main.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P22878_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P22878, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n} }\n\n\n\n\n\nfunction inline__P22894(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_1 = Math_percentChance__P1154_mk(s);\n s.tmp_1.arg0 = 20;\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_2 = createCloud__P22750_mk(s);\n s.pc = 4; return s.tmp_2;\n case 4:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P22894.info = {\"start\":36086,\"length\":77,\"line\":658,\"column\":28,\"endLine\":662,\"endColumn\":1,\"fileName\":\"main.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P22894_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P22894, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n} }\n\n\n\n\n\nfunction inline__P22898(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_1 = Math_percentChance__P1154_mk(s);\n s.tmp_1.arg0 = 60;\n s.pc = 5; return s.tmp_1;\n case 5:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.tmp_2 = createTree__P22749_mk(s);\n s.pc = 6; return s.tmp_2;\n case 6:\n r0 = s.retval;\n s.tmp_1 = Math_percentChance__P1154_mk(s);\n s.tmp_1.arg0 = 50;\n s.pc = 7; return s.tmp_1;\n case 7:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_2 = pause__P241_mk(s);\n r0 = pxsim.Math_.randomRange(150, 300);\n s.tmp_2.arg0 = r0;\n s.pc = 8; return s.tmp_2;\n case 8:\n r0 = s.retval;\n s.tmp_0 = createTree__P22749_mk(s);\n s.pc = 9; return s.tmp_0;\n case 9:\n r0 = s.retval;\n case 1:\n case 2:\n case 3:\n case 4:\n s.tmp_0 = pause__P241_mk(s);\n s.tmp_0.arg0 = 1500;\n s.pc = 10; return s.tmp_0;\n case 10:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P22898.info = {\"start\":37807,\"length\":211,\"line\":721,\"column\":8,\"endLine\":730,\"endColumn\":1,\"fileName\":\"main.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P22898_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P22898, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n} }\n\n\n\n\n\nfunction createTree__P22749(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = sprites_createProjectileFromSide__P604_mk(s);\n s.tmp_1 = r0 = globals.trees___22769;\n r0 = pxsim_Array__length(globals.trees___22769);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 - 1);\n s.tmp_3 = r0;\n r0 = pxsim.Math_.randomRange(0, s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_Array__getAt(s.tmp_1, s.tmp_2);\n s.tmp_0.arg0 = r0;\n s.tmp_8 = game_runtime__P1033_mk(s);\n s.pc = 2; return s.tmp_8;\n case 2:\n r0 = s.retval;\n s.tmp_7 = r0;\n r0 = (s.tmp_7 / 250);\n s.tmp_6 = r0;\n r0 = (-100 - s.tmp_6);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 / 2);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = 0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n globals.tree___22766 = (r0);\n s.tmp_0 = Sprite_bottom__P636_mk(s);\n s.tmp_0.arg0 = globals.tree___22766;\n s.tmp_0.arg1 = 100;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.tmp_0 = if_z_2_mk(s);\n s.tmp_0.arg0 = globals.tree___22766;\n s.tmp_0.arg1 = -1;\n if (!s.tmp_0.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapSetByString(s.tmp_0.arg0, \"z\", s.tmp_0.arg1);\n } else {\n s.tmp_0.fn = s.tmp_0.arg0.vtable.iface[\"set/z\"];\n if (s.tmp_0.fn === null) { s.tmp_0.arg0.fields[\"z\"] = s.tmp_0.arg1; }\n else if (s.tmp_0.fn === undefined) { failedCast(s.tmp_0.arg0) }\n else { s.pc = 4; return s.tmp_0; }\n }\n case 4:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncreateTree__P22749.info = {\"start\":32286,\"length\":192,\"line\":536,\"column\":0,\"endLine\":540,\"endColumn\":1,\"fileName\":\"main.ts\",\"functionName\":\"createTree\",\"argumentNames\":[]}\n\nfunction createTree__P22749_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: createTree__P22749, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n} }\n\n\n\n\n\nfunction createCloud__P22750(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = sprites_createProjectileFromSide__P604_mk(s);\n s.tmp_1 = r0 = globals.clouds___22767;\n r0 = pxsim_Array__length(globals.clouds___22767);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 - 1);\n s.tmp_3 = r0;\n r0 = pxsim.Math_.randomRange(0, s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_Array__getAt(s.tmp_1, s.tmp_2);\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = -30;\n s.tmp_0.arg2 = 0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n globals.cloud___22765 = (r0);\n s.tmp_0 = Sprite_bottom__P636_mk(s);\n s.tmp_0.arg0 = globals.cloud___22765;\n r0 = pxsim.Math_.randomRange(30, 55);\n s.tmp_0.arg1 = r0;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n s.tmp_0 = if_z_2_mk(s);\n s.tmp_0.arg0 = globals.cloud___22765;\n s.tmp_0.arg1 = -2;\n if (!s.tmp_0.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapSetByString(s.tmp_0.arg0, \"z\", s.tmp_0.arg1);\n } else {\n s.tmp_0.fn = s.tmp_0.arg0.vtable.iface[\"set/z\"];\n if (s.tmp_0.fn === null) { s.tmp_0.arg0.fields[\"z\"] = s.tmp_0.arg1; }\n else if (s.tmp_0.fn === undefined) { failedCast(s.tmp_0.arg0) }\n else { s.pc = 3; return s.tmp_0; }\n }\n case 3:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncreateCloud__P22750.info = {\"start\":32479,\"length\":189,\"line\":541,\"column\":0,\"endLine\":545,\"endColumn\":1,\"fileName\":\"main.ts\",\"functionName\":\"createCloud\",\"argumentNames\":[]}\n\nfunction createCloud__P22750_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: createCloud__P22750, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n} }\n\n\n\n\n\nfunction effects_ScreenEffect_endScreenEffect__P1417(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, effects_ScreenEffect__C1414_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"source\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_1 = particles_ParticleSource_destroy__P1294_mk(s);\n r0 = s.arg0.fields[\"source\"];\n s.tmp_1.arg0 = r0;\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n r0 = (s.arg0).fields[\"source\"] = (undefined);\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\neffects_ScreenEffect_endScreenEffect__P1417.info = {\"start\":4539,\"length\":160,\"line\":121,\"column\":8,\"endLine\":126,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particleeffects.ts\",\"functionName\":\"endScreenEffect\",\"argumentNames\":[\"this\"]}\n\nfunction effects_ScreenEffect_endScreenEffect__P1417_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: effects_ScreenEffect_endScreenEffect__P1417, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleSource_destroy__P1294(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleSource__C1285_VT)) failedCast(r0);\n s.tmp_0 = particles_ParticleSource_enabled__P1293_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = false;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.tmp_0 = r0 = s.arg0;\n r0 = s.tmp_0.fields[\"pFlags\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"pFlags\"] = (s.tmp_1);\n s.tmp_0 = particles_ParticleSource__prune__P1289_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleSource_destroy__P1294.info = {\"start\":6601,\"length\":240,\"line\":221,\"column\":8,\"endLine\":226,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particles.ts\",\"functionName\":\"destroy\",\"argumentNames\":[\"this\"]}\n\nfunction particles_ParticleSource_destroy__P1294_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleSource_destroy__P1294, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleSource_enabled__P1293(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleSource__C1285_VT)) failedCast(r0);\n s.tmp_1 = r0 = s.arg1;\n s.tmp_3 = particles_ParticleSource_enabled__P1292_mk(s);\n s.tmp_3.arg0 = s.arg0;\n s.pc = 5; return s.tmp_3;\n case 5:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (s.tmp_1 !== s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n if (!r0) { step = 1; continue; }\n r0 = s.arg0.fields[\"pFlags\"];\n s.tmp_4 = r0;\n r0 = (s.tmp_4 | 1);\n { step = 2; continue; }\n case 1:\n r0 = s.arg0.fields[\"pFlags\"];\n s.tmp_5 = r0;\n r0 = (s.tmp_5 ^ 1);\n case 2:\n // jmp value (already in r0)\n s.tmp_6 = r0;\n r0 = (s.arg0).fields[\"pFlags\"] = (s.tmp_6);\n r0 = (s.arg0).fields[\"timer\"] = (0);\n case 3:\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleSource_enabled__P1293.info = {\"start\":6323,\"length\":214,\"line\":211,\"column\":8,\"endLine\":216,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particles.ts\",\"functionName\":\"enabled\",\"argumentNames\":[\"this\",\"v\"]}\n\nfunction particles_ParticleSource_enabled__P1293_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleSource_enabled__P1293, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleSource_enabled__P1292(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleSource__C1285_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"pFlags\"];\n s.tmp_4 = r0;\n r0 = (s.tmp_4 & 1);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleSource_enabled__P1292.info = {\"start\":6129,\"length\":76,\"line\":204,\"column\":8,\"endLine\":206,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particles.ts\",\"functionName\":\"enabled\",\"argumentNames\":[\"this\"]}\n\nfunction particles_ParticleSource_enabled__P1292_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleSource_enabled__P1292, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleSource__prune__P1289(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.scene___4922 = undefined;\n s.sources___4929 = undefined;\n s.current___4941 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleSource__C1285_VT)) failedCast(r0);\n case 1:\n r0 = s.arg0.fields[\"head\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 2; continue; }\n r0 = s.tmp_0;\n { step = 3; continue; }\n case 2:\n r0 = s.arg0.fields[\"head\"];\n r0 = r0.fields[\"lifespan\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 <= 0);\n case 3:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 4; continue; }\n r0 = s.arg0.fields[\"head\"];\n r0 = r0.fields[\"next\"];\n s.tmp_3 = r0;\n r0 = (s.arg0).fields[\"head\"] = (s.tmp_3);\n { step = 1; continue; }\n case 4:\n r0 = s.arg0.fields[\"pFlags\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 & 2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 5; continue; }\n r0 = s.tmp_0;\n { step = 6; continue; }\n case 5:\n r0 = s.arg0.fields[\"head\"];\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n case 6:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n if (!r0) { step = 13; continue; }\n s.tmp_5 = game_currentScene__P769_mk(s);\n s.pc = 21; return s.tmp_5;\n case 21:\n r0 = s.retval;\n s.scene___4922 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.scene___4922);\n if (!r0) { step = 7; continue; }\n r0 = s.scene___4922.fields[\"allSprites\"];\n s.tmp_0 = r0;\n r0 = pxsim_Array_.removeElement(s.tmp_0, s.arg0);\n case 7:\n case 8:\n s.tmp_0 = particles_particleSources__P1320_mk(s);\n s.pc = 22; return s.tmp_0;\n case 22:\n r0 = s.retval;\n s.sources___4929 = (r0);\n s.tmp_0 = r0 = s.sources___4929;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 9; continue; }\n r0 = s.tmp_0;\n { step = 10; continue; }\n case 9:\n r0 = pxsim_Array__length(s.sources___4929);\n case 10:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 11; continue; }\n r0 = pxsim_Array_.removeElement(s.sources___4929, s.arg0);\n case 11:\n case 12:\n r0 = s.arg0.fields[\"anchor\"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 == undefined);\n case 13:\n case 14:\n r0 = s.arg0.fields[\"head\"];\n s.current___4941 = (r0);\n case 15:\n s.tmp_0 = r0 = s.current___4941;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 16; continue; }\n r0 = s.tmp_0;\n { step = 17; continue; }\n case 16:\n r0 = s.current___4941.fields[\"next\"];\n case 17:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 20; continue; }\n r0 = s.current___4941.fields[\"next\"];\n r0 = r0.fields[\"lifespan\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 <= 0);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 18; continue; }\n r0 = s.current___4941.fields[\"next\"];\n r0 = r0.fields[\"next\"];\n s.tmp_4 = r0;\n r0 = (s.current___4941).fields[\"next\"] = (s.tmp_4);\n { step = 19; continue; }\n case 18:\n r0 = s.current___4941.fields[\"next\"];\n s.current___4941 = (r0);\n case 19:\n { step = 15; continue; }\n case 20:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleSource__prune__P1289.info = {\"start\":4921,\"length\":830,\"line\":163,\"column\":8,\"endLine\":186,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particles.ts\",\"functionName\":\"_prune\",\"argumentNames\":[\"this\"]}\n\nfunction particles_ParticleSource__prune__P1289_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleSource__prune__P1289, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n scene___4922: undefined,\n sources___4929: undefined,\n current___4941: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction particles_particleSources__P1320(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.sources___5026 = undefined;\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = r0.fields[\"particleSources\"];\n s.sources___5026 = (r0);\n r0 = s.sources___5026;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_particleSources__P1320.info = {\"start\":12361,\"length\":119,\"line\":409,\"column\":4,\"endLine\":412,\"endColumn\":5,\"fileName\":\"pxt_modules/game/particles.ts\",\"functionName\":\"particleSources\",\"argumentNames\":[]}\n\nfunction particles_particleSources__P1320_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_particleSources__P1320, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n sources___5026: undefined,\n} }\n\n\n\n\n\nfunction inline__P7538(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.factory___7541 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_pxtcore_mkClassInstance(particles_ConfettiFactory__C1364_VT);\n s.tmp_0 = r0;\n s.tmp_2 = if_width_1_mk(s);\n s.tmp_2.arg0 = s.arg0;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, \"width\");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface[\"width\"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields[\"width\"]; }\n else { s.pc = 3; return s.tmp_2; }\n }\n case 3:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 1; continue; }\n s.tmp_3 = if_width_1_mk(s);\n s.tmp_3.arg0 = s.arg0;\n if (!s.tmp_3.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, \"width\");\n } else {\n s.tmp_3.fn = s.tmp_3.arg0.vtable.iface[\"width\"];\n if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields[\"width\"]; }\n else { s.pc = 4; return s.tmp_3; }\n }\n case 4:\n r0 = s.retval;\n { step = 2; continue; }\n case 1:\n r0 = 16;\n case 2:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n s.tmp_5 = particles_ConfettiFactory_constructor__P1366_mk(s);\n s.tmp_5.arg0 = s.tmp_0;\n s.tmp_5.arg1 = s.tmp_4;\n s.tmp_5.arg2 = 16;\n s.pc = 5; return s.tmp_5;\n case 5:\n r0 = s.retval;\n s.factory___7541 = (s.tmp_0);\n s.tmp_0 = particles_SprayFactory_setSpeed__P1345_mk(s);\n s.tmp_0.arg0 = s.factory___7541;\n s.tmp_0.arg1 = 30;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkClassInstance(particles_ParticleSource__C1285_VT);\n s.tmp_0 = r0;\n s.tmp_1 = particles_ParticleSource_constructor__P1302_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = s.arg0;\n s.tmp_1.arg2 = s.arg1;\n s.tmp_1.arg3 = s.factory___7541;\n s.pc = 7; return s.tmp_1;\n case 7:\n r0 = s.retval;\n r0 = s.tmp_0;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P7538.info = {\"start\":7444,\"length\":284,\"line\":190,\"column\":59,\"endLine\":194,\"endColumn\":5,\"fileName\":\"pxt_modules/game/particleeffects.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"anchor\",\"particlesPerSecond\"]}\n\nfunction inline__P7538_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P7538, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n factory___7541: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleSource_constructor__P1302(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.sources___7563 = undefined;\n s.removedSource___7570 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleSource__C1285_VT)) failedCast(r0);\n s.tmp_0 = sprites_BaseSprite_constructor__P516_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = 0;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n s.tmp_0 = particles_init__P1305_mk(s);\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n s.tmp_0 = particles_particleSources__P1320_mk(s);\n s.pc = 7; return s.tmp_0;\n case 7:\n r0 = s.retval;\n s.sources___7563 = (r0);\n r0 = pxsim_Array__length(s.sources___7563);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 >= globals.MAX_SOURCES___1274);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_2 = particles_sortSources__P1308_mk(s);\n s.tmp_2.arg0 = s.sources___7563;\n s.pc = 8; return s.tmp_2;\n case 8:\n r0 = s.retval;\n r0 = pxsim_Array_.removeAt(s.sources___7563, 0);\n s.removedSource___7570 = (r0);\n s.tmp_0 = particles_ParticleSource_clear__P1295_mk(s);\n s.tmp_0.arg0 = s.removedSource___7570;\n s.pc = 9; return s.tmp_0;\n case 9:\n r0 = s.retval;\n s.tmp_0 = particles_ParticleSource_destroy__P1294_mk(s);\n s.tmp_0.arg0 = s.removedSource___7570;\n s.pc = 10; return s.tmp_0;\n case 10:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = (s.arg0).fields[\"pFlags\"] = (0);\n s.tmp_0 = particles_ParticleSource_setRate__P1297_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg2;\n s.pc = 11; return s.tmp_0;\n case 11:\n r0 = s.retval;\n s.tmp_0 = particles_ParticleSource_setAcceleration__P1290_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = 0;\n s.tmp_0.arg2 = 0;\n s.pc = 12; return s.tmp_0;\n case 12:\n r0 = s.retval;\n s.tmp_0 = particles_ParticleSource_setAnchor__P1296_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.pc = 13; return s.tmp_0;\n case 13:\n r0 = s.retval;\n r0 = (s.arg0).fields[\"lifespan\"] = (undefined);\n r0 = (s.arg0).fields[\"_dt\"] = (0);\n r0 = (s.arg0).fields[\"priority\"] = (0);\n s.tmp_0 = r0 = s.arg3;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = s.tmp_0;\n { step = 4; continue; }\n case 3:\n r0 = globals.defaultFactory___1303;\n case 4:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n s.tmp_2 = particles_ParticleSource_setFactory__P1299_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.tmp_2.arg1 = s.tmp_1;\n s.pc = 14; return s.tmp_2;\n case 14:\n r0 = s.retval;\n r0 = pxsim_Array__push(s.sources___7563, s.arg0);\n s.tmp_0 = particles_ParticleSource_enabled__P1293_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = true;\n s.pc = 15; return s.tmp_0;\n case 15:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleSource_constructor__P1302.info = {\"start\":2230,\"length\":899,\"line\":84,\"column\":8,\"endLine\":107,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particles.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"anchor\",\"particlesPerSecond\",\"factory\"]}\n\nfunction particles_ParticleSource_constructor__P1302_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleSource_constructor__P1302, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n sources___7563: undefined,\n removedSource___7570: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction particles_sortSources__P1308(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = helpers_arraySort__P43_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = inline__P7731;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_sortSources__P1308.info = {\"start\":9539,\"length\":129,\"line\":320,\"column\":4,\"endLine\":322,\"endColumn\":5,\"fileName\":\"pxt_modules/game/particles.ts\",\"functionName\":\"sortSources\",\"argumentNames\":[\"sources\"]}\n\nfunction particles_sortSources__P1308_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_sortSources__P1308, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P7731(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0.fields[\"priority\"];\n s.tmp_1 = r0;\n r0 = s.arg1.fields[\"priority\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_1 - s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = s.arg0.fields[\"id\"];\n s.tmp_3 = r0;\n r0 = s.arg1.fields[\"id\"];\n s.tmp_4 = r0;\n r0 = (s.tmp_3 - s.tmp_4);\n case 2:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n r0 = s.tmp_5;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P7731.info = {\"start\":9610,\"length\":50,\"line\":321,\"column\":21,\"endLine\":321,\"endColumn\":71,\"fileName\":\"pxt_modules/game/particles.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"a\",\"b\"]}\n\nfunction inline__P7731_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P7731, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction helpers_arraySort__P43(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = pxsim_Array__length(s.arg0);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 > 1);\n case 2:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 3; continue; }\n s.arg1 = (inline__P5795);\n case 3:\n case 4:\n s.tmp_0 = helpers_sortHelper__P42_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_arraySort__P43.info = {\"start\":3380,\"length\":859,\"line\":123,\"column\":4,\"endLine\":143,\"endColumn\":5,\"fileName\":\"pxt_modules/base/pxt-helpers.ts\",\"functionName\":\"arraySort\",\"argumentNames\":[\"arr\",\"callbackfn\"]}\n\nfunction helpers_arraySort__P43_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_arraySort__P43, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction inline__P5795(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.aIsUndef___5798 = undefined;\n s.bIsUndef___5801 = undefined;\n s.aIsNull___5809 = undefined;\n s.bIsNull___5812 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 === undefined);\n s.aIsUndef___5798 = (r0);\n r0 = (s.arg1 === undefined);\n s.bIsUndef___5801 = (r0);\n s.tmp_0 = r0 = s.aIsUndef___5798;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = s.bIsUndef___5801;\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 3; continue; }\n r0 = 0;\n { step = 17; continue; }\n { step = 8; continue; }\n case 3:\n r0 = pxsim_numops_toBoolDecr(s.aIsUndef___5798);\n if (!r0) { step = 4; continue; }\n r0 = 1;\n { step = 17; continue; }\n { step = 7; continue; }\n case 4:\n r0 = pxsim_numops_toBoolDecr(s.bIsUndef___5801);\n if (!r0) { step = 5; continue; }\n r0 = -1;\n { step = 17; continue; }\n case 5:\n case 6:\n case 7:\n case 8:\n r0 = (s.arg0 === null);\n s.aIsNull___5809 = (r0);\n r0 = (s.arg1 === null);\n s.bIsNull___5812 = (r0);\n s.tmp_0 = r0 = s.aIsNull___5809;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 9; continue; }\n r0 = s.tmp_0;\n { step = 10; continue; }\n case 9:\n r0 = s.bIsNull___5812;\n case 10:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 11; continue; }\n r0 = 0;\n { step = 17; continue; }\n { step = 16; continue; }\n case 11:\n r0 = pxsim_numops_toBoolDecr(s.aIsNull___5809);\n if (!r0) { step = 12; continue; }\n r0 = 1;\n { step = 17; continue; }\n { step = 15; continue; }\n case 12:\n r0 = pxsim_numops_toBoolDecr(s.bIsNull___5812);\n if (!r0) { step = 13; continue; }\n r0 = -1;\n { step = 17; continue; }\n case 13:\n case 14:\n case 15:\n case 16:\n if ((s.arg0) && (s.arg0).vtable) {\n setupResume(s, 18);\n pxsim_String__stringConv(s.arg0);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.arg0) + \"\"; }\n case 18:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = pxsim_String_.mkEmpty();\n s.tmp_4 = r0;\n r0 = pxsim_String__concat(s.tmp_3, s.tmp_4);\n s.tmp_2 = r0;\n if ((s.arg1) && (s.arg1).vtable) {\n setupResume(s, 19);\n pxsim_String__stringConv(s.arg1);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.arg1) + \"\"; }\n case 19:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = pxsim_String_.mkEmpty();\n s.tmp_7 = r0;\n r0 = pxsim_String__concat(s.tmp_6, s.tmp_7);\n s.tmp_5 = r0;\n r0 = pxsim_String_.compare(s.tmp_2, s.tmp_5);\n case 17:\n return leave(s, r0)\n default: oops()\n} } }\ninline__P5795.info = {\"start\":3543,\"length\":636,\"line\":125,\"column\":25,\"endLine\":140,\"endColumn\":13,\"fileName\":\"pxt_modules/base/pxt-helpers.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"a\",\"b\"]}\n\nfunction inline__P5795_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P5795, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n aIsUndef___5798: undefined,\n bIsUndef___5801: undefined,\n aIsNull___5809: undefined,\n bIsNull___5812: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction helpers_sortHelper__P42(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.len___5843 = undefined;\n s.i___5846 = undefined;\n s.j___5850 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_Array__length(s.arg0);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 <= 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n case 2:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 3; continue; }\n r0 = s.arg0;\n { step = 11; continue; }\n case 3:\n case 4:\n r0 = pxsim_Array__length(s.arg0);\n s.len___5843 = (r0);\n s.i___5846 = (0);\n case 5:\n s.tmp_1 = r0 = s.i___5846;\n r0 = (s.len___5843 - 1);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 10; continue; }\n r0 = (s.i___5846 + 1);\n s.j___5850 = (r0);\n case 6:\n r0 = (s.j___5850 < s.len___5843);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 9; continue; }\n s.tmp_3 = lambda_3_mk(s);\n s.tmp_3.argL = s.arg1;\n r0 = pxsim_Array__getAt(s.arg0, s.i___5846);\n s.tmp_3.arg0 = r0;\n r0 = pxsim_Array__getAt(s.arg0, s.j___5850);\n s.tmp_3.arg1 = r0;\n setupLambda(s.tmp_3, s.tmp_3.argL);\n s.pc = 12; return s.tmp_3;\n case 12:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (s.tmp_2 > 0);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 7; continue; }\n s.tmp_4 = helpers_swap__P41_mk(s);\n s.tmp_4.arg0 = s.arg0;\n s.tmp_4.arg1 = s.i___5846;\n s.tmp_4.arg2 = s.j___5850;\n s.pc = 13; return s.tmp_4;\n case 13:\n r0 = s.retval;\n case 7:\n case 8:\n r0 = (s.j___5850 + 1);\n s.j___5850 = (r0);\n { step = 6; continue; }\n case 9:\n r0 = (s.i___5846 + 1);\n s.i___5846 = (r0);\n { step = 5; continue; }\n case 10:\n r0 = s.arg0;\n case 11:\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_sortHelper__P42.info = {\"start\":2893,\"length\":481,\"line\":107,\"column\":4,\"endLine\":121,\"endColumn\":5,\"fileName\":\"pxt_modules/base/pxt-helpers.ts\",\"functionName\":\"sortHelper\",\"argumentNames\":[\"arr\",\"callbackfn\"]}\n\nfunction helpers_sortHelper__P42_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_sortHelper__P42, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n len___5843: undefined,\n i___5846: undefined,\n j___5850: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction helpers_swap__P41(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.temp___5873 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_Array__getAt(s.arg0, s.arg1);\n s.temp___5873 = (r0);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_1 = r0 = s.arg1;\n r0 = pxsim_Array__getAt(s.arg0, s.arg2);\n s.tmp_2 = r0;\n r0 = pxsim_Array_.setAt(s.tmp_0, s.tmp_1, s.tmp_2);\n r0 = pxsim_Array_.setAt(s.arg0, s.arg2, s.temp___5873);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_swap__P41.info = {\"start\":2747,\"length\":140,\"line\":101,\"column\":4,\"endLine\":105,\"endColumn\":5,\"fileName\":\"pxt_modules/base/pxt-helpers.ts\",\"functionName\":\"swap\",\"argumentNames\":[\"arr\",\"i\",\"j\"]}\n\nfunction helpers_swap__P41_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_swap__P41, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n temp___5873: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction particles_init__P1305(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.scene___7744 = undefined;\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n s.scene___7744 = (r0);\n r0 = s.scene___7744.fields[\"particleSources\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 3; continue; }\n case 1:\n case 2:\n s.tmp_1 = r0 = s.scene___7744;\n r0 = pxsim_Array__mk();\n s.tmp_2 = r0;\n r0 = (s.tmp_1).fields[\"particleSources\"] = (s.tmp_2);\n r0 = pxsim.control.millis();\n globals.lastUpdate___1282 = (r0);\n s.tmp_0 = game_onUpdate__P1027_mk(s);\n s.tmp_0.arg0 = particles_updateParticles__P1306;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n s.tmp_0 = game_onUpdateInterval__P1028_mk(s);\n s.tmp_0.arg0 = 250;\n s.tmp_0.arg1 = particles_pruneParticles__P1307;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n case 3:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_init__P1305.info = {\"start\":8745,\"length\":276,\"line\":292,\"column\":4,\"endLine\":299,\"endColumn\":5,\"fileName\":\"pxt_modules/game/particles.ts\",\"functionName\":\"init\",\"argumentNames\":[]}\n\nfunction particles_init__P1305_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_init__P1305, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n scene___7744: undefined,\n} }\n\n\n\n\n\nfunction particles_pruneParticles__P1307(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.sources___4886 = undefined;\n s.tmp_0 = particles_particleSources__P1320_mk(s);\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.sources___4886 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.sources___4886);\n if (!r0) { step = 1; continue; }\n s.tmp_0 = helpers_arrayForEach__P47_mk(s);\n s.tmp_1 = helpers_arraySlice__P52_mk(s);\n s.tmp_1.arg0 = s.sources___4886;\n s.tmp_1.arg1 = 0;\n r0 = pxsim_Array__length(s.sources___4886);\n s.tmp_1.arg2 = r0;\n s.pc = 5; return s.tmp_1;\n case 5:\n r0 = s.retval;\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = inline__P4895;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_pruneParticles__P1307.info = {\"start\":9373,\"length\":156,\"line\":315,\"column\":4,\"endLine\":318,\"endColumn\":5,\"fileName\":\"pxt_modules/game/particles.ts\",\"functionName\":\"pruneParticles\",\"argumentNames\":[]}\n\nfunction particles_pruneParticles__P1307_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_pruneParticles__P1307, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n sources___4886: undefined,\n} }\n\n\n\n\n\nfunction inline__P4895(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = particles_ParticleSource__prune__P1289_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P4895.info = {\"start\":9506,\"length\":15,\"line\":317,\"column\":62,\"endLine\":317,\"endColumn\":77,\"fileName\":\"pxt_modules/game/particles.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"s\"]}\n\nfunction inline__P4895_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P4895, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction helpers_arraySlice__P52(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.res___4962 = undefined;\n s.len___4964 = undefined;\n s.i___4990 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_Array__mk();\n s.res___4962 = (r0);\n r0 = pxsim_Array__length(s.arg0);\n s.len___4964 = (r0);\n r0 = (s.arg1 === undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.arg1 = (0);\n { step = 4; continue; }\n case 1:\n r0 = (s.arg1 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n s.tmp_1 = Math_max__P61_mk(s);\n r0 = (s.len___4964 + s.arg1);\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = 0;\n s.pc = 16; return s.tmp_1;\n case 16:\n r0 = s.retval;\n s.arg1 = (r0);\n case 2:\n case 3:\n case 4:\n r0 = (s.arg1 > s.len___4964);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = s.res___4962;\n { step = 15; continue; }\n case 5:\n case 6:\n r0 = (s.arg2 === undefined);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 7; continue; }\n s.arg2 = (s.len___4964);\n { step = 10; continue; }\n case 7:\n r0 = (s.arg2 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 8; continue; }\n r0 = (s.len___4964 + s.arg2);\n s.arg2 = (r0);\n case 8:\n case 9:\n case 10:\n r0 = (s.arg2 > s.len___4964);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 11; continue; }\n s.arg2 = (s.len___4964);\n case 11:\n case 12:\n s.i___4990 = (s.arg1);\n case 13:\n r0 = (s.i___4990 < s.arg2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 14; continue; }\n s.tmp_1 = r0 = s.res___4962;\n r0 = pxsim_Array__getAt(s.arg0, s.i___4990);\n s.tmp_2 = r0;\n r0 = pxsim_Array__push(s.tmp_1, s.tmp_2);\n r0 = (s.i___4990 + 1);\n s.i___4990 = (r0);\n { step = 13; continue; }\n case 14:\n r0 = s.res___4962;\n case 15:\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_arraySlice__P52.info = {\"start\":6626,\"length\":690,\"line\":215,\"column\":4,\"endLine\":240,\"endColumn\":5,\"fileName\":\"pxt_modules/base/pxt-helpers.ts\",\"functionName\":\"arraySlice\",\"argumentNames\":[\"arr\",\"start\",\"end\"]}\n\nfunction helpers_arraySlice__P52_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_arraySlice__P52, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n res___4962: undefined,\n len___4964: undefined,\n i___4990: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction Math_max__P61(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 >= s.arg1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.arg0;\n { step = 3; continue; }\n case 1:\n case 2:\n r0 = s.arg1;\n case 3:\n return leave(s, r0)\n default: oops()\n} } }\nMath_max__P61.info = {\"start\":10801,\"length\":105,\"line\":365,\"column\":4,\"endLine\":368,\"endColumn\":5,\"fileName\":\"pxt_modules/base/pxt-helpers.ts\",\"functionName\":\"max\",\"argumentNames\":[\"a\",\"b\"]}\n\nfunction Math_max__P61_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Math_max__P61, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction helpers_arrayForEach__P47(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.len___2852 = undefined;\n s.i___2855 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_Array__length(s.arg0);\n s.len___2852 = (r0);\n s.i___2855 = (0);\n case 1:\n r0 = (s.i___2855 < s.len___2852);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n s.tmp_1 = lambda_3_mk(s);\n s.tmp_1.argL = s.arg1;\n r0 = pxsim_Array__getAt(s.arg0, s.i___2855);\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = s.i___2855;\n setupLambda(s.tmp_1, s.tmp_1.argL);\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n r0 = (s.i___2855 + 1);\n s.i___2855 = (r0);\n { step = 1; continue; }\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_arrayForEach__P47.info = {\"start\":5156,\"length\":250,\"line\":170,\"column\":4,\"endLine\":175,\"endColumn\":5,\"fileName\":\"pxt_modules/base/pxt-helpers.ts\",\"functionName\":\"arrayForEach\",\"argumentNames\":[\"arr\",\"callbackfn\"]}\n\nfunction helpers_arrayForEach__P47_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_arrayForEach__P47, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n len___2852: undefined,\n i___2855: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction particles_updateParticles__P1306(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.sources___7758 = undefined;\n s.time___7763 = undefined;\n s.dt___7766 = undefined;\n s.i___7771 = undefined;\n s.tmp_0 = particles_particleSources__P1320_mk(s);\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n s.sources___7758 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.sources___7758);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 5; continue; }\n case 1:\n case 2:\n s.tmp_2 = particles_sortSources__P1308_mk(s);\n s.tmp_2.arg0 = s.sources___7758;\n s.pc = 7; return s.tmp_2;\n case 7:\n r0 = s.retval;\n r0 = pxsim.control.millis();\n s.time___7763 = (r0);\n r0 = (s.time___7763 - globals.lastUpdate___1282);\n s.dt___7766 = (r0);\n globals.lastUpdate___1282 = (s.time___7763);\n s.i___7771 = (0);\n case 3:\n s.tmp_1 = r0 = s.i___7771;\n r0 = pxsim_Array__length(s.sources___7758);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 4; continue; }\n s.tmp_3 = particles_ParticleSource__update__P1288_mk(s);\n r0 = pxsim_Array__getAt(s.sources___7758, s.i___7771);\n s.tmp_3.arg0 = r0;\n s.tmp_3.arg1 = s.dt___7766;\n s.pc = 8; return s.tmp_3;\n case 8:\n r0 = s.retval;\n r0 = (s.i___7771 + 1);\n s.i___7771 = (r0);\n { step = 3; continue; }\n case 4:\n case 5:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_updateParticles__P1306.info = {\"start\":9027,\"length\":340,\"line\":301,\"column\":4,\"endLine\":313,\"endColumn\":5,\"fileName\":\"pxt_modules/game/particles.ts\",\"functionName\":\"updateParticles\",\"argumentNames\":[]}\n\nfunction particles_updateParticles__P1306_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_updateParticles__P1306, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n sources___7758: undefined,\n time___7763: undefined,\n dt___7766: undefined,\n i___7771: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleSource__update__P1288(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.p___7825 = undefined;\n s.current___7841 = undefined;\n s.fixedDt___7848 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleSource__C1285_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.tmp_0.fields[\"timer\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - s.arg1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"timer\"] = (s.tmp_1);\n r0 = s.arg0.fields[\"lifespan\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 !== undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.tmp_2 = r0 = s.arg0;\n r0 = s.tmp_2.fields[\"lifespan\"];\n s.tmp_4 = r0;\n r0 = (s.tmp_4 - s.arg1);\n s.tmp_3 = r0;\n r0 = (s.tmp_2).fields[\"lifespan\"] = (s.tmp_3);\n r0 = s.arg0.fields[\"lifespan\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 <= 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = (s.arg0).fields[\"lifespan\"] = (undefined);\n s.tmp_0 = particles_ParticleSource_destroy__P1294_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 28; return s.tmp_0;\n case 28:\n r0 = s.retval;\n case 1:\n case 2:\n { step = 10; continue; }\n case 3:\n r0 = s.arg0.fields[\"anchor\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 4; continue; }\n r0 = s.tmp_0;\n { step = 5; continue; }\n case 4:\n s.tmp_2 = if_flags_1_mk(s);\n r0 = s.arg0.fields[\"anchor\"];\n s.tmp_2.arg0 = r0;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, \"flags\");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface[\"flags\"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields[\"flags\"]; }\n else { s.pc = 29; return s.tmp_2; }\n }\n case 29:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 !== undefined);\n case 5:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBool(s.tmp_3);\n if (r0) { step = 6; continue; }\n r0 = s.tmp_3;\n { step = 7; continue; }\n case 6:\n s.tmp_5 = if_flags_1_mk(s);\n r0 = s.arg0.fields[\"anchor\"];\n s.tmp_5.arg0 = r0;\n if (!s.tmp_5.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_5.arg0, \"flags\");\n } else {\n s.tmp_5.fn = s.tmp_5.arg0.vtable.iface[\"flags\"];\n if (s.tmp_5.fn == null) { s.retval = s.tmp_5.arg0.fields[\"flags\"]; }\n else { s.pc = 30; return s.tmp_5; }\n }\n case 30:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = (s.tmp_4 & 2);\n case 7:\n // jmp value (already in r0)\n s.tmp_6 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_6);\n if (!r0) { step = 8; continue; }\n r0 = (s.arg0).fields[\"lifespan\"] = (750);\n case 8:\n case 9:\n case 10:\n case 11:\n r0 = s.arg0.fields[\"timer\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 12; continue; }\n r0 = s.tmp_0;\n { step = 13; continue; }\n case 12:\n s.tmp_2 = particles_ParticleSource_enabled__P1292_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 31; return s.tmp_2;\n case 31:\n r0 = s.retval;\n case 13:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 16; continue; }\n s.tmp_4 = r0 = s.arg0;\n r0 = s.tmp_4.fields[\"timer\"];\n s.tmp_6 = r0;\n r0 = s.arg0.fields[\"period\"];\n s.tmp_7 = r0;\n r0 = (s.tmp_6 + s.tmp_7);\n s.tmp_5 = r0;\n r0 = (s.tmp_4).fields[\"timer\"] = (s.tmp_5);\n s.tmp_0 = particles_ParticleFactory__C1337_v0_2_mk(s);\n r0 = s.arg0.fields[\"_factory\"];\n s.tmp_0.arg0 = r0;\n r0 = s.arg0.fields[\"anchor\"];\n s.tmp_0.arg1 = r0;\n if (!checkSubtype(s.tmp_0.arg0, particles_ParticleFactory__C1337_VT)) failedCast(s.tmp_0.arg0);\n s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.createParticle;\n s.pc = 32; return s.tmp_0;\n case 32:\n r0 = s.retval;\n s.p___7825 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.p___7825);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 14; continue; }\n { step = 11; continue; }\n case 14:\n case 15:\n r0 = s.arg0.fields[\"head\"];\n s.tmp_2 = r0;\n r0 = (s.p___7825).fields[\"next\"] = (s.tmp_2);\n r0 = (s.arg0).fields[\"head\"] = (s.p___7825);\n { step = 11; continue; }\n case 16:\n r0 = s.arg0.fields[\"head\"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 17; continue; }\n { step = 27; continue; }\n case 17:\n case 18:\n r0 = s.arg0.fields[\"head\"];\n s.current___7841 = (r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.tmp_0.fields[\"_dt\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.arg1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"_dt\"] = (s.tmp_1);\n r0 = s.arg0.fields[\"_dt\"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 * 256);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 | 0);\n s.fixedDt___7848 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.fixedDt___7848);\n if (!r0) { step = 23; continue; }\n case 19:\n r0 = s.current___7841.fields[\"lifespan\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 20; continue; }\n s.tmp_2 = r0 = s.current___7841;\n r0 = s.tmp_2.fields[\"lifespan\"];\n s.tmp_4 = r0;\n r0 = (s.tmp_4 - s.arg1);\n s.tmp_3 = r0;\n r0 = (s.tmp_2).fields[\"lifespan\"] = (s.tmp_3);\n s.tmp_0 = particles_ParticleSource__C1285_v4_3_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.current___7841;\n s.tmp_0.arg2 = s.fixedDt___7848;\n if (!checkSubtype(s.tmp_0.arg0, particles_ParticleSource__C1285_VT)) failedCast(s.tmp_0.arg0);\n s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.updateParticle;\n s.pc = 33; return s.tmp_0;\n case 33:\n r0 = s.retval;\n case 20:\n case 21:\n r0 = s.current___7841.fields[\"next\"];\n s.tmp_0 = r0;\n s.current___7841 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 22; continue; }\n { step = 19; continue; }\n case 22:\n r0 = (s.arg0).fields[\"_dt\"] = (0);\n { step = 26; continue; }\n case 23:\n case 24:\n s.tmp_0 = r0 = s.current___7841;\n r0 = s.tmp_0.fields[\"lifespan\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - s.arg1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"lifespan\"] = (s.tmp_1);\n r0 = s.current___7841.fields[\"next\"];\n s.tmp_0 = r0;\n s.current___7841 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 25; continue; }\n { step = 24; continue; }\n case 25:\n case 26:\n case 27:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleSource__update__P1288.info = {\"start\":3511,\"length\":1400,\"line\":121,\"column\":8,\"endLine\":161,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particles.ts\",\"functionName\":\"_update\",\"argumentNames\":[\"this\",\"dt\"]}\n\nfunction particles_ParticleSource__update__P1288_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleSource__update__P1288, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n p___7825: undefined,\n current___7841: undefined,\n fixedDt___7848: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleFactory_createParticle__P1338(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.p___7941 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleFactory__C1337_VT)) failedCast(r0);\n r0 = pxsim_pxtcore_mkClassInstance(particles_Particle__C1283_VT);\n s.p___7941 = (r0);\n s.tmp_0 = r0 = s.p___7941;\n s.tmp_3 = if_x_1_mk(s);\n s.tmp_3.arg0 = s.arg1;\n if (!s.tmp_3.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, \"x\");\n } else {\n s.tmp_3.fn = s.tmp_3.arg0.vtable.iface[\"x\"];\n if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields[\"x\"]; }\n else { s.pc = 1; return s.tmp_3; }\n }\n case 1:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (s.tmp_2 * 256);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"_x\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.p___7941;\n s.tmp_3 = if_y_1_mk(s);\n s.tmp_3.arg0 = s.arg1;\n if (!s.tmp_3.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, \"y\");\n } else {\n s.tmp_3.fn = s.tmp_3.arg0.vtable.iface[\"y\"];\n if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields[\"y\"]; }\n else { s.pc = 2; return s.tmp_3; }\n }\n case 2:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (s.tmp_2 * 256);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"_y\"] = (s.tmp_1);\n r0 = (s.p___7941).fields[\"vx\"] = (globals.zeroFx8___79);\n r0 = (s.p___7941).fields[\"vy\"] = (globals.zeroFx8___79);\n r0 = (s.p___7941).fields[\"lifespan\"] = (500);\n r0 = s.p___7941;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleFactory_createParticle__P1338.info = {\"start\":1822,\"length\":282,\"line\":67,\"column\":8,\"endLine\":77,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particlefactories.ts\",\"functionName\":\"createParticle\",\"argumentNames\":[\"this\",\"anchor\"]}\n\nfunction particles_ParticleFactory_createParticle__P1338_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleFactory_createParticle__P1338, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n p___7941: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleSource_updateParticle__P1300(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleSource__C1285_VT)) failedCast(r0);\n r0 = (s.arg2 >> 10);\n s.arg2 = (r0);\n s.tmp_0 = r0 = s.arg1;\n r0 = s.arg1.fields[\"vx\"];\n s.tmp_2 = r0;\n r0 = s.arg0.fields[\"ax\"];\n s.tmp_4 = r0;\n r0 = pxsim.Math_.imul(s.tmp_4, s.arg2);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 >> 8);\n s.tmp_3 = r0;\n r0 = (s.tmp_2 + s.tmp_3);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"vx\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg1;\n r0 = s.arg1.fields[\"vy\"];\n s.tmp_2 = r0;\n r0 = s.arg0.fields[\"ay\"];\n s.tmp_4 = r0;\n r0 = pxsim.Math_.imul(s.tmp_4, s.arg2);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 >> 8);\n s.tmp_3 = r0;\n r0 = (s.tmp_2 + s.tmp_3);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"vy\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg1;\n r0 = s.arg1.fields[\"_x\"];\n s.tmp_2 = r0;\n r0 = s.arg1.fields[\"vx\"];\n s.tmp_4 = r0;\n r0 = pxsim.Math_.imul(s.tmp_4, s.arg2);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 >> 8);\n s.tmp_3 = r0;\n r0 = (s.tmp_2 + s.tmp_3);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"_x\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg1;\n r0 = s.arg1.fields[\"_y\"];\n s.tmp_2 = r0;\n r0 = s.arg1.fields[\"vy\"];\n s.tmp_4 = r0;\n r0 = pxsim.Math_.imul(s.tmp_4, s.arg2);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 >> 8);\n s.tmp_3 = r0;\n r0 = (s.tmp_2 + s.tmp_3);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"_y\"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleSource_updateParticle__P1300.info = {\"start\":7756,\"length\":357,\"line\":265,\"column\":8,\"endLine\":273,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particles.ts\",\"functionName\":\"updateParticle\",\"argumentNames\":[\"this\",\"p\",\"fixedDt\"]}\n\nfunction particles_ParticleSource_updateParticle__P1300_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleSource_updateParticle__P1300, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction Fx_rightShift__P97(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 >> s.arg1);\n return leave(s, r0)\n default: oops()\n} } }\nFx_rightShift__P97.info = {\"start\":1883,\"length\":108,\"line\":62,\"column\":4,\"endLine\":64,\"endColumn\":5,\"fileName\":\"pxt_modules/base/fixed.ts\",\"functionName\":\"rightShift\",\"argumentNames\":[\"a\",\"n\"]}\n\nfunction Fx_rightShift__P97_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Fx_rightShift__P97, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Fx_mul__P89(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim.Math_.imul(s.arg0, s.arg1);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 >> 8);\n return leave(s, r0)\n default: oops()\n} } }\nFx_mul__P89.info = {\"start\":859,\"length\":133,\"line\":29,\"column\":4,\"endLine\":31,\"endColumn\":5,\"fileName\":\"pxt_modules/base/fixed.ts\",\"functionName\":\"mul\",\"argumentNames\":[\"a\",\"b\"]}\n\nfunction Fx_mul__P89_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Fx_mul__P89, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Fx_add__P86(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 + s.arg1);\n return leave(s, r0)\n default: oops()\n} } }\nFx_add__P86.info = {\"start\":498,\"length\":118,\"line\":20,\"column\":4,\"endLine\":22,\"endColumn\":5,\"fileName\":\"pxt_modules/base/fixed.ts\",\"functionName\":\"add\",\"argumentNames\":[\"a\",\"b\"]}\n\nfunction Fx_add__P86_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Fx_add__P86, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction particles_SprayFactory_constructor__P1347(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_SprayFactory__C1341_VT)) failedCast(r0);\n r0 = undefined;\n s.tmp_0 = particles_initTrig__P1331_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.tmp_0 = particles_SprayFactory_setSpeed__P1345_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n s.tmp_0 = particles_SprayFactory_setDirection__P1346_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg2;\n s.tmp_0.arg2 = s.arg3;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_SprayFactory_constructor__P1347.info = {\"start\":2623,\"length\":218,\"line\":98,\"column\":8,\"endLine\":103,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particlefactories.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"speed\",\"centerDegrees\",\"arcDegrees\"]}\n\nfunction particles_SprayFactory_constructor__P1347_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_SprayFactory_constructor__P1347, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction particles_SprayFactory_setDirection__P1346(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_SprayFactory__C1341_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_4 = particles_toRadians__P1336_mk(s);\n s.tmp_5 = r0 = s.arg1;\n r0 = (s.arg2 >> 1);\n s.tmp_6 = r0;\n r0 = (s.tmp_5 - s.tmp_6);\n s.tmp_4.arg0 = r0;\n s.pc = 1; return s.tmp_4;\n case 1:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_3 / globals.angleSlice___1328);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"minAngle\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_4 = particles_toRadians__P1336_mk(s);\n s.tmp_4.arg0 = s.arg2;\n s.pc = 2; return s.tmp_4;\n case 2:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_3 / globals.angleSlice___1328);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"spread\"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_SprayFactory_setDirection__P1346.info = {\"start\":3424,\"length\":228,\"line\":123,\"column\":8,\"endLine\":126,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particlefactories.ts\",\"functionName\":\"setDirection\",\"argumentNames\":[\"this\",\"centerDegrees\",\"arcDegrees\"]}\n\nfunction particles_SprayFactory_setDirection__P1346_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_SprayFactory_setDirection__P1346, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction particles_toRadians__P1336(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_3 = Math_abs__P59_mk(s);\n s.tmp_3.arg0 = s.arg0;\n s.pc = 3; return s.tmp_3;\n case 3:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (s.tmp_2 % 360);\n s.tmp_1 = r0;\n r0 = (360 - s.tmp_1);\n s.arg0 = (r0);\n { step = 2; continue; }\n case 1:\n r0 = (s.arg0 % 360);\n s.arg0 = (r0);\n case 2:\n r0 = (s.arg0 * globals.ratio___1334);\n return leave(s, r0)\n default: oops()\n} } }\nparticles_toRadians__P1336.info = {\"start\":1307,\"length\":206,\"line\":45,\"column\":4,\"endLine\":52,\"endColumn\":5,\"fileName\":\"pxt_modules/game/particlefactories.ts\",\"functionName\":\"toRadians\",\"argumentNames\":[\"degrees\"]}\n\nfunction particles_toRadians__P1336_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_toRadians__P1336, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleFactory_constructor__P1340(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleFactory__C1337_VT)) failedCast(r0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleFactory_constructor__P1340.info = {\"start\":1617,\"length\":78,\"line\":59,\"column\":8,\"endLine\":61,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particlefactories.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\"]}\n\nfunction particles_ParticleFactory_constructor__P1340_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleFactory_constructor__P1340, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction particles_initTrig__P1331(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals.cachedSin___1321);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_2 = particles_cacheSin__P1332_mk(s);\n s.tmp_2.arg0 = 100;\n s.pc = 3; return s.tmp_2;\n case 3:\n r0 = s.retval;\n globals.cachedSin___1321 = (r0);\n s.tmp_0 = particles_cacheCos__P1333_mk(s);\n s.tmp_0.arg0 = 100;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n globals.cachedCos___1322 = (r0);\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_initTrig__P1331.info = {\"start\":291,\"length\":155,\"line\":11,\"column\":4,\"endLine\":16,\"endColumn\":5,\"fileName\":\"pxt_modules/game/particlefactories.ts\",\"functionName\":\"initTrig\",\"argumentNames\":[]}\n\nfunction particles_initTrig__P1331_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_initTrig__P1331, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n} }\n\n\n\n\n\nfunction particles_cacheCos__P1333(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.cos___7647 = undefined;\n s.anglePerSlice___7649 = undefined;\n s.i___7652 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_Array__mk();\n s.cos___7647 = (r0);\n r0 = (2 * 3.141592653589793);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 / s.arg0);\n s.anglePerSlice___7649 = (r0);\n s.i___7652 = (0);\n case 1:\n r0 = (s.i___7652 < s.arg0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n s.tmp_1 = r0 = s.cos___7647;\n r0 = (s.i___7652 * s.anglePerSlice___7649);\n s.tmp_4 = r0;\n r0 = pxsim.Math_.cos(s.tmp_4);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 * 256);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 | 0);\n s.tmp_2 = r0;\n r0 = pxsim_Array__push(s.tmp_1, s.tmp_2);\n r0 = (s.i___7652 + 1);\n s.i___7652 = (r0);\n { step = 1; continue; }\n case 2:\n r0 = s.cos___7647;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_cacheCos__P1333.info = {\"start\":1005,\"length\":263,\"line\":35,\"column\":4,\"endLine\":42,\"endColumn\":5,\"fileName\":\"pxt_modules/game/particlefactories.ts\",\"functionName\":\"cacheCos\",\"argumentNames\":[\"slices\"]}\n\nfunction particles_cacheCos__P1333_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_cacheCos__P1333, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n cos___7647: undefined,\n anglePerSlice___7649: undefined,\n i___7652: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction particles_cacheSin__P1332(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.sin___7668 = undefined;\n s.anglePerSlice___7670 = undefined;\n s.i___7673 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_Array__mk();\n s.sin___7668 = (r0);\n r0 = (2 * 3.141592653589793);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 / s.arg0);\n s.anglePerSlice___7670 = (r0);\n s.i___7673 = (0);\n case 1:\n r0 = (s.i___7673 < s.arg0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n s.tmp_1 = r0 = s.sin___7668;\n r0 = (s.i___7673 * s.anglePerSlice___7670);\n s.tmp_4 = r0;\n r0 = pxsim.Math_.sin(s.tmp_4);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 * 256);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 | 0);\n s.tmp_2 = r0;\n r0 = pxsim_Array__push(s.tmp_1, s.tmp_2);\n r0 = (s.i___7673 + 1);\n s.i___7673 = (r0);\n { step = 1; continue; }\n case 2:\n r0 = s.sin___7668;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_cacheSin__P1332.info = {\"start\":594,\"length\":263,\"line\":22,\"column\":4,\"endLine\":29,\"endColumn\":5,\"fileName\":\"pxt_modules/game/particlefactories.ts\",\"functionName\":\"cacheSin\",\"argumentNames\":[\"slices\"]}\n\nfunction particles_cacheSin__P1332_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_cacheSin__P1332, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n sin___7668: undefined,\n anglePerSlice___7670: undefined,\n i___7673: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleSource_setFactory__P1299(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleSource__C1285_VT)) failedCast(r0);\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n if (!r0) { step = 1; continue; }\n r0 = (s.arg0).fields[\"_factory\"] = (s.arg1);\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleSource_setFactory__P1299.info = {\"start\":7632,\"length\":114,\"line\":260,\"column\":8,\"endLine\":263,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particles.ts\",\"functionName\":\"setFactory\",\"argumentNames\":[\"this\",\"factory\"]}\n\nfunction particles_ParticleSource_setFactory__P1299_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleSource_setFactory__P1299, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleSource_setRate__P1297(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleSource__C1285_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = (1000 / s.arg1);\n s.tmp_2 = r0;\n r0 = pxsim.Math_.ceil(s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"period\"] = (s.tmp_1);\n r0 = (s.arg0).fields[\"timer\"] = (0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleSource_setRate__P1297.info = {\"start\":7310,\"length\":139,\"line\":247,\"column\":8,\"endLine\":250,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particles.ts\",\"functionName\":\"setRate\",\"argumentNames\":[\"this\",\"particlesPerSecond\"]}\n\nfunction particles_ParticleSource_setRate__P1297_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleSource_setRate__P1297, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleSource_setAnchor__P1296(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleSource__C1285_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"anchor\"] = (s.arg1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleSource_setAnchor__P1296.info = {\"start\":7101,\"length\":79,\"line\":239,\"column\":8,\"endLine\":241,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particles.ts\",\"functionName\":\"setAnchor\",\"argumentNames\":[\"this\",\"anchor\"]}\n\nfunction particles_ParticleSource_setAnchor__P1296_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleSource_setAnchor__P1296, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleSource_clear__P1295(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleSource__C1285_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"head\"] = (undefined);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleSource_clear__P1295.info = {\"start\":6931,\"length\":54,\"line\":231,\"column\":8,\"endLine\":233,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particles.ts\",\"functionName\":\"clear\",\"argumentNames\":[\"this\"]}\n\nfunction particles_ParticleSource_clear__P1295_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleSource_clear__P1295, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleSource_setAcceleration__P1290(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleSource__C1285_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg1 * 256);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"ax\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg2 * 256);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"ay\"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleSource_setAcceleration__P1290.info = {\"start\":5843,\"length\":113,\"line\":191,\"column\":8,\"endLine\":194,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particles.ts\",\"functionName\":\"setAcceleration\",\"argumentNames\":[\"this\",\"ax\",\"ay\"]}\n\nfunction particles_ParticleSource_setAcceleration__P1290_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleSource_setAcceleration__P1290, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction sprites_BaseSprite_constructor__P516(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_BaseSprite__C508_VT)) failedCast(r0);\n s.tmp_0 = sprites_BaseSprite_z__P511_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.tmp_0 = scene_Scene_addSprite__P927_mk(s);\n s.tmp_1 = game_currentScene__P769_mk(s);\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = s.arg0;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_BaseSprite_constructor__P516.info = {\"start\":344,\"length\":170,\"line\":15,\"column\":8,\"endLine\":20,\"endColumn\":9,\"fileName\":\"pxt_modules/game/basesprite.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"z\"]}\n\nfunction sprites_BaseSprite_constructor__P516_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_BaseSprite_constructor__P516, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction scene_Scene_addSprite__P927(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Scene__C923_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"allSprites\"];\n s.tmp_0 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.arg1);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.tmp_0.fields[\"spriteNextId\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + 1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"spriteNextId\"] = (s.tmp_1);\n s.tmp_3 = if_id_2_mk(s);\n s.tmp_3.arg0 = s.arg1;\n s.tmp_3.arg1 = s.tmp_2;\n if (!s.tmp_3.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapSetByString(s.tmp_3.arg0, \"id\", s.tmp_3.arg1);\n } else {\n s.tmp_3.fn = s.tmp_3.arg0.vtable.iface[\"set/id\"];\n if (s.tmp_3.fn === null) { s.tmp_3.arg0.fields[\"id\"] = s.tmp_3.arg1; }\n else if (s.tmp_3.fn === undefined) { failedCast(s.tmp_3.arg0) }\n else { s.pc = 1; return s.tmp_3; }\n }\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_Scene_addSprite__P927.info = {\"start\":5795,\"length\":128,\"line\":168,\"column\":8,\"endLine\":171,\"endColumn\":9,\"fileName\":\"pxt_modules/game/scene.ts\",\"functionName\":\"addSprite\",\"argumentNames\":[\"this\",\"sprite\"]}\n\nfunction scene_Scene_addSprite__P927_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Scene_addSprite__P927, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction sprites_BaseSprite_z__P511(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_BaseSprite__C508_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_z\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 !== s.arg1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = (s.arg0).fields[\"_z\"] = (s.arg1);\n s.tmp_1 = game_currentScene__P769_mk(s);\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = s.tmp_0.fields[\"flags\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 | 2);\n s.tmp_2 = r0;\n r0 = (s.tmp_0).fields[\"flags\"] = (s.tmp_2);\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_BaseSprite_z__P511.info = {\"start\":656,\"length\":174,\"line\":30,\"column\":8,\"endLine\":35,\"endColumn\":9,\"fileName\":\"pxt_modules/game/basesprite.ts\",\"functionName\":\"z\",\"argumentNames\":[\"this\",\"v\"]}\n\nfunction sprites_BaseSprite_z__P511_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_BaseSprite_z__P511, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction sprites_BaseSprite_z__P510(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_BaseSprite__C508_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_z\"];\n return leave(s, r0)\n default: oops()\n} } }\nsprites_BaseSprite_z__P510.info = {\"start\":591,\"length\":55,\"line\":26,\"column\":8,\"endLine\":28,\"endColumn\":9,\"fileName\":\"pxt_modules/game/basesprite.ts\",\"functionName\":\"z\",\"argumentNames\":[\"this\"]}\n\nfunction sprites_BaseSprite_z__P510_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_BaseSprite_z__P510, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction helpers_arrayShift__P38(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_Array_.removeAt(s.arg0, 0);\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_arrayShift__P38.info = {\"start\":1762,\"length\":82,\"line\":69,\"column\":4,\"endLine\":71,\"endColumn\":5,\"fileName\":\"pxt_modules/base/pxt-helpers.ts\",\"functionName\":\"arrayShift\",\"argumentNames\":[\"arr\"]}\n\nfunction helpers_arrayShift__P38_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_arrayShift__P38, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction particles_SprayFactory_setSpeed__P1345(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_SprayFactory__C1341_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg1 * 256);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"speed\"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_SprayFactory_setSpeed__P1345.info = {\"start\":3322,\"length\":92,\"line\":119,\"column\":8,\"endLine\":121,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particlefactories.ts\",\"functionName\":\"setSpeed\",\"argumentNames\":[\"this\",\"pixelsPerSecond\"]}\n\nfunction particles_SprayFactory_setSpeed__P1345_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_SprayFactory_setSpeed__P1345, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction particles_ConfettiFactory_constructor__P1366(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.confetti___7975 = undefined;\n s.i___7991 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ConfettiFactory__C1364_VT)) failedCast(r0);\n r0 = pxsim_Array__mk();\n s.tmp_0 = r0;\n r0 = pxsim.image.ofBuffer(_hex7978);\n s.tmp_1 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_1);\n r0 = pxsim.image.ofBuffer(_hex7980);\n s.tmp_2 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_2);\n r0 = pxsim.image.ofBuffer(_hex7982);\n s.tmp_3 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_3);\n r0 = pxsim.image.ofBuffer(_hex7984);\n s.tmp_4 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_4);\n r0 = pxsim.image.ofBuffer(_hex7986);\n s.tmp_5 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_5);\n s.confetti___7975 = (s.tmp_0);\n s.tmp_0 = particles_ShapeFactory_constructor__P1363_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.tmp_0.arg2 = s.arg2;\n r0 = pxsim_Array__getAt(s.confetti___7975, 0);\n s.tmp_0.arg3 = r0;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.i___7991 = (1);\n case 1:\n s.tmp_1 = r0 = s.i___7991;\n r0 = pxsim_Array__length(s.confetti___7975);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n s.tmp_3 = particles_ShapeFactory_addShape__P1360_mk(s);\n s.tmp_3.arg0 = s.arg0;\n r0 = pxsim_Array__getAt(s.confetti___7975, s.i___7991);\n s.tmp_3.arg1 = r0;\n s.pc = 4; return s.tmp_3;\n case 4:\n r0 = s.retval;\n r0 = (s.i___7991 + 1);\n s.i___7991 = (r0);\n { step = 1; continue; }\n case 2:\n r0 = (s.arg0).fields[\"minLifespan\"] = (1000);\n r0 = (s.arg0).fields[\"maxLifespan\"] = (4500);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ConfettiFactory_constructor__P1366.info = {\"start\":7755,\"length\":706,\"line\":247,\"column\":8,\"endLine\":274,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particlefactories.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"xRange\",\"yRange\"]}\n\nfunction particles_ConfettiFactory_constructor__P1366_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ConfettiFactory_constructor__P1366, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n confetti___7975: undefined,\n i___7991: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\nconst _hex7978 = pxsim.BufferMethods.createBufferFromHex(\"87040100010000000f000000\")\nconst _hex7980 = pxsim.BufferMethods.createBufferFromHex(\"8704010002000000ff000000\")\nconst _hex7982 = pxsim.BufferMethods.createBufferFromHex(\"87040200010000000f0000000f000000\")\nconst _hex7984 = pxsim.BufferMethods.createBufferFromHex(\"8704020002000000ff0000000f000000\")\nconst _hex7986 = pxsim.BufferMethods.createBufferFromHex(\"87040200020000000f000000ff000000\")\n\n\n\n\nfunction particles_ShapeFactory_constructor__P1363(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ShapeFactory__C1358_VT)) failedCast(r0);\n s.tmp_0 = particles_AreaFactory_constructor__P1352_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.tmp_0.arg2 = s.arg2;\n s.tmp_0.arg3 = undefined;\n s.tmp_0.arg4 = undefined;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = pxsim_Array__mk();\n s.tmp_0 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.arg3);\n r0 = (s.arg0).fields[\"sources\"] = (s.tmp_0);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_ImageMethods.width(s.arg3);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 >> 1);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 * 256);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"ox\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_ImageMethods.height(s.arg3);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 >> 1);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 * 256);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"oy\"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ShapeFactory_constructor__P1363.info = {\"start\":6668,\"length\":285,\"line\":212,\"column\":8,\"endLine\":219,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particlefactories.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"xRange\",\"yRange\",\"source\"]}\n\nfunction particles_ShapeFactory_constructor__P1363_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ShapeFactory_constructor__P1363, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction particles_AreaFactory_constructor__P1352(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_AreaFactory__C1348_VT)) failedCast(r0);\n s.tmp_0 = particles_SprayFactory_constructor__P1347_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = 40;\n s.tmp_0.arg2 = 0;\n s.tmp_0.arg3 = 90;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n r0 = (s.arg0).fields[\"xRange\"] = (s.arg1);\n r0 = (s.arg0).fields[\"yRange\"] = (s.arg2);\n r0 = pxsim_numops_toBoolDecr(s.arg3);\n if (!r0) { step = 1; continue; }\n r0 = s.arg3;\n { step = 2; continue; }\n case 1:\n r0 = 150;\n case 2:\n // jmp value (already in r0)\n s.tmp_0 = r0;\n r0 = (s.arg0).fields[\"minLifespan\"] = (s.tmp_0);\n r0 = pxsim_numops_toBoolDecr(s.arg4);\n if (!r0) { step = 3; continue; }\n r0 = s.arg4;\n { step = 4; continue; }\n case 3:\n r0 = 850;\n case 4:\n // jmp value (already in r0)\n s.tmp_0 = r0;\n r0 = (s.arg0).fields[\"maxLifespan\"] = (s.tmp_0);\n r0 = pxsim_pxtcore_mkClassInstance(Math_FastRandom__C1156_VT);\n s.tmp_0 = r0;\n s.tmp_1 = Math_FastRandom_constructor__P1163_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = undefined;\n s.pc = 6; return s.tmp_1;\n case 6:\n r0 = s.retval;\n r0 = (s.arg0).fields[\"galois\"] = (s.tmp_0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_AreaFactory_constructor__P1352.info = {\"start\":3950,\"length\":374,\"line\":139,\"column\":8,\"endLine\":146,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particlefactories.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"xRange\",\"yRange\",\"minLifespan\",\"maxLifespan\"]}\n\nfunction particles_AreaFactory_constructor__P1352_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_AreaFactory_constructor__P1352, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n} }\n\n\n\n\n\nfunction particles_ShapeFactory_addShape__P1360(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ShapeFactory__C1358_VT)) failedCast(r0);\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n if (!r0) { step = 1; continue; }\n r0 = s.arg0.fields[\"sources\"];\n s.tmp_0 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.arg1);\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ShapeFactory_addShape__P1360.info = {\"start\":7079,\"length\":83,\"line\":225,\"column\":8,\"endLine\":227,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particlefactories.ts\",\"functionName\":\"addShape\",\"argumentNames\":[\"this\",\"shape\"]}\n\nfunction particles_ShapeFactory_addShape__P1360_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ShapeFactory_addShape__P1360, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction effects_ScreenEffect_constructor__P1418(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, effects_ScreenEffect__C1414_VT)) failedCast(r0);\n s.tmp_0 = effects_ParticleEffect_constructor__P1407_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.tmp_0.arg2 = s.arg3;\n s.tmp_0.arg3 = s.arg4;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = (s.arg0).fields[\"sceneDefaultRate\"] = (s.arg2);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\neffects_ScreenEffect_constructor__P1418.info = {\"start\":2771,\"length\":332,\"line\":80,\"column\":8,\"endLine\":84,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particleeffects.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"anchorDefault\",\"sceneDefault\",\"defaultLifespan\",\"sourceFactory\"]}\n\nfunction effects_ScreenEffect_constructor__P1418_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: effects_ScreenEffect_constructor__P1418, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n} }\n\n\n\n\n\nfunction effects_ParticleEffect_constructor__P1407(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, effects_ParticleEffect__C1404_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"sourceFactory\"] = (s.arg3);\n r0 = (s.arg0).fields[\"defaultRate\"] = (s.arg1);\n r0 = (s.arg0).fields[\"defaultLifespan\"] = (s.arg2);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\neffects_ParticleEffect_constructor__P1407.info = {\"start\":384,\"length\":364,\"line\":13,\"column\":8,\"endLine\":18,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particleeffects.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"defaultParticlesPerSecond\",\"defaultLifespan\",\"sourceFactory\"]}\n\nfunction effects_ParticleEffect_constructor__P1407_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: effects_ParticleEffect_constructor__P1407, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction effects_ScreenEffect_startScreenEffect__P1416(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, effects_ScreenEffect__C1414_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"sourceFactory\"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 13; continue; }\n case 1:\n case 2:\n r0 = s.arg0.fields[\"source\"];\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBool(s.tmp_3);\n if (r0) { step = 3; continue; }\n r0 = s.tmp_3;\n { step = 4; continue; }\n case 3:\n s.tmp_4 = particles_ParticleSource_enabled__P1292_mk(s);\n r0 = s.arg0.fields[\"source\"];\n s.tmp_4.arg0 = r0;\n s.pc = 14; return s.tmp_4;\n case 14:\n r0 = s.retval;\n case 4:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_5);\n if (!r0) { step = 7; continue; }\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n if (!r0) { step = 5; continue; }\n r0 = s.arg0.fields[\"source\"];\n s.tmp_6 = r0;\n r0 = (s.tmp_6).fields[\"lifespan\"] = (s.arg1);\n case 5:\n case 6:\n { step = 13; continue; }\n case 7:\n case 8:\n s.tmp_0 = effects_ScreenEffect_endScreenEffect__P1417_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 15; return s.tmp_0;\n case 15:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkClassInstance(effects_SceneAnchor__C1408_VT);\n s.tmp_0 = r0;\n s.tmp_1 = effects_SceneAnchor_constructor__P1413_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.pc = 16; return s.tmp_1;\n case 16:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(s.arg2);\n if (!r0) { step = 9; continue; }\n r0 = s.arg2;\n { step = 10; continue; }\n case 9:\n r0 = s.arg0.fields[\"sceneDefaultRate\"];\n case 10:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n s.tmp_3 = r0 = s.arg0;\n s.tmp_5 = lambda_3_mk(s);\n r0 = s.arg0.fields[\"sourceFactory\"];\n s.tmp_5.argL = r0;\n s.tmp_5.arg0 = s.tmp_0;\n s.tmp_5.arg1 = s.tmp_2;\n setupLambda(s.tmp_5, s.tmp_5.argL);\n s.pc = 17; return s.tmp_5;\n case 17:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = (s.tmp_3).fields[\"source\"] = (s.tmp_4);\n r0 = s.arg0.fields[\"source\"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0).fields[\"priority\"] = (10);\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n if (!r0) { step = 11; continue; }\n r0 = s.arg0.fields[\"source\"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0).fields[\"lifespan\"] = (s.arg1);\n case 11:\n case 12:\n case 13:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\neffects_ScreenEffect_startScreenEffect__P1416.info = {\"start\":3541,\"length\":601,\"line\":96,\"column\":8,\"endLine\":111,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particleeffects.ts\",\"functionName\":\"startScreenEffect\",\"argumentNames\":[\"this\",\"duration\",\"particlesPerSecond\"]}\n\nfunction effects_ScreenEffect_startScreenEffect__P1416_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: effects_ScreenEffect_startScreenEffect__P1416, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction effects_SceneAnchor_constructor__P1413(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, effects_SceneAnchor__C1408_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_2 = game_currentScene__P769_mk(s);\n s.pc = 1; return s.tmp_2;\n case 1:\n r0 = s.retval;\n r0 = r0.fields[\"camera\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"camera\"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\neffects_SceneAnchor_constructor__P1413.info = {\"start\":2156,\"length\":79,\"line\":54,\"column\":8,\"endLine\":56,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particleeffects.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\"]}\n\nfunction effects_SceneAnchor_constructor__P1413_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: effects_SceneAnchor_constructor__P1413, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction info_score__P798(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = info_PlayerInfo_score__P827_mk(s);\n s.tmp_0.arg0 = globals.player1___845;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_score__P798.info = {\"start\":6767,\"length\":63,\"line\":224,\"column\":4,\"endLine\":226,\"endColumn\":5,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"score\",\"argumentNames\":[]}\n\nfunction info_score__P798_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_score__P798, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction info_PlayerInfo_constructor__P840(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, info_PlayerInfo__C823_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"_player\"] = (s.arg1);\n r0 = (s.arg0).fields[\"border\"] = (1);\n r0 = (s.arg0).fields[\"fc\"] = (1);\n r0 = (s.arg0).fields[\"visilibity\"] = (0);\n r0 = (s.arg0).fields[\"showScore\"] = (undefined);\n r0 = (s.arg0).fields[\"showLife\"] = (undefined);\n r0 = (s.arg0).fields[\"showPlayer\"] = (undefined);\n r0 = (s.arg0).fields[\"left\"] = (undefined);\n r0 = (s.arg0).fields[\"up\"] = (undefined);\n r0 = s.arg0.fields[\"_player\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 === 1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = pxsim_ImageMethods.isMono(globals.screen___464);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 1; continue; }\n r0 = 0;\n { step = 2; continue; }\n case 1:\n r0 = 2;\n case 2:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = (s.arg0).fields[\"bg\"] = (s.tmp_3);\n r0 = (s.arg0).fields[\"x\"] = (0);\n r0 = (s.arg0).fields[\"y\"] = (0);\n { step = 14; continue; }\n case 3:\n r0 = (s.arg1 === 2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 6; continue; }\n r0 = pxsim_ImageMethods.isMono(globals.screen___464);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 4; continue; }\n r0 = 0;\n { step = 5; continue; }\n case 4:\n r0 = 8;\n case 5:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = (s.arg0).fields[\"bg\"] = (s.tmp_2);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"x\"] = (s.tmp_1);\n r0 = (s.arg0).fields[\"y\"] = (0);\n r0 = (s.arg0).fields[\"left\"] = (true);\n { step = 13; continue; }\n case 6:\n r0 = (s.arg1 === 3);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 9; continue; }\n r0 = pxsim_ImageMethods.isMono(globals.screen___464);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 7; continue; }\n r0 = 0;\n { step = 8; continue; }\n case 7:\n r0 = 4;\n case 8:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = (s.arg0).fields[\"bg\"] = (s.tmp_2);\n r0 = (s.arg0).fields[\"x\"] = (0);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"y\"] = (s.tmp_1);\n r0 = (s.arg0).fields[\"up\"] = (true);\n { step = 12; continue; }\n case 9:\n r0 = pxsim_ImageMethods.isMono(globals.screen___464);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 10; continue; }\n r0 = 0;\n { step = 11; continue; }\n case 10:\n r0 = 7;\n case 11:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = (s.arg0).fields[\"bg\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"x\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"y\"] = (s.tmp_1);\n r0 = (s.arg0).fields[\"left\"] = (true);\n r0 = (s.arg0).fields[\"up\"] = (true);\n case 12:\n case 13:\n case 14:\n r0 = pxsim_numops_toBoolDecr(globals.players___746);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 15; continue; }\n r0 = pxsim_Array__mk();\n globals.players___746 = (r0);\n case 15:\n case 16:\n s.tmp_0 = r0 = globals.players___746;\n r0 = s.arg0.fields[\"_player\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - 1);\n s.tmp_1 = r0;\n r0 = pxsim_Array_.setAt(s.tmp_0, s.tmp_1, s.arg0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_PlayerInfo_constructor__P840.info = {\"start\":15459,\"length\":1370,\"line\":516,\"column\":8,\"endLine\":553,\"endColumn\":9,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"player\"]}\n\nfunction info_PlayerInfo_constructor__P840_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_PlayerInfo_constructor__P840, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction info_PlayerInfo_score__P827(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.state___4124 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, info_PlayerInfo__C823_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"showScore\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 === undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = (s.arg0).fields[\"showScore\"] = (true);\n case 1:\n case 2:\n r0 = s.arg0.fields[\"showPlayer\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 === undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = (s.arg0).fields[\"showPlayer\"] = (true);\n case 3:\n case 4:\n s.tmp_0 = info_PlayerInfo_getState__P825_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 7; return s.tmp_0;\n case 7:\n r0 = s.retval;\n s.state___4124 = (r0);\n r0 = s.state___4124.fields[\"score\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 == null);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = (s.state___4124).fields[\"score\"] = (0);\n case 5:\n case 6:\n r0 = s.state___4124.fields[\"score\"];\n return leave(s, r0)\n default: oops()\n} } }\ninfo_PlayerInfo_score__P827.info = {\"start\":17505,\"length\":314,\"line\":579,\"column\":8,\"endLine\":588,\"endColumn\":9,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"score\",\"argumentNames\":[\"this\"]}\n\nfunction info_PlayerInfo_score__P827_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_PlayerInfo_score__P827, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n state___4124: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction info_PlayerInfo_getState__P825(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, info_PlayerInfo__C823_VT)) failedCast(r0);\n s.tmp_0 = info_PlayerInfo_init__P824_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = globals.infoState___745.fields[\"playerStates\"];\n s.tmp_0 = r0;\n r0 = s.arg0.fields[\"_player\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - 1);\n s.tmp_1 = r0;\n r0 = pxsim_Array__getAt(s.tmp_0, s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\ninfo_PlayerInfo_getState__P825.info = {\"start\":17101,\"length\":121,\"line\":563,\"column\":8,\"endLine\":566,\"endColumn\":9,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"getState\",\"argumentNames\":[\"this\"]}\n\nfunction info_PlayerInfo_getState__P825_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_PlayerInfo_getState__P825, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction info_PlayerInfo_init__P824(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, info_PlayerInfo__C823_VT)) failedCast(r0);\n s.tmp_0 = info_initHUD__P793_mk(s);\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n r0 = s.arg0.fields[\"_player\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > 1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_2 = info_initMultiHUD__P794_mk(s);\n s.pc = 6; return s.tmp_2;\n case 6:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = globals.infoState___745.fields[\"playerStates\"];\n s.tmp_3 = r0;\n r0 = s.arg0.fields[\"_player\"];\n s.tmp_5 = r0;\n r0 = (s.tmp_5 - 1);\n s.tmp_4 = r0;\n r0 = pxsim_Array__getAt(s.tmp_3, s.tmp_4);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = pxsim_pxtcore_mkClassInstance(info_PlayerState__C740_VT);\n s.tmp_6 = r0;\n r0 = undefined;\n r0 = globals.infoState___745.fields[\"playerStates\"];\n s.tmp_7 = r0;\n r0 = s.arg0.fields[\"_player\"];\n s.tmp_9 = r0;\n r0 = (s.tmp_9 - 1);\n s.tmp_8 = r0;\n r0 = pxsim_Array_.setAt(s.tmp_7, s.tmp_8, s.tmp_6);\n case 3:\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_PlayerInfo_init__P824.info = {\"start\":16839,\"length\":252,\"line\":555,\"column\":8,\"endLine\":561,\"endColumn\":9,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"init\",\"argumentNames\":[\"this\"]}\n\nfunction info_PlayerInfo_init__P824_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_PlayerInfo_init__P824, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction info_initMultiHUD__P794(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = globals.infoState___745.fields[\"visibilityFlag\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 & 16);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 5; continue; }\n case 1:\n case 2:\n s.tmp_2 = r0 = globals.infoState___745;\n r0 = s.tmp_2.fields[\"visibilityFlag\"];\n s.tmp_4 = r0;\n r0 = (s.tmp_4 | 16);\n s.tmp_3 = r0;\n r0 = (s.tmp_2).fields[\"visibilityFlag\"] = (s.tmp_3);\n r0 = globals.infoState___745.fields[\"visibilityFlag\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 & 32);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.tmp_4 = r0 = globals.infoState___745;\n s.tmp_6 = info_defaultMultiplayerHeartImage__P796_mk(s);\n s.pc = 6; return s.tmp_6;\n case 6:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = (s.tmp_4).fields[\"heartImage\"] = (s.tmp_5);\n case 3:\n case 4:\n s.tmp_0 = r0 = globals.infoState___745;\n r0 = pxsim.image.ofBuffer(_hex4292);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"multiplierImage\"] = (s.tmp_1);\n case 5:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_initMultiHUD__P794.info = {\"start\":4706,\"length\":393,\"line\":150,\"column\":4,\"endLine\":161,\"endColumn\":5,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"initMultiHUD\",\"argumentNames\":[]}\n\nfunction info_initMultiHUD__P794_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_initMultiHUD__P794, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n} }\n\nconst _hex4292 = pxsim.BufferMethods.createBufferFromHex(\"8704030003000000010100001000000001010000\")\n\n\n\n\nfunction info_defaultMultiplayerHeartImage__P796(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_ImageMethods.isMono(globals.screen___464);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim.image.ofBuffer(_hex4296);\n { step = 2; continue; }\n case 1:\n r0 = pxsim.image.ofBuffer(_hex4298);\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = s.tmp_1;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_defaultMultiplayerHeartImage__P796.info = {\"start\":5703,\"length\":503,\"line\":186,\"column\":4,\"endLine\":203,\"endColumn\":5,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"defaultMultiplayerHeartImage\",\"argumentNames\":[]}\n\nfunction info_defaultMultiplayerHeartImage__P796_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_defaultMultiplayerHeartImage__P796, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n} }\n\nconst _hex4296 = pxsim.BufferMethods.createBufferFromHex(\"870407000500000000000000100100000110000010000100011000001001000000000000\")\nconst _hex4298 = pxsim.BufferMethods.createBufferFromHex(\"870407000500000000000000100100002112000010240100411200001001000000000000\")\n\n\n\n\nfunction info_initHUD__P793(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals.infoState___745);\n if (!r0) { step = 1; continue; }\n { step = 3; continue; }\n case 1:\n case 2:\n r0 = pxsim_pxtcore_mkClassInstance(info_InfoState__C742_VT);\n s.tmp_0 = r0;\n s.tmp_1 = info_InfoState_constructor__P743_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.pc = 4; return s.tmp_1;\n case 4:\n r0 = s.retval;\n globals.infoState___745 = (s.tmp_0);\n s.tmp_0 = scene_createRenderable__P896_mk(s);\n s.tmp_0.arg0 = 100;\n s.tmp_0.arg1 = inline__P4306;\n s.tmp_0.arg2 = undefined;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n case 3:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_initHUD__P793.info = {\"start\":2588,\"length\":2112,\"line\":97,\"column\":4,\"endLine\":148,\"endColumn\":5,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"initHUD\",\"argumentNames\":[]}\n\nfunction info_initHUD__P793_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_initHUD__P793, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n} }\n\n\n\n\n\nfunction inline__P4306(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.ps___4313 = undefined;\n s.p___4332 = undefined;\n s.scene___4363 = undefined;\n s.elapsed___4365 = undefined;\n s.t___4372 = undefined;\n r0 = pxsim_numops_toBoolDecr(globals.infoState___745);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 23; continue; }\n case 1:\n case 2:\n r0 = globals.infoState___745.fields[\"visibilityFlag\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 & 16);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.tmp_2 = helpers_arrayFilter__P48_mk(s);\n s.tmp_2.arg0 = globals.players___746;\n s.tmp_2.arg1 = inline__P4316;\n s.pc = 24; return s.tmp_2;\n case 24:\n r0 = s.retval;\n s.ps___4313 = (r0);\n s.tmp_0 = helpers_arrayForEach__P47_mk(s);\n s.tmp_0.arg0 = s.ps___4313;\n s.tmp_0.arg1 = inline__P4322;\n s.pc = 25; return s.tmp_0;\n case 25:\n r0 = s.retval;\n s.tmp_0 = helpers_arrayForEach__P47_mk(s);\n s.tmp_0.arg0 = s.ps___4313;\n s.tmp_0.arg1 = inline__P4328;\n s.pc = 26; return s.tmp_0;\n case 26:\n r0 = s.retval;\n { step = 12; continue; }\n case 3:\n s.p___4332 = (globals.player1___845);\n s.tmp_1 = info_PlayerInfo_hasScore__P830_mk(s);\n s.tmp_1.arg0 = s.p___4332;\n s.pc = 27; return s.tmp_1;\n case 27:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 4; continue; }\n r0 = s.tmp_0;\n { step = 5; continue; }\n case 4:\n r0 = globals.infoState___745.fields[\"visibilityFlag\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 & 2);\n case 5:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 6; continue; }\n s.tmp_4 = info_PlayerInfo_drawScore__P838_mk(s);\n s.tmp_4.arg0 = s.p___4332;\n s.pc = 28; return s.tmp_4;\n case 28:\n r0 = s.retval;\n case 6:\n case 7:\n s.tmp_1 = info_PlayerInfo_hasLife__P834_mk(s);\n s.tmp_1.arg0 = s.p___4332;\n s.pc = 29; return s.tmp_1;\n case 29:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 8; continue; }\n r0 = s.tmp_0;\n { step = 9; continue; }\n case 8:\n r0 = globals.infoState___745.fields[\"visibilityFlag\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 & 4);\n case 9:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 10; continue; }\n s.tmp_4 = info_PlayerInfo_drawLives__P839_mk(s);\n s.tmp_4.arg0 = s.p___4332;\n s.pc = 30; return s.tmp_4;\n case 30:\n r0 = s.retval;\n case 10:\n case 11:\n s.tmp_0 = info_PlayerInfo_raiseLifeZero__P836_mk(s);\n s.tmp_0.arg0 = s.p___4332;\n s.tmp_0.arg1 = true;\n s.pc = 31; return s.tmp_0;\n case 31:\n r0 = s.retval;\n case 12:\n r0 = globals.infoState___745.fields[\"gameEnd\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 !== undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 13; continue; }\n r0 = s.tmp_0;\n { step = 14; continue; }\n case 13:\n r0 = globals.infoState___745.fields[\"visibilityFlag\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 & 1);\n case 14:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 21; continue; }\n s.tmp_4 = game_currentScene__P769_mk(s);\n s.pc = 32; return s.tmp_4;\n case 32:\n r0 = s.retval;\n s.scene___4363 = (r0);\n r0 = globals.infoState___745.fields[\"gameEnd\"];\n s.tmp_0 = r0;\n r0 = s.scene___4363.fields[\"_millis\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_0 - s.tmp_1);\n s.elapsed___4365 = (r0);\n s.tmp_0 = info_drawTimer__P822_mk(s);\n s.tmp_0.arg0 = s.elapsed___4365;\n s.pc = 33; return s.tmp_0;\n case 33:\n r0 = s.retval;\n r0 = (s.elapsed___4365 / 1000);\n s.t___4372 = (r0);\n r0 = (s.t___4372 <= 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 19; continue; }\n s.t___4372 = (0);\n r0 = globals.infoState___745.fields[\"countdownExpired\"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 17; continue; }\n r0 = (globals.infoState___745).fields[\"countdownExpired\"] = (true);\n r0 = globals.infoState___745.fields[\"countdownEndHandler\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 15; continue; }\n s.tmp_1 = lambda_1_mk(s);\n r0 = globals.infoState___745.fields[\"countdownEndHandler\"];\n s.tmp_1.argL = r0;\n setupLambda(s.tmp_1, s.tmp_1.argL);\n s.pc = 34; return s.tmp_1;\n case 34:\n r0 = s.retval;\n r0 = (globals.infoState___745).fields[\"gameEnd\"] = (undefined);\n { step = 16; continue; }\n case 15:\n s.tmp_0 = game_over__P1026_mk(s);\n s.tmp_0.arg0 = false;\n s.tmp_0.arg1 = undefined;\n s.pc = 35; return s.tmp_0;\n case 35:\n r0 = s.retval;\n case 16:\n case 17:\n case 18:\n case 19:\n case 20:\n case 21:\n case 22:\n case 23:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P4306.info = {\"start\":2748,\"length\":1935,\"line\":104,\"column\":12,\"endLine\":146,\"endColumn\":13,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P4306_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P4306, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n ps___4313: undefined,\n p___4332: undefined,\n scene___4363: undefined,\n elapsed___4365: undefined,\n t___4372: undefined,\n} }\n\n\n\n\n\nfunction inline__P4316(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_numops_toBoolDecr(s.arg0);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\ninline__P4316.info = {\"start\":2996,\"length\":8,\"line\":109,\"column\":46,\"endLine\":109,\"endColumn\":54,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"p\"]}\n\nfunction inline__P4316_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P4316, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P4322(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = info_PlayerInfo_drawPlayer__P837_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P4322.info = {\"start\":3080,\"length\":19,\"line\":111,\"column\":31,\"endLine\":111,\"endColumn\":50,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"p\"]}\n\nfunction inline__P4322_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P4322, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P4328(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = info_PlayerInfo_raiseLifeZero__P836_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = false;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P4328.info = {\"start\":3182,\"length\":27,\"line\":113,\"column\":31,\"endLine\":113,\"endColumn\":58,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"p\"]}\n\nfunction inline__P4328_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P4328, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_over__P1026(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.scoreInfo___4404 = undefined;\n s.highScore___4407 = undefined;\n s.overDialog___4434 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = game_init__P1018_mk(s);\n s.pc = 18; return s.tmp_0;\n case 18:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(globals.__isOver___1014);\n if (!r0) { step = 1; continue; }\n { step = 17; continue; }\n case 1:\n case 2:\n globals.__isOver___1014 = (true);\n r0 = pxsim_numops_toBoolDecr(globals.__gameOverHandler___1013);\n if (!r0) { step = 3; continue; }\n s.tmp_0 = lambda_2_mk(s);\n s.tmp_0.argL = globals.__gameOverHandler___1013;\n s.tmp_0.arg0 = s.arg0;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 19; return s.tmp_0;\n case 19:\n r0 = s.retval;\n { step = 16; continue; }\n case 3:\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 6; continue; }\n r0 = pxsim_numops_toBoolDecr(s.arg0);\n if (!r0) { step = 4; continue; }\n r0 = globals.winEffect___1001;\n { step = 5; continue; }\n case 4:\n r0 = globals.loseEffect___1003;\n case 5:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n s.arg1 = (s.tmp_2);\n case 6:\n case 7:\n s.tmp_0 = info_PlayerInfo_getState__P825_mk(s);\n s.tmp_0.arg0 = globals.player1___845;\n s.pc = 20; return s.tmp_0;\n case 20:\n r0 = s.retval;\n s.scoreInfo___4404 = (r0);\n s.tmp_0 = info_highScore__P800_mk(s);\n s.pc = 21; return s.tmp_0;\n case 21:\n r0 = s.retval;\n s.highScore___4407 = (r0);\n r0 = s.scoreInfo___4404.fields[\"score\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > s.highScore___4407);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 8; continue; }\n s.tmp_2 = info_saveHighScore__P797_mk(s);\n s.pc = 22; return s.tmp_2;\n case 22:\n r0 = s.retval;\n case 8:\n case 9:\n case 10:\n s.tmp_0 = r0 = globals._sceneStack___1009;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 11; continue; }\n r0 = s.tmp_0;\n { step = 12; continue; }\n case 11:\n r0 = pxsim_Array__length(globals._sceneStack___1009);\n case 12:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 13; continue; }\n s.tmp_2 = scene_Scene_destroy__P928_mk(s);\n s.tmp_2.arg0 = globals._scene___1008;\n s.pc = 23; return s.tmp_2;\n case 23:\n r0 = s.retval;\n s.tmp_0 = game_popScene__P1020_mk(s);\n s.pc = 24; return s.tmp_0;\n case 24:\n r0 = s.retval;\n { step = 10; continue; }\n case 13:\n s.tmp_0 = game_pushScene__P1019_mk(s);\n s.pc = 25; return s.tmp_0;\n case 25:\n r0 = s.retval;\n s.tmp_0 = scene_setBackgroundImage__P937_mk(s);\n r0 = pxsim_ImageMethods.clone(globals.screen___464);\n s.tmp_0.arg0 = r0;\n s.pc = 26; return s.tmp_0;\n case 26:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(s.arg0);\n if (!r0) { step = 14; continue; }\n s.tmp_0 = music_Melody_play__P357_mk(s);\n s.tmp_0.arg0 = globals.winSound___1007;\n s.tmp_0.arg1 = 255;\n s.pc = 27; return s.tmp_0;\n case 27:\n r0 = s.retval;\n { step = 15; continue; }\n case 14:\n s.tmp_0 = music_Melody_play__P357_mk(s);\n s.tmp_0.arg0 = globals.loseSound___1005;\n s.tmp_0.arg1 = 255;\n s.pc = 28; return s.tmp_0;\n case 28:\n r0 = s.retval;\n case 15:\n s.tmp_0 = if_startScreenEffect_1_mk(s);\n s.tmp_0.arg0 = s.arg1;\n s.tmp_0.fn = s.tmp_0.arg0.vtable.iface[\"startScreenEffect\"];\n if (s.tmp_0.fn == null) { s.retval = s.tmp_0.arg0.fields[\"startScreenEffect\"]; }\n else { s.pc = 29; return s.tmp_0; }\n case 29:\n r0 = s.retval;\n s.tmp_0 = pause__P241_mk(s);\n s.tmp_0.arg0 = 400;\n s.pc = 30; return s.tmp_0;\n case 30:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkClassInstance(game_GameOverDialog__C983_VT);\n s.tmp_0 = r0;\n s.tmp_1 = game_GameOverDialog_constructor__P988_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = s.arg0;\n r0 = s.scoreInfo___4404.fields[\"score\"];\n s.tmp_1.arg2 = r0;\n s.tmp_1.arg3 = s.highScore___4407;\n s.pc = 31; return s.tmp_1;\n case 31:\n r0 = s.retval;\n s.overDialog___4434 = (s.tmp_0);\n r0 = pxsim_pxtcore_mkAction(1, inline__P4444);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.overDialog___4434);\n s.tmp_1 = scene_createRenderable__P896_mk(s);\n s.tmp_1.arg0 = 100;\n s.tmp_1.arg1 = s.tmp_0;\n s.tmp_1.arg2 = undefined;\n s.pc = 32; return s.tmp_1;\n case 32:\n r0 = s.retval;\n s.tmp_0 = pause__P241_mk(s);\n s.tmp_0.arg0 = 500;\n s.pc = 33; return s.tmp_0;\n case 33:\n r0 = s.retval;\n s.tmp_0 = game_GameOverDialog_displayCursor__P985_mk(s);\n s.tmp_0.arg0 = s.overDialog___4434;\n s.pc = 34; return s.tmp_0;\n case 34:\n r0 = s.retval;\n s.tmp_0 = game_waitAnyButton__P1016_mk(s);\n s.pc = 35; return s.tmp_0;\n case 35:\n r0 = s.retval;\n setupResume(s, 36);\n pxsim.control.reset();\n checkResumeConsumed();\n return;\n case 36:\n r0 = s.retval;\n case 16:\n case 17:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_over__P1026.info = {\"start\":5311,\"length\":1776,\"line\":180,\"column\":4,\"endLine\":231,\"endColumn\":5,\"fileName\":\"pxt_modules/game/game.ts\",\"functionName\":\"over\",\"argumentNames\":[\"win\",\"effect\"]}\n\nfunction game_over__P1026_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_over__P1026, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n scoreInfo___4404: undefined,\n highScore___4407: undefined,\n overDialog___4434: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction inline__P4444(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = game_GameOverDialog__C983_v0_1_mk(s);\n s.tmp_0.arg0 = s.caps[0];\n if (!checkSubtype(s.tmp_0.arg0, game_GameOverDialog__C983_VT)) failedCast(s.tmp_0.arg0);\n s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.update;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.tmp_0 = r0 = s.arg0;\n r0 = s.caps[0].fields[\"image\"];\n s.tmp_1 = r0;\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n s.tmp_4 = r0;\n r0 = s.caps[0].fields[\"image\"];\n s.tmp_6 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_6);\n s.tmp_5 = r0;\n r0 = (s.tmp_4 - s.tmp_5);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 >> 1);\n s.tmp_2 = r0;\n r0 = pxsim_ImageMethods.drawTransparentImage(s.tmp_0, s.tmp_1, 0, s.tmp_2);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P4444.info = {\"start\":6650,\"length\":256,\"line\":217,\"column\":48,\"endLine\":224,\"endColumn\":13,\"fileName\":\"pxt_modules/game/game.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"target\"]}\n\nfunction inline__P4444_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P4444, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_popScene__P1020(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.oldScene___5046 = undefined;\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 11; return s.tmp_0;\n case 11:\n r0 = s.retval;\n s.oldScene___5046 = (r0);\n s.tmp_0 = r0 = globals._sceneStack___1009;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = pxsim_Array__length(globals._sceneStack___1009);\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 3; continue; }\n r0 = pxsim_Array_.pop(globals._sceneStack___1009);\n globals._scene___1008 = (r0);\n s.tmp_0 = control_popEventContext__P237_mk(s);\n s.pc = 12; return s.tmp_0;\n case 12:\n r0 = s.retval;\n { step = 6; continue; }\n case 3:\n r0 = pxsim_numops_toBoolDecr(globals._scene___1008);\n if (!r0) { step = 4; continue; }\n s.tmp_0 = control_popEventContext__P237_mk(s);\n s.pc = 13; return s.tmp_0;\n case 13:\n r0 = s.retval;\n globals._scene___1008 = (undefined);\n case 4:\n case 5:\n case 6:\n r0 = pxsim_numops_toBoolDecr(globals._scene___1008);\n if (!r0) { step = 7; continue; }\n s.tmp_0 = particles_enableAll__P1319_mk(s);\n s.pc = 14; return s.tmp_0;\n case 14:\n r0 = s.retval;\n case 7:\n case 8:\n r0 = pxsim_numops_toBoolDecr(globals._scenePopHandlers___1011);\n if (!r0) { step = 9; continue; }\n r0 = pxsim_pxtcore_mkAction(1, inline__P5065);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.oldScene___5046);\n s.tmp_1 = helpers_arrayForEach__P47_mk(s);\n s.tmp_1.arg0 = globals._scenePopHandlers___1011;\n s.tmp_1.arg1 = s.tmp_0;\n s.pc = 15; return s.tmp_1;\n case 15:\n r0 = s.retval;\n case 9:\n case 10:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_popScene__P1020.info = {\"start\":1962,\"length\":548,\"line\":74,\"column\":4,\"endLine\":92,\"endColumn\":5,\"fileName\":\"pxt_modules/game/game.ts\",\"functionName\":\"popScene\",\"argumentNames\":[]}\n\nfunction game_popScene__P1020_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_popScene__P1020, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n oldScene___5046: undefined,\n} }\n\n\n\n\n\nfunction inline__P5065(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = lambda_2_mk(s);\n s.tmp_0.argL = s.arg0;\n s.tmp_0.arg0 = s.caps[0];\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P5065.info = {\"start\":2474,\"length\":18,\"line\":90,\"column\":38,\"endLine\":90,\"endColumn\":56,\"fileName\":\"pxt_modules/game/game.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"cb\"]}\n\nfunction inline__P5065_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P5065, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction particles_enableAll__P1319(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.sources___5069 = undefined;\n s.tmp_0 = particles_particleSources__P1320_mk(s);\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.sources___5069 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.sources___5069);\n if (!r0) { step = 1; continue; }\n s.tmp_0 = helpers_arrayForEach__P47_mk(s);\n s.tmp_0.arg0 = s.sources___5069;\n s.tmp_0.arg1 = inline__P5074;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n s.tmp_0 = particles_pruneParticles__P1307_mk(s);\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_enableAll__P1319.info = {\"start\":12162,\"length\":193,\"line\":401,\"column\":4,\"endLine\":407,\"endColumn\":5,\"fileName\":\"pxt_modules/game/particles.ts\",\"functionName\":\"enableAll\",\"argumentNames\":[]}\n\nfunction particles_enableAll__P1319_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_enableAll__P1319, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n sources___5069: undefined,\n} }\n\n\n\n\n\nfunction inline__P5074(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = particles_ParticleSource_enabled__P1293_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = true;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = true;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P5074.info = {\"start\":12286,\"length\":21,\"line\":404,\"column\":28,\"endLine\":404,\"endColumn\":49,\"fileName\":\"pxt_modules/game/particles.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"s\"]}\n\nfunction inline__P5074_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P5074, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction control_popEventContext__P237(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.ctx___5080 = undefined;\n s.context___5087 = undefined;\n r0 = pxsim_numops_toBoolDecr(globals.eventContexts___234);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 7; continue; }\n case 1:\n case 2:\n r0 = pxsim_Array_.pop(globals.eventContexts___234);\n s.ctx___5080 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.ctx___5080);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n { step = 7; continue; }\n case 3:\n case 4:\n s.tmp_2 = control_EventContext_unregister__P225_mk(s);\n s.tmp_2.arg0 = s.ctx___5080;\n s.pc = 8; return s.tmp_2;\n case 8:\n r0 = s.retval;\n s.tmp_0 = r0 = globals.eventContexts___234;\n r0 = pxsim_Array__length(globals.eventContexts___234);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - 1);\n s.tmp_1 = r0;\n r0 = pxsim_Array__getAt(s.tmp_0, s.tmp_1);\n s.context___5087 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.context___5087);\n if (!r0) { step = 5; continue; }\n s.tmp_0 = control_EventContext_register__P224_mk(s);\n s.tmp_0.arg0 = s.context___5087;\n s.pc = 9; return s.tmp_0;\n case 9:\n r0 = s.retval;\n { step = 6; continue; }\n case 5:\n globals.eventContexts___234 = (undefined);\n case 6:\n case 7:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_popEventContext__P237.info = {\"start\":6831,\"length\":413,\"line\":213,\"column\":4,\"endLine\":227,\"endColumn\":5,\"fileName\":\"pxt_modules/base/eventcontext.ts\",\"functionName\":\"popEventContext\",\"argumentNames\":[]}\n\nfunction control_popEventContext__P237_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_popEventContext__P237, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n ctx___5080: undefined,\n context___5087: undefined,\n} }\n\n\n\n\n\nfunction control_EventContext_unregister__P225(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.h___5250 = undefined;\n s.unnamed48___U1 = undefined;\n s.unnamed49___U2 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, control_EventContext__C220_VT)) failedCast(r0);\n s.h___5250 = (undefined);\n s.h___5250 = (undefined);\n r0 = s.arg0.fields[\"handlers\"];\n s.unnamed48___U1 = (r0);\n s.unnamed49___U2 = (0);\n case 1:\n s.tmp_0 = r0 = s.unnamed49___U2;\n r0 = pxsim_Array__length(s.unnamed48___U1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 2; continue; }\n r0 = pxsim_Array__getAt(s.unnamed48___U1, s.unnamed49___U2);\n s.h___5250 = (r0);\n s.tmp_2 = control_EventHandler_unregister__P217_mk(s);\n s.tmp_2.arg0 = s.h___5250;\n s.pc = 3; return s.tmp_2;\n case 3:\n r0 = s.retval;\n r0 = (s.unnamed49___U2 + 1);\n s.unnamed49___U2 = (r0);\n { step = 1; continue; }\n case 2:\n s.unnamed48___U1 = (undefined);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.tmp_0.fields[\"frameWorker\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + 1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"frameWorker\"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_EventContext_unregister__P225.info = {\"start\":4081,\"length\":131,\"line\":126,\"column\":8,\"endLine\":130,\"endColumn\":9,\"fileName\":\"pxt_modules/base/eventcontext.ts\",\"functionName\":\"unregister\",\"argumentNames\":[\"this\"]}\n\nfunction control_EventContext_unregister__P225_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_EventContext_unregister__P225, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n h___5250: undefined,\n unnamed48___U1: undefined,\n unnamed49___U2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction control_EventHandler_unregister__P217(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, control_EventHandler__C215_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"src\"];\n s.tmp_0 = r0;\n r0 = s.arg0.fields[\"value\"];\n s.tmp_1 = r0;\n r0 = s.arg0.fields[\"flags\"];\n s.tmp_2 = r0;\n r0 = pxsim.control.internalOnEvent(s.tmp_0, s.tmp_1, control_doNothing__P219, s.tmp_2);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_EventHandler_unregister__P217.info = {\"start\":1244,\"length\":106,\"line\":40,\"column\":8,\"endLine\":42,\"endColumn\":9,\"fileName\":\"pxt_modules/base/eventcontext.ts\",\"functionName\":\"unregister\",\"argumentNames\":[\"this\"]}\n\nfunction control_EventHandler_unregister__P217_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_EventHandler_unregister__P217, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction control_doNothing__P219(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_doNothing__P219.info = {\"start\":1362,\"length\":24,\"line\":45,\"column\":4,\"endLine\":45,\"endColumn\":28,\"fileName\":\"pxt_modules/base/eventcontext.ts\",\"functionName\":\"doNothing\",\"argumentNames\":[]}\n\nfunction control_doNothing__P219_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_doNothing__P219, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n} }\n\n\n\n\n\nfunction control_EventContext_register__P224(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.h___5099 = undefined;\n s.unnamed46___U1 = undefined;\n s.unnamed47___U2 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, control_EventContext__C220_VT)) failedCast(r0);\n s.h___5099 = (undefined);\n s.h___5099 = (undefined);\n r0 = s.arg0.fields[\"handlers\"];\n s.unnamed46___U1 = (r0);\n s.unnamed47___U2 = (0);\n case 1:\n s.tmp_0 = r0 = s.unnamed47___U2;\n r0 = pxsim_Array__length(s.unnamed46___U1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 2; continue; }\n r0 = pxsim_Array__getAt(s.unnamed46___U1, s.unnamed47___U2);\n s.h___5099 = (r0);\n s.tmp_2 = control_EventHandler_register__P216_mk(s);\n s.tmp_2.arg0 = s.h___5099;\n s.pc = 3; return s.tmp_2;\n case 3:\n r0 = s.retval;\n r0 = (s.unnamed47___U2 + 1);\n s.unnamed47___U2 = (r0);\n { step = 1; continue; }\n case 2:\n s.unnamed46___U1 = (undefined);\n s.tmp_0 = control_EventContext_registerFrameCallbacks__P223_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_EventContext_register__P224.info = {\"start\":3933,\"length\":138,\"line\":120,\"column\":8,\"endLine\":124,\"endColumn\":9,\"fileName\":\"pxt_modules/base/eventcontext.ts\",\"functionName\":\"register\",\"argumentNames\":[\"this\"]}\n\nfunction control_EventContext_register__P224_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_EventContext_register__P224, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n h___5099: undefined,\n unnamed46___U1: undefined,\n unnamed47___U2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction control_EventContext_registerFrameCallbacks__P223(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.worker___5124 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, control_EventContext__C220_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"frameCallbacks\"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 3; continue; }\n case 1:\n case 2:\n r0 = (s.arg0).fields[\"framesInSample\"] = (0);\n r0 = (s.arg0).fields[\"timeInSample\"] = (0);\n r0 = (s.arg0).fields[\"deltaTimeMillis\"] = (0);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim.control.millis();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"prevTimeMillis\"] = (s.tmp_1);\n r0 = s.arg0.fields[\"frameWorker\"];\n s.worker___5124 = (r0);\n r0 = pxsim_pxtcore_mkAction(2, inline__P5130);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.worker___5124);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.arg0);\n r0 = pxsim.control.runInParallel(s.tmp_0);\n case 3:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_EventContext_registerFrameCallbacks__P223.info = {\"start\":3412,\"length\":511,\"line\":104,\"column\":8,\"endLine\":118,\"endColumn\":9,\"fileName\":\"pxt_modules/base/eventcontext.ts\",\"functionName\":\"registerFrameCallbacks\",\"argumentNames\":[\"this\"]}\n\nfunction control_EventContext_registerFrameCallbacks__P223_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_EventContext_registerFrameCallbacks__P223, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n worker___5124: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P5130(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.delay___5135 = undefined;\n case 1:\n r0 = s.caps[1].fields[\"frameWorker\"];\n s.tmp_1 = r0;\n r0 = (s.caps[0] == s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n s.tmp_2 = control_EventContext_runCallbacks__P222_mk(s);\n s.tmp_2.arg0 = s.caps[1];\n s.pc = 3; return s.tmp_2;\n case 3:\n r0 = s.retval;\n s.delay___5135 = (r0);\n s.tmp_0 = pause__P241_mk(s);\n s.tmp_0.arg0 = s.delay___5135;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n { step = 1; continue; }\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P5130.info = {\"start\":3735,\"length\":177,\"line\":112,\"column\":34,\"endLine\":117,\"endColumn\":13,\"fileName\":\"pxt_modules/base/eventcontext.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P5130_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P5130, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n delay___5135: undefined,\n} }\n\n\n\n\n\nfunction control_EventContext_runCallbacks__P222(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.loopStart___5142 = undefined;\n s.f___5154 = undefined;\n s.unnamed44___U2 = undefined;\n s.unnamed45___U3 = undefined;\n s.runtime___5160 = undefined;\n s.fps___5176 = undefined;\n s.delay___5226 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, control_EventContext__C220_VT)) failedCast(r0);\n r0 = pxsim.control.millis();\n s.loopStart___5142 = (r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.arg0.fields[\"prevTimeMillis\"];\n s.tmp_2 = r0;\n r0 = (s.loopStart___5142 - s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"deltaTimeMillis\"] = (s.tmp_1);\n r0 = (s.arg0).fields[\"prevTimeMillis\"] = (s.loopStart___5142);\n s.f___5154 = (undefined);\n s.f___5154 = (undefined);\n r0 = s.arg0.fields[\"frameCallbacks\"];\n s.unnamed44___U2 = (r0);\n s.unnamed45___U3 = (0);\n case 1:\n s.tmp_0 = r0 = s.unnamed45___U3;\n r0 = pxsim_Array__length(s.unnamed44___U2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 2; continue; }\n r0 = pxsim_Array__getAt(s.unnamed44___U2, s.unnamed45___U3);\n s.f___5154 = (r0);\n s.tmp_2 = lambda_1_mk(s);\n r0 = s.f___5154.fields[\"handler\"];\n s.tmp_2.argL = r0;\n setupLambda(s.tmp_2, s.tmp_2.argL);\n s.pc = 11; return s.tmp_2;\n case 11:\n r0 = s.retval;\n r0 = (s.unnamed45___U3 + 1);\n s.unnamed45___U3 = (r0);\n { step = 1; continue; }\n case 2:\n s.unnamed44___U2 = (undefined);\n r0 = pxsim.control.millis();\n s.tmp_0 = r0;\n r0 = (s.tmp_0 - s.loopStart___5142);\n s.runtime___5160 = (r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.tmp_0.fields[\"timeInSample\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.runtime___5160);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"timeInSample\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.tmp_0.fields[\"framesInSample\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + 1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"framesInSample\"] = (s.tmp_1);\n r0 = s.arg0.fields[\"timeInSample\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > 1000);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = s.tmp_0;\n { step = 4; continue; }\n case 3:\n r0 = s.arg0.fields[\"framesInSample\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 > 30);\n case 4:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 9; continue; }\n r0 = s.arg0.fields[\"framesInSample\"];\n s.tmp_4 = r0;\n r0 = s.arg0.fields[\"timeInSample\"];\n s.tmp_6 = r0;\n r0 = (s.tmp_6 / 1000);\n s.tmp_5 = r0;\n r0 = (s.tmp_4 / s.tmp_5);\n s.fps___5176 = (r0);\n r0 = pxsim.Math_.round(s.fps___5176);\n s.tmp_1 = r0;\n if ((s.tmp_1) && (s.tmp_1).vtable) {\n setupResume(s, 12);\n pxsim_String__stringConv(s.tmp_1);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_1) + \"\"; }\n case 12:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_String__concat(\"fps:\", s.tmp_0);\n globals.control_EventContext_lastStats___231 = (r0);\n r0 = (s.fps___5176 < 99);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n if ((globals.control_EventContext_lastStats___231) && (globals.control_EventContext_lastStats___231).vtable) {\n setupResume(s, 13);\n pxsim_String__stringConv(globals.control_EventContext_lastStats___231);\n checkResumeConsumed();\n return;\n } else { s.retval = (globals.control_EventContext_lastStats___231) + \"\"; }\n case 13:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.fps___5176 * 10);\n s.tmp_7 = r0;\n r0 = pxsim.Math_.round(s.tmp_7);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 % 10);\n s.tmp_5 = r0;\n if ((s.tmp_5) && (s.tmp_5).vtable) {\n setupResume(s, 14);\n pxsim_String__stringConv(s.tmp_5);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_5) + \"\"; }\n case 14:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = pxsim_String__concat(\".\", s.tmp_4);\n s.tmp_3 = r0;\n if ((s.tmp_3) && (s.tmp_3).vtable) {\n setupResume(s, 15);\n pxsim_String__stringConv(s.tmp_3);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_3) + \"\"; }\n case 15:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = pxsim_String__concat(s.tmp_1, s.tmp_2);\n globals.control_EventContext_lastStats___231 = (r0);\n case 5:\n case 6:\n r0 = pxsim.control.profilingEnabled();\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 7; continue; }\n r0 = pxsim_String_.mkEmpty();\n s.tmp_5 = r0;\n r0 = (s.fps___5176 * 100);\n s.tmp_8 = r0;\n r0 = (s.tmp_8 | 0);\n s.tmp_7 = r0;\n if ((s.tmp_7) && (s.tmp_7).vtable) {\n setupResume(s, 16);\n pxsim_String__stringConv(s.tmp_7);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_7) + \"\"; }\n case 16:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = pxsim_String__concat(s.tmp_5, s.tmp_6);\n s.tmp_4 = r0;\n r0 = pxsim_String__concat(s.tmp_4, \"/100 fps - \");\n s.tmp_3 = r0;\n r0 = s.arg0.fields[\"framesInSample\"];\n s.tmp_10 = r0;\n if ((s.tmp_10) && (s.tmp_10).vtable) {\n setupResume(s, 17);\n pxsim_String__stringConv(s.tmp_10);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_10) + \"\"; }\n case 17:\n r0 = s.retval;\n s.tmp_9 = r0;\n r0 = pxsim_String__concat(s.tmp_3, s.tmp_9);\n s.tmp_2 = r0;\n r0 = pxsim_String__concat(s.tmp_2, \" frames\");\n s.tmp_1 = r0;\n r0 = pxsim.control.dmesg(s.tmp_1);\n r0 = pxsim.control.gc();\n r0 = pxsim_pxtcore.dumpPerfCounters();\n case 7:\n case 8:\n r0 = (s.arg0).fields[\"timeInSample\"] = (0);\n r0 = (s.arg0).fields[\"framesInSample\"] = (0);\n case 9:\n case 10:\n s.tmp_0 = Math_max__P61_mk(s);\n s.tmp_0.arg0 = 1;\n r0 = (20 - s.runtime___5160);\n s.tmp_0.arg1 = r0;\n s.pc = 18; return s.tmp_0;\n case 18:\n r0 = s.retval;\n s.delay___5226 = (r0);\n r0 = s.delay___5226;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_EventContext_runCallbacks__P222.info = {\"start\":2188,\"length\":1214,\"line\":75,\"column\":8,\"endLine\":102,\"endColumn\":9,\"fileName\":\"pxt_modules/base/eventcontext.ts\",\"functionName\":\"runCallbacks\",\"argumentNames\":[\"this\"]}\n\nfunction control_EventContext_runCallbacks__P222_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_EventContext_runCallbacks__P222, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n loopStart___5142: undefined,\n f___5154: undefined,\n unnamed44___U2: undefined,\n unnamed45___U3: undefined,\n runtime___5160: undefined,\n fps___5176: undefined,\n delay___5226: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction control_EventHandler_register__P216(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, control_EventHandler__C215_VT)) failedCast(r0);\n r0 = pxsim_pxtcore_mkAction(1, inline__P5239);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n r0 = s.arg0.fields[\"src\"];\n s.tmp_1 = r0;\n r0 = s.arg0.fields[\"value\"];\n s.tmp_2 = r0;\n r0 = s.arg0.fields[\"flags\"];\n s.tmp_3 = r0;\n r0 = pxsim.control.internalOnEvent(s.tmp_1, s.tmp_2, s.tmp_0, s.tmp_3);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_EventHandler_register__P216.info = {\"start\":1069,\"length\":165,\"line\":34,\"column\":8,\"endLine\":38,\"endColumn\":9,\"fileName\":\"pxt_modules/base/eventcontext.ts\",\"functionName\":\"register\",\"argumentNames\":[\"this\"]}\n\nfunction control_EventHandler_register__P216_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_EventHandler_register__P216, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P5239(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = s.caps[0].fields[\"handler\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_1 = lambda_1_mk(s);\n r0 = s.caps[0].fields[\"handler\"];\n s.tmp_1.argL = r0;\n setupLambda(s.tmp_1, s.tmp_1.argL);\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P5239.info = {\"start\":1140,\"length\":71,\"line\":35,\"column\":58,\"endLine\":37,\"endColumn\":13,\"fileName\":\"pxt_modules/base/eventcontext.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P5239_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P5239, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n} }\n\n\n\n\n\nfunction game_pushScene__P1019(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.oldScene___4855 = undefined;\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n s.oldScene___4855 = (r0);\n s.tmp_0 = particles_clearAll__P1317_mk(s);\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n s.tmp_0 = particles_disableAll__P1318_mk(s);\n s.pc = 7; return s.tmp_0;\n case 7:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(globals._sceneStack___1009);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_Array__mk();\n globals._sceneStack___1009 = (r0);\n case 1:\n case 2:\n r0 = pxsim_Array__push(globals._sceneStack___1009, globals._scene___1008);\n globals._scene___1008 = (undefined);\n s.tmp_0 = game_init__P1018_mk(s);\n s.pc = 8; return s.tmp_0;\n case 8:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(globals._scenePushHandlers___1010);\n if (!r0) { step = 3; continue; }\n r0 = pxsim_pxtcore_mkAction(1, inline__P4872);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.oldScene___4855);\n s.tmp_1 = helpers_arrayForEach__P47_mk(s);\n s.tmp_1.arg0 = globals._scenePushHandlers___1010;\n s.tmp_1.arg1 = s.tmp_0;\n s.pc = 9; return s.tmp_1;\n case 9:\n r0 = s.retval;\n case 3:\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_pushScene__P1019.info = {\"start\":1587,\"length\":369,\"line\":60,\"column\":4,\"endLine\":72,\"endColumn\":5,\"fileName\":\"pxt_modules/game/game.ts\",\"functionName\":\"pushScene\",\"argumentNames\":[]}\n\nfunction game_pushScene__P1019_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_pushScene__P1019, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n oldScene___4855: undefined,\n} }\n\n\n\n\n\nfunction inline__P4872(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = lambda_2_mk(s);\n s.tmp_0.argL = s.arg0;\n s.tmp_0.arg0 = s.caps[0];\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P4872.info = {\"start\":1920,\"length\":18,\"line\":70,\"column\":39,\"endLine\":70,\"endColumn\":57,\"fileName\":\"pxt_modules/game/game.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"cb\"]}\n\nfunction inline__P4872_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P4872, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction particles_disableAll__P1318(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.sources___4876 = undefined;\n s.tmp_0 = particles_particleSources__P1320_mk(s);\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.sources___4876 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.sources___4876);\n if (!r0) { step = 1; continue; }\n s.tmp_0 = helpers_arrayForEach__P47_mk(s);\n s.tmp_0.arg0 = s.sources___4876;\n s.tmp_0.arg1 = inline__P4881;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n s.tmp_0 = particles_pruneParticles__P1307_mk(s);\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_disableAll__P1318.info = {\"start\":11883,\"length\":195,\"line\":390,\"column\":4,\"endLine\":396,\"endColumn\":5,\"fileName\":\"pxt_modules/game/particles.ts\",\"functionName\":\"disableAll\",\"argumentNames\":[]}\n\nfunction particles_disableAll__P1318_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_disableAll__P1318, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n sources___4876: undefined,\n} }\n\n\n\n\n\nfunction inline__P4881(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = particles_ParticleSource_enabled__P1293_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = false;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = false;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P4881.info = {\"start\":12008,\"length\":22,\"line\":393,\"column\":28,\"endLine\":393,\"endColumn\":50,\"fileName\":\"pxt_modules/game/particles.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"s\"]}\n\nfunction inline__P4881_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P4881, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction particles_clearAll__P1317(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.sources___5032 = undefined;\n s.tmp_0 = particles_particleSources__P1320_mk(s);\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.sources___5032 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.sources___5032);\n if (!r0) { step = 1; continue; }\n s.tmp_0 = helpers_arrayForEach__P47_mk(s);\n s.tmp_0.arg0 = s.sources___5032;\n s.tmp_0.arg1 = inline__P5037;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n s.tmp_0 = particles_pruneParticles__P1307_mk(s);\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_clearAll__P1317.info = {\"start\":11611,\"length\":185,\"line\":379,\"column\":4,\"endLine\":385,\"endColumn\":5,\"fileName\":\"pxt_modules/game/particles.ts\",\"functionName\":\"clearAll\",\"argumentNames\":[]}\n\nfunction particles_clearAll__P1317_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_clearAll__P1317, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n sources___5032: undefined,\n} }\n\n\n\n\n\nfunction inline__P5037(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = particles_ParticleSource_clear__P1295_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P5037.info = {\"start\":11734,\"length\":14,\"line\":382,\"column\":28,\"endLine\":382,\"endColumn\":42,\"fileName\":\"pxt_modules/game/particles.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"s\"]}\n\nfunction inline__P5037_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P5037, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_init__P1018(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals._scene___1008);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_pxtcore_mkClassInstance(scene_Scene__C923_VT);\n s.tmp_2 = r0;\n s.tmp_3 = scene_Scene_constructor__P932_mk(s);\n s.tmp_3.arg0 = s.tmp_2;\n s.tmp_4 = control_pushEventContext__P236_mk(s);\n s.pc = 12; return s.tmp_4;\n case 12:\n r0 = s.retval;\n s.tmp_3.arg1 = r0;\n s.pc = 11; return s.tmp_3;\n case 11:\n r0 = s.retval;\n globals._scene___1008 = (s.tmp_2);\n case 1:\n case 2:\n s.tmp_0 = scene_Scene_init__P924_mk(s);\n s.tmp_0.arg0 = globals._scene___1008;\n s.pc = 13; return s.tmp_0;\n case 13:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(globals.winEffect___1001);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n globals.winEffect___1001 = (globals.confetti___1424);\n case 3:\n case 4:\n r0 = pxsim_numops_toBoolDecr(globals.loseEffect___1003);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n globals.loseEffect___1003 = (globals.melt___1444);\n case 5:\n case 6:\n r0 = pxsim_numops_toBoolDecr(globals.winSound___1007);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 7; continue; }\n globals.winSound___1007 = (globals.powerUp___371);\n case 7:\n case 8:\n r0 = pxsim_numops_toBoolDecr(globals.loseSound___1005);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 9; continue; }\n globals.loseSound___1005 = (globals.wawawawaa___368);\n case 9:\n case 10:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_init__P1018.info = {\"start\":1202,\"length\":379,\"line\":45,\"column\":4,\"endLine\":58,\"endColumn\":5,\"fileName\":\"pxt_modules/game/game.ts\",\"functionName\":\"init\",\"argumentNames\":[]}\n\nfunction game_init__P1018_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_init__P1018, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n} }\n\n\n\n\n\nfunction inline__P5347(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.rounds___5350 = undefined;\n s.j___5355 = undefined;\n s.x___5359 = undefined;\n s.y___5364 = undefined;\n s.c___5369 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_ImageMethods.width(s.arg0);\n s.tmp_1 = r0;\n r0 = pxsim_ImageMethods.height(s.arg0);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 * s.tmp_2);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 >> 5);\n s.rounds___5350 = (r0);\n s.j___5355 = (0);\n case 1:\n r0 = (s.j___5355 < s.rounds___5350);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n s.tmp_1 = Math_FastRandom_randomRange__P1158_mk(s);\n s.tmp_1.arg0 = s.arg1;\n s.tmp_1.arg1 = 0;\n r0 = pxsim_ImageMethods.width(s.arg0);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - 1);\n s.tmp_1.arg2 = r0;\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n s.x___5359 = (r0);\n s.tmp_0 = Math_FastRandom_randomRange__P1158_mk(s);\n s.tmp_0.arg0 = s.arg1;\n s.tmp_0.arg1 = 0;\n r0 = pxsim_ImageMethods.height(s.arg0);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - 3);\n s.tmp_0.arg2 = r0;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n s.y___5364 = (r0);\n r0 = pxsim_ImageMethods.getPixel(s.arg0, s.x___5359, s.y___5364);\n s.c___5369 = (r0);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_1 = r0 = s.x___5359;\n r0 = (s.y___5364 + 1);\n s.tmp_2 = r0;\n r0 = pxsim_ImageMethods.setPixel(s.tmp_0, s.tmp_1, s.tmp_2, s.c___5369);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_1 = r0 = s.x___5359;\n r0 = (s.y___5364 + 2);\n s.tmp_2 = r0;\n r0 = pxsim_ImageMethods.setPixel(s.tmp_0, s.tmp_1, s.tmp_2, s.c___5369);\n r0 = (s.j___5355 + 1);\n s.j___5355 = (r0);\n { step = 1; continue; }\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P5347.info = {\"start\":2652,\"length\":386,\"line\":72,\"column\":45,\"endLine\":81,\"endColumn\":5,\"fileName\":\"pxt_modules/game/effects.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"input\",\"r\"]}\n\nfunction inline__P5347_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P5347, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n rounds___5350: undefined,\n j___5355: undefined,\n x___5359: undefined,\n y___5364: undefined,\n c___5369: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Math_FastRandom_randomRange__P1158(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Math_FastRandom__C1156_VT)) failedCast(r0);\n r0 = (s.arg2 > s.arg1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_2 = Math_FastRandom_next__P1157_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 3; return s.tmp_2;\n case 3:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.arg2 - s.arg1);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 + 1);\n s.tmp_3 = r0;\n r0 = (s.tmp_1 % s.tmp_3);\n { step = 2; continue; }\n case 1:\n r0 = 0;\n case 2:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n r0 = (s.arg1 + s.tmp_5);\n return leave(s, r0)\n default: oops()\n} } }\nMath_FastRandom_randomRange__P1158.info = {\"start\":2046,\"length\":131,\"line\":61,\"column\":8,\"endLine\":63,\"endColumn\":9,\"fileName\":\"pxt_modules/game/mathUtil.ts\",\"functionName\":\"randomRange\",\"argumentNames\":[\"this\",\"min\",\"max\"]}\n\nfunction Math_FastRandom_randomRange__P1158_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Math_FastRandom_randomRange__P1158, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction Math_FastRandom_next__P1157(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Math_FastRandom__C1156_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.arg0.fields[\"lfsr\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 >> 1);\n s.tmp_2 = r0;\n r0 = s.arg0.fields[\"lfsr\"];\n s.tmp_7 = r0;\n r0 = (s.tmp_7 & 1);\n s.tmp_6 = r0;\n r0 = (0 - s.tmp_6);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 & 46080);\n s.tmp_4 = r0;\n r0 = (s.tmp_2 ^ s.tmp_4);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"lfsr\"] = (s.tmp_1);\n r0 = s.tmp_1;\n return leave(s, r0)\n default: oops()\n} } }\nMath_FastRandom_next__P1157.info = {\"start\":1680,\"length\":107,\"line\":52,\"column\":8,\"endLine\":54,\"endColumn\":9,\"fileName\":\"pxt_modules/game/mathUtil.ts\",\"functionName\":\"next\",\"argumentNames\":[\"this\"]}\n\nfunction Math_FastRandom_next__P1157_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Math_FastRandom_next__P1157, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction effects_ImageEffect_constructor__P1442(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, effects_ImageEffect__C1438_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"effect\"] = (s.arg2);\n r0 = pxsim_pxtcore_mkClassInstance(Math_FastRandom__C1156_VT);\n s.tmp_0 = r0;\n s.tmp_1 = Math_FastRandom_constructor__P1163_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = undefined;\n s.pc = 1; return s.tmp_1;\n case 1:\n r0 = s.retval;\n r0 = (s.arg0).fields[\"fastRandom\"] = (s.tmp_0);\n r0 = (s.arg0).fields[\"preferredDelay\"] = (s.arg1);\n r0 = (s.arg0).fields[\"times\"] = (undefined);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\neffects_ImageEffect_constructor__P1442.info = {\"start\":410,\"length\":290,\"line\":10,\"column\":8,\"endLine\":15,\"endColumn\":9,\"fileName\":\"pxt_modules/game/effects.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"defaultRate\",\"effectFactory\"]}\n\nfunction effects_ImageEffect_constructor__P1442_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: effects_ImageEffect_constructor__P1442, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction scene_Scene_constructor__P932(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Scene__C923_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"eventContext\"] = (s.arg1);\n r0 = (s.arg0).fields[\"flags\"] = (0);\n r0 = pxsim_pxtcore_mkClassInstance(ArcadePhysicsEngine__C727_VT);\n s.tmp_0 = r0;\n s.tmp_1 = ArcadePhysicsEngine_constructor__P739_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = 500;\n s.tmp_1.arg2 = 2;\n s.tmp_1.arg3 = 4;\n s.pc = 1; return s.tmp_1;\n case 1:\n r0 = s.retval;\n r0 = (s.arg0).fields[\"physicsEngine\"] = (s.tmp_0);\n r0 = pxsim_pxtcore_mkClassInstance(scene_Camera__C886_VT);\n s.tmp_0 = r0;\n s.tmp_1 = scene_Camera_constructor__P889_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n r0 = (s.arg0).fields[\"camera\"] = (s.tmp_0);\n r0 = pxsim_pxtcore_mkClassInstance(scene_Background__C846_VT);\n s.tmp_0 = r0;\n s.tmp_1 = scene_Background_constructor__P852_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n r0 = s.arg0.fields[\"camera\"];\n s.tmp_1.arg1 = r0;\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n r0 = (s.arg0).fields[\"background\"] = (s.tmp_0);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"destroyedHandlers\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"createdHandlers\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"overlapHandlers\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_pxtrt.mkMap();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"overlapMap\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"collisionHandlers\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"gameForeverHandlers\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_pxtrt.mkMap();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"spritesByKind\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"controlledSprites\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_pxtrt.mkMap();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"_data\"] = (s.tmp_1);\n r0 = (s.arg0).fields[\"_millis\"] = (0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_Scene_constructor__P932.info = {\"start\":2508,\"length\":672,\"line\":81,\"column\":8,\"endLine\":97,\"endColumn\":9,\"fileName\":\"pxt_modules/game/scene.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"eventContext\"]}\n\nfunction scene_Scene_constructor__P932_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Scene_constructor__P932, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction scene_Camera_constructor__P889(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Camera__C886_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"offsetX\"] = (0);\n r0 = (s.arg0).fields[\"offsetY\"] = (0);\n r0 = (s.arg0).fields[\"drawOffsetX\"] = (0);\n r0 = (s.arg0).fields[\"drawOffsetY\"] = (0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_Camera_constructor__P889.info = {\"start\":427,\"length\":154,\"line\":14,\"column\":8,\"endLine\":20,\"endColumn\":9,\"fileName\":\"pxt_modules/game/camera.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\"]}\n\nfunction scene_Camera_constructor__P889_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Camera_constructor__P889, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_Background_constructor__P852(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Background__C846_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"color\"] = (0);\n r0 = (s.arg0).fields[\"camera\"] = (s.arg1);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"_layers\"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_Background_constructor__P852.info = {\"start\":367,\"length\":132,\"line\":20,\"column\":8,\"endLine\":24,\"endColumn\":9,\"fileName\":\"pxt_modules/game/background.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"camera\"]}\n\nfunction scene_Background_constructor__P852_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Background_constructor__P852, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction ArcadePhysicsEngine_constructor__P739(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, ArcadePhysicsEngine__C727_VT)) failedCast(r0);\n r0 = undefined;\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"sprites\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg1 * 256);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"maxVelocity\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.arg0.fields[\"maxVelocity\"];\n s.tmp_2 = r0;\n r0 = (0 - s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"maxNegativeVelocity\"] = (s.tmp_1);\n r0 = pxsim_pxtcore_mkClassInstance(sprites_SpriteMap__C659_VT);\n s.tmp_0 = r0;\n s.tmp_1 = sprites_SpriteMap_constructor__P671_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.pc = 1; return s.tmp_1;\n case 1:\n r0 = s.retval;\n r0 = (s.arg0).fields[\"map\"] = (s.tmp_0);\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg2 * 256);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"minSingleStep\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg3 * 256);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"maxSingleStep\"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nArcadePhysicsEngine_constructor__P739.info = {\"start\":1262,\"length\":368,\"line\":53,\"column\":4,\"endLine\":61,\"endColumn\":5,\"fileName\":\"pxt_modules/game/physics.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"maxVelocity\",\"minSingleStep\",\"maxSingleStep\"]}\n\nfunction ArcadePhysicsEngine_constructor__P739_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: ArcadePhysicsEngine_constructor__P739, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction PhysicsEngine_constructor__P715(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, PhysicsEngine__C708_VT)) failedCast(r0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nPhysicsEngine_constructor__P715.info = {\"start\":26,\"length\":21,\"line\":1,\"column\":4,\"endLine\":2,\"endColumn\":5,\"fileName\":\"pxt_modules/game/physics.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\"]}\n\nfunction PhysicsEngine_constructor__P715_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: PhysicsEngine_constructor__P715, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction sprites_SpriteMap_constructor__P671(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_SpriteMap__C659_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"buckets\"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_SpriteMap_constructor__P671.info = {\"start\":237,\"length\":56,\"line\":8,\"column\":8,\"endLine\":10,\"endColumn\":9,\"fileName\":\"pxt_modules/game/spritemap.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\"]}\n\nfunction sprites_SpriteMap_constructor__P671_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_SpriteMap_constructor__P671, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Fx_neg__P84(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = (0 - s.arg0);\n return leave(s, r0)\n default: oops()\n} } }\nFx_neg__P84.info = {\"start\":298,\"length\":88,\"line\":14,\"column\":4,\"endLine\":16,\"endColumn\":5,\"fileName\":\"pxt_modules/base/fixed.ts\",\"functionName\":\"neg\",\"argumentNames\":[\"a\"]}\n\nfunction Fx_neg__P84_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Fx_neg__P84, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_Scene_init__P924(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Scene__C923_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"allSprites\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 3; continue; }\n case 1:\n case 2:\n s.tmp_1 = power_poke__P392_mk(s);\n s.pc = 4; return s.tmp_1;\n case 4:\n r0 = s.retval;\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"allSprites\"] = (s.tmp_1);\n r0 = (s.arg0).fields[\"spriteNextId\"] = (0);\n r0 = pxsim_pxtcore_mkAction(1, inline__P5404);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n s.tmp_1 = control_EventContext_registerFrameHandler__P226_mk(s);\n r0 = s.arg0.fields[\"eventContext\"];\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = 8;\n s.tmp_1.arg2 = s.tmp_0;\n s.pc = 5; return s.tmp_1;\n case 5:\n r0 = s.retval;\n s.tmp_0 = control_EventContext_registerFrameHandler__P226_mk(s);\n r0 = s.arg0.fields[\"eventContext\"];\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = 13;\n s.tmp_0.arg2 = controller__moveSprites__P556;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkAction(1, inline__P5427);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n s.tmp_1 = control_EventContext_registerFrameHandler__P226_mk(s);\n r0 = s.arg0.fields[\"eventContext\"];\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = 15;\n s.tmp_1.arg2 = s.tmp_0;\n s.pc = 7; return s.tmp_1;\n case 7:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkAction(1, inline__P5455);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n s.tmp_1 = control_EventContext_registerFrameHandler__P226_mk(s);\n r0 = s.arg0.fields[\"eventContext\"];\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = 90;\n s.tmp_1.arg2 = s.tmp_0;\n s.pc = 8; return s.tmp_1;\n case 8:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkAction(1, inline__P5467);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n s.tmp_1 = control_EventContext_registerFrameHandler__P226_mk(s);\n r0 = s.arg0.fields[\"eventContext\"];\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = 150;\n s.tmp_1.arg2 = s.tmp_0;\n s.pc = 9; return s.tmp_1;\n case 9:\n r0 = s.retval;\n s.tmp_0 = control_EventContext_registerFrameHandler__P226_mk(s);\n r0 = s.arg0.fields[\"eventContext\"];\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = 200;\n s.tmp_0.arg2 = control___screen_update__P435;\n s.pc = 10; return s.tmp_0;\n case 10:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkAction(1, inline__P5497);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n s.tmp_1 = helpers_arrayForEach__P47_mk(s);\n s.tmp_1.arg0 = globals.scene_Scene_initializers___931;\n s.tmp_1.arg1 = s.tmp_0;\n s.pc = 11; return s.tmp_1;\n case 11:\n r0 = s.retval;\n case 3:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_Scene_init__P924.info = {\"start\":3190,\"length\":2391,\"line\":99,\"column\":8,\"endLine\":155,\"endColumn\":9,\"fileName\":\"pxt_modules/game/scene.ts\",\"functionName\":\"init\",\"argumentNames\":[\"this\"]}\n\nfunction scene_Scene_init__P924_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Scene_init__P924, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P5404(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = r0 = s.caps[0];\n r0 = s.tmp_0.fields[\"_millis\"];\n s.tmp_2 = r0;\n r0 = s.caps[0].fields[\"eventContext\"];\n r0 = r0.fields[\"deltaTimeMillis\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_2 + s.tmp_3);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"_millis\"] = (s.tmp_1);\n s.tmp_0 = controller___update__P582_mk(s);\n r0 = s.caps[0].fields[\"eventContext\"];\n s.tmp_1 = r0;\n r0 = s.tmp_1.fields[\"deltaTimeMillis\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 / 1000);\n s.tmp_0.arg0 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P5404.info = {\"start\":3480,\"length\":217,\"line\":106,\"column\":72,\"endLine\":110,\"endColumn\":13,\"fileName\":\"pxt_modules/game/scene.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P5404_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P5404, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n} }\n\n\n\n\n\nfunction inline__P5427(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.dt___5430 = undefined;\n s.s___5442 = undefined;\n s.unnamed66___U2 = undefined;\n s.unnamed67___U3 = undefined;\n r0 = s.caps[0].fields[\"eventContext\"];\n s.tmp_0 = r0;\n r0 = s.tmp_0.fields[\"deltaTimeMillis\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 / 1000);\n s.dt___5430 = (r0);\n s.tmp_0 = PhysicsEngine__C708_v4_2_mk(s);\n r0 = s.caps[0].fields[\"physicsEngine\"];\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = s.dt___5430;\n if (!checkSubtype(s.tmp_0.arg0, PhysicsEngine__C708_VT)) failedCast(s.tmp_0.arg0);\n s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.move;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.tmp_0 = scene_Camera_update__P888_mk(s);\n r0 = s.caps[0].fields[\"camera\"];\n s.tmp_0.arg0 = r0;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n s.s___5442 = (undefined);\n s.s___5442 = (undefined);\n r0 = s.caps[0].fields[\"allSprites\"];\n s.unnamed66___U2 = (r0);\n s.unnamed67___U3 = (0);\n case 1:\n s.tmp_0 = r0 = s.unnamed67___U3;\n r0 = pxsim_Array__length(s.unnamed66___U2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 2; continue; }\n r0 = pxsim_Array__getAt(s.unnamed66___U2, s.unnamed67___U3);\n s.s___5442 = (r0);\n s.tmp_2 = if___update_3_mk(s);\n s.tmp_2.arg0 = s.s___5442;\n r0 = s.caps[0].fields[\"camera\"];\n s.tmp_2.arg1 = r0;\n s.tmp_2.arg2 = s.dt___5430;\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface[\"__update\"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields[\"__update\"]; }\n else { s.pc = 5; return s.tmp_2; }\n case 5:\n r0 = s.retval;\n r0 = (s.unnamed67___U3 + 1);\n s.unnamed67___U3 = (r0);\n { step = 1; continue; }\n case 2:\n s.unnamed66___U2 = (undefined);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P5427.info = {\"start\":3992,\"length\":328,\"line\":115,\"column\":69,\"endLine\":124,\"endColumn\":13,\"fileName\":\"pxt_modules/game/scene.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P5427_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P5427, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n dt___5430: undefined,\n s___5442: undefined,\n unnamed66___U2: undefined,\n unnamed67___U3: undefined,\n} }\n\n\n\n\n\nfunction inline__P5455(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = (s.caps[0]).fields[\"cachedRender\"] = (undefined);\n s.tmp_0 = scene_Scene_renderCore__P930_mk(s);\n s.tmp_0.arg0 = s.caps[0];\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P5455.info = {\"start\":4495,\"length\":160,\"line\":130,\"column\":76,\"endLine\":134,\"endColumn\":13,\"fileName\":\"pxt_modules/game/scene.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P5455_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P5455, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction inline__P5467(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = r0 = globals.stats___999;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = globals.control_EventContext_onStats___232;\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 3; continue; }\n s.tmp_2 = lambda_2_mk(s);\n s.tmp_2.argL = globals.control_EventContext_onStats___232;\n if ((globals.control_EventContext_lastStats___231) && (globals.control_EventContext_lastStats___231).vtable) {\n setupResume(s, 8);\n pxsim_String__stringConv(globals.control_EventContext_lastStats___231);\n checkResumeConsumed();\n return;\n } else { s.retval = (globals.control_EventContext_lastStats___231) + \"\"; }\n case 8:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = s.caps[0].fields[\"allSprites\"];\n s.tmp_8 = r0;\n r0 = pxsim_Array__length(s.tmp_8);\n s.tmp_7 = r0;\n if ((s.tmp_7) && (s.tmp_7).vtable) {\n setupResume(s, 9);\n pxsim_String__stringConv(s.tmp_7);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_7) + \"\"; }\n case 9:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = pxsim_String__concat(\" sprites:\", s.tmp_6);\n s.tmp_5 = r0;\n if ((s.tmp_5) && (s.tmp_5).vtable) {\n setupResume(s, 10);\n pxsim_String__stringConv(s.tmp_5);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_5) + \"\"; }\n case 10:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = pxsim_String__concat(s.tmp_3, s.tmp_4);\n s.tmp_2.arg0 = r0;\n setupLambda(s.tmp_2, s.tmp_2.argL);\n s.pc = 7; return s.tmp_2;\n case 7:\n r0 = s.retval;\n case 3:\n case 4:\n r0 = pxsim_numops_toBoolDecr(globals.debug___998);\n if (!r0) { step = 5; continue; }\n s.tmp_0 = PhysicsEngine__C708_v3_1_mk(s);\n r0 = s.caps[0].fields[\"physicsEngine\"];\n s.tmp_0.arg0 = r0;\n if (!checkSubtype(s.tmp_0.arg0, PhysicsEngine__C708_VT)) failedCast(s.tmp_0.arg0);\n s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.draw;\n s.pc = 11; return s.tmp_0;\n case 11:\n r0 = s.retval;\n case 5:\n case 6:\n s.tmp_0 = game_consoleOverlay_draw__P1271_mk(s);\n s.pc = 12; return s.tmp_0;\n case 12:\n r0 = s.retval;\n r0 = (s.caps[0]).fields[\"flags\"] = (0);\n s.tmp_0 = power_checkDeepSleep__P393_mk(s);\n s.pc = 13; return s.tmp_0;\n case 13:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P5467.info = {\"start\":4772,\"length\":567,\"line\":136,\"column\":80,\"endLine\":150,\"endColumn\":13,\"fileName\":\"pxt_modules/game/scene.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P5467_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P5467, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n} }\n\n\n\n\n\nfunction inline__P5497(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = lambda_2_mk(s);\n s.tmp_0.argL = s.arg0;\n s.tmp_0.arg0 = s.caps[0];\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P5497.info = {\"start\":5557,\"length\":12,\"line\":154,\"column\":39,\"endLine\":154,\"endColumn\":51,\"fileName\":\"pxt_modules/game/scene.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"f\"]}\n\nfunction inline__P5497_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P5497, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_consoleOverlay_draw__P1271(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.height___5534 = undefined;\n s.top___5538 = undefined;\n s.i___5543 = undefined;\n s.t___5554 = undefined;\n s.tOff___5560 = undefined;\n s.tab___5562 = undefined;\n s.unnamed70___U6 = undefined;\n s.unnamed71___U7 = undefined;\n s.padding___5564 = undefined;\n r0 = pxsim_numops_toBoolDecr(globals.consoleStrings___1239);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = pxsim_numops_toBoolDecr(globals.instance___1164);\n s.tmp_4 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_4);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n case 2:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_5);\n if (!r0) { step = 3; continue; }\n { step = 13; continue; }\n case 3:\n case 4:\n s.tmp_7 = if_charHeight_1_mk(s);\n s.tmp_7.arg0 = globals.consoleFont___1244;\n if (!s.tmp_7.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_7.arg0, \"charHeight\");\n } else {\n s.tmp_7.fn = s.tmp_7.arg0.vtable.iface[\"charHeight\"];\n if (s.tmp_7.fn == null) { s.retval = s.tmp_7.arg0.fields[\"charHeight\"]; }\n else { s.pc = 14; return s.tmp_7; }\n }\n case 14:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = (s.tmp_6 + 2);\n s.height___5534 = (r0);\n r0 = pxsim_numops_toBoolDecr(globals.stats___999);\n if (!r0) { step = 5; continue; }\n r0 = s.height___5534;\n { step = 6; continue; }\n case 5:\n r0 = 0;\n case 6:\n // jmp value (already in r0)\n s.tmp_0 = r0;\n r0 = (2 + s.tmp_0);\n s.top___5538 = (r0);\n s.i___5543 = (0);\n case 7:\n s.tmp_1 = r0 = s.i___5543;\n r0 = pxsim_Array__length(globals.consoleStrings___1239);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 12; continue; }\n r0 = pxsim_Array__getAt(globals.consoleStrings___1239, s.i___5543);\n s.tmp_5 = r0;\n r0 = pxsim_String_.indexOf(s.tmp_5, \"\\\\t\", undefined);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 >= 0);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 10; continue; }\n s.tmp_6 = helpers_stringSplit__P55_mk(s);\n r0 = pxsim_Array__getAt(globals.consoleStrings___1239, s.i___5543);\n s.tmp_6.arg0 = r0;\n s.tmp_6.arg1 = \"\\\\t\";\n s.tmp_6.arg2 = undefined;\n s.pc = 15; return s.tmp_6;\n case 15:\n r0 = s.retval;\n s.t___5554 = (r0);\n s.tOff___5560 = (0);\n s.tab___5562 = (undefined);\n s.tab___5562 = (undefined);\n s.unnamed70___U6 = (s.t___5554);\n s.unnamed71___U7 = (0);\n case 8:\n s.tmp_0 = r0 = s.unnamed71___U7;\n r0 = pxsim_Array__length(s.unnamed70___U6);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 9; continue; }\n r0 = pxsim_Array__getAt(s.unnamed70___U6, s.unnamed71___U7);\n s.tab___5562 = (r0);\n s.tmp_2 = r0 = globals.tabSize___1240;\n s.tmp_5 = r0 = s.tOff___5560;\n r0 = pxsim_String_.length(s.tab___5562);\n s.tmp_6 = r0;\n r0 = (s.tmp_5 + s.tmp_6);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 % globals.tabSize___1240);\n s.tmp_3 = r0;\n r0 = (s.tmp_2 - s.tmp_3);\n s.padding___5564 = (r0);\n s.tmp_0 = helpers_imagePrint__P432_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_0.arg1 = s.tab___5562;\n s.tmp_2 = r0 = s.tOff___5560;\n s.tmp_4 = if_charWidth_1_mk(s);\n s.tmp_4.arg0 = globals.consoleFont___1244;\n if (!s.tmp_4.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_4.arg0, \"charWidth\");\n } else {\n s.tmp_4.fn = s.tmp_4.arg0.vtable.iface[\"charWidth\"];\n if (s.tmp_4.fn == null) { s.retval = s.tmp_4.arg0.fields[\"charWidth\"]; }\n else { s.pc = 17; return s.tmp_4; }\n }\n case 17:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_2 * s.tmp_3);\n s.tmp_1 = r0;\n r0 = (4 + s.tmp_1);\n s.tmp_0.arg2 = r0;\n s.tmp_5 = r0 = s.top___5538;\n r0 = (s.i___5543 * s.height___5534);\n s.tmp_6 = r0;\n r0 = (s.tmp_5 + s.tmp_6);\n s.tmp_0.arg3 = r0;\n s.tmp_0.arg4 = globals.consoleColor___1238;\n s.tmp_0.arg5 = globals.consoleFont___1244;\n s.tmp_0.arg6 = undefined;\n s.pc = 16; return s.tmp_0;\n case 16:\n r0 = s.retval;\n s.tmp_0 = r0 = s.tOff___5560;\n r0 = pxsim_String_.length(s.tab___5562);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.padding___5564);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n s.tOff___5560 = (r0);\n r0 = (s.unnamed71___U7 + 1);\n s.unnamed71___U7 = (r0);\n { step = 8; continue; }\n case 9:\n s.unnamed70___U6 = (undefined);\n { step = 11; continue; }\n case 10:\n s.tmp_0 = helpers_imagePrint__P432_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n r0 = pxsim_Array__getAt(globals.consoleStrings___1239, s.i___5543);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = 4;\n s.tmp_1 = r0 = s.top___5538;\n r0 = (s.i___5543 * s.height___5534);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 + s.tmp_2);\n s.tmp_0.arg3 = r0;\n s.tmp_0.arg4 = globals.consoleColor___1238;\n s.tmp_0.arg5 = globals.consoleFont___1244;\n s.tmp_0.arg6 = undefined;\n s.pc = 18; return s.tmp_0;\n case 18:\n r0 = s.retval;\n case 11:\n r0 = (s.i___5543 + 1);\n s.i___5543 = (r0);\n { step = 7; continue; }\n case 12:\n case 13:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_consoleOverlay_draw__P1271.info = {\"start\":1364,\"length\":859,\"line\":44,\"column\":4,\"endLine\":61,\"endColumn\":5,\"fileName\":\"pxt_modules/game/console.ts\",\"functionName\":\"draw\",\"argumentNames\":[]}\n\nfunction game_consoleOverlay_draw__P1271_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_consoleOverlay_draw__P1271, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n height___5534: undefined,\n top___5538: undefined,\n i___5543: undefined,\n t___5554: undefined,\n tOff___5560: undefined,\n tab___5562: undefined,\n unnamed70___U6: undefined,\n unnamed71___U7: undefined,\n padding___5564: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_isVisible__P1198(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals.instance___1164);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_isVisible__P1198.info = {\"start\":12489,\"length\":62,\"line\":378,\"column\":4,\"endLine\":380,\"endColumn\":5,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"isVisible\",\"argumentNames\":[]}\n\nfunction scene_systemMenu_isVisible__P1198_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_isVisible__P1198, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n} }\n\n\n\n\n\nfunction helpers_imagePrint__P432(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.x0___2456 = undefined;\n s.cp___2458 = undefined;\n s.mult___2459 = undefined;\n s.dataW___2465 = undefined;\n s.dataH___2471 = undefined;\n s.byteHeight___2477 = undefined;\n s.charSize___2480 = undefined;\n s.dataSize___2483 = undefined;\n s.fontdata___2486 = undefined;\n s.lastchar___2490 = undefined;\n s.imgBuf___2497 = undefined;\n s.xOffset___2518 = undefined;\n s.yOffset___2519 = undefined;\n s.ch___2533 = undefined;\n s.l___2550 = undefined;\n s.r___2551 = undefined;\n s.off___2553 = undefined;\n s.guess___2554 = undefined;\n s.m___2570 = undefined;\n s.v___2575 = undefined;\n s.i___2622 = undefined;\n s.j___2626 = undefined;\n s.mask___2627 = undefined;\n s.c___2628 = undefined;\n s.n___2643 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.arg5 = (s.lambdaArgs[5]);\n s.arg6 = (s.lambdaArgs[6]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg2 | 0);\n s.arg2 = (r0);\n r0 = (s.arg3 | 0);\n s.arg3 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.arg5);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_2 = image_getFontForText__P425_mk(s);\n s.tmp_2.arg0 = s.arg1;\n s.pc = 39; return s.tmp_2;\n case 39:\n r0 = s.retval;\n s.arg5 = (r0);\n case 1:\n case 2:\n r0 = pxsim_numops_toBoolDecr(s.arg4);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.arg4 = (1);\n case 3:\n case 4:\n s.x0___2456 = (s.arg2);\n s.cp___2458 = (0);\n s.tmp_1 = if_multiplier_1_mk(s);\n s.tmp_1.arg0 = s.arg5;\n if (!s.tmp_1.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, \"multiplier\");\n } else {\n s.tmp_1.fn = s.tmp_1.arg0.vtable.iface[\"multiplier\"];\n if (s.tmp_1.fn == null) { s.retval = s.tmp_1.arg0.fields[\"multiplier\"]; }\n else { s.pc = 40; return s.tmp_1; }\n }\n case 40:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n s.tmp_2 = if_multiplier_1_mk(s);\n s.tmp_2.arg0 = s.arg5;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, \"multiplier\");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface[\"multiplier\"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields[\"multiplier\"]; }\n else { s.pc = 41; return s.tmp_2; }\n }\n case 41:\n r0 = s.retval;\n { step = 6; continue; }\n case 5:\n r0 = 1;\n case 6:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n s.mult___2459 = (s.tmp_3);\n s.tmp_1 = if_charWidth_1_mk(s);\n s.tmp_1.arg0 = s.arg5;\n if (!s.tmp_1.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, \"charWidth\");\n } else {\n s.tmp_1.fn = s.tmp_1.arg0.vtable.iface[\"charWidth\"];\n if (s.tmp_1.fn == null) { s.retval = s.tmp_1.arg0.fields[\"charWidth\"]; }\n else { s.pc = 42; return s.tmp_1; }\n }\n case 42:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim.Math_.idiv(s.tmp_0, s.mult___2459);\n s.dataW___2465 = (r0);\n s.tmp_1 = if_charHeight_1_mk(s);\n s.tmp_1.arg0 = s.arg5;\n if (!s.tmp_1.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, \"charHeight\");\n } else {\n s.tmp_1.fn = s.tmp_1.arg0.vtable.iface[\"charHeight\"];\n if (s.tmp_1.fn == null) { s.retval = s.tmp_1.arg0.fields[\"charHeight\"]; }\n else { s.pc = 43; return s.tmp_1; }\n }\n case 43:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim.Math_.idiv(s.tmp_0, s.mult___2459);\n s.dataH___2471 = (r0);\n r0 = (s.dataH___2471 + 7);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 >> 3);\n s.byteHeight___2477 = (r0);\n r0 = (s.byteHeight___2477 * s.dataW___2465);\n s.charSize___2480 = (r0);\n r0 = (2 + s.charSize___2480);\n s.dataSize___2483 = (r0);\n s.tmp_0 = if_data_1_mk(s);\n s.tmp_0.arg0 = s.arg5;\n if (!s.tmp_0.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_0.arg0, \"data\");\n } else {\n s.tmp_0.fn = s.tmp_0.arg0.vtable.iface[\"data\"];\n if (s.tmp_0.fn == null) { s.retval = s.tmp_0.arg0.fields[\"data\"]; }\n else { s.pc = 44; return s.tmp_0; }\n }\n case 44:\n r0 = s.retval;\n s.fontdata___2486 = (r0);\n r0 = pxsim.BufferMethods.length(s.fontdata___2486);\n s.tmp_1 = r0;\n r0 = pxsim.Math_.idiv(s.tmp_1, s.dataSize___2483);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 - 1);\n s.lastchar___2490 = (r0);\n r0 = (s.mult___2459 == 1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 7; continue; }\n r0 = (8 + s.charSize___2480);\n s.tmp_1 = r0;\n r0 = pxsim.control.createBuffer(s.tmp_1);\n s.imgBuf___2497 = (r0);\n r0 = pxsim.BufferMethods.setByte(s.imgBuf___2497, 0, 135);\n r0 = pxsim.BufferMethods.setByte(s.imgBuf___2497, 1, 1);\n r0 = pxsim.BufferMethods.setByte(s.imgBuf___2497, 2, s.dataW___2465);\n r0 = pxsim.BufferMethods.setByte(s.imgBuf___2497, 4, s.dataH___2471);\n case 7:\n case 8:\n case 9:\n s.tmp_1 = r0 = s.cp___2458;\n r0 = pxsim_String_.length(s.arg1);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 38; continue; }\n s.xOffset___2518 = (0);\n s.yOffset___2519 = (0);\n s.tmp_0 = r0 = s.arg6;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 10; continue; }\n r0 = s.tmp_0;\n { step = 11; continue; }\n case 10:\n s.tmp_1 = r0 = s.cp___2458;\n r0 = pxsim_Array__length(s.arg6);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n case 11:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 12; continue; }\n s.tmp_4 = if_xOffset_1_mk(s);\n r0 = pxsim_Array__getAt(s.arg6, s.cp___2458);\n s.tmp_4.arg0 = r0;\n if (!s.tmp_4.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_4.arg0, \"xOffset\");\n } else {\n s.tmp_4.fn = s.tmp_4.arg0.vtable.iface[\"xOffset\"];\n if (s.tmp_4.fn == null) { s.retval = s.tmp_4.arg0.fields[\"xOffset\"]; }\n else { s.pc = 45; return s.tmp_4; }\n }\n case 45:\n r0 = s.retval;\n s.xOffset___2518 = (r0);\n s.tmp_0 = if_yOffset_1_mk(s);\n r0 = pxsim_Array__getAt(s.arg6, s.cp___2458);\n s.tmp_0.arg0 = r0;\n if (!s.tmp_0.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_0.arg0, \"yOffset\");\n } else {\n s.tmp_0.fn = s.tmp_0.arg0.vtable.iface[\"yOffset\"];\n if (s.tmp_0.fn == null) { s.retval = s.tmp_0.arg0.fields[\"yOffset\"]; }\n else { s.pc = 46; return s.tmp_0; }\n }\n case 46:\n r0 = s.retval;\n s.yOffset___2519 = (r0);\n case 12:\n case 13:\n s.tmp_0 = r0 = s.cp___2458;\n r0 = (s.tmp_0 + 1);\n s.cp___2458 = (r0);\n r0 = pxsim_String_.charCodeAt(s.arg1, s.tmp_0);\n s.ch___2533 = (r0);\n r0 = (s.ch___2533 == 10);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 14; continue; }\n s.tmp_1 = r0 = s.arg3;\n s.tmp_4 = if_charHeight_1_mk(s);\n s.tmp_4.arg0 = s.arg5;\n if (!s.tmp_4.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_4.arg0, \"charHeight\");\n } else {\n s.tmp_4.fn = s.tmp_4.arg0.vtable.iface[\"charHeight\"];\n if (s.tmp_4.fn == null) { s.retval = s.tmp_4.arg0.fields[\"charHeight\"]; }\n else { s.pc = 47; return s.tmp_4; }\n }\n case 47:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_3 + 2);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 + s.tmp_2);\n s.arg3 = (r0);\n s.arg2 = (s.x0___2456);\n case 14:\n case 15:\n r0 = (s.ch___2533 < 32);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 16; continue; }\n { step = 9; continue; }\n case 16:\n case 17:\n s.l___2550 = (0);\n s.r___2551 = (s.lastchar___2490);\n s.off___2553 = (0);\n r0 = (s.ch___2533 - 32);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 * s.dataSize___2483);\n s.guess___2554 = (r0);\n r0 = pxsim.BufferMethods.getNumber(s.fontdata___2486, 4, s.guess___2554);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 == s.ch___2533);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 18; continue; }\n s.off___2553 = (s.guess___2554);\n { step = 25; continue; }\n case 18:\n case 19:\n r0 = (s.l___2550 <= s.r___2551);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 24; continue; }\n s.tmp_1 = r0 = s.l___2550;\n r0 = (s.r___2551 - s.l___2550);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 >> 1);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 + s.tmp_2);\n s.m___2570 = (r0);\n s.tmp_0 = r0 = s.fontdata___2486;\n r0 = (s.m___2570 * s.dataSize___2483);\n s.tmp_1 = r0;\n r0 = pxsim.BufferMethods.getNumber(s.tmp_0, 4, s.tmp_1);\n s.v___2575 = (r0);\n r0 = (s.v___2575 == s.ch___2533);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 20; continue; }\n r0 = (s.m___2570 * s.dataSize___2483);\n s.off___2553 = (r0);\n { step = 24; continue; }\n case 20:\n case 21:\n r0 = (s.v___2575 < s.ch___2533);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 22; continue; }\n r0 = (s.m___2570 + 1);\n s.l___2550 = (r0);\n { step = 23; continue; }\n case 22:\n r0 = (s.m___2570 - 1);\n s.r___2551 = (r0);\n case 23:\n { step = 19; continue; }\n case 24:\n case 25:\n r0 = (s.mult___2459 == 1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 26; continue; }\n s.tmp_1 = r0 = s.imgBuf___2497;\n s.tmp_3 = r0 = s.fontdata___2486;\n r0 = (s.off___2553 + 2);\n s.tmp_4 = r0;\n r0 = pxsim.BufferMethods.slice(s.tmp_3, s.tmp_4, s.charSize___2480);\n s.tmp_2 = r0;\n r0 = pxsim.BufferMethods.write(s.tmp_1, 8, s.tmp_2);\n s.tmp_0 = helpers_imageDrawIcon__P410_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.imgBuf___2497;\n r0 = (s.arg2 + s.xOffset___2518);\n s.tmp_0.arg2 = r0;\n r0 = (s.arg3 + s.yOffset___2519);\n s.tmp_0.arg3 = r0;\n s.tmp_0.arg4 = s.arg4;\n s.pc = 48; return s.tmp_0;\n case 48:\n r0 = s.retval;\n s.tmp_0 = r0 = s.arg2;\n s.tmp_2 = if_charWidth_1_mk(s);\n s.tmp_2.arg0 = s.arg5;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, \"charWidth\");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface[\"charWidth\"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields[\"charWidth\"]; }\n else { s.pc = 49; return s.tmp_2; }\n }\n case 49:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n s.arg2 = (r0);\n { step = 37; continue; }\n case 26:\n r0 = (s.off___2553 + 2);\n s.off___2553 = (r0);\n s.i___2622 = (0);\n case 27:\n r0 = (s.i___2622 < s.dataW___2465);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 36; continue; }\n s.j___2626 = (0);\n s.mask___2627 = (1);\n s.tmp_0 = r0 = s.off___2553;\n r0 = (s.tmp_0 + 1);\n s.off___2553 = (r0);\n r0 = pxsim.BufferMethods.getByte(s.fontdata___2486, s.tmp_0);\n s.c___2628 = (r0);\n case 28:\n r0 = (s.j___2626 < s.dataH___2471);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 35; continue; }\n r0 = (s.mask___2627 == 256);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 29; continue; }\n s.tmp_2 = r0 = s.off___2553;\n r0 = (s.tmp_2 + 1);\n s.off___2553 = (r0);\n r0 = pxsim.BufferMethods.getByte(s.fontdata___2486, s.tmp_2);\n s.c___2628 = (r0);\n s.mask___2627 = (1);\n case 29:\n case 30:\n s.n___2643 = (0);\n case 31:\n r0 = (s.c___2628 & s.mask___2627);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 32; continue; }\n r0 = (s.n___2643 + 1);\n s.n___2643 = (r0);\n r0 = (s.mask___2627 << 1);\n s.mask___2627 = (r0);\n { step = 31; continue; }\n case 32:\n r0 = pxsim_numops_toBoolDecr(s.n___2643);\n if (!r0) { step = 33; continue; }\n s.tmp_0 = helpers_imageFillRect__P411_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_1 = r0 = s.arg2;\n r0 = (s.xOffset___2518 * s.mult___2459);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 + s.tmp_2);\n s.tmp_0.arg1 = r0;\n s.tmp_3 = r0 = s.arg3;\n r0 = (s.j___2626 + s.yOffset___2519);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 * s.mult___2459);\n s.tmp_4 = r0;\n r0 = (s.tmp_3 + s.tmp_4);\n s.tmp_0.arg2 = r0;\n s.tmp_0.arg3 = s.mult___2459;\n r0 = (s.mult___2459 * s.n___2643);\n s.tmp_0.arg4 = r0;\n s.tmp_0.arg5 = s.arg4;\n s.pc = 50; return s.tmp_0;\n case 50:\n r0 = s.retval;\n r0 = (s.j___2626 + s.n___2643);\n s.j___2626 = (r0);\n { step = 34; continue; }\n case 33:\n r0 = (s.mask___2627 << 1);\n s.mask___2627 = (r0);\n r0 = (s.j___2626 + 1);\n s.j___2626 = (r0);\n case 34:\n { step = 28; continue; }\n case 35:\n r0 = (s.arg2 + s.mult___2459);\n s.arg2 = (r0);\n r0 = (s.i___2622 + 1);\n s.i___2622 = (r0);\n { step = 27; continue; }\n case 36:\n case 37:\n { step = 9; continue; }\n case 38:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_imagePrint__P432.info = {\"start\":15326,\"length\":3300,\"line\":213,\"column\":4,\"endLine\":306,\"endColumn\":5,\"fileName\":\"pxt_modules/screen/text.ts\",\"functionName\":\"imagePrint\",\"argumentNames\":[\"img\",\"text\",\"x\",\"y\",\"color\",\"font\",\"offsets\"]}\n\nfunction helpers_imagePrint__P432_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_imagePrint__P432, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n x0___2456: undefined,\n cp___2458: undefined,\n mult___2459: undefined,\n dataW___2465: undefined,\n dataH___2471: undefined,\n byteHeight___2477: undefined,\n charSize___2480: undefined,\n dataSize___2483: undefined,\n fontdata___2486: undefined,\n lastchar___2490: undefined,\n imgBuf___2497: undefined,\n xOffset___2518: undefined,\n yOffset___2519: undefined,\n ch___2533: undefined,\n l___2550: undefined,\n r___2551: undefined,\n off___2553: undefined,\n guess___2554: undefined,\n m___2570: undefined,\n v___2575: undefined,\n i___2622: undefined,\n j___2626: undefined,\n mask___2627: undefined,\n c___2628: undefined,\n n___2643: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n arg5: undefined,\n arg6: undefined,\n} }\n\n\n\n\n\nfunction image_getFontForText__P425(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.i___2721 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.i___2721 = (0);\n case 1:\n s.tmp_1 = r0 = s.i___2721;\n r0 = pxsim_String_.length(s.arg0);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 4; continue; }\n r0 = pxsim_String_.charCodeAt(s.arg0, s.i___2721);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 > 8192);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 2; continue; }\n r0 = globals.font12___424;\n { step = 5; continue; }\n case 2:\n case 3:\n r0 = (s.i___2721 + 1);\n s.i___2721 = (r0);\n { step = 1; continue; }\n case 4:\n r0 = globals.font8___423;\n case 5:\n return leave(s, r0)\n default: oops()\n} } }\nimage_getFontForText__P425.info = {\"start\":11713,\"length\":259,\"line\":136,\"column\":4,\"endLine\":143,\"endColumn\":5,\"fileName\":\"pxt_modules/screen/text.ts\",\"functionName\":\"getFontForText\",\"argumentNames\":[\"text\"]}\n\nfunction image_getFontForText__P425_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: image_getFontForText__P425, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n i___2721: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction helpers_imageFillRect__P411(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.arg5 = (s.lambdaArgs[5]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = r0 = s.arg0;\n s.tmp_2 = helpers_pack__P408_mk(s);\n s.tmp_2.arg0 = s.arg1;\n s.tmp_2.arg1 = s.arg2;\n s.pc = 1; return s.tmp_2;\n case 1:\n r0 = s.retval;\n s.tmp_1 = r0;\n s.tmp_4 = helpers_pack__P408_mk(s);\n s.tmp_4.arg0 = s.arg3;\n s.tmp_4.arg1 = s.arg4;\n s.pc = 2; return s.tmp_4;\n case 2:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods._fillRect(s.tmp_0, s.tmp_1, s.tmp_3, s.arg5);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_imageFillRect__P411.info = {\"start\":3648,\"length\":159,\"line\":131,\"column\":4,\"endLine\":133,\"endColumn\":5,\"fileName\":\"pxt_modules/screen/image.ts\",\"functionName\":\"imageFillRect\",\"argumentNames\":[\"img\",\"x\",\"y\",\"w\",\"h\",\"c\"]}\n\nfunction helpers_imageFillRect__P411_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_imageFillRect__P411, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n arg5: undefined,\n} }\n\n\n\n\n\nfunction helpers_pack__P408(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n s.tmp_2 = Math_clamp__P58_mk(s);\n s.tmp_2.arg0 = -30000;\n s.tmp_2.arg1 = 30000;\n r0 = (s.arg0 | 0);\n s.tmp_2.arg2 = r0;\n s.pc = 1; return s.tmp_2;\n case 1:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 & 65535);\n s.tmp_0 = r0;\n s.tmp_5 = Math_clamp__P58_mk(s);\n s.tmp_5.arg0 = -30000;\n s.tmp_5.arg1 = 30000;\n r0 = (s.arg1 | 0);\n s.tmp_5.arg2 = r0;\n s.pc = 2; return s.tmp_5;\n case 2:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = (s.tmp_4 << 16);\n s.tmp_3 = r0;\n r0 = (s.tmp_0 | s.tmp_3);\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_pack__P408.info = {\"start\":3151,\"length\":145,\"line\":120,\"column\":4,\"endLine\":122,\"endColumn\":5,\"fileName\":\"pxt_modules/screen/image.ts\",\"functionName\":\"pack\",\"argumentNames\":[\"x\",\"y\"]}\n\nfunction helpers_pack__P408_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_pack__P408, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Math_clamp__P58(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = Math_min__P62_mk(s);\n s.tmp_0.arg0 = s.arg1;\n s.tmp_1 = Math_max__P61_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.tmp_1.arg1 = s.arg2;\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n return leave(s, r0)\n default: oops()\n} } }\nMath_clamp__P58.info = {\"start\":9924,\"length\":130,\"line\":339,\"column\":4,\"endLine\":341,\"endColumn\":5,\"fileName\":\"pxt_modules/base/pxt-helpers.ts\",\"functionName\":\"clamp\",\"argumentNames\":[\"min\",\"max\",\"value\"]}\n\nfunction Math_clamp__P58_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Math_clamp__P58, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction Math_min__P62(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 <= s.arg1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.arg0;\n { step = 3; continue; }\n case 1:\n case 2:\n r0 = s.arg1;\n case 3:\n return leave(s, r0)\n default: oops()\n} } }\nMath_min__P62.info = {\"start\":10994,\"length\":105,\"line\":373,\"column\":4,\"endLine\":376,\"endColumn\":5,\"fileName\":\"pxt_modules/base/pxt-helpers.ts\",\"functionName\":\"min\",\"argumentNames\":[\"a\",\"b\"]}\n\nfunction Math_min__P62_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Math_min__P62, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction helpers_imageDrawIcon__P410(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = r0 = s.arg0;\n s.tmp_1 = r0 = s.arg1;\n s.tmp_3 = helpers_pack__P408_mk(s);\n s.tmp_3.arg0 = s.arg2;\n s.tmp_3.arg1 = s.arg3;\n s.pc = 1; return s.tmp_3;\n case 1:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = pxsim_ImageMethods._drawIcon(s.tmp_0, s.tmp_1, s.tmp_2, s.arg4);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_imageDrawIcon__P410.info = {\"start\":3498,\"length\":145,\"line\":128,\"column\":4,\"endLine\":130,\"endColumn\":5,\"fileName\":\"pxt_modules/screen/image.ts\",\"functionName\":\"imageDrawIcon\",\"argumentNames\":[\"img\",\"icon\",\"x\",\"y\",\"c\"]}\n\nfunction helpers_imageDrawIcon__P410_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_imageDrawIcon__P410, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n} }\n\n\n\n\n\nfunction helpers_stringSplit__P55(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.A___5609 = undefined;\n s.lim___5611 = undefined;\n s.s___5619 = undefined;\n s.p___5622 = undefined;\n s.R___5623 = undefined;\n s.z___5634 = undefined;\n s.T___5645 = undefined;\n s.q___5646 = undefined;\n s.e___5651 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_Array__mk();\n s.A___5609 = (r0);\n s.lim___5611 = (0);\n r0 = (s.arg2 === undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = (1 << 29);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - 1);\n s.lim___5611 = (r0);\n { step = 4; continue; }\n case 1:\n r0 = (s.arg2 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n s.lim___5611 = (0);\n { step = 3; continue; }\n case 2:\n r0 = (s.arg2 | 0);\n s.lim___5611 = (r0);\n case 3:\n case 4:\n r0 = pxsim_String_.length(s.arg0);\n s.s___5619 = (r0);\n s.p___5622 = (0);\n s.R___5623 = (s.arg1);\n r0 = (s.lim___5611 == 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = s.A___5609;\n { step = 21; continue; }\n case 5:\n case 6:\n r0 = (s.arg1 === undefined);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 7; continue; }\n r0 = pxsim_Array_.setAt(s.A___5609, 0, s.arg0);\n r0 = s.A___5609;\n { step = 21; continue; }\n case 7:\n case 8:\n r0 = (s.s___5619 == 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 11; continue; }\n s.tmp_1 = helpers_splitMatch__P56_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.tmp_1.arg1 = 0;\n s.tmp_1.arg2 = s.R___5623;\n s.pc = 22; return s.tmp_1;\n case 22:\n r0 = s.retval;\n s.z___5634 = (r0);\n r0 = (s.z___5634 > -1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 9; continue; }\n r0 = s.A___5609;\n { step = 21; continue; }\n case 9:\n case 10:\n r0 = pxsim_Array_.setAt(s.A___5609, 0, s.arg0);\n r0 = s.A___5609;\n { step = 21; continue; }\n case 11:\n case 12:\n s.q___5646 = (s.p___5622);\n case 13:\n r0 = (s.q___5646 != s.s___5619);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 20; continue; }\n s.tmp_1 = helpers_splitMatch__P56_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.tmp_1.arg1 = s.q___5646;\n s.tmp_1.arg2 = s.R___5623;\n s.pc = 23; return s.tmp_1;\n case 23:\n r0 = s.retval;\n s.e___5651 = (r0);\n r0 = (s.e___5651 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 14; continue; }\n r0 = (s.q___5646 + 1);\n s.q___5646 = (r0);\n { step = 19; continue; }\n case 14:\n r0 = (s.e___5651 == s.p___5622);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 15; continue; }\n r0 = (s.q___5646 + 1);\n s.q___5646 = (r0);\n { step = 18; continue; }\n case 15:\n s.tmp_0 = helpers_stringSlice__P53_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.p___5622;\n s.tmp_0.arg2 = s.q___5646;\n s.pc = 24; return s.tmp_0;\n case 24:\n r0 = s.retval;\n s.T___5645 = (r0);\n r0 = pxsim_Array__push(s.A___5609, s.T___5645);\n r0 = pxsim_Array__length(s.A___5609);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 == s.lim___5611);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 16; continue; }\n r0 = s.A___5609;\n { step = 21; continue; }\n case 16:\n case 17:\n s.p___5622 = (s.e___5651);\n s.q___5646 = (s.p___5622);\n case 18:\n case 19:\n { step = 13; continue; }\n case 20:\n s.tmp_0 = helpers_stringSlice__P53_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.p___5622;\n s.tmp_0.arg2 = s.q___5646;\n s.pc = 25; return s.tmp_0;\n case 25:\n r0 = s.retval;\n s.T___5645 = (r0);\n r0 = pxsim_Array__push(s.A___5609, s.T___5645);\n r0 = s.A___5609;\n case 21:\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_stringSplit__P55.info = {\"start\":8205,\"length\":1319,\"line\":276,\"column\":4,\"endLine\":320,\"endColumn\":5,\"fileName\":\"pxt_modules/base/pxt-helpers.ts\",\"functionName\":\"stringSplit\",\"argumentNames\":[\"S\",\"separator\",\"limit\"]}\n\nfunction helpers_stringSplit__P55_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_stringSplit__P55, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n A___5609: undefined,\n lim___5611: undefined,\n s___5619: undefined,\n p___5622: undefined,\n R___5623: undefined,\n z___5634: undefined,\n T___5645: undefined,\n q___5646: undefined,\n e___5651: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction helpers_splitMatch__P56(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.r___5719 = undefined;\n s.s___5722 = undefined;\n s.i___5729 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_String_.length(s.arg2);\n s.r___5719 = (r0);\n r0 = pxsim_String_.length(s.arg0);\n s.s___5722 = (r0);\n r0 = (s.arg1 + s.r___5719);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > s.s___5722);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = -1;\n { step = 7; continue; }\n case 1:\n case 2:\n s.i___5729 = (0);\n case 3:\n r0 = (s.i___5729 < s.r___5719);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 6; continue; }\n s.tmp_3 = r0 = s.arg0;\n r0 = (s.arg1 + s.i___5729);\n s.tmp_4 = r0;\n r0 = pxsim_String_.charAt(s.tmp_3, s.tmp_4);\n s.tmp_2 = r0;\n r0 = pxsim_String_.charAt(s.arg2, s.i___5729);\n s.tmp_5 = r0;\n r0 = (s.tmp_2 != s.tmp_5);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 4; continue; }\n r0 = -1;\n { step = 7; continue; }\n case 4:\n case 5:\n r0 = (s.i___5729 + 1);\n s.i___5729 = (r0);\n { step = 3; continue; }\n case 6:\n r0 = (s.arg1 + s.r___5719);\n case 7:\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_splitMatch__P56.info = {\"start\":9530,\"length\":289,\"line\":322,\"column\":4,\"endLine\":331,\"endColumn\":5,\"fileName\":\"pxt_modules/base/pxt-helpers.ts\",\"functionName\":\"splitMatch\",\"argumentNames\":[\"S\",\"q\",\"R\"]}\n\nfunction helpers_splitMatch__P56_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_splitMatch__P56, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n r___5719: undefined,\n s___5722: undefined,\n i___5729: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction helpers_stringSlice__P53(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.len___5693 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_String_.length(s.arg0);\n s.len___5693 = (r0);\n r0 = (s.arg1 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_1 = Math_max__P61_mk(s);\n r0 = (s.len___5693 + s.arg1);\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = 0;\n s.pc = 7; return s.tmp_1;\n case 7:\n r0 = s.retval;\n s.arg1 = (r0);\n case 1:\n case 2:\n r0 = (s.arg2 == null);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.arg2 = (s.len___5693);\n case 3:\n case 4:\n r0 = (s.arg2 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = (s.len___5693 + s.arg2);\n s.arg2 = (r0);\n case 5:\n case 6:\n s.tmp_0 = r0 = s.arg0;\n s.tmp_1 = r0 = s.arg1;\n r0 = (s.arg2 - s.arg1);\n s.tmp_2 = r0;\n r0 = pxsim_String_.substr(s.tmp_0, s.tmp_1, s.tmp_2);\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_stringSlice__P53.info = {\"start\":7322,\"length\":365,\"line\":242,\"column\":4,\"endLine\":258,\"endColumn\":5,\"fileName\":\"pxt_modules/base/pxt-helpers.ts\",\"functionName\":\"stringSlice\",\"argumentNames\":[\"s\",\"start\",\"end\"]}\n\nfunction helpers_stringSlice__P53_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_stringSlice__P53, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n len___5693: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction scene_Scene_renderCore__P930(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.s___5780 = undefined;\n s.unnamed68___U1 = undefined;\n s.unnamed69___U2 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Scene__C923_VT)) failedCast(r0);\n s.tmp_0 = scene_Background_draw__P851_mk(s);\n r0 = s.arg0.fields[\"background\"];\n s.tmp_0.arg0 = r0;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n r0 = s.arg0.fields[\"flags\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 & 2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_2 = helpers_arraySort__P43_mk(s);\n r0 = s.arg0.fields[\"allSprites\"];\n s.tmp_2.arg0 = r0;\n s.tmp_2.arg1 = inline__P5763;\n s.pc = 6; return s.tmp_2;\n case 6:\n r0 = s.retval;\n case 1:\n case 2:\n s.s___5780 = (undefined);\n s.s___5780 = (undefined);\n r0 = s.arg0.fields[\"allSprites\"];\n s.unnamed68___U1 = (r0);\n s.unnamed69___U2 = (0);\n case 3:\n s.tmp_0 = r0 = s.unnamed69___U2;\n r0 = pxsim_Array__length(s.unnamed68___U1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 4; continue; }\n r0 = pxsim_Array__getAt(s.unnamed68___U1, s.unnamed69___U2);\n s.s___5780 = (r0);\n s.tmp_2 = if___draw_2_mk(s);\n s.tmp_2.arg0 = s.s___5780;\n r0 = s.arg0.fields[\"camera\"];\n s.tmp_2.arg1 = r0;\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface[\"__draw\"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields[\"__draw\"]; }\n else { s.pc = 7; return s.tmp_2; }\n case 7:\n r0 = s.retval;\n r0 = (s.unnamed69___U2 + 1);\n s.unnamed69___U2 = (r0);\n { step = 3; continue; }\n case 4:\n s.unnamed68___U1 = (undefined);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_Scene_renderCore__P930.info = {\"start\":6966,\"length\":490,\"line\":206,\"column\":8,\"endLine\":219,\"endColumn\":9,\"fileName\":\"pxt_modules/game/scene.ts\",\"functionName\":\"renderCore\",\"argumentNames\":[\"this\"]}\n\nfunction scene_Scene_renderCore__P930_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Scene_renderCore__P930, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n s___5780: undefined,\n unnamed68___U1: undefined,\n unnamed69___U2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P5763(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n s.tmp_2 = if_z_1_mk(s);\n s.tmp_2.arg0 = s.arg0;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, \"z\");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface[\"z\"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields[\"z\"]; }\n else { s.pc = 3; return s.tmp_2; }\n }\n case 3:\n r0 = s.retval;\n s.tmp_1 = r0;\n s.tmp_4 = if_z_1_mk(s);\n s.tmp_4.arg0 = s.arg1;\n if (!s.tmp_4.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_4.arg0, \"z\");\n } else {\n s.tmp_4.fn = s.tmp_4.arg0.vtable.iface[\"z\"];\n if (s.tmp_4.fn == null) { s.retval = s.tmp_4.arg0.fields[\"z\"]; }\n else { s.pc = 4; return s.tmp_4; }\n }\n case 4:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_1 - s.tmp_3);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n s.tmp_6 = if_id_1_mk(s);\n s.tmp_6.arg0 = s.arg0;\n if (!s.tmp_6.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_6.arg0, \"id\");\n } else {\n s.tmp_6.fn = s.tmp_6.arg0.vtable.iface[\"id\"];\n if (s.tmp_6.fn == null) { s.retval = s.tmp_6.arg0.fields[\"id\"]; }\n else { s.pc = 5; return s.tmp_6; }\n }\n case 5:\n r0 = s.retval;\n s.tmp_5 = r0;\n s.tmp_8 = if_id_1_mk(s);\n s.tmp_8.arg0 = s.arg1;\n if (!s.tmp_8.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_8.arg0, \"id\");\n } else {\n s.tmp_8.fn = s.tmp_8.arg0.vtable.iface[\"id\"];\n if (s.tmp_8.fn == null) { s.retval = s.tmp_8.arg0.fields[\"id\"]; }\n else { s.pc = 6; return s.tmp_8; }\n }\n case 6:\n r0 = s.retval;\n s.tmp_7 = r0;\n r0 = (s.tmp_5 - s.tmp_7);\n case 2:\n // jmp value (already in r0)\n s.tmp_9 = r0;\n r0 = s.tmp_9;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P5763.info = {\"start\":7225,\"length\":52,\"line\":212,\"column\":37,\"endLine\":212,\"endColumn\":89,\"fileName\":\"pxt_modules/game/scene.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"a\",\"b\"]}\n\nfunction inline__P5763_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P5763, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction scene_Background_draw__P851(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Background__C846_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"color\"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.fill(globals.screen___464, s.tmp_0);\n r0 = s.arg0.fields[\"_image\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.arg0.fields[\"_image\"];\n s.tmp_1 = r0;\n r0 = pxsim_ImageMethods.drawTransparentImage(globals.screen___464, s.tmp_1, 0, 0);\n case 1:\n case 2:\n r0 = s.arg0.fields[\"_layers\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = pxsim_pxtcore_mkAction(1, inline__P5905);\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_1, 0, s.arg0);\n s.tmp_2 = helpers_arrayForEach__P47_mk(s);\n r0 = s.arg0.fields[\"_layers\"];\n s.tmp_2.arg0 = r0;\n s.tmp_2.arg1 = s.tmp_1;\n s.pc = 5; return s.tmp_2;\n case 5:\n r0 = s.retval;\n case 3:\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_Background_draw__P851.info = {\"start\":1166,\"length\":545,\"line\":48,\"column\":8,\"endLine\":60,\"endColumn\":9,\"fileName\":\"pxt_modules/game/background.ts\",\"functionName\":\"draw\",\"argumentNames\":[\"this\"]}\n\nfunction scene_Background_draw__P851_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Background_draw__P851, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P5905(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.ox___5907 = undefined;\n s.oy___5919 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.caps[0].fields[\"camera\"];\n r0 = r0.fields[\"drawOffsetX\"];\n s.tmp_1 = r0;\n r0 = s.arg0.fields[\"distance\"];\n s.tmp_3 = r0;\n r0 = (1 + s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 / s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim.Math_.round(s.tmp_0);\n s.ox___5907 = (r0);\n r0 = s.caps[0].fields[\"camera\"];\n r0 = r0.fields[\"drawOffsetY\"];\n s.tmp_1 = r0;\n r0 = s.arg0.fields[\"distance\"];\n s.tmp_3 = r0;\n r0 = (1 + s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 / s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim.Math_.round(s.tmp_0);\n s.oy___5919 = (r0);\n s.tmp_0 = scene_BackgroundLayer_draw__P854_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.ox___5907;\n s.tmp_0.arg2 = s.oy___5919;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P5905.info = {\"start\":1373,\"length\":312,\"line\":53,\"column\":37,\"endLine\":58,\"endColumn\":17,\"fileName\":\"pxt_modules/game/background.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"layer\"]}\n\nfunction inline__P5905_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P5905, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n ox___5907: undefined,\n oy___5919: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_BackgroundLayer_draw__P854(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.w___5936 = undefined;\n s.h___5939 = undefined;\n s.pw___5942 = undefined;\n s.ph___5947 = undefined;\n s.rx___5954 = undefined;\n s.ry___5956 = undefined;\n s.y___6011 = undefined;\n s.py___6012 = undefined;\n s.dh___6019 = undefined;\n s.x___6025 = undefined;\n s.rxl___6026 = undefined;\n s.px___6031 = undefined;\n s.dw___6034 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_BackgroundLayer__C853_VT)) failedCast(r0);\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.w___5936 = (r0);\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n s.h___5939 = (r0);\n r0 = s.arg0.fields[\"img\"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_0);\n s.pw___5942 = (r0);\n r0 = s.arg0.fields[\"img\"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_0);\n s.ph___5947 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.pw___5942);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = pxsim_numops_toBoolDecr(s.ph___5947);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n case 2:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 3; continue; }\n { step = 23; continue; }\n case 3:\n case 4:\n r0 = (0 - s.arg1);\n s.rx___5954 = (r0);\n r0 = (0 - s.arg2);\n s.ry___5956 = (r0);\n r0 = s.arg0.fields[\"alignX\"];\n s.tmp_0 = r0;\n r0 = pxsim_pxtcore.switch_eq(2, s.tmp_0);\n if (r0) { step = 5; continue; }\n r0 = pxsim_pxtcore.switch_eq(5, s.tmp_0);\n if (r0) { step = 6; continue; }\n r0 = s.tmp_0;\n { step = 7; continue; }\n case 5:\n s.tmp_1 = r0 = s.rx___5954;\n r0 = (s.w___5936 + s.pw___5942);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 - s.tmp_2);\n s.rx___5954 = (r0);\n { step = 7; continue; }\n case 6:\n s.tmp_0 = r0 = s.rx___5954;\n r0 = (s.w___5936 + s.pw___5942);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 >> 1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 - s.tmp_1);\n s.rx___5954 = (r0);\n case 7:\n r0 = s.arg0.fields[\"alignY\"];\n s.tmp_0 = r0;\n r0 = pxsim_pxtcore.switch_eq(4, s.tmp_0);\n if (r0) { step = 8; continue; }\n r0 = pxsim_pxtcore.switch_eq(5, s.tmp_0);\n if (r0) { step = 9; continue; }\n r0 = s.tmp_0;\n { step = 10; continue; }\n case 8:\n s.tmp_1 = r0 = s.ry___5956;\n r0 = (s.h___5939 + s.ph___5947);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 - s.tmp_2);\n s.ry___5956 = (r0);\n { step = 10; continue; }\n case 9:\n s.tmp_0 = r0 = s.ry___5956;\n r0 = (s.h___5939 + s.ph___5947);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 >> 1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 - s.tmp_1);\n s.ry___5956 = (r0);\n case 10:\n r0 = (s.rx___5954 % s.w___5936);\n s.rx___5954 = (r0);\n r0 = (s.rx___5954 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 11; continue; }\n r0 = (s.rx___5954 + s.w___5936);\n s.rx___5954 = (r0);\n case 11:\n case 12:\n r0 = (s.ry___5956 % s.h___5939);\n s.ry___5956 = (r0);\n r0 = (s.ry___5956 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 13; continue; }\n r0 = (s.ry___5956 + s.h___5939);\n s.ry___5956 = (r0);\n case 13:\n case 14:\n r0 = pxsim.Math_.floor(s.rx___5954);\n s.rx___5954 = (r0);\n r0 = pxsim.Math_.floor(s.ry___5956);\n s.ry___5956 = (r0);\n s.y___6011 = (0);\n s.py___6012 = (0);\n case 15:\n r0 = (s.y___6011 < s.h___5939);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 22; continue; }\n r0 = (s.y___6011 % s.ph___5947);\n s.py___6012 = (r0);\n s.tmp_0 = Math_min__P62_mk(s);\n r0 = (s.ph___5947 - s.py___6012);\n s.tmp_0.arg0 = r0;\n r0 = (s.h___5939 - s.ry___5956);\n s.tmp_0.arg1 = r0;\n s.pc = 24; return s.tmp_0;\n case 24:\n r0 = s.retval;\n s.dh___6019 = (r0);\n s.x___6025 = (0);\n s.rxl___6026 = (s.rx___5954);\n case 16:\n r0 = (s.x___6025 < s.w___5936);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 19; continue; }\n r0 = (s.x___6025 % s.pw___5942);\n s.px___6031 = (r0);\n s.tmp_0 = Math_min__P62_mk(s);\n r0 = (s.pw___5942 - s.px___6031);\n s.tmp_0.arg0 = r0;\n r0 = (s.w___5936 - s.rxl___6026);\n s.tmp_0.arg1 = r0;\n s.pc = 25; return s.tmp_0;\n case 25:\n r0 = s.retval;\n s.dw___6034 = (r0);\n r0 = s.arg0.fields[\"img\"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.drawImage(globals.screen___464, s.tmp_0, s.rxl___6026, s.ry___5956);\n r0 = (s.rxl___6026 + s.dw___6034);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 % s.w___5936);\n s.rxl___6026 = (r0);\n r0 = s.arg0.fields[\"repeatX\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 17; continue; }\n r0 = s.dw___6034;\n { step = 18; continue; }\n case 17:\n r0 = s.w___5936;\n case 18:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = (s.x___6025 + s.tmp_1);\n s.x___6025 = (r0);\n { step = 16; continue; }\n case 19:\n r0 = (s.ry___5956 + s.dh___6019);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 % s.h___5939);\n s.ry___5956 = (r0);\n r0 = s.arg0.fields[\"repeatY\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 20; continue; }\n r0 = s.dh___6019;\n { step = 21; continue; }\n case 20:\n r0 = s.h___5939;\n case 21:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = (s.y___6011 + s.tmp_1);\n s.y___6011 = (r0);\n { step = 15; continue; }\n case 22:\n case 23:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_BackgroundLayer_draw__P854.info = {\"start\":3063,\"length\":1537,\"line\":99,\"column\":8,\"endLine\":144,\"endColumn\":9,\"fileName\":\"pxt_modules/game/background.ts\",\"functionName\":\"draw\",\"argumentNames\":[\"this\",\"offsetX\",\"offsetY\"]}\n\nfunction scene_BackgroundLayer_draw__P854_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_BackgroundLayer_draw__P854, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n w___5936: undefined,\n h___5939: undefined,\n pw___5942: undefined,\n ph___5947: undefined,\n rx___5954: undefined,\n ry___5956: undefined,\n y___6011: undefined,\n py___6012: undefined,\n dh___6019: undefined,\n x___6025: undefined,\n rxl___6026: undefined,\n px___6031: undefined,\n dw___6034: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction scene_Camera_update__P888(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.scene___6073 = undefined;\n s.elapsed___6131 = undefined;\n s.percentComplete___6143 = undefined;\n s.dampStart___6147 = undefined;\n s.damp___6148 = undefined;\n s.f___6154 = undefined;\n s.x___6159 = undefined;\n s.y___6163 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Camera__C886_VT)) failedCast(r0);\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 13; return s.tmp_0;\n case 13:\n r0 = s.retval;\n s.scene___6073 = (r0);\n r0 = s.arg0.fields[\"sprite\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_1 = r0 = s.arg0;\n s.tmp_4 = Sprite_x__P609_mk(s);\n r0 = s.arg0.fields[\"sprite\"];\n s.tmp_4.arg0 = r0;\n s.pc = 14; return s.tmp_4;\n case 14:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 >> 1);\n s.tmp_5 = r0;\n r0 = (s.tmp_3 - s.tmp_5);\n s.tmp_2 = r0;\n r0 = (s.tmp_1).fields[\"offsetX\"] = (s.tmp_2);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_3 = Sprite_y__P611_mk(s);\n r0 = s.arg0.fields[\"sprite\"];\n s.tmp_3.arg0 = r0;\n s.pc = 15; return s.tmp_3;\n case 15:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 >> 1);\n s.tmp_4 = r0;\n r0 = (s.tmp_2 - s.tmp_4);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"offsetY\"] = (s.tmp_1);\n case 1:\n case 2:\n r0 = s.scene___6073.fields[\"tileMap\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 3; continue; }\n r0 = s.tmp_0;\n { step = 4; continue; }\n case 3:\n r0 = s.scene___6073.fields[\"tileMap\"];\n s.tmp_1 = r0;\n r0 = s.tmp_1.fields[\"_map\"];\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_5);\n s.tmp_4 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_4);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n case 4:\n // jmp value (already in r0)\n s.tmp_6 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_6);\n if (!r0) { step = 5; continue; }\n s.tmp_7 = r0 = s.arg0;\n s.tmp_9 = tiles_TileMap_offsetX__P867_mk(s);\n r0 = s.scene___6073.fields[\"tileMap\"];\n s.tmp_9.arg0 = r0;\n r0 = s.arg0.fields[\"offsetX\"];\n s.tmp_9.arg1 = r0;\n s.pc = 16; return s.tmp_9;\n case 16:\n r0 = s.retval;\n s.tmp_8 = r0;\n r0 = (s.tmp_7).fields[\"offsetX\"] = (s.tmp_8);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_2 = tiles_TileMap_offsetY__P868_mk(s);\n r0 = s.scene___6073.fields[\"tileMap\"];\n s.tmp_2.arg0 = r0;\n r0 = s.arg0.fields[\"offsetY\"];\n s.tmp_2.arg1 = r0;\n s.pc = 17; return s.tmp_2;\n case 17:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"offsetY\"] = (s.tmp_1);\n case 5:\n case 6:\n s.tmp_0 = r0 = s.arg0;\n r0 = s.tmp_0.fields[\"offsetX\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"offsetX\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.tmp_0.fields[\"offsetY\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"offsetY\"] = (s.tmp_1);\n r0 = s.arg0.fields[\"offsetX\"];\n s.tmp_0 = r0;\n r0 = (s.arg0).fields[\"drawOffsetX\"] = (s.tmp_0);\n r0 = s.arg0.fields[\"offsetY\"];\n s.tmp_0 = r0;\n r0 = (s.arg0).fields[\"drawOffsetY\"] = (s.tmp_0);\n r0 = s.arg0.fields[\"shakeStartTime\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 !== undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 11; continue; }\n r0 = pxsim.control.millis();\n s.tmp_2 = r0;\n r0 = s.arg0.fields[\"shakeStartTime\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_2 - s.tmp_3);\n s.elapsed___6131 = (r0);\n r0 = s.arg0.fields[\"shakeDuration\"];\n s.tmp_1 = r0;\n r0 = (s.elapsed___6131 >= s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 7; continue; }\n r0 = (s.arg0).fields[\"shakeStartTime\"] = (undefined);\n { step = 10; continue; }\n case 7:\n r0 = s.arg0.fields[\"shakeDuration\"];\n s.tmp_0 = r0;\n r0 = (s.elapsed___6131 / s.tmp_0);\n s.percentComplete___6143 = (r0);\n s.dampStart___6147 = (0.75);\n s.damp___6148 = (1);\n r0 = (s.percentComplete___6143 >= s.dampStart___6147);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 8; continue; }\n s.tmp_1 = Math_max__P61_mk(s);\n s.tmp_1.arg0 = 0;\n r0 = (1 - s.percentComplete___6143);\n s.tmp_1.arg1 = r0;\n s.pc = 18; return s.tmp_1;\n case 18:\n r0 = s.retval;\n s.damp___6148 = (r0);\n case 8:\n case 9:\n r0 = s.arg0.fields[\"shakeAmplitude\"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 * s.damp___6148);\n s.f___6154 = (r0);\n r0 = pxsim.Math_.random();\n s.tmp_1 = r0;\n r0 = (s.tmp_1 * s.f___6154);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 >> 0);\n s.x___6159 = (r0);\n r0 = pxsim.Math_.random();\n s.tmp_1 = r0;\n r0 = (s.tmp_1 * s.f___6154);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 >> 0);\n s.y___6163 = (r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.tmp_0.fields[\"drawOffsetX\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.x___6159);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"drawOffsetX\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.tmp_0.fields[\"drawOffsetY\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.y___6163);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"drawOffsetY\"] = (s.tmp_1);\n case 10:\n case 11:\n case 12:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_Camera_update__P888.info = {\"start\":1096,\"length\":1691,\"line\":34,\"column\":8,\"endLine\":77,\"endColumn\":9,\"fileName\":\"pxt_modules/game/camera.ts\",\"functionName\":\"update\",\"argumentNames\":[\"this\"]}\n\nfunction scene_Camera_update__P888_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Camera_update__P888, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n scene___6073: undefined,\n elapsed___6131: undefined,\n percentComplete___6143: undefined,\n dampStart___6147: undefined,\n damp___6148: undefined,\n f___6154: undefined,\n x___6159: undefined,\n y___6163: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction tiles_TileMap_enabled__P873(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, tiles_TileMap__C865_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_map\"];\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\ntiles_TileMap_enabled__P873.info = {\"start\":3529,\"length\":66,\"line\":129,\"column\":8,\"endLine\":131,\"endColumn\":9,\"fileName\":\"pxt_modules/game/tilemap.ts\",\"functionName\":\"enabled\",\"argumentNames\":[\"this\"]}\n\nfunction tiles_TileMap_enabled__P873_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: tiles_TileMap_enabled__P873, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction tiles_TileMap_offsetY__P868(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, tiles_TileMap__C865_VT)) failedCast(r0);\n s.tmp_0 = Math_clamp__P58_mk(s);\n s.tmp_0.arg0 = 0;\n s.tmp_1 = Math_max__P61_mk(s);\n s.tmp_3 = tiles_TileMap_areaHeight__P870_mk(s);\n s.tmp_3.arg0 = s.arg0;\n s.pc = 3; return s.tmp_3;\n case 3:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n s.tmp_4 = r0;\n r0 = (s.tmp_2 - s.tmp_4);\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = 0;\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = s.arg1;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n return leave(s, r0)\n default: oops()\n} } }\ntiles_TileMap_offsetY__P868.info = {\"start\":2982,\"length\":123,\"line\":107,\"column\":8,\"endLine\":109,\"endColumn\":9,\"fileName\":\"pxt_modules/game/tilemap.ts\",\"functionName\":\"offsetY\",\"argumentNames\":[\"this\",\"value\"]}\n\nfunction tiles_TileMap_offsetY__P868_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: tiles_TileMap_offsetY__P868, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction tiles_TileMap_areaHeight__P870(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, tiles_TileMap__C865_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_map\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.arg0.fields[\"_map\"];\n s.tmp_2 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_2);\n s.tmp_1 = r0;\n r0 = s.arg0.fields[\"scale\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_1 << s.tmp_3);\n { step = 2; continue; }\n case 1:\n r0 = 0;\n case 2:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n r0 = s.tmp_4;\n return leave(s, r0)\n default: oops()\n} } }\ntiles_TileMap_areaHeight__P870.info = {\"start\":3216,\"length\":93,\"line\":115,\"column\":8,\"endLine\":117,\"endColumn\":9,\"fileName\":\"pxt_modules/game/tilemap.ts\",\"functionName\":\"areaHeight\",\"argumentNames\":[\"this\"]}\n\nfunction tiles_TileMap_areaHeight__P870_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: tiles_TileMap_areaHeight__P870, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction tiles_TileMap_offsetX__P867(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, tiles_TileMap__C865_VT)) failedCast(r0);\n s.tmp_0 = Math_clamp__P58_mk(s);\n s.tmp_0.arg0 = 0;\n s.tmp_1 = Math_max__P61_mk(s);\n s.tmp_3 = tiles_TileMap_areaWidth__P869_mk(s);\n s.tmp_3.arg0 = s.arg0;\n s.pc = 3; return s.tmp_3;\n case 3:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_4 = r0;\n r0 = (s.tmp_2 - s.tmp_4);\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = 0;\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = s.arg1;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n return leave(s, r0)\n default: oops()\n} } }\ntiles_TileMap_offsetX__P867.info = {\"start\":2851,\"length\":121,\"line\":103,\"column\":8,\"endLine\":105,\"endColumn\":9,\"fileName\":\"pxt_modules/game/tilemap.ts\",\"functionName\":\"offsetX\",\"argumentNames\":[\"this\",\"value\"]}\n\nfunction tiles_TileMap_offsetX__P867_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: tiles_TileMap_offsetX__P867, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction tiles_TileMap_areaWidth__P869(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, tiles_TileMap__C865_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_map\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.arg0.fields[\"_map\"];\n s.tmp_2 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_2);\n s.tmp_1 = r0;\n r0 = s.arg0.fields[\"scale\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_1 << s.tmp_3);\n { step = 2; continue; }\n case 1:\n r0 = 0;\n case 2:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n r0 = s.tmp_4;\n return leave(s, r0)\n default: oops()\n} } }\ntiles_TileMap_areaWidth__P869.info = {\"start\":3115,\"length\":91,\"line\":111,\"column\":8,\"endLine\":113,\"endColumn\":9,\"fileName\":\"pxt_modules/game/tilemap.ts\",\"functionName\":\"areaWidth\",\"argumentNames\":[\"this\"]}\n\nfunction tiles_TileMap_areaWidth__P869_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: tiles_TileMap_areaWidth__P869, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Sprite_y__P611(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_y\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 + 128);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 >> 8);\n s.tmp_0 = r0;\n r0 = s.arg0.fields[\"_image\"];\n s.tmp_5 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_5);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 >> 1);\n s.tmp_3 = r0;\n r0 = (s.tmp_0 + s.tmp_3);\n return leave(s, r0)\n default: oops()\n} } }\nSprite_y__P611.info = {\"start\":1505,\"length\":84,\"line\":64,\"column\":4,\"endLine\":66,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"y\",\"argumentNames\":[\"this\"]}\n\nfunction Sprite_y__P611_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_y__P611, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Fx_toInt__P98(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 + 128);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 >> 8);\n return leave(s, r0)\n default: oops()\n} } }\nFx_toInt__P98.info = {\"start\":1996,\"length\":86,\"line\":65,\"column\":4,\"endLine\":67,\"endColumn\":5,\"fileName\":\"pxt_modules/base/fixed.ts\",\"functionName\":\"toInt\",\"argumentNames\":[\"v\"]}\n\nfunction Fx_toInt__P98_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Fx_toInt__P98, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction PhysicsEngine_move__P713(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, PhysicsEngine__C708_VT)) failedCast(r0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nPhysicsEngine_move__P713.info = {\"start\":351,\"length\":20,\"line\":18,\"column\":4,\"endLine\":18,\"endColumn\":24,\"fileName\":\"pxt_modules/game/physics.ts\",\"functionName\":\"move\",\"argumentNames\":[\"this\",\"dt\"]}\n\nfunction PhysicsEngine_move__P713_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: PhysicsEngine_move__P713, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction PhysicsEngine_draw__P712(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, PhysicsEngine__C708_VT)) failedCast(r0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nPhysicsEngine_draw__P712.info = {\"start\":279,\"length\":10,\"line\":15,\"column\":4,\"endLine\":15,\"endColumn\":14,\"fileName\":\"pxt_modules/game/physics.ts\",\"functionName\":\"draw\",\"argumentNames\":[\"this\"]}\n\nfunction PhysicsEngine_draw__P712_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: PhysicsEngine_draw__P712, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller___update__P582(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.dtms___6498 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 * 1000);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 | 0);\n s.dtms___6498 = (r0);\n r0 = pxsim_pxtcore_mkAction(1, inline__P6502);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.dtms___6498);\n s.tmp_1 = helpers_arrayForEach__P47_mk(s);\n s.tmp_2 = controller_players__P553_mk(s);\n s.pc = 2; return s.tmp_2;\n case 2:\n r0 = s.retval;\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = s.tmp_0;\n s.pc = 1; return s.tmp_1;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller___update__P582.info = {\"start\":16179,\"length\":137,\"line\":504,\"column\":4,\"endLine\":507,\"endColumn\":5,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"__update\",\"argumentNames\":[\"dt\"]}\n\nfunction controller___update__P582_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller___update__P582, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n dtms___6498: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P6502(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = controller_Controller___update__P579_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.caps[0];\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P6502.info = {\"start\":16281,\"length\":27,\"line\":506,\"column\":26,\"endLine\":506,\"endColumn\":53,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"ctrl\"]}\n\nfunction inline__P6502_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P6502, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller_Controller___update__P579(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Controller__C557_VT)) failedCast(r0);\n r0 = pxsim_pxtrt.mklocRef();\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.arg1);\n s.arg1 = (s.tmp_0);\n s.tmp_1 = r0 = s.arg1;\n r0 = pxsim_pxtrt_ldlocRef(s.arg1);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 | 0);\n s.tmp_2 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_1, s.tmp_2);\n r0 = pxsim_pxtcore_mkAction(1, inline__P6514);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg1);\n s.tmp_1 = helpers_arrayForEach__P47_mk(s);\n r0 = s.arg0.fields[\"buttons\"];\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = s.tmp_0;\n s.pc = 1; return s.tmp_1;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Controller___update__P579.info = {\"start\":15657,\"length\":124,\"line\":486,\"column\":8,\"endLine\":489,\"endColumn\":9,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"__update\",\"argumentNames\":[\"this\",\"dtms\"]}\n\nfunction controller_Controller___update__P579_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Controller___update__P579, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction inline__P6514(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = controller_Button___update__P547_mk(s);\n s.tmp_0.arg0 = s.arg0;\n r0 = pxsim_pxtrt_ldlocRef(s.caps[0]);\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P6514.info = {\"start\":15744,\"length\":25,\"line\":488,\"column\":33,\"endLine\":488,\"endColumn\":58,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"btn\"]}\n\nfunction inline__P6514_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P6514, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller_Button___update__P547(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.delay___6528 = undefined;\n s.interval___6536 = undefined;\n s.count___6547 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Button__C538_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_pressed\"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 11; continue; }\n case 1:\n case 2:\n s.tmp_3 = r0 = s.arg0;\n r0 = s.tmp_3.fields[\"_pressedElasped\"];\n s.tmp_5 = r0;\n r0 = (s.tmp_5 + s.arg1);\n s.tmp_4 = r0;\n r0 = (s.tmp_3).fields[\"_pressedElasped\"] = (s.tmp_4);\n r0 = s.arg0.fields[\"repeatDelay\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 === undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = globals.defaultRepeatDelay___536;\n { step = 4; continue; }\n case 3:\n r0 = s.arg0.fields[\"repeatDelay\"];\n case 4:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n s.delay___6528 = (s.tmp_2);\n r0 = s.arg0.fields[\"repeatInterval\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 === undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = globals.defaultRepeatInterval___537;\n { step = 6; continue; }\n case 5:\n r0 = s.arg0.fields[\"repeatInterval\"];\n case 6:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n s.interval___6536 = (s.tmp_2);\n r0 = s.arg0.fields[\"_pressedElasped\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 < s.delay___6528);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 7; continue; }\n { step = 11; continue; }\n case 7:\n case 8:\n r0 = s.arg0.fields[\"_pressedElasped\"];\n s.tmp_5 = r0;\n r0 = (s.tmp_5 - s.delay___6528);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 - s.interval___6536);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 / s.interval___6536);\n s.tmp_2 = r0;\n r0 = pxsim.Math_.floor(s.tmp_2);\n s.count___6547 = (r0);\n r0 = s.arg0.fields[\"_repeatCount\"];\n s.tmp_1 = r0;\n r0 = (s.count___6547 != s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 9; continue; }\n s.tmp_2 = controller_Button_raiseButtonRepeat__P542_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 12; return s.tmp_2;\n case 12:\n r0 = s.retval;\n r0 = (s.arg0).fields[\"_repeatCount\"] = (s.count___6547);\n case 9:\n case 10:\n case 11:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Button___update__P547.info = {\"start\":4819,\"length\":704,\"line\":148,\"column\":8,\"endLine\":165,\"endColumn\":9,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"__update\",\"argumentNames\":[\"this\",\"dtms\"]}\n\nfunction controller_Button___update__P547_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Button___update__P547, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n delay___6528: undefined,\n interval___6536: undefined,\n count___6547: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction controller_Button_raiseButtonRepeat__P542(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Button__C538_VT)) failedCast(r0);\n r0 = pxsim_numops_toBoolDecr(globals._userEventsEnabled___535);\n if (!r0) { step = 1; continue; }\n r0 = s.arg0.fields[\"id\"];\n s.tmp_0 = r0;\n r0 = pxsim.control.raiseEvent(2054, s.tmp_0);\n { step = 2; continue; }\n case 1:\n r0 = s.arg0.fields[\"id\"];\n s.tmp_0 = r0;\n r0 = pxsim.control.raiseEvent(2055, s.tmp_0);\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Button_raiseButtonRepeat__P542.info = {\"start\":2994,\"length\":211,\"line\":95,\"column\":8,\"endLine\":100,\"endColumn\":9,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"raiseButtonRepeat\",\"argumentNames\":[\"this\"]}\n\nfunction controller_Button_raiseButtonRepeat__P542_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Button_raiseButtonRepeat__P542, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller_players__P553(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = controller_player1__P552_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.tmp_0 = helpers_arrayFilter__P48_mk(s);\n s.tmp_0.arg0 = globals._players___550;\n s.tmp_0.arg1 = inline__P6381;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_players__P553.info = {\"start\":6479,\"length\":143,\"line\":193,\"column\":4,\"endLine\":196,\"endColumn\":5,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"players\",\"argumentNames\":[]}\n\nfunction controller_players__P553_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_players__P553, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction inline__P6381(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_numops_toBoolDecr(s.arg0);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\ninline__P6381.info = {\"start\":6600,\"length\":14,\"line\":195,\"column\":31,\"endLine\":195,\"endColumn\":45,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"ctrl\"]}\n\nfunction inline__P6381_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P6381, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller_player1__P552(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals._players___550);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = pxsim_Array__getAt(globals._players___550, 0);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n case 2:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n if (!r0) { step = 3; continue; }\n r0 = pxsim_pxtcore_mkClassInstance(controller_Controller__C557_VT);\n s.tmp_5 = r0;\n r0 = pxsim_Array__mk();\n s.tmp_6 = r0;\n r0 = pxsim_Array__push(s.tmp_6, globals.left___527);\n r0 = pxsim_Array__push(s.tmp_6, globals.up___528);\n r0 = pxsim_Array__push(s.tmp_6, globals.right___529);\n r0 = pxsim_Array__push(s.tmp_6, globals.down___530);\n r0 = pxsim_Array__push(s.tmp_6, globals.A___525);\n r0 = pxsim_Array__push(s.tmp_6, globals.B___526);\n r0 = pxsim_Array__push(s.tmp_6, globals.menu___531);\n s.tmp_7 = controller_Controller_constructor__P581_mk(s);\n s.tmp_7.arg0 = s.tmp_5;\n s.tmp_7.arg1 = 1;\n s.tmp_7.arg2 = s.tmp_6;\n s.pc = 5; return s.tmp_7;\n case 5:\n r0 = s.retval;\n case 3:\n case 4:\n r0 = pxsim_Array__getAt(globals._players___550, 0);\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_player1__P552.info = {\"start\":6223,\"length\":250,\"line\":187,\"column\":4,\"endLine\":191,\"endColumn\":5,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"player1\",\"argumentNames\":[]}\n\nfunction controller_player1__P552_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_player1__P552, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n} }\n\n\n\n\n\nfunction controller_Controller_constructor__P581(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.leftId___6450 = undefined;\n s.i___6455 = undefined;\n s.i___6469 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Controller__C557_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim.control.allocateNotifyEvent();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"_id\"] = (s.tmp_1);\n r0 = (s.arg0).fields[\"_connected\"] = (false);\n r0 = (s.arg0).fields[\"playerIndex\"] = (s.arg1);\n r0 = pxsim_numops_toBoolDecr(s.arg2);\n if (!r0) { step = 1; continue; }\n r0 = (s.arg0).fields[\"buttons\"] = (s.arg2);\n { step = 4; continue; }\n case 1:\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"buttons\"] = (s.tmp_1);\n r0 = s.arg0.fields[\"playerIndex\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - 1);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 * 7);\n s.tmp_0 = r0;\n r0 = (1 + s.tmp_0);\n s.leftId___6450 = (r0);\n s.i___6455 = (0);\n case 2:\n r0 = (s.i___6455 < 7);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = pxsim_pxtcore_mkClassInstance(controller_Button__C538_VT);\n s.tmp_1 = r0;\n s.tmp_2 = controller_Button_constructor__P548_mk(s);\n s.tmp_2.arg0 = s.tmp_1;\n r0 = (s.leftId___6450 + s.i___6455);\n s.tmp_2.arg1 = r0;\n s.tmp_2.arg2 = -1;\n s.pc = 7; return s.tmp_2;\n case 7:\n r0 = s.retval;\n r0 = s.arg0.fields[\"buttons\"];\n s.tmp_3 = r0;\n r0 = pxsim_Array__push(s.tmp_3, s.tmp_1);\n r0 = (s.i___6455 + 1);\n s.i___6455 = (r0);\n { step = 2; continue; }\n case 3:\n case 4:\n s.i___6469 = (0);\n case 5:\n s.tmp_1 = r0 = s.i___6469;\n r0 = s.arg0.fields[\"buttons\"];\n s.tmp_3 = r0;\n r0 = pxsim_Array__length(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 6; continue; }\n r0 = s.arg0.fields[\"buttons\"];\n s.tmp_5 = r0;\n r0 = pxsim_Array__getAt(s.tmp_5, s.i___6469);\n s.tmp_4 = r0;\n r0 = (s.tmp_4).fields[\"_owner\"] = (s.arg0);\n r0 = (s.i___6469 + 1);\n s.i___6469 = (r0);\n { step = 5; continue; }\n case 6:\n s.tmp_0 = controller_addController__P551_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 8; return s.tmp_0;\n case 8:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Controller_constructor__P581.info = {\"start\":7262,\"length\":663,\"line\":221,\"column\":8,\"endLine\":237,\"endColumn\":9,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"playerIndex\",\"buttons\"]}\n\nfunction controller_Controller_constructor__P581_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Controller_constructor__P581, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n leftId___6450: undefined,\n i___6455: undefined,\n i___6469: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction controller_addController__P551(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_numops_toBoolDecr(globals._players___550);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_Array__mk();\n globals._players___550 = (r0);\n case 1:\n case 2:\n s.tmp_0 = r0 = globals._players___550;\n r0 = s.arg0.fields[\"playerIndex\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - 1);\n s.tmp_1 = r0;\n r0 = pxsim_Array_.setAt(s.tmp_0, s.tmp_1, s.arg0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_addController__P551.info = {\"start\":6060,\"length\":157,\"line\":180,\"column\":4,\"endLine\":185,\"endColumn\":5,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"addController\",\"argumentNames\":[\"ctrl\"]}\n\nfunction controller_addController__P551_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_addController__P551, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller__moveSprites__P556(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = helpers_arrayForEach__P47_mk(s);\n s.tmp_1 = controller_players__P553_mk(s);\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = inline__P6228;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller__moveSprites__P556.info = {\"start\":6838,\"length\":182,\"line\":207,\"column\":4,\"endLine\":211,\"endColumn\":5,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"_moveSprites\",\"argumentNames\":[]}\n\nfunction controller__moveSprites__P556_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller__moveSprites__P556, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n} }\n\n\n\n\n\nfunction inline__P6228(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = controller_Controller___preUpdate__P578_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P6228.info = {\"start\":6986,\"length\":26,\"line\":210,\"column\":26,\"endLine\":210,\"endColumn\":52,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"ctrl\"]}\n\nfunction inline__P6228_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P6228, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller_Controller___preUpdate__P578(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.deadSprites___6234 = undefined;\n s.svx___6235 = undefined;\n s.svy___6236 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Controller__C557_VT)) failedCast(r0);\n s.tmp_3 = controller_Controller__controlledSprites__P558_mk(s);\n s.tmp_3.arg0 = s.arg0;\n s.pc = 6; return s.tmp_3;\n case 6:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 5; continue; }\n case 1:\n case 2:\n r0 = pxsim_pxtrt.mklocRef();\n s.deadSprites___6234 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.deadSprites___6234, false);\n r0 = pxsim_pxtrt.mklocRef();\n s.svx___6235 = (r0);\n r0 = pxsim_pxtrt.mklocRef();\n s.svy___6236 = (r0);\n r0 = pxsim_pxtcore_mkAction(4, inline__P6239);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.deadSprites___6234);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.svx___6235);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 2, s.svy___6236);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 3, s.arg0);\n s.tmp_1 = helpers_arrayForEach__P47_mk(s);\n s.tmp_2 = controller_Controller__controlledSprites__P558_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 8; return s.tmp_2;\n case 8:\n r0 = s.retval;\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = s.tmp_0;\n s.pc = 7; return s.tmp_1;\n case 7:\n r0 = s.retval;\n r0 = pxsim_pxtrt_ldlocRef(s.deadSprites___6234);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.tmp_1 = controller_Controller__controlledSprites__P559_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.tmp_2 = helpers_arrayFilter__P48_mk(s);\n s.tmp_3 = controller_Controller__controlledSprites__P558_mk(s);\n s.tmp_3.arg0 = s.arg0;\n s.pc = 11; return s.tmp_3;\n case 11:\n r0 = s.retval;\n s.tmp_2.arg0 = r0;\n s.tmp_2.arg1 = inline__P6314;\n s.pc = 10; return s.tmp_2;\n case 10:\n r0 = s.retval;\n s.tmp_1.arg1 = r0;\n s.pc = 9; return s.tmp_1;\n case 9:\n r0 = s.retval;\n case 3:\n case 4:\n case 5:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Controller___preUpdate__P578.info = {\"start\":14007,\"length\":1640,\"line\":433,\"column\":8,\"endLine\":484,\"endColumn\":9,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"__preUpdate\",\"argumentNames\":[\"this\"]}\n\nfunction controller_Controller___preUpdate__P578_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Controller___preUpdate__P578, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n deadSprites___6234: undefined,\n svx___6235: undefined,\n svy___6236: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P6239(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0.fields[\"s\"];\n r0 = r0.fields[\"flags\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 & 2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_pxtrt_stlocRef(s.caps[0], true);\n { step = 29; continue; }\n case 1:\n case 2:\n r0 = pxsim_pxtrt_stlocRef(s.caps[1], 0);\n r0 = pxsim_pxtrt_stlocRef(s.caps[2], 0);\n r0 = s.arg0.fields[\"vx\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 7; continue; }\n s.tmp_3 = controller_Controller_right__P563_mk(s);\n s.tmp_3.arg0 = s.caps[3];\n s.pc = 30; return s.tmp_3;\n case 30:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = s.tmp_2.fields[\"_pressed\"];\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 3; continue; }\n s.tmp_4 = r0 = s.caps[1];\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_6 = r0;\n r0 = s.arg0.fields[\"vx\"];\n s.tmp_7 = r0;\n r0 = (s.tmp_6 + s.tmp_7);\n s.tmp_5 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_4, s.tmp_5);\n case 3:\n case 4:\n s.tmp_2 = controller_Controller_left__P562_mk(s);\n s.tmp_2.arg0 = s.caps[3];\n s.pc = 31; return s.tmp_2;\n case 31:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = s.tmp_1.fields[\"_pressed\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n s.tmp_3 = r0 = s.caps[1];\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_5 = r0;\n r0 = s.arg0.fields[\"vx\"];\n s.tmp_6 = r0;\n r0 = (s.tmp_5 - s.tmp_6);\n s.tmp_4 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_3, s.tmp_4);\n case 5:\n case 6:\n case 7:\n case 8:\n r0 = s.arg0.fields[\"vy\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 13; continue; }\n s.tmp_3 = controller_Controller_down__P565_mk(s);\n s.tmp_3.arg0 = s.caps[3];\n s.pc = 32; return s.tmp_3;\n case 32:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = s.tmp_2.fields[\"_pressed\"];\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 9; continue; }\n s.tmp_4 = r0 = s.caps[2];\n r0 = pxsim_pxtrt_ldlocRef(s.caps[2]);\n s.tmp_6 = r0;\n r0 = s.arg0.fields[\"vy\"];\n s.tmp_7 = r0;\n r0 = (s.tmp_6 + s.tmp_7);\n s.tmp_5 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_4, s.tmp_5);\n case 9:\n case 10:\n s.tmp_2 = controller_Controller_up__P564_mk(s);\n s.tmp_2.arg0 = s.caps[3];\n s.pc = 33; return s.tmp_2;\n case 33:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = s.tmp_1.fields[\"_pressed\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 11; continue; }\n s.tmp_3 = r0 = s.caps[2];\n r0 = pxsim_pxtrt_ldlocRef(s.caps[2]);\n s.tmp_5 = r0;\n r0 = s.arg0.fields[\"vy\"];\n s.tmp_6 = r0;\n r0 = (s.tmp_5 - s.tmp_6);\n s.tmp_4 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_3, s.tmp_4);\n case 11:\n case 12:\n case 13:\n case 14:\n r0 = s.arg0.fields[\"_inputLastFrame\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 19; continue; }\n r0 = s.arg0.fields[\"vx\"];\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 15; continue; }\n s.tmp_2 = Sprite_vx__P614_mk(s);\n r0 = s.arg0.fields[\"s\"];\n s.tmp_2.arg0 = r0;\n s.tmp_2.arg1 = 0;\n s.pc = 34; return s.tmp_2;\n case 34:\n r0 = s.retval;\n case 15:\n case 16:\n r0 = s.arg0.fields[\"vy\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 17; continue; }\n s.tmp_1 = Sprite_vy__P616_mk(s);\n r0 = s.arg0.fields[\"s\"];\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = 0;\n s.pc = 35; return s.tmp_1;\n case 35:\n r0 = s.retval;\n case 17:\n case 18:\n case 19:\n case 20:\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 21; continue; }\n r0 = s.tmp_0;\n { step = 22; continue; }\n case 21:\n r0 = pxsim_pxtrt_ldlocRef(s.caps[2]);\n case 22:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 27; continue; }\n r0 = s.arg0.fields[\"vx\"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 23; continue; }\n s.tmp_3 = Sprite_vx__P614_mk(s);\n r0 = s.arg0.fields[\"s\"];\n s.tmp_3.arg0 = r0;\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_3.arg1 = r0;\n s.pc = 36; return s.tmp_3;\n case 36:\n r0 = s.retval;\n case 23:\n case 24:\n r0 = s.arg0.fields[\"vy\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 25; continue; }\n s.tmp_1 = Sprite_vy__P616_mk(s);\n r0 = s.arg0.fields[\"s\"];\n s.tmp_1.arg0 = r0;\n r0 = pxsim_pxtrt_ldlocRef(s.caps[2]);\n s.tmp_1.arg1 = r0;\n s.pc = 37; return s.tmp_1;\n case 37:\n r0 = s.retval;\n case 25:\n case 26:\n r0 = (s.arg0).fields[\"_inputLastFrame\"] = (true);\n { step = 28; continue; }\n case 27:\n r0 = (s.arg0).fields[\"_inputLastFrame\"] = (false);\n case 28:\n case 29:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P6239.info = {\"start\":14213,\"length\":1253,\"line\":439,\"column\":44,\"endLine\":479,\"endColumn\":13,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"sprite\"]}\n\nfunction inline__P6239_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P6239, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P6314(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0.fields[\"s\"];\n r0 = r0.fields[\"flags\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 & 2);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\ninline__P6314.info = {\"start\":15593,\"length\":42,\"line\":483,\"column\":28,\"endLine\":483,\"endColumn\":70,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"s\"]}\n\nfunction inline__P6314_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P6314, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Sprite_vx__P614(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg1 * 256);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"_vx\"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_vx__P614.info = {\"start\":2030,\"length\":51,\"line\":80,\"column\":4,\"endLine\":82,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"vx\",\"argumentNames\":[\"this\",\"v\"]}\n\nfunction Sprite_vx__P614_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_vx__P614, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_vx__P613(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_vx\"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 / 256);\n return leave(s, r0)\n default: oops()\n} } }\nSprite_vx__P613.info = {\"start\":1868,\"length\":60,\"line\":75,\"column\":4,\"endLine\":77,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"vx\",\"argumentNames\":[\"this\"]}\n\nfunction Sprite_vx__P613_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_vx__P613, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Fx_toFloat__P99(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 / 256);\n return leave(s, r0)\n default: oops()\n} } }\nFx_toFloat__P99.info = {\"start\":2087,\"length\":81,\"line\":68,\"column\":4,\"endLine\":70,\"endColumn\":5,\"fileName\":\"pxt_modules/base/fixed.ts\",\"functionName\":\"toFloat\",\"argumentNames\":[\"v\"]}\n\nfunction Fx_toFloat__P99_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Fx_toFloat__P99, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller_Controller_down__P565(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Controller__C557_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"buttons\"];\n s.tmp_0 = r0;\n r0 = (4 - 1);\n s.tmp_1 = r0;\n r0 = pxsim_Array__getAt(s.tmp_0, s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Controller_down__P565.info = {\"start\":8908,\"length\":77,\"line\":283,\"column\":8,\"endLine\":285,\"endColumn\":9,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"down\",\"argumentNames\":[\"this\"]}\n\nfunction controller_Controller_down__P565_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Controller_down__P565, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller_Controller_button__P570(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Controller__C557_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"buttons\"];\n s.tmp_0 = r0;\n r0 = (s.arg1 - 1);\n s.tmp_1 = r0;\n r0 = pxsim_Array__getAt(s.tmp_0, s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Controller_button__P570.info = {\"start\":10870,\"length\":105,\"line\":344,\"column\":8,\"endLine\":346,\"endColumn\":9,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"button\",\"argumentNames\":[\"this\",\"button\"]}\n\nfunction controller_Controller_button__P570_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Controller_button__P570, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction controller_Controller_up__P564(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Controller__C557_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"buttons\"];\n s.tmp_0 = r0;\n r0 = (2 - 1);\n s.tmp_1 = r0;\n r0 = pxsim_Array__getAt(s.tmp_0, s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Controller_up__P564.info = {\"start\":8756,\"length\":73,\"line\":275,\"column\":8,\"endLine\":277,\"endColumn\":9,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"up\",\"argumentNames\":[\"this\"]}\n\nfunction controller_Controller_up__P564_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Controller_up__P564, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller_Controller_right__P563(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Controller__C557_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"buttons\"];\n s.tmp_0 = r0;\n r0 = (3 - 1);\n s.tmp_1 = r0;\n r0 = pxsim_Array__getAt(s.tmp_0, s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Controller_right__P563.info = {\"start\":8598,\"length\":79,\"line\":267,\"column\":8,\"endLine\":269,\"endColumn\":9,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"right\",\"argumentNames\":[\"this\"]}\n\nfunction controller_Controller_right__P563_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Controller_right__P563, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller_Controller_left__P562(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Controller__C557_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"buttons\"];\n s.tmp_0 = r0;\n r0 = (1 - 1);\n s.tmp_1 = r0;\n r0 = pxsim_Array__getAt(s.tmp_0, s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Controller_left__P562.info = {\"start\":8442,\"length\":77,\"line\":259,\"column\":8,\"endLine\":261,\"endColumn\":9,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"left\",\"argumentNames\":[\"this\"]}\n\nfunction controller_Controller_left__P562_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Controller_left__P562, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller_Controller__controlledSprites__P559(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Controller__C557_VT)) failedCast(r0);\n s.tmp_1 = game_currentScene__P769_mk(s);\n s.pc = 1; return s.tmp_1;\n case 1:\n r0 = s.retval;\n r0 = r0.fields[\"controlledSprites\"];\n s.tmp_0 = r0;\n r0 = s.arg0.fields[\"playerIndex\"];\n s.tmp_2 = r0;\n r0 = pxsim_Array_.setAt(s.tmp_0, s.tmp_2, s.arg1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Controller__controlledSprites__P559.info = {\"start\":8077,\"length\":134,\"line\":243,\"column\":8,\"endLine\":245,\"endColumn\":9,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"_controlledSprites\",\"argumentNames\":[\"this\",\"cps\"]}\n\nfunction controller_Controller__controlledSprites__P559_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Controller__controlledSprites__P559, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction controller_Controller__controlledSprites__P558(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Controller__C557_VT)) failedCast(r0);\n s.tmp_1 = game_currentScene__P769_mk(s);\n s.pc = 1; return s.tmp_1;\n case 1:\n r0 = s.retval;\n r0 = r0.fields[\"controlledSprites\"];\n s.tmp_0 = r0;\n r0 = s.arg0.fields[\"playerIndex\"];\n s.tmp_2 = r0;\n r0 = pxsim_Array__getAt(s.tmp_0, s.tmp_2);\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Controller__controlledSprites__P558.info = {\"start\":7935,\"length\":132,\"line\":239,\"column\":8,\"endLine\":241,\"endColumn\":9,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"_controlledSprites\",\"argumentNames\":[\"this\"]}\n\nfunction controller_Controller__controlledSprites__P558_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Controller__controlledSprites__P558, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller_Button_isPressed__P545(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Button__C538_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_pressed\"];\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Button_isPressed__P545.info = {\"start\":4235,\"length\":57,\"line\":128,\"column\":8,\"endLine\":130,\"endColumn\":9,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"isPressed\",\"argumentNames\":[\"this\"]}\n\nfunction controller_Button_isPressed__P545_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Button_isPressed__P545, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction power_checkDeepSleep__P393(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.p___5501 = undefined;\n s.to___5503 = undefined;\n s.tmp_0 = power_init__P395_mk(s);\n s.pc = 11; return s.tmp_0;\n case 11:\n r0 = s.retval;\n s.tmp_0 = r0 = globals._poked___389;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = 0;\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n s.p___5501 = (s.tmp_1);\n s.tmp_0 = r0 = globals._timeout___390;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = s.tmp_0;\n { step = 4; continue; }\n case 3:\n r0 = 0;\n case 4:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n s.to___5503 = (s.tmp_1);\n r0 = (s.to___5503 > 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 5; continue; }\n r0 = s.tmp_0;\n { step = 6; continue; }\n case 5:\n r0 = pxsim.control.millis();\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - s.p___5501);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > s.to___5503);\n case 6:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBool(s.tmp_3);\n if (r0) { step = 7; continue; }\n r0 = s.tmp_3;\n { step = 8; continue; }\n case 7:\n r0 = pxsim.control.isUSBInitialized();\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_5);\n s.tmp_4 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_4);\n case 8:\n // jmp value (already in r0)\n s.tmp_6 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_6);\n if (!r0) { step = 9; continue; }\n r0 = pxsim_pxtcore.deepSleep();\n case 9:\n case 10:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\npower_checkDeepSleep__P393.info = {\"start\":1087,\"length\":298,\"line\":36,\"column\":4,\"endLine\":46,\"endColumn\":5,\"fileName\":\"pxt_modules/power/power.ts\",\"functionName\":\"checkDeepSleep\",\"argumentNames\":[]}\n\nfunction power_checkDeepSleep__P393_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: power_checkDeepSleep__P393, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n p___5501: undefined,\n to___5503: undefined,\n} }\n\n\n\n\n\nfunction power_init__P395(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.minDeepSleepTimeout___5524 = undefined;\n r0 = (globals._timeout___390 !== undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 7; continue; }\n case 1:\n case 2:\n r0 = pxsim_pxtcore.getConfig(212, -1);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 * 1000);\n globals._timeout___390 = (r0);\n s.minDeepSleepTimeout___5524 = (300000);\n r0 = (globals._timeout___390 > 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 3; continue; }\n r0 = s.tmp_0;\n { step = 4; continue; }\n case 3:\n r0 = (globals._timeout___390 < s.minDeepSleepTimeout___5524);\n case 4:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 5; continue; }\n globals._timeout___390 = (s.minDeepSleepTimeout___5524);\n case 5:\n case 6:\n case 7:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\npower_init__P395.info = {\"start\":1610,\"length\":376,\"line\":57,\"column\":4,\"endLine\":66,\"endColumn\":5,\"fileName\":\"pxt_modules/power/power.ts\",\"functionName\":\"init\",\"argumentNames\":[]}\n\nfunction power_init__P395_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: power_init__P395, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n minDeepSleepTimeout___5524: undefined,\n} }\n\n\n\n\n\nfunction power_poke__P392(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = power_init__P395_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = pxsim.control.millis();\n globals._poked___389 = (r0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\npower_poke__P392.info = {\"start\":795,\"length\":81,\"line\":26,\"column\":4,\"endLine\":29,\"endColumn\":5,\"fileName\":\"pxt_modules/power/power.ts\",\"functionName\":\"poke\",\"argumentNames\":[]}\n\nfunction power_poke__P392_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: power_poke__P392, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction control_EventContext_registerFrameHandler__P226(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.fn___6585 = undefined;\n s.i___6595 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, control_EventContext__C220_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"frameCallbacks\"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_3 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_4 = r0;\n r0 = (s.tmp_3).fields[\"frameCallbacks\"] = (s.tmp_4);\n s.tmp_0 = control_EventContext_registerFrameCallbacks__P223_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 8; return s.tmp_0;\n case 8:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = pxsim_pxtcore_mkClassInstance(control_FrameCallback__C214_VT);\n s.fn___6585 = (r0);\n r0 = (s.fn___6585).fields[\"order\"] = (s.arg1);\n r0 = (s.fn___6585).fields[\"handler\"] = (s.arg2);\n s.i___6595 = (0);\n case 3:\n s.tmp_1 = r0 = s.i___6595;\n r0 = s.arg0.fields[\"frameCallbacks\"];\n s.tmp_3 = r0;\n r0 = pxsim_Array__length(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 6; continue; }\n r0 = s.arg0.fields[\"frameCallbacks\"];\n s.tmp_6 = r0;\n r0 = pxsim_Array__getAt(s.tmp_6, s.i___6595);\n r0 = r0.fields[\"order\"];\n s.tmp_5 = r0;\n r0 = (s.tmp_5 > s.arg1);\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n if (!r0) { step = 4; continue; }\n r0 = s.arg0.fields[\"frameCallbacks\"];\n s.tmp_7 = r0;\n r0 = pxsim_Array_.insertAt(s.tmp_7, s.i___6595, s.fn___6585);\n { step = 7; continue; }\n case 4:\n case 5:\n r0 = (s.i___6595 + 1);\n s.i___6595 = (r0);\n { step = 3; continue; }\n case 6:\n r0 = s.arg0.fields[\"frameCallbacks\"];\n s.tmp_0 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.fn___6585);\n case 7:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_EventContext_registerFrameHandler__P226.info = {\"start\":4222,\"length\":600,\"line\":132,\"column\":8,\"endLine\":148,\"endColumn\":9,\"fileName\":\"pxt_modules/base/eventcontext.ts\",\"functionName\":\"registerFrameHandler\",\"argumentNames\":[\"this\",\"order\",\"handler\"]}\n\nfunction control_EventContext_registerFrameHandler__P226_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_EventContext_registerFrameHandler__P226, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n fn___6585: undefined,\n i___6595: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction control_EventContext_deltaTime__P221(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, control_EventContext__C220_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"deltaTimeMillis\"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 / 1000);\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_EventContext_deltaTime__P221.info = {\"start\":2103,\"length\":75,\"line\":71,\"column\":8,\"endLine\":73,\"endColumn\":9,\"fileName\":\"pxt_modules/base/eventcontext.ts\",\"functionName\":\"deltaTime\",\"argumentNames\":[\"this\"]}\n\nfunction control_EventContext_deltaTime__P221_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_EventContext_deltaTime__P221, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction music_Melody_constructor__P361(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, music_Melody__C349_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"_text\"] = (s.arg1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nmusic_Melody_constructor__P361.info = {\"start\":6295,\"length\":67,\"line\":198,\"column\":8,\"endLine\":200,\"endColumn\":9,\"fileName\":\"pxt_modules/mixer/melody.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"text\"]}\n\nfunction music_Melody_constructor__P361_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_Melody_constructor__P361, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction control_pushEventContext__P236(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.ctx___6628 = undefined;\n s.n___6633 = undefined;\n r0 = pxsim_numops_toBoolDecr(globals.eventContexts___234);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_Array__mk();\n globals.eventContexts___234 = (r0);\n case 1:\n case 2:\n s.tmp_0 = control_eventContext__P235_mk(s);\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n s.ctx___6628 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.ctx___6628);\n if (!r0) { step = 3; continue; }\n s.tmp_0 = control_EventContext_unregister__P225_mk(s);\n s.tmp_0.arg0 = s.ctx___6628;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n case 3:\n case 4:\n r0 = pxsim_pxtcore_mkClassInstance(control_EventContext__C220_VT);\n s.tmp_0 = r0;\n s.tmp_1 = control_EventContext_constructor__P233_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.pc = 7; return s.tmp_1;\n case 7:\n r0 = s.retval;\n s.n___6633 = (s.tmp_0);\n r0 = pxsim_Array__push(globals.eventContexts___234, s.n___6633);\n r0 = s.n___6633;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_pushEventContext__P236.info = {\"start\":6386,\"length\":340,\"line\":197,\"column\":4,\"endLine\":208,\"endColumn\":5,\"fileName\":\"pxt_modules/base/eventcontext.ts\",\"functionName\":\"pushEventContext\",\"argumentNames\":[]}\n\nfunction control_pushEventContext__P236_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_pushEventContext__P236, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n ctx___6628: undefined,\n n___6633: undefined,\n} }\n\n\n\n\n\nfunction control_eventContext__P235(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals.eventContexts___234);\n if (!r0) { step = 1; continue; }\n s.tmp_0 = r0 = globals.eventContexts___234;\n r0 = pxsim_Array__length(globals.eventContexts___234);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - 1);\n s.tmp_1 = r0;\n r0 = pxsim_Array__getAt(s.tmp_0, s.tmp_1);\n { step = 2; continue; }\n case 1:\n r0 = undefined;\n case 2:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = s.tmp_3;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_eventContext__P235.info = {\"start\":6170,\"length\":136,\"line\":190,\"column\":4,\"endLine\":192,\"endColumn\":5,\"fileName\":\"pxt_modules/base/eventcontext.ts\",\"functionName\":\"eventContext\",\"argumentNames\":[]}\n\nfunction control_eventContext__P235_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_eventContext__P235, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n} }\n\n\n\n\n\nfunction control_EventContext_constructor__P233(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, control_EventContext__C220_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"handlers\"] = (s.tmp_1);\n r0 = (s.arg0).fields[\"framesInSample\"] = (0);\n r0 = (s.arg0).fields[\"timeInSample\"] = (0);\n r0 = (s.arg0).fields[\"deltaTimeMillis\"] = (0);\n r0 = (s.arg0).fields[\"frameWorker\"] = (0);\n r0 = (s.arg0).fields[\"idleCallbacks\"] = (undefined);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_EventContext_constructor__P233.info = {\"start\":1848,\"length\":245,\"line\":62,\"column\":8,\"endLine\":69,\"endColumn\":9,\"fileName\":\"pxt_modules/base/eventcontext.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\"]}\n\nfunction control_EventContext_constructor__P233_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_EventContext_constructor__P233, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_waitAnyButton__P1016(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals.__waitAnyButton___1012);\n if (!r0) { step = 1; continue; }\n s.tmp_0 = lambda_1_mk(s);\n s.tmp_0.argL = globals.__waitAnyButton___1012;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n { step = 2; continue; }\n case 1:\n s.tmp_0 = pause__P241_mk(s);\n s.tmp_0.arg0 = 3000;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_waitAnyButton__P1016.info = {\"start\":967,\"length\":111,\"line\":35,\"column\":4,\"endLine\":38,\"endColumn\":5,\"fileName\":\"pxt_modules/game/game.ts\",\"functionName\":\"waitAnyButton\",\"argumentNames\":[]}\n\nfunction game_waitAnyButton__P1016_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_waitAnyButton__P1016, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction game_GameOverDialog_constructor__P988(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_GameOverDialog__C983_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"win\"] = (s.arg1);\n r0 = (s.arg0).fields[\"score\"] = (s.arg2);\n r0 = (s.arg0).fields[\"highScore\"] = (s.arg3);\n s.tmp_0 = game_BaseDialog_constructor__P965_mk(s);\n s.tmp_0.arg0 = s.arg0;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = 46;\n s.tmp_1 = game_defaultSplashFrame__P991_mk(s);\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n s.tmp_0.arg3 = r0;\n s.tmp_0.arg4 = undefined;\n s.tmp_0.arg5 = undefined;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = (s.arg0).fields[\"cursorOn\"] = (false);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.arg0.fields[\"score\"];\n s.tmp_2 = r0;\n r0 = s.arg0.fields[\"highScore\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_2 > s.tmp_3);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"isNewHighScore\"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_GameOverDialog_constructor__P988.info = {\"start\":12305,\"length\":308,\"line\":362,\"column\":8,\"endLine\":370,\"endColumn\":9,\"fileName\":\"pxt_modules/game/textDialogs.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"win\",\"score\",\"highScore\"]}\n\nfunction game_GameOverDialog_constructor__P988_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_GameOverDialog_constructor__P988, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction game_defaultSplashFrame__P991(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_ImageMethods.isMono(globals.screen___464);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim.image.ofBuffer(_hex4695);\n { step = 2; continue; }\n case 1:\n r0 = pxsim.image.ofBuffer(_hex4697);\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = s.tmp_1;\n return leave(s, r0)\n default: oops()\n} } }\ngame_defaultSplashFrame__P991.info = {\"start\":18476,\"length\":220,\"line\":562,\"column\":4,\"endLine\":575,\"endColumn\":5,\"fileName\":\"pxt_modules/game/textDialogs.ts\",\"functionName\":\"defaultSplashFrame\",\"argumentNames\":[]}\n\nfunction game_defaultSplashFrame__P991_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_defaultSplashFrame__P991, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n} }\n\nconst _hex4695 = pxsim.BufferMethods.createBufferFromHex(\"8704030003000000010100000101000001010000\")\nconst _hex4697 = pxsim.BufferMethods.createBufferFromHex(\"8704030003000000f1010000f1010000f1010000\")\n\n\n\n\nfunction game_BaseDialog_constructor__P965(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.arg5 = (s.lambdaArgs[5]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_BaseDialog__C952_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim.image.create(s.arg1, s.arg2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"image\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg3;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = globals.dialogFrame___949;\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBool(s.tmp_1);\n if (!r0) { step = 3; continue; }\n r0 = s.tmp_1;\n { step = 4; continue; }\n case 3:\n s.tmp_3 = game_defaultFrame__P990_mk(s);\n s.pc = 13; return s.tmp_3;\n case 13:\n r0 = s.retval;\n s.tmp_2 = r0;\n globals.dialogFrame___949 = (r0);\n r0 = s.tmp_2;\n case 4:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n r0 = (s.arg0).fields[\"frame\"] = (s.tmp_4);\n s.tmp_0 = r0 = s.arg4;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = s.tmp_0;\n { step = 6; continue; }\n case 5:\n r0 = globals.font8___423;\n case 6:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = (s.arg0).fields[\"font\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg5;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 7; continue; }\n r0 = s.tmp_0;\n { step = 8; continue; }\n case 7:\n r0 = globals.dialogCursor___950;\n case 8:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBool(s.tmp_1);\n if (!r0) { step = 9; continue; }\n r0 = s.tmp_1;\n { step = 10; continue; }\n case 9:\n s.tmp_3 = game_defaultCursorImage__P992_mk(s);\n s.pc = 14; return s.tmp_3;\n case 14:\n r0 = s.retval;\n s.tmp_2 = r0;\n globals.dialogCursor___950 = (r0);\n r0 = s.tmp_2;\n case 10:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n r0 = (s.arg0).fields[\"cursor\"] = (s.tmp_4);\n r0 = (globals.dialogTextColor___951 == undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 11; continue; }\n globals.dialogTextColor___951 = (15);\n r0 = 15;\n { step = 12; continue; }\n case 11:\n r0 = globals.dialogTextColor___951;\n case 12:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = (s.arg0).fields[\"textColor\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.arg0.fields[\"frame\"];\n s.tmp_4 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_4);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 / 3);\n s.tmp_2 = r0;\n r0 = pxsim.Math_.floor(s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"unit\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.arg0.fields[\"unit\"];\n s.tmp_3 = r0;\n r0 = (s.arg1 / s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim.Math_.floor(s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"columns\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.arg0.fields[\"unit\"];\n s.tmp_3 = r0;\n r0 = (s.arg2 / s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim.Math_.floor(s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"rows\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_3 = r0 = s.arg1;\n r0 = s.arg0.fields[\"columns\"];\n s.tmp_5 = r0;\n r0 = s.arg0.fields[\"unit\"];\n s.tmp_6 = r0;\n r0 = (s.tmp_5 * s.tmp_6);\n s.tmp_4 = r0;\n r0 = (s.tmp_3 - s.tmp_4);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 >> 1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"innerLeft\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_3 = r0 = s.arg2;\n r0 = s.arg0.fields[\"rows\"];\n s.tmp_5 = r0;\n r0 = s.arg0.fields[\"unit\"];\n s.tmp_6 = r0;\n r0 = (s.tmp_5 * s.tmp_6);\n s.tmp_4 = r0;\n r0 = (s.tmp_3 - s.tmp_4);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 >> 1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"innerTop\"] = (s.tmp_1);\n r0 = (s.arg0).fields[\"cursorCount\"] = (0);\n s.tmp_0 = game_BaseDialog_drawBorder__P957_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 15; return s.tmp_0;\n case 15:\n r0 = s.retval;\n s.tmp_0 = game_BaseDialog_clearInterior__P958_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 16; return s.tmp_0;\n case 16:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_BaseDialog_constructor__P965.info = {\"start\":634,\"length\":895,\"line\":36,\"column\":8,\"endLine\":58,\"endColumn\":9,\"fileName\":\"pxt_modules/game/textDialogs.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"width\",\"height\",\"frame\",\"font\",\"cursor\"]}\n\nfunction game_BaseDialog_constructor__P965_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_BaseDialog_constructor__P965, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n arg5: undefined,\n} }\n\n\n\n\n\nfunction game_defaultCursorImage__P992(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_ImageMethods.isMono(globals.screen___464);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim.image.ofBuffer(_hex4819);\n { step = 2; continue; }\n case 1:\n r0 = pxsim.image.ofBuffer(_hex4821);\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = s.tmp_1;\n return leave(s, r0)\n default: oops()\n} } }\ngame_defaultCursorImage__P992.info = {\"start\":18702,\"length\":690,\"line\":577,\"column\":4,\"endLine\":603,\"endColumn\":5,\"fileName\":\"pxt_modules/game/textDialogs.ts\",\"functionName\":\"defaultCursorImage\",\"argumentNames\":[]}\n\nfunction game_defaultCursorImage__P992_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_defaultCursorImage__P992, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n} }\n\nconst _hex4819 = pxsim.BufferMethods.createBufferFromHex(\"87040a000800000011111101010000010111010111100001011101010100000101000001100010000001010000100000\")\nconst _hex4821 = pxsim.BufferMethods.createBufferFromHex(\"87040b000b00000000606686080000006076776686000000607777676608000076171111670800007671177766080000767117776608000076711777660800007617111167080000607777676608000060767766860000000060668608000000\")\n\n\n\n\nfunction game_defaultFrame__P990(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_ImageMethods.isMono(globals.screen___464);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim.image.ofBuffer(_hex4825);\n { step = 2; continue; }\n case 1:\n r0 = pxsim.image.ofBuffer(_hex4827);\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = s.tmp_1;\n return leave(s, r0)\n default: oops()\n} } }\ngame_defaultFrame__P990.info = {\"start\":17914,\"length\":556,\"line\":538,\"column\":4,\"endLine\":560,\"endColumn\":5,\"fileName\":\"pxt_modules/game/textDialogs.ts\",\"functionName\":\"defaultFrame\",\"argumentNames\":[]}\n\nfunction game_defaultFrame__P990_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_defaultFrame__P990, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n} }\n\nconst _hex4825 = pxsim.BufferMethods.createBufferFromHex(\"8704030003000000110100000101000011010000\")\nconst _hex4827 = pxsim.BufferMethods.createBufferFromHex(\"87040c000c0000000000000000000000b0bbbbbbbb0b0000b0bbbbbbbbcb0000b0db1111bdcb0000b01b1111b1cb0000b01b1111b1cb0000b01b1111b1cb0000b01b1111b1cb0000b0db1111bdcb0000b0bbbbbbbbcb0000b0bbbbbbbbcb000000cccccccccc0000\")\n\n\n\n\nfunction game_BaseDialog_clearInterior__P958(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.d___4597 = undefined;\n s.s___4603 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_BaseDialog__C952_VT)) failedCast(r0);\n s.d___4597 = (1);\n case 1:\n s.tmp_1 = r0 = s.d___4597;\n r0 = s.arg0.fields[\"columns\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 - 1);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 4; continue; }\n s.s___4603 = (1);\n case 2:\n s.tmp_1 = r0 = s.s___4603;\n r0 = s.arg0.fields[\"rows\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 - 1);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.tmp_4 = game_BaseDialog_drawPartial__P959_mk(s);\n s.tmp_4.arg0 = s.arg0;\n s.tmp_4.arg1 = 4;\n s.tmp_4.arg2 = s.d___4597;\n s.tmp_4.arg3 = s.s___4603;\n s.pc = 5; return s.tmp_4;\n case 5:\n r0 = s.retval;\n r0 = (s.s___4603 + 1);\n s.s___4603 = (r0);\n { step = 2; continue; }\n case 3:\n r0 = (s.d___4597 + 1);\n s.d___4597 = (r0);\n { step = 1; continue; }\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_BaseDialog_clearInterior__P958.info = {\"start\":3078,\"length\":230,\"line\":111,\"column\":8,\"endLine\":117,\"endColumn\":9,\"fileName\":\"pxt_modules/game/textDialogs.ts\",\"functionName\":\"clearInterior\",\"argumentNames\":[\"this\"]}\n\nfunction game_BaseDialog_clearInterior__P958_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_BaseDialog_clearInterior__P958, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n d___4597: undefined,\n s___4603: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_BaseDialog_drawPartial__P959(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.x0___4620 = undefined;\n s.y0___4627 = undefined;\n s.xf___4634 = undefined;\n s.yf___4638 = undefined;\n s.e___4644 = undefined;\n s.t___4649 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_BaseDialog__C952_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"innerLeft\"];\n s.tmp_0 = r0;\n r0 = s.arg0.fields[\"unit\"];\n s.tmp_2 = r0;\n r0 = (s.arg2 * s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n s.x0___4620 = (r0);\n r0 = s.arg0.fields[\"innerTop\"];\n s.tmp_0 = r0;\n r0 = s.arg0.fields[\"unit\"];\n s.tmp_2 = r0;\n r0 = (s.arg3 * s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n s.y0___4627 = (r0);\n r0 = (s.arg1 % 3);\n s.tmp_0 = r0;\n r0 = s.arg0.fields[\"unit\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_0 * s.tmp_1);\n s.xf___4634 = (r0);\n r0 = (s.arg1 / 3);\n s.tmp_1 = r0;\n r0 = pxsim.Math_.floor(s.tmp_1);\n s.tmp_0 = r0;\n r0 = s.arg0.fields[\"unit\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_0 * s.tmp_2);\n s.yf___4638 = (r0);\n s.e___4644 = (0);\n case 1:\n r0 = s.arg0.fields[\"unit\"];\n s.tmp_1 = r0;\n r0 = (s.e___4644 < s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 4; continue; }\n s.t___4649 = (0);\n case 2:\n r0 = s.arg0.fields[\"unit\"];\n s.tmp_1 = r0;\n r0 = (s.t___4649 < s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = s.arg0.fields[\"image\"];\n s.tmp_2 = r0;\n r0 = (s.x0___4620 + s.e___4644);\n s.tmp_3 = r0;\n r0 = (s.y0___4627 + s.t___4649);\n s.tmp_4 = r0;\n r0 = s.arg0.fields[\"frame\"];\n s.tmp_6 = r0;\n r0 = (s.xf___4634 + s.e___4644);\n s.tmp_7 = r0;\n r0 = (s.yf___4638 + s.t___4649);\n s.tmp_8 = r0;\n r0 = pxsim_ImageMethods.getPixel(s.tmp_6, s.tmp_7, s.tmp_8);\n s.tmp_5 = r0;\n r0 = pxsim_ImageMethods.setPixel(s.tmp_2, s.tmp_3, s.tmp_4, s.tmp_5);\n r0 = (s.t___4649 + 1);\n s.t___4649 = (r0);\n { step = 2; continue; }\n case 3:\n r0 = (s.e___4644 + 1);\n s.e___4644 = (r0);\n { step = 1; continue; }\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_BaseDialog_drawPartial__P959.info = {\"start\":3318,\"length\":606,\"line\":119,\"column\":8,\"endLine\":134,\"endColumn\":9,\"fileName\":\"pxt_modules/game/textDialogs.ts\",\"functionName\":\"drawPartial\",\"argumentNames\":[\"this\",\"index\",\"colTo\",\"rowTo\"]}\n\nfunction game_BaseDialog_drawPartial__P959_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_BaseDialog_drawPartial__P959, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n x0___4620: undefined,\n y0___4627: undefined,\n xf___4634: undefined,\n yf___4638: undefined,\n e___4644: undefined,\n t___4649: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction game_BaseDialog_drawBorder__P957(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.c___4776 = undefined;\n s.r___4803 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_BaseDialog__C952_VT)) failedCast(r0);\n s.c___4776 = (0);\n case 1:\n r0 = s.arg0.fields[\"columns\"];\n s.tmp_1 = r0;\n r0 = (s.c___4776 < s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 6; continue; }\n r0 = (s.c___4776 == 0);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 2; continue; }\n s.tmp_3 = game_BaseDialog_drawPartial__P959_mk(s);\n s.tmp_3.arg0 = s.arg0;\n s.tmp_3.arg1 = 0;\n s.tmp_3.arg2 = 0;\n s.tmp_3.arg3 = 0;\n s.pc = 9; return s.tmp_3;\n case 9:\n r0 = s.retval;\n s.tmp_0 = game_BaseDialog_drawPartial__P959_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = 6;\n s.tmp_0.arg2 = 0;\n r0 = s.arg0.fields[\"rows\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - 1);\n s.tmp_0.arg3 = r0;\n s.pc = 10; return s.tmp_0;\n case 10:\n r0 = s.retval;\n { step = 5; continue; }\n case 2:\n s.tmp_1 = r0 = s.c___4776;\n r0 = s.arg0.fields[\"columns\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 - 1);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 === s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.tmp_4 = game_BaseDialog_drawPartial__P959_mk(s);\n s.tmp_4.arg0 = s.arg0;\n s.tmp_4.arg1 = 2;\n s.tmp_4.arg2 = s.c___4776;\n s.tmp_4.arg3 = 0;\n s.pc = 11; return s.tmp_4;\n case 11:\n r0 = s.retval;\n s.tmp_0 = game_BaseDialog_drawPartial__P959_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = 8;\n s.tmp_0.arg2 = s.c___4776;\n r0 = s.arg0.fields[\"rows\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - 1);\n s.tmp_0.arg3 = r0;\n s.pc = 12; return s.tmp_0;\n case 12:\n r0 = s.retval;\n { step = 4; continue; }\n case 3:\n s.tmp_0 = game_BaseDialog_drawPartial__P959_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = 1;\n s.tmp_0.arg2 = s.c___4776;\n s.tmp_0.arg3 = 0;\n s.pc = 13; return s.tmp_0;\n case 13:\n r0 = s.retval;\n s.tmp_0 = game_BaseDialog_drawPartial__P959_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = 7;\n s.tmp_0.arg2 = s.c___4776;\n r0 = s.arg0.fields[\"rows\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - 1);\n s.tmp_0.arg3 = r0;\n s.pc = 14; return s.tmp_0;\n case 14:\n r0 = s.retval;\n case 4:\n case 5:\n r0 = (s.c___4776 + 1);\n s.c___4776 = (r0);\n { step = 1; continue; }\n case 6:\n s.r___4803 = (1);\n case 7:\n s.tmp_1 = r0 = s.r___4803;\n r0 = s.arg0.fields[\"rows\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 - 1);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 8; continue; }\n s.tmp_4 = game_BaseDialog_drawPartial__P959_mk(s);\n s.tmp_4.arg0 = s.arg0;\n s.tmp_4.arg1 = 3;\n s.tmp_4.arg2 = 0;\n s.tmp_4.arg3 = s.r___4803;\n s.pc = 15; return s.tmp_4;\n case 15:\n r0 = s.retval;\n s.tmp_0 = game_BaseDialog_drawPartial__P959_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = 5;\n r0 = s.arg0.fields[\"columns\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - 1);\n s.tmp_0.arg2 = r0;\n s.tmp_0.arg3 = s.r___4803;\n s.pc = 16; return s.tmp_0;\n case 16:\n r0 = s.retval;\n r0 = (s.r___4803 + 1);\n s.r___4803 = (r0);\n { step = 7; continue; }\n case 8:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_BaseDialog_drawBorder__P957.info = {\"start\":2321,\"length\":747,\"line\":89,\"column\":8,\"endLine\":109,\"endColumn\":9,\"fileName\":\"pxt_modules/game/textDialogs.ts\",\"functionName\":\"drawBorder\",\"argumentNames\":[\"this\"]}\n\nfunction game_BaseDialog_drawBorder__P957_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_BaseDialog_drawBorder__P957, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n c___4776: undefined,\n r___4803: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_GameOverDialog_update__P986(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_GameOverDialog__C983_VT)) failedCast(r0);\n s.tmp_0 = game_BaseDialog_clearInterior__P958_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.tmp_0 = game_GameOverDialog__C983_v1_1_mk(s);\n s.tmp_0.arg0 = s.arg0;\n if (!checkSubtype(s.tmp_0.arg0, game_GameOverDialog__C983_VT)) failedCast(s.tmp_0.arg0);\n s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.drawTextCore;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n r0 = s.arg0.fields[\"cursorOn\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_1 = game_BaseDialog_drawCursorRow__P956_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.pc = 5; return s.tmp_1;\n case 5:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_GameOverDialog_update__P986.info = {\"start\":12694,\"length\":173,\"line\":376,\"column\":8,\"endLine\":383,\"endColumn\":9,\"fileName\":\"pxt_modules/game/textDialogs.ts\",\"functionName\":\"update\",\"argumentNames\":[\"this\"]}\n\nfunction game_GameOverDialog_update__P986_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_GameOverDialog_update__P986, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_GameOverDialog_drawTextCore__P987(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.titleHeight___4542 = undefined;\n s.scoreHeight___4557 = undefined;\n s.highScoreHeight___4558 = undefined;\n s.scoreColor___4559 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_GameOverDialog__C983_VT)) failedCast(r0);\n s.titleHeight___4542 = (8);\n r0 = s.arg0.fields[\"win\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = \"YOU WIN!\";\n { step = 2; continue; }\n case 1:\n r0 = \"GAME OVER!\";\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_ImageMethods.isMono(globals.screen___464);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 3; continue; }\n r0 = 1;\n { step = 4; continue; }\n case 3:\n r0 = 5;\n case 4:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n s.tmp_4 = helpers_imagePrintCenter__P431_mk(s);\n r0 = s.arg0.fields[\"image\"];\n s.tmp_4.arg0 = r0;\n s.tmp_4.arg1 = s.tmp_1;\n s.tmp_4.arg2 = s.titleHeight___4542;\n s.tmp_4.arg3 = s.tmp_3;\n s.tmp_4.arg4 = globals.font8___423;\n s.pc = 11; return s.tmp_4;\n case 11:\n r0 = s.retval;\n r0 = s.arg0.fields[\"score\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 !== undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 9; continue; }\n s.scoreHeight___4557 = (23);\n s.highScoreHeight___4558 = (34);\n r0 = pxsim_ImageMethods.isMono(globals.screen___464);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = 1;\n { step = 6; continue; }\n case 5:\n r0 = 2;\n case 6:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n s.scoreColor___4559 = (s.tmp_1);\n s.tmp_0 = helpers_imagePrintCenter__P431_mk(s);\n r0 = s.arg0.fields[\"image\"];\n s.tmp_0.arg0 = r0;\n r0 = s.arg0.fields[\"score\"];\n s.tmp_2 = r0;\n if ((s.tmp_2) && (s.tmp_2).vtable) {\n setupResume(s, 13);\n pxsim_String__stringConv(s.tmp_2);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_2) + \"\"; }\n case 13:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_String__concat(\"Score:\", s.tmp_1);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = s.scoreHeight___4557;\n s.tmp_0.arg3 = s.scoreColor___4559;\n s.tmp_0.arg4 = globals.font8___423;\n s.pc = 12; return s.tmp_0;\n case 12:\n r0 = s.retval;\n r0 = s.arg0.fields[\"isNewHighScore\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 7; continue; }\n s.tmp_1 = helpers_imagePrintCenter__P431_mk(s);\n r0 = s.arg0.fields[\"image\"];\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = \"New High Score!\";\n s.tmp_1.arg2 = s.highScoreHeight___4558;\n s.tmp_1.arg3 = s.scoreColor___4559;\n s.tmp_1.arg4 = globals.font5___428;\n s.pc = 14; return s.tmp_1;\n case 14:\n r0 = s.retval;\n { step = 8; continue; }\n case 7:\n s.tmp_0 = helpers_imagePrintCenter__P431_mk(s);\n r0 = s.arg0.fields[\"image\"];\n s.tmp_0.arg0 = r0;\n r0 = s.arg0.fields[\"highScore\"];\n s.tmp_2 = r0;\n if ((s.tmp_2) && (s.tmp_2).vtable) {\n setupResume(s, 16);\n pxsim_String__stringConv(s.tmp_2);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_2) + \"\"; }\n case 16:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_String__concat(\"HI\", s.tmp_1);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = s.highScoreHeight___4558;\n s.tmp_0.arg3 = s.scoreColor___4559;\n s.tmp_0.arg4 = globals.font8___423;\n s.pc = 15; return s.tmp_0;\n case 15:\n r0 = s.retval;\n case 8:\n case 9:\n case 10:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_GameOverDialog_drawTextCore__P987.info = {\"start\":12877,\"length\":1200,\"line\":385,\"column\":8,\"endLine\":422,\"endColumn\":9,\"fileName\":\"pxt_modules/game/textDialogs.ts\",\"functionName\":\"drawTextCore\",\"argumentNames\":[\"this\"]}\n\nfunction game_GameOverDialog_drawTextCore__P987_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_GameOverDialog_drawTextCore__P987, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n titleHeight___4542: undefined,\n scoreHeight___4557: undefined,\n highScoreHeight___4558: undefined,\n scoreColor___4559: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction helpers_imagePrintCenter__P431(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.w___2421 = undefined;\n s.x___2427 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_numops_toBoolDecr(s.arg4);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_2 = image_getFontForText__P425_mk(s);\n s.tmp_2.arg0 = s.arg1;\n s.pc = 3; return s.tmp_2;\n case 3:\n r0 = s.retval;\n s.arg4 = (r0);\n case 1:\n case 2:\n r0 = pxsim_String_.length(s.arg1);\n s.tmp_0 = r0;\n s.tmp_2 = if_charWidth_1_mk(s);\n s.tmp_2.arg0 = s.arg4;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, \"charWidth\");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface[\"charWidth\"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields[\"charWidth\"]; }\n else { s.pc = 4; return s.tmp_2; }\n }\n case 4:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0 * s.tmp_1);\n s.w___2421 = (r0);\n r0 = pxsim_ImageMethods.width(s.arg0);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - s.w___2421);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 / 2);\n s.x___2427 = (r0);\n s.tmp_0 = helpers_imagePrint__P432_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.tmp_0.arg2 = s.x___2427;\n s.tmp_0.arg3 = s.arg2;\n s.tmp_0.arg4 = s.arg3;\n s.tmp_0.arg5 = s.arg4;\n s.tmp_0.arg6 = undefined;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_imagePrintCenter__P431.info = {\"start\":15025,\"length\":295,\"line\":206,\"column\":4,\"endLine\":211,\"endColumn\":5,\"fileName\":\"pxt_modules/screen/text.ts\",\"functionName\":\"imagePrintCenter\",\"argumentNames\":[\"img\",\"text\",\"y\",\"color\",\"font\"]}\n\nfunction helpers_imagePrintCenter__P431_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_imagePrintCenter__P431, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n w___2421: undefined,\n x___2427: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n} }\n\n\n\n\n\nfunction game_BaseDialog_drawCursorRow__P956(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.offset___4478 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_BaseDialog__C952_VT)) failedCast(r0);\n s.offset___4478 = (0);\n r0 = s.arg0.fields[\"cursorCount\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > 20);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.offset___4478 = (1);\n case 1:\n case 2:\n s.tmp_0 = r0 = s.arg0;\n r0 = s.arg0.fields[\"cursorCount\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 + 1);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 % 40);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"cursorCount\"] = (s.tmp_1);\n r0 = s.arg0.fields[\"image\"];\n s.tmp_0 = r0;\n r0 = s.arg0.fields[\"cursor\"];\n s.tmp_1 = r0;\n r0 = s.arg0.fields[\"innerLeft\"];\n s.tmp_6 = r0;\n s.tmp_8 = game_BaseDialog_textAreaWidth__P962_mk(s);\n s.tmp_8.arg0 = s.arg0;\n s.pc = 3; return s.tmp_8;\n case 3:\n r0 = s.retval;\n s.tmp_7 = r0;\n r0 = (s.tmp_6 + s.tmp_7);\n s.tmp_5 = r0;\n r0 = s.arg0.fields[\"unit\"];\n s.tmp_9 = r0;\n r0 = (s.tmp_5 + s.tmp_9);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 + s.offset___4478);\n s.tmp_3 = r0;\n r0 = s.arg0.fields[\"cursor\"];\n s.tmp_11 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_11);\n s.tmp_10 = r0;\n r0 = (s.tmp_3 - s.tmp_10);\n s.tmp_2 = r0;\n r0 = s.arg0.fields[\"innerTop\"];\n s.tmp_16 = r0;\n r0 = s.arg0.fields[\"unit\"];\n s.tmp_17 = r0;\n r0 = (s.tmp_16 + s.tmp_17);\n s.tmp_15 = r0;\n s.tmp_19 = game_BaseDialog_textAreaHeight__P963_mk(s);\n s.tmp_19.arg0 = s.arg0;\n s.pc = 4; return s.tmp_19;\n case 4:\n r0 = s.retval;\n s.tmp_18 = r0;\n r0 = (s.tmp_15 + s.tmp_18);\n s.tmp_14 = r0;\n r0 = (s.tmp_14 + 1);\n s.tmp_13 = r0;\n r0 = s.arg0.fields[\"cursor\"];\n s.tmp_22 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_22);\n s.tmp_21 = r0;\n r0 = (s.tmp_21 + 1);\n s.tmp_20 = r0;\n r0 = (s.tmp_13 - s.tmp_20);\n s.tmp_12 = r0;\n r0 = pxsim_ImageMethods.drawTransparentImage(s.tmp_0, s.tmp_1, s.tmp_2, s.tmp_12);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_BaseDialog_drawCursorRow__P956.info = {\"start\":1832,\"length\":479,\"line\":74,\"column\":8,\"endLine\":87,\"endColumn\":9,\"fileName\":\"pxt_modules/game/textDialogs.ts\",\"functionName\":\"drawCursorRow\",\"argumentNames\":[\"this\"]}\n\nfunction game_BaseDialog_drawCursorRow__P956_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_BaseDialog_drawCursorRow__P956, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n tmp_12: undefined,\n tmp_13: undefined,\n tmp_14: undefined,\n tmp_15: undefined,\n tmp_16: undefined,\n tmp_17: undefined,\n tmp_18: undefined,\n tmp_19: undefined,\n tmp_20: undefined,\n tmp_21: undefined,\n tmp_22: undefined,\n offset___4478: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_BaseDialog_textAreaHeight__P963(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_BaseDialog__C952_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"image\"];\n s.tmp_2 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_2);\n s.tmp_1 = r0;\n r0 = s.arg0.fields[\"innerTop\"];\n s.tmp_5 = r0;\n r0 = s.arg0.fields[\"unit\"];\n s.tmp_6 = r0;\n r0 = (s.tmp_5 + s.tmp_6);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 << 1);\n s.tmp_3 = r0;\n r0 = (s.tmp_1 - s.tmp_3);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 - 1);\n return leave(s, r0)\n default: oops()\n} } }\ngame_BaseDialog_textAreaHeight__P963.info = {\"start\":4240,\"length\":117,\"line\":148,\"column\":8,\"endLine\":150,\"endColumn\":9,\"fileName\":\"pxt_modules/game/textDialogs.ts\",\"functionName\":\"textAreaHeight\",\"argumentNames\":[\"this\"]}\n\nfunction game_BaseDialog_textAreaHeight__P963_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_BaseDialog_textAreaHeight__P963, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_BaseDialog_textAreaWidth__P962(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_BaseDialog__C952_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"image\"];\n s.tmp_2 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_2);\n s.tmp_1 = r0;\n r0 = s.arg0.fields[\"innerLeft\"];\n s.tmp_5 = r0;\n r0 = s.arg0.fields[\"unit\"];\n s.tmp_6 = r0;\n r0 = (s.tmp_5 + s.tmp_6);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 << 1);\n s.tmp_3 = r0;\n r0 = (s.tmp_1 - s.tmp_3);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 - 2);\n return leave(s, r0)\n default: oops()\n} } }\ngame_BaseDialog_textAreaWidth__P962.info = {\"start\":4114,\"length\":116,\"line\":144,\"column\":8,\"endLine\":146,\"endColumn\":9,\"fileName\":\"pxt_modules/game/textDialogs.ts\",\"functionName\":\"textAreaWidth\",\"argumentNames\":[\"this\"]}\n\nfunction game_BaseDialog_textAreaWidth__P962_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_BaseDialog_textAreaWidth__P962, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_BaseDialog_cursorRowHeight__P960(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_BaseDialog__C952_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"cursor\"];\n s.tmp_1 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_1);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 + 1);\n return leave(s, r0)\n default: oops()\n} } }\ngame_BaseDialog_cursorRowHeight__P960.info = {\"start\":3934,\"length\":82,\"line\":136,\"column\":8,\"endLine\":138,\"endColumn\":9,\"fileName\":\"pxt_modules/game/textDialogs.ts\",\"functionName\":\"cursorRowHeight\",\"argumentNames\":[\"this\"]}\n\nfunction game_BaseDialog_cursorRowHeight__P960_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_BaseDialog_cursorRowHeight__P960, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_GameOverDialog_displayCursor__P985(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_GameOverDialog__C983_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"cursorOn\"] = (true);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_GameOverDialog_displayCursor__P985.info = {\"start\":12623,\"length\":61,\"line\":372,\"column\":8,\"endLine\":374,\"endColumn\":9,\"fileName\":\"pxt_modules/game/textDialogs.ts\",\"functionName\":\"displayCursor\",\"argumentNames\":[\"this\"]}\n\nfunction game_GameOverDialog_displayCursor__P985_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_GameOverDialog_displayCursor__P985, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_setBackgroundImage__P937(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.scene___4829 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.scene___4829 = (r0);\n s.tmp_0 = scene_Background_image__P849_mk(s);\n r0 = s.scene___4829.fields[\"background\"];\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = s.arg0;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_setBackgroundImage__P937.info = {\"start\":1735,\"length\":135,\"line\":62,\"column\":4,\"endLine\":65,\"endColumn\":5,\"fileName\":\"pxt_modules/game/scenes.ts\",\"functionName\":\"setBackgroundImage\",\"argumentNames\":[\"img\"]}\n\nfunction scene_setBackgroundImage__P937_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_setBackgroundImage__P937, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n scene___4829: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_Background_image__P849(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Background__C846_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"_image\"] = (s.arg1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_Background_image__P849.info = {\"start\":1003,\"length\":68,\"line\":40,\"column\":8,\"endLine\":42,\"endColumn\":9,\"fileName\":\"pxt_modules/game/background.ts\",\"functionName\":\"image\",\"argumentNames\":[\"this\",\"image\"]}\n\nfunction scene_Background_image__P849_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Background_image__P849, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction scene_Background_image__P848(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Background__C846_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_image\"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_3 = r0 = s.arg0;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_5 = r0;\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n s.tmp_6 = r0;\n r0 = pxsim.image.create(s.tmp_5, s.tmp_6);\n s.tmp_4 = r0;\n r0 = (s.tmp_3).fields[\"_image\"] = (s.tmp_4);\n case 1:\n case 2:\n r0 = s.arg0.fields[\"_image\"];\n return leave(s, r0)\n default: oops()\n} } }\nscene_Background_image__P848.info = {\"start\":811,\"length\":174,\"line\":33,\"column\":8,\"endLine\":38,\"endColumn\":9,\"fileName\":\"pxt_modules/game/background.ts\",\"functionName\":\"image\",\"argumentNames\":[\"this\"]}\n\nfunction scene_Background_image__P848_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Background_image__P848, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_Scene_destroy__P928(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Scene__C923_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"eventContext\"] = (undefined);\n r0 = (s.arg0).fields[\"background\"] = (undefined);\n r0 = (s.arg0).fields[\"tileMap\"] = (undefined);\n r0 = (s.arg0).fields[\"allSprites\"] = (undefined);\n r0 = (s.arg0).fields[\"spriteNextId\"] = (undefined);\n r0 = (s.arg0).fields[\"spritesByKind\"] = (undefined);\n r0 = (s.arg0).fields[\"physicsEngine\"] = (undefined);\n r0 = (s.arg0).fields[\"camera\"] = (undefined);\n r0 = (s.arg0).fields[\"flags\"] = (undefined);\n r0 = (s.arg0).fields[\"destroyedHandlers\"] = (undefined);\n r0 = (s.arg0).fields[\"createdHandlers\"] = (undefined);\n r0 = (s.arg0).fields[\"overlapHandlers\"] = (undefined);\n r0 = (s.arg0).fields[\"collisionHandlers\"] = (undefined);\n r0 = (s.arg0).fields[\"gameForeverHandlers\"] = (undefined);\n r0 = (s.arg0).fields[\"_data\"] = (undefined);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_Scene_destroy__P928.info = {\"start\":5933,\"length\":662,\"line\":173,\"column\":8,\"endLine\":189,\"endColumn\":9,\"fileName\":\"pxt_modules/game/scene.ts\",\"functionName\":\"destroy\",\"argumentNames\":[\"this\"]}\n\nfunction scene_Scene_destroy__P928_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Scene_destroy__P928, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction info_highScore__P800(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_1 = settings_readNumber__P500_mk(s);\n s.tmp_1.arg0 = \"high-score\";\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = 0;\n case 2:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = s.tmp_2;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_highScore__P800.info = {\"start\":7111,\"length\":98,\"line\":241,\"column\":4,\"endLine\":243,\"endColumn\":5,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"highScore\",\"argumentNames\":[]}\n\nfunction info_highScore__P800_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_highScore__P800, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n} }\n\n\n\n\n\nfunction settings_readNumber__P500(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.buf___4044 = undefined;\n s.nums___4049 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim.settings._get(s.arg0);\n s.buf___4044 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.buf___4044);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = undefined;\n { step = 7; continue; }\n { step = 6; continue; }\n case 1:\n s.tmp_2 = msgpack_unpackNumberArray__P111_mk(s);\n s.tmp_2.arg0 = s.buf___4044;\n s.tmp_2.arg1 = 0;\n s.pc = 8; return s.tmp_2;\n case 8:\n r0 = s.retval;\n s.nums___4049 = (r0);\n s.tmp_0 = r0 = s.nums___4049;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 2; continue; }\n r0 = s.tmp_0;\n { step = 3; continue; }\n case 2:\n r0 = pxsim_Array__length(s.nums___4049);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 >= 1);\n case 3:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 4; continue; }\n r0 = pxsim_Array__getAt(s.nums___4049, 0);\n { step = 7; continue; }\n case 4:\n case 5:\n r0 = undefined;\n { step = 7; continue; }\n case 6:\n r0 = undefined;\n case 7:\n return leave(s, r0)\n default: oops()\n} } }\nsettings_readNumber__P500.info = {\"start\":2742,\"length\":313,\"line\":109,\"column\":4,\"endLine\":119,\"endColumn\":5,\"fileName\":\"pxt_modules/settings/settings.ts\",\"functionName\":\"readNumber\",\"argumentNames\":[\"key\"]}\n\nfunction settings_readNumber__P500_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: settings_readNumber__P500, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n buf___4044: undefined,\n nums___4049: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction settings_readBuffer__P498(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim.settings._get(s.arg0);\n return leave(s, r0)\n default: oops()\n} } }\nsettings_readBuffer__P498.info = {\"start\":2371,\"length\":72,\"line\":91,\"column\":4,\"endLine\":93,\"endColumn\":5,\"fileName\":\"pxt_modules/settings/settings.ts\",\"functionName\":\"readBuffer\",\"argumentNames\":[\"key\"]}\n\nfunction settings_readBuffer__P498_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: settings_readBuffer__P498, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction msgpack_unpackNumberArray__P111(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.res___4059 = undefined;\n s.fmt___4065 = undefined;\n s.v___4073 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_Array__mk();\n s.res___4059 = (r0);\n case 1:\n s.tmp_1 = r0 = s.arg1;\n r0 = pxsim.BufferMethods.length(s.arg0);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 10; continue; }\n s.tmp_3 = r0 = s.arg1;\n r0 = (s.tmp_3 + 1);\n s.arg1 = (r0);\n s.tmp_4 = msgpack_tagFormat__P109_mk(s);\n r0 = pxsim.BufferMethods.getByte(s.arg0, s.tmp_3);\n s.tmp_4.arg0 = r0;\n s.pc = 12; return s.tmp_4;\n case 12:\n r0 = s.retval;\n s.fmt___4065 = (r0);\n r0 = (s.fmt___4065 === null);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 6; continue; }\n s.tmp_1 = r0 = s.arg0;\n r0 = (s.arg1 - 1);\n s.tmp_2 = r0;\n r0 = pxsim.BufferMethods.getNumber(s.tmp_1, 6, s.tmp_2);\n s.v___4073 = (r0);\n r0 = (-31 <= s.v___4073);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 2; continue; }\n r0 = s.tmp_0;\n { step = 3; continue; }\n case 2:\n r0 = (s.v___4073 <= 127);\n case 3:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 4; continue; }\n r0 = pxsim_Array__push(s.res___4059, s.v___4073);\n { step = 5; continue; }\n case 4:\n r0 = null;\n { step = 11; continue; }\n case 5:\n { step = 7; continue; }\n case 6:\n s.tmp_0 = r0 = s.res___4059;\n r0 = pxsim.BufferMethods.getNumber(s.arg0, s.fmt___4065, s.arg1);\n s.tmp_1 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_1);\n s.tmp_0 = r0 = s.arg1;\n s.tmp_2 = pins_sizeOf__P100_mk(s);\n s.tmp_2.arg0 = s.fmt___4065;\n s.pc = 13; return s.tmp_2;\n case 13:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n s.arg1 = (r0);\n case 7:\n case 8:\n r0 = pxsim.BufferMethods.getByte(s.arg0, s.arg1);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 === 193);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 9; continue; }\n r0 = (s.arg1 + 1);\n s.arg1 = (r0);\n { step = 8; continue; }\n case 9:\n { step = 1; continue; }\n case 10:\n r0 = s.res___4059;\n case 11:\n return leave(s, r0)\n default: oops()\n} } }\nmsgpack_unpackNumberArray__P111.info = {\"start\":6107,\"length\":669,\"line\":193,\"column\":4,\"endLine\":213,\"endColumn\":5,\"fileName\":\"pxt_modules/base/buffer.ts\",\"functionName\":\"unpackNumberArray\",\"argumentNames\":[\"buf\",\"offset\"]}\n\nfunction msgpack_unpackNumberArray__P111_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: msgpack_unpackNumberArray__P111, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n res___4059: undefined,\n fmt___4065: undefined,\n v___4073: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction msgpack_tagFormat__P109(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_pxtcore.switch_eq(203, s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = pxsim_pxtcore.switch_eq(204, s.tmp_0);\n if (r0) { step = 2; continue; }\n r0 = pxsim_pxtcore.switch_eq(205, s.tmp_0);\n if (r0) { step = 3; continue; }\n r0 = pxsim_pxtcore.switch_eq(206, s.tmp_0);\n if (r0) { step = 4; continue; }\n r0 = pxsim_pxtcore.switch_eq(208, s.tmp_0);\n if (r0) { step = 5; continue; }\n r0 = pxsim_pxtcore.switch_eq(209, s.tmp_0);\n if (r0) { step = 6; continue; }\n r0 = pxsim_pxtcore.switch_eq(210, s.tmp_0);\n if (r0) { step = 7; continue; }\n r0 = s.tmp_0;\n { step = 8; continue; }\n case 1:\n r0 = 16;\n { step = 9; continue; }\n case 2:\n r0 = 7;\n { step = 9; continue; }\n case 3:\n r0 = 9;\n { step = 9; continue; }\n case 4:\n r0 = 12;\n { step = 9; continue; }\n case 5:\n r0 = 6;\n { step = 9; continue; }\n case 6:\n r0 = 8;\n { step = 9; continue; }\n case 7:\n r0 = 10;\n { step = 9; continue; }\n case 8:\n r0 = null;\n { step = 9; continue; }\n r0 = undefined;\n case 9:\n return leave(s, r0)\n default: oops()\n} } }\nmsgpack_tagFormat__P109.info = {\"start\":4602,\"length\":481,\"line\":144,\"column\":4,\"endLine\":156,\"endColumn\":5,\"fileName\":\"pxt_modules/base/buffer.ts\",\"functionName\":\"tagFormat\",\"argumentNames\":[\"tag\"]}\n\nfunction msgpack_tagFormat__P109_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: msgpack_tagFormat__P109, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction pins_sizeOf__P100(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_pxtcore.switch_eq(1, s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = pxsim_pxtcore.switch_eq(2, s.tmp_0);\n if (r0) { step = 2; continue; }\n r0 = pxsim_pxtcore.switch_eq(6, s.tmp_0);\n if (r0) { step = 3; continue; }\n r0 = pxsim_pxtcore.switch_eq(7, s.tmp_0);\n if (r0) { step = 4; continue; }\n r0 = pxsim_pxtcore.switch_eq(3, s.tmp_0);\n if (r0) { step = 5; continue; }\n r0 = pxsim_pxtcore.switch_eq(4, s.tmp_0);\n if (r0) { step = 6; continue; }\n r0 = pxsim_pxtcore.switch_eq(8, s.tmp_0);\n if (r0) { step = 7; continue; }\n r0 = pxsim_pxtcore.switch_eq(9, s.tmp_0);\n if (r0) { step = 8; continue; }\n r0 = pxsim_pxtcore.switch_eq(5, s.tmp_0);\n if (r0) { step = 9; continue; }\n r0 = pxsim_pxtcore.switch_eq(10, s.tmp_0);\n if (r0) { step = 10; continue; }\n r0 = pxsim_pxtcore.switch_eq(12, s.tmp_0);\n if (r0) { step = 11; continue; }\n r0 = pxsim_pxtcore.switch_eq(11, s.tmp_0);\n if (r0) { step = 12; continue; }\n r0 = pxsim_pxtcore.switch_eq(15, s.tmp_0);\n if (r0) { step = 13; continue; }\n r0 = pxsim_pxtcore.switch_eq(13, s.tmp_0);\n if (r0) { step = 14; continue; }\n r0 = pxsim_pxtcore.switch_eq(16, s.tmp_0);\n if (r0) { step = 15; continue; }\n r0 = pxsim_pxtcore.switch_eq(14, s.tmp_0);\n if (r0) { step = 16; continue; }\n r0 = s.tmp_0;\n { step = 17; continue; }\n case 1:\n case 2:\n case 3:\n case 4:\n r0 = 1;\n { step = 18; continue; }\n case 5:\n case 6:\n case 7:\n case 8:\n r0 = 2;\n { step = 18; continue; }\n case 9:\n case 10:\n case 11:\n case 12:\n case 13:\n case 14:\n r0 = 4;\n { step = 18; continue; }\n case 15:\n case 16:\n r0 = 8;\n { step = 18; continue; }\n case 17:\n r0 = 0;\n case 18:\n return leave(s, r0)\n default: oops()\n} } }\npins_sizeOf__P100.info = {\"start\":102,\"length\":844,\"line\":5,\"column\":4,\"endLine\":29,\"endColumn\":5,\"fileName\":\"pxt_modules/base/buffer.ts\",\"functionName\":\"sizeOf\",\"argumentNames\":[\"format\"]}\n\nfunction pins_sizeOf__P100_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: pins_sizeOf__P100, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction info_saveHighScore__P797(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.hs___3879 = undefined;\n s.curr___3895 = undefined;\n r0 = pxsim_numops_toBoolDecr(globals.players___746);\n if (!r0) { step = 5; continue; }\n r0 = pxsim_pxtrt.mklocRef();\n s.hs___3879 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.hs___3879, 0);\n r0 = pxsim_pxtcore_mkAction(1, inline__P3888);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.hs___3879);\n s.tmp_1 = helpers_arrayForEach__P47_mk(s);\n s.tmp_2 = helpers_arrayFilter__P48_mk(s);\n s.tmp_2.arg0 = globals.players___746;\n s.tmp_2.arg1 = inline__P3883;\n s.pc = 8; return s.tmp_2;\n case 8:\n r0 = s.retval;\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = s.tmp_0;\n s.pc = 7; return s.tmp_1;\n case 7:\n r0 = s.retval;\n s.tmp_0 = settings_readNumber__P500_mk(s);\n s.tmp_0.arg0 = \"high-score\";\n s.pc = 9; return s.tmp_0;\n case 9:\n r0 = s.retval;\n s.curr___3895 = (r0);\n r0 = (s.curr___3895 == null);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = pxsim_pxtrt_ldlocRef(s.hs___3879);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > s.curr___3895);\n case 2:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 3; continue; }\n s.tmp_3 = settings_writeNumber__P496_mk(s);\n s.tmp_3.arg0 = \"high-score\";\n r0 = pxsim_pxtrt_ldlocRef(s.hs___3879);\n s.tmp_3.arg1 = r0;\n s.pc = 10; return s.tmp_3;\n case 10:\n r0 = s.retval;\n case 3:\n case 4:\n case 5:\n case 6:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_saveHighScore__P797.info = {\"start\":6212,\"length\":383,\"line\":205,\"column\":4,\"endLine\":215,\"endColumn\":5,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"saveHighScore\",\"argumentNames\":[]}\n\nfunction info_saveHighScore__P797_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_saveHighScore__P797, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n hs___3879: undefined,\n curr___3895: undefined,\n} }\n\n\n\n\n\nfunction inline__P3883(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n s.tmp_1 = info_PlayerInfo_hasScore__P830_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n case 2:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = s.tmp_2;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P3883.info = {\"start\":6337,\"length\":22,\"line\":209,\"column\":24,\"endLine\":209,\"endColumn\":46,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"p\"]}\n\nfunction inline__P3883_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P3883, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P3888(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = r0 = s.caps[0];\n s.tmp_2 = Math_max__P61_mk(s);\n r0 = pxsim_pxtrt_ldlocRef(s.caps[0]);\n s.tmp_2.arg0 = r0;\n s.tmp_3 = info_PlayerInfo_score__P827_mk(s);\n s.tmp_3.arg0 = s.arg0;\n s.pc = 2; return s.tmp_3;\n case 2:\n r0 = s.retval;\n s.tmp_2.arg1 = r0;\n s.pc = 1; return s.tmp_2;\n case 1:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1);\n r0 = s.tmp_1;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P3888.info = {\"start\":6386,\"length\":33,\"line\":210,\"column\":25,\"endLine\":210,\"endColumn\":58,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"p\"]}\n\nfunction inline__P3888_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P3888, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction settings_writeNumber__P496(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_Array__mk();\n s.tmp_0 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.arg1);\n s.tmp_1 = settings_writeBuffer__P494_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.tmp_2 = msgpack_packNumberArray__P112_mk(s);\n s.tmp_2.arg0 = s.tmp_0;\n s.pc = 2; return s.tmp_2;\n case 2:\n r0 = s.retval;\n s.tmp_1.arg1 = r0;\n s.pc = 1; return s.tmp_1;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsettings_writeNumber__P496.info = {\"start\":1942,\"length\":122,\"line\":77,\"column\":4,\"endLine\":79,\"endColumn\":5,\"fileName\":\"pxt_modules/settings/settings.ts\",\"functionName\":\"writeNumber\",\"argumentNames\":[\"key\",\"value\"]}\n\nfunction settings_writeNumber__P496_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: settings_writeNumber__P496, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction settings_writeBuffer__P494(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim.settings._set(s.arg0, s.arg1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim.settings._userClean();\n r0 = pxsim_pxtrt.panic(920);\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsettings_writeBuffer__P494.info = {\"start\":1393,\"length\":290,\"line\":58,\"column\":4,\"endLine\":65,\"endColumn\":5,\"fileName\":\"pxt_modules/settings/settings.ts\",\"functionName\":\"writeBuffer\",\"argumentNames\":[\"key\",\"value\"]}\n\nfunction settings_writeBuffer__P494_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: settings_writeBuffer__P494, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction msgpack_packNumberArray__P112(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.off___3912 = undefined;\n s.n___3914 = undefined;\n s.unnamed40___U2 = undefined;\n s.unnamed41___U3 = undefined;\n s.buf___3923 = undefined;\n s.n___3929 = undefined;\n s.unnamed42___U6 = undefined;\n s.unnamed43___U7 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.off___3912 = (0);\n s.n___3914 = (undefined);\n s.n___3914 = (undefined);\n s.unnamed40___U2 = (s.arg0);\n s.unnamed41___U3 = (0);\n case 1:\n s.tmp_0 = r0 = s.unnamed41___U3;\n r0 = pxsim_Array__length(s.unnamed40___U2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 2; continue; }\n r0 = pxsim_Array__getAt(s.unnamed40___U2, s.unnamed41___U3);\n s.n___3914 = (r0);\n s.tmp_2 = r0 = s.off___3912;\n s.tmp_4 = msgpack_packNumberCore__P110_mk(s);\n s.tmp_4.arg0 = null;\n s.tmp_4.arg1 = s.off___3912;\n s.tmp_4.arg2 = s.n___3914;\n s.pc = 5; return s.tmp_4;\n case 5:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_2 + s.tmp_3);\n s.off___3912 = (r0);\n r0 = (s.unnamed41___U3 + 1);\n s.unnamed41___U3 = (r0);\n { step = 1; continue; }\n case 2:\n s.unnamed40___U2 = (undefined);\n r0 = pxsim.control.createBuffer(s.off___3912);\n s.buf___3923 = (r0);\n s.off___3912 = (0);\n s.n___3929 = (undefined);\n s.n___3929 = (undefined);\n s.unnamed42___U6 = (s.arg0);\n s.unnamed43___U7 = (0);\n case 3:\n s.tmp_0 = r0 = s.unnamed43___U7;\n r0 = pxsim_Array__length(s.unnamed42___U6);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 4; continue; }\n r0 = pxsim_Array__getAt(s.unnamed42___U6, s.unnamed43___U7);\n s.n___3929 = (r0);\n s.tmp_2 = r0 = s.off___3912;\n s.tmp_4 = msgpack_packNumberCore__P110_mk(s);\n s.tmp_4.arg0 = s.buf___3923;\n s.tmp_4.arg1 = s.off___3912;\n s.tmp_4.arg2 = s.n___3929;\n s.pc = 6; return s.tmp_4;\n case 6:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_2 + s.tmp_3);\n s.off___3912 = (r0);\n r0 = (s.unnamed43___U7 + 1);\n s.unnamed43___U7 = (r0);\n { step = 3; continue; }\n case 4:\n s.unnamed42___U6 = (undefined);\n r0 = s.buf___3923;\n return leave(s, r0)\n default: oops()\n} } }\nmsgpack_packNumberArray__P112.info = {\"start\":6884,\"length\":337,\"line\":219,\"column\":4,\"endLine\":230,\"endColumn\":5,\"fileName\":\"pxt_modules/base/buffer.ts\",\"functionName\":\"packNumberArray\",\"argumentNames\":[\"nums\"]}\n\nfunction msgpack_packNumberArray__P112_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: msgpack_packNumberArray__P112, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n off___3912: undefined,\n n___3914: undefined,\n unnamed40___U2: undefined,\n unnamed41___U3: undefined,\n buf___3923: undefined,\n n___3929: undefined,\n unnamed42___U6: undefined,\n unnamed43___U7: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction msgpack_packNumberCore__P110(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tag___3942 = undefined;\n s.fmt___3970 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n s.tag___3942 = (203);\n s.tmp_1 = r0 = s.arg2;\n r0 = (s.arg2 << 0);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 == s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n s.tmp_3 = r0 = s.arg2;\n r0 = (s.arg2 >>> 0);\n s.tmp_4 = r0;\n r0 = (s.tmp_3 == s.tmp_4);\n case 2:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_5);\n if (!r0) { step = 19; continue; }\n r0 = (-31 <= s.arg2);\n s.tmp_6 = r0;\n r0 = pxsim_numops_toBool(s.tmp_6);\n if (r0) { step = 3; continue; }\n r0 = s.tmp_6;\n { step = 4; continue; }\n case 3:\n r0 = (s.arg2 <= 127);\n case 4:\n // jmp value (already in r0)\n s.tmp_7 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_7);\n if (!r0) { step = 7; continue; }\n r0 = pxsim_numops_toBoolDecr(s.arg0);\n if (!r0) { step = 5; continue; }\n r0 = pxsim.BufferMethods.setByte(s.arg0, s.arg1, s.arg2);\n case 5:\n case 6:\n r0 = 1;\n { step = 23; continue; }\n { step = 18; continue; }\n case 7:\n r0 = (0 <= s.arg2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 12; continue; }\n r0 = (s.arg2 <= 255);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 8; continue; }\n s.tag___3942 = (204);\n { step = 11; continue; }\n case 8:\n r0 = (s.arg2 <= 65535);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 9; continue; }\n s.tag___3942 = (205);\n { step = 10; continue; }\n case 9:\n s.tag___3942 = (206);\n case 10:\n case 11:\n { step = 17; continue; }\n case 12:\n r0 = (-127 <= s.arg2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 13; continue; }\n s.tag___3942 = (208);\n { step = 16; continue; }\n case 13:\n r0 = (-32767 <= s.arg2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 14; continue; }\n s.tag___3942 = (209);\n { step = 15; continue; }\n case 14:\n s.tag___3942 = (210);\n case 15:\n case 16:\n case 17:\n case 18:\n case 19:\n case 20:\n s.tmp_0 = msgpack_tagFormat__P109_mk(s);\n s.tmp_0.arg0 = s.tag___3942;\n s.pc = 24; return s.tmp_0;\n case 24:\n r0 = s.retval;\n s.fmt___3970 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.arg0);\n if (!r0) { step = 21; continue; }\n r0 = pxsim.BufferMethods.setByte(s.arg0, s.arg1, s.tag___3942);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_1 = r0 = s.fmt___3970;\n r0 = (s.arg1 + 1);\n s.tmp_2 = r0;\n r0 = pxsim.BufferMethods.setNumber(s.tmp_0, s.tmp_1, s.tmp_2, s.arg2);\n case 21:\n case 22:\n s.tmp_1 = pins_sizeOf__P100_mk(s);\n s.tmp_1.arg0 = s.fmt___3970;\n s.pc = 25; return s.tmp_1;\n case 25:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = (s.tmp_0 + 1);\n case 23:\n return leave(s, r0)\n default: oops()\n} } }\nmsgpack_packNumberCore__P110.info = {\"start\":5089,\"length\":951,\"line\":158,\"column\":4,\"endLine\":188,\"endColumn\":5,\"fileName\":\"pxt_modules/base/buffer.ts\",\"functionName\":\"packNumberCore\",\"argumentNames\":[\"buf\",\"offset\",\"num\"]}\n\nfunction msgpack_packNumberCore__P110_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: msgpack_packNumberCore__P110, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tag___3942: undefined,\n fmt___3970: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction music_Melody_play__P357(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, music_Melody__C349_VT)) failedCast(r0);\n s.tmp_0 = music_Melody_playCore__P355_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.tmp_0.arg2 = false;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nmusic_Melody_play__P357.info = {\"start\":8825,\"length\":71,\"line\":277,\"column\":8,\"endLine\":279,\"endColumn\":9,\"fileName\":\"pxt_modules/mixer/melody.ts\",\"functionName\":\"play\",\"argumentNames\":[\"this\",\"volume\"]}\n\nfunction music_Melody_play__P357_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_Melody_play__P357, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction music_Melody_playCore__P355(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.p___3352 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, music_Melody__C349_VT)) failedCast(r0);\n s.tmp_0 = music_Melody_stop__P352_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkClassInstance(music_MelodyPlayer__C363_VT);\n s.tmp_0 = r0;\n s.tmp_1 = music_MelodyPlayer_constructor__P366_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = s.arg0;\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n r0 = (s.arg0).fields[\"_player\"] = (s.tmp_0);\n s.p___3352 = (s.tmp_0);\n s.tmp_0 = music_Melody_registerMelody__P353_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkAction(4, inline__P3361);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.p___3352);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 2, s.arg1);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 3, s.arg2);\n r0 = pxsim.control.runInParallel(s.tmp_0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nmusic_Melody_playCore__P355.info = {\"start\":7649,\"length\":434,\"line\":241,\"column\":8,\"endLine\":253,\"endColumn\":9,\"fileName\":\"pxt_modules/mixer/melody.ts\",\"functionName\":\"playCore\",\"argumentNames\":[\"this\",\"volume\",\"loop\"]}\n\nfunction music_Melody_playCore__P355_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_Melody_playCore__P355, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n p___3352: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction inline__P3361(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n case 1:\n r0 = s.caps[0].fields[\"_player\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 == s.caps[1]);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 4; continue; }\n s.tmp_2 = music_MelodyPlayer_play__P365_mk(s);\n s.tmp_2.arg0 = s.caps[1];\n s.tmp_2.arg1 = s.caps[2];\n s.pc = 5; return s.tmp_2;\n case 5:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(s.caps[3]);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n { step = 4; continue; }\n case 2:\n case 3:\n { step = 1; continue; }\n case 4:\n s.tmp_2 = music_Melody_unregisterMelody__P354_mk(s);\n s.tmp_2.arg0 = s.caps[0];\n s.pc = 6; return s.tmp_2;\n case 6:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P3361.info = {\"start\":7852,\"length\":220,\"line\":245,\"column\":34,\"endLine\":252,\"endColumn\":13,\"fileName\":\"pxt_modules/mixer/melody.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P3361_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P3361, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n} }\n\n\n\n\n\nfunction music_MelodyPlayer_constructor__P366(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, music_MelodyPlayer__C363_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"melody\"] = (s.arg1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nmusic_MelodyPlayer_constructor__P366.info = {\"start\":10674,\"length\":62,\"line\":328,\"column\":8,\"endLine\":330,\"endColumn\":9,\"fileName\":\"pxt_modules/mixer/melody.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"m\"]}\n\nfunction music_MelodyPlayer_constructor__P366_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_MelodyPlayer_constructor__P366, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction music_MelodyPlayer_play__P365(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.notes___3385 = undefined;\n s.pos___3389 = undefined;\n s.duration___3390 = undefined;\n s.octave___3391 = undefined;\n s.tempo___3392 = undefined;\n s.hz___3393 = undefined;\n s.endHz___3394 = undefined;\n s.ms___3396 = undefined;\n s.timePos___3397 = undefined;\n s.startTime___3398 = undefined;\n s.now___3401 = undefined;\n s.envA___3402 = undefined;\n s.envD___3403 = undefined;\n s.envS___3404 = undefined;\n s.envR___3405 = undefined;\n s.soundWave___3406 = undefined;\n s.sndInstr___3407 = undefined;\n s.sndInstrPtr___3411 = undefined;\n s.addForm___3412 = undefined;\n s.scanNextWord___3461 = undefined;\n s.token___3505 = undefined;\n s.tokenKind___3506 = undefined;\n s.consumeToken___3509 = undefined;\n s.currNote___3580 = undefined;\n s.prevNote___3582 = undefined;\n s.timeLeft___3584 = undefined;\n s.note___3597 = undefined;\n s.i___3601 = undefined;\n s.noteChar___3606 = undefined;\n s.keyNumber___3678 = undefined;\n s.currMs___3688 = undefined;\n s.beat___3691 = undefined;\n s.timeLeft___3738 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, music_MelodyPlayer__C363_VT)) failedCast(r0);\n r0 = pxsim_pxtrt.mklocRef();\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.arg1);\n s.arg1 = (s.tmp_0);\n r0 = s.arg0.fields[\"melody\"];\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 1; continue; }\n { step = 59; continue; }\n case 1:\n case 2:\n s.tmp_4 = r0 = s.arg1;\n s.tmp_6 = Math_clamp__P58_mk(s);\n s.tmp_6.arg0 = 0;\n s.tmp_6.arg1 = 255;\n r0 = pxsim_pxtrt_ldlocRef(s.arg1);\n s.tmp_8 = r0;\n s.tmp_10 = music_volume__P342_mk(s);\n s.pc = 61; return s.tmp_10;\n case 61:\n r0 = s.retval;\n s.tmp_9 = r0;\n r0 = (s.tmp_8 * s.tmp_9);\n s.tmp_7 = r0;\n r0 = (s.tmp_7 >> 8);\n s.tmp_6.arg2 = r0;\n s.pc = 60; return s.tmp_6;\n case 60:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_4, s.tmp_5);\n r0 = s.arg0.fields[\"melody\"];\n r0 = r0.fields[\"_text\"];\n s.notes___3385 = (r0);\n r0 = pxsim_pxtrt.mklocRef();\n s.pos___3389 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.pos___3389, 0);\n r0 = pxsim_pxtrt.mklocRef();\n s.duration___3390 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.duration___3390, 4);\n r0 = pxsim_pxtrt.mklocRef();\n s.octave___3391 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.octave___3391, 4);\n r0 = pxsim_pxtrt.mklocRef();\n s.tempo___3392 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.tempo___3392, 120);\n r0 = pxsim_pxtrt.mklocRef();\n s.hz___3393 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.hz___3393, 0);\n r0 = pxsim_pxtrt.mklocRef();\n s.endHz___3394 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.endHz___3394, -1);\n r0 = pxsim_pxtrt.mklocRef();\n s.ms___3396 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.ms___3396, 0);\n s.timePos___3397 = (0);\n r0 = pxsim.control.millis();\n s.startTime___3398 = (r0);\n s.now___3401 = (0);\n r0 = pxsim_pxtrt.mklocRef();\n s.envA___3402 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.envA___3402, 0);\n r0 = pxsim_pxtrt.mklocRef();\n s.envD___3403 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.envD___3403, 0);\n r0 = pxsim_pxtrt.mklocRef();\n s.envS___3404 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.envS___3404, 255);\n r0 = pxsim_pxtrt.mklocRef();\n s.envR___3405 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.envR___3405, 0);\n r0 = pxsim_pxtrt.mklocRef();\n s.soundWave___3406 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.soundWave___3406, 1);\n r0 = (5 * 12);\n s.tmp_0 = r0;\n r0 = pxsim.control.createBuffer(s.tmp_0);\n s.sndInstr___3407 = (r0);\n r0 = pxsim_pxtrt.mklocRef();\n s.sndInstrPtr___3411 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.sndInstrPtr___3411, 0);\n r0 = pxsim_pxtcore_mkAction(10, inline__P3413);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.hz___3393);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.endHz___3394);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 2, s.ms___3396);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 3, s.duration___3390);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 4, s.tempo___3392);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 5, s.envR___3405);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 6, s.sndInstrPtr___3411);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 7, s.sndInstr___3407);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 8, s.soundWave___3406);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 9, s.arg1);\n s.addForm___3412 = (s.tmp_0);\n r0 = pxsim_pxtcore_mkAction(3, inline__P3462);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.pos___3389);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 2, s.notes___3385);\n s.scanNextWord___3461 = (s.tmp_0);\n r0 = pxsim_pxtrt.mklocRef();\n s.token___3505 = (r0);\n s.tmp_0 = r0 = s.token___3505;\n r0 = pxsim_String_.mkEmpty();\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1);\n r0 = pxsim_pxtrt.mklocRef();\n s.tokenKind___3506 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.tokenKind___3506, 0);\n r0 = pxsim_pxtcore_mkAction(13, inline__P3510);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.token___3505);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.tokenKind___3506);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 2, s.octave___3391);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 3, s.duration___3390);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 4, s.ms___3396);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 5, s.tempo___3392);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 6, s.hz___3393);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 7, s.soundWave___3406);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 8, s.envA___3402);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 9, s.envD___3403);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 10, s.envS___3404);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 11, s.envR___3405);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 12, s.endHz___3394);\n s.consumeToken___3509 = (s.tmp_0);\n case 3:\n r0 = pxsim_numops_toBoolDecr(true);\n if (!r0) { step = 58; continue; }\n s.tmp_0 = lambda_1_mk(s);\n s.tmp_0.argL = s.scanNextWord___3461;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 62; return s.tmp_0;\n case 62:\n r0 = s.retval;\n s.currNote___3580 = (r0);\n s.prevNote___3582 = (false);\n r0 = pxsim_numops_toBoolDecr(s.currNote___3580);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 8; continue; }\n r0 = (s.timePos___3397 - s.now___3401);\n s.timeLeft___3584 = (r0);\n r0 = (s.timeLeft___3584 > 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 4; continue; }\n s.tmp_1 = pause__P241_mk(s);\n s.tmp_1.arg0 = s.timeLeft___3584;\n s.pc = 63; return s.tmp_1;\n case 63:\n r0 = s.retval;\n case 4:\n case 5:\n r0 = s.arg0.fields[\"onPlayFinished\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 6; continue; }\n s.tmp_1 = lambda_1_mk(s);\n r0 = s.arg0.fields[\"onPlayFinished\"];\n s.tmp_1.argL = r0;\n setupLambda(s.tmp_1, s.tmp_1.argL);\n s.pc = 64; return s.tmp_1;\n case 64:\n r0 = s.retval;\n case 6:\n case 7:\n { step = 59; continue; }\n case 8:\n case 9:\n r0 = pxsim_pxtrt_stlocRef(s.hz___3393, -1);\n s.note___3597 = (0);\n s.tmp_0 = r0 = s.token___3505;\n r0 = pxsim_String_.mkEmpty();\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1);\n r0 = pxsim_pxtrt_stlocRef(s.tokenKind___3506, 0);\n s.i___3601 = (0);\n case 10:\n s.tmp_1 = r0 = s.i___3601;\n r0 = pxsim_String_.length(s.currNote___3580);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 41; continue; }\n r0 = pxsim_String_.charAt(s.currNote___3580, s.i___3601);\n s.noteChar___3606 = (r0);\n s.tmp_0 = r0 = s.noteChar___3606;\n r0 = pxsim_pxtcore.switch_eq(\"c\", s.tmp_0);\n if (r0) { step = 11; continue; }\n r0 = pxsim_pxtcore.switch_eq(\"C\", s.tmp_0);\n if (r0) { step = 12; continue; }\n r0 = pxsim_pxtcore.switch_eq(\"d\", s.tmp_0);\n if (r0) { step = 13; continue; }\n r0 = pxsim_pxtcore.switch_eq(\"D\", s.tmp_0);\n if (r0) { step = 14; continue; }\n r0 = pxsim_pxtcore.switch_eq(\"e\", s.tmp_0);\n if (r0) { step = 15; continue; }\n r0 = pxsim_pxtcore.switch_eq(\"E\", s.tmp_0);\n if (r0) { step = 16; continue; }\n r0 = pxsim_pxtcore.switch_eq(\"f\", s.tmp_0);\n if (r0) { step = 17; continue; }\n r0 = pxsim_pxtcore.switch_eq(\"F\", s.tmp_0);\n if (r0) { step = 18; continue; }\n r0 = pxsim_pxtcore.switch_eq(\"g\", s.tmp_0);\n if (r0) { step = 19; continue; }\n r0 = pxsim_pxtcore.switch_eq(\"G\", s.tmp_0);\n if (r0) { step = 20; continue; }\n r0 = pxsim_pxtcore.switch_eq(\"a\", s.tmp_0);\n if (r0) { step = 21; continue; }\n r0 = pxsim_pxtcore.switch_eq(\"A\", s.tmp_0);\n if (r0) { step = 22; continue; }\n r0 = pxsim_pxtcore.switch_eq(\"B\", s.tmp_0);\n if (r0) { step = 23; continue; }\n r0 = pxsim_pxtcore.switch_eq(\"r\", s.tmp_0);\n if (r0) { step = 24; continue; }\n r0 = pxsim_pxtcore.switch_eq(\"R\", s.tmp_0);\n if (r0) { step = 25; continue; }\n r0 = pxsim_pxtcore.switch_eq(\"#\", s.tmp_0);\n if (r0) { step = 26; continue; }\n r0 = pxsim_pxtcore.switch_eq(\"b\", s.tmp_0);\n if (r0) { step = 27; continue; }\n r0 = pxsim_pxtcore.switch_eq(\",\", s.tmp_0);\n if (r0) { step = 30; continue; }\n r0 = pxsim_pxtcore.switch_eq(\"!\", s.tmp_0);\n if (r0) { step = 31; continue; }\n r0 = pxsim_pxtcore.switch_eq(\"@\", s.tmp_0);\n if (r0) { step = 32; continue; }\n r0 = pxsim_pxtcore.switch_eq(\"~\", s.tmp_0);\n if (r0) { step = 33; continue; }\n r0 = pxsim_pxtcore.switch_eq(\":\", s.tmp_0);\n if (r0) { step = 34; continue; }\n r0 = pxsim_pxtcore.switch_eq(\"-\", s.tmp_0);\n if (r0) { step = 35; continue; }\n r0 = pxsim_pxtcore.switch_eq(\"^\", s.tmp_0);\n if (r0) { step = 36; continue; }\n r0 = s.tmp_0;\n { step = 37; continue; }\n case 11:\n case 12:\n s.note___3597 = (1);\n s.prevNote___3582 = (true);\n { step = 40; continue; }\n case 13:\n case 14:\n s.note___3597 = (3);\n s.prevNote___3582 = (true);\n { step = 40; continue; }\n case 15:\n case 16:\n s.note___3597 = (5);\n s.prevNote___3582 = (true);\n { step = 40; continue; }\n case 17:\n case 18:\n s.note___3597 = (6);\n s.prevNote___3582 = (true);\n { step = 40; continue; }\n case 19:\n case 20:\n s.note___3597 = (8);\n s.prevNote___3582 = (true);\n { step = 40; continue; }\n case 21:\n case 22:\n s.note___3597 = (10);\n s.prevNote___3582 = (true);\n { step = 40; continue; }\n case 23:\n s.note___3597 = (12);\n s.prevNote___3582 = (true);\n { step = 40; continue; }\n case 24:\n case 25:\n r0 = pxsim_pxtrt_stlocRef(s.hz___3393, 0);\n s.prevNote___3582 = (false);\n { step = 40; continue; }\n case 26:\n r0 = (s.note___3597 + 1);\n s.note___3597 = (r0);\n s.prevNote___3582 = (false);\n { step = 40; continue; }\n case 27:\n r0 = pxsim_numops_toBoolDecr(s.prevNote___3582);\n if (!r0) { step = 28; continue; }\n r0 = (s.note___3597 - 1);\n s.note___3597 = (r0);\n { step = 29; continue; }\n case 28:\n s.note___3597 = (12);\n s.prevNote___3582 = (true);\n case 29:\n { step = 40; continue; }\n case 30:\n s.tmp_0 = lambda_1_mk(s);\n s.tmp_0.argL = s.consumeToken___3509;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 65; return s.tmp_0;\n case 65:\n r0 = s.retval;\n s.prevNote___3582 = (false);\n { step = 40; continue; }\n case 31:\n r0 = pxsim_pxtrt_stlocRef(s.tokenKind___3506, 4);\n s.prevNote___3582 = (false);\n { step = 40; continue; }\n case 32:\n s.tmp_0 = lambda_1_mk(s);\n s.tmp_0.argL = s.consumeToken___3509;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 66; return s.tmp_0;\n case 66:\n r0 = s.retval;\n r0 = pxsim_pxtrt_stlocRef(s.tokenKind___3506, 8);\n s.prevNote___3582 = (false);\n { step = 40; continue; }\n case 33:\n s.tmp_0 = lambda_1_mk(s);\n s.tmp_0.argL = s.consumeToken___3509;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 67; return s.tmp_0;\n case 67:\n r0 = s.retval;\n r0 = pxsim_pxtrt_stlocRef(s.tokenKind___3506, 7);\n s.prevNote___3582 = (false);\n { step = 40; continue; }\n case 34:\n s.tmp_0 = lambda_1_mk(s);\n s.tmp_0.argL = s.consumeToken___3509;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 68; return s.tmp_0;\n case 68:\n r0 = s.retval;\n r0 = pxsim_pxtrt_stlocRef(s.tokenKind___3506, 2);\n s.prevNote___3582 = (false);\n { step = 40; continue; }\n case 35:\n s.tmp_0 = lambda_1_mk(s);\n s.tmp_0.argL = s.consumeToken___3509;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 69; return s.tmp_0;\n case 69:\n r0 = s.retval;\n r0 = pxsim_pxtrt_stlocRef(s.tokenKind___3506, 3);\n s.prevNote___3582 = (false);\n { step = 40; continue; }\n case 36:\n s.tmp_0 = lambda_1_mk(s);\n s.tmp_0.argL = s.consumeToken___3509;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 70; return s.tmp_0;\n case 70:\n r0 = s.retval;\n r0 = pxsim_pxtrt_stlocRef(s.tokenKind___3506, 5);\n { step = 40; continue; }\n case 37:\n r0 = pxsim_pxtrt_ldlocRef(s.tokenKind___3506);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 == 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 38; continue; }\n r0 = pxsim_pxtrt_stlocRef(s.tokenKind___3506, 1);\n case 38:\n case 39:\n s.tmp_0 = r0 = s.token___3505;\n r0 = pxsim_pxtrt_ldlocRef(s.token___3505);\n s.tmp_3 = r0;\n if ((s.tmp_3) && (s.tmp_3).vtable) {\n setupResume(s, 71);\n pxsim_String__stringConv(s.tmp_3);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_3) + \"\"; }\n case 71:\n r0 = s.retval;\n s.tmp_2 = r0;\n if ((s.noteChar___3606) && (s.noteChar___3606).vtable) {\n setupResume(s, 72);\n pxsim_String__stringConv(s.noteChar___3606);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.noteChar___3606) + \"\"; }\n case 72:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = pxsim_String__concat(s.tmp_2, s.tmp_4);\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1);\n s.prevNote___3582 = (false);\n case 40:\n r0 = (s.i___3601 + 1);\n s.i___3601 = (r0);\n { step = 10; continue; }\n case 41:\n s.tmp_0 = lambda_1_mk(s);\n s.tmp_0.argL = s.consumeToken___3509;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 73; return s.tmp_0;\n case 73:\n r0 = s.retval;\n s.tmp_0 = r0 = s.note___3597;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 42; continue; }\n r0 = s.tmp_0;\n { step = 43; continue; }\n case 42:\n r0 = pxsim_pxtrt_ldlocRef(s.hz___3393);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 < 0);\n case 43:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 46; continue; }\n s.tmp_3 = r0 = s.note___3597;\n r0 = pxsim_pxtrt_ldlocRef(s.octave___3391);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 - 1);\n s.tmp_5 = r0;\n r0 = (12 * s.tmp_5);\n s.tmp_4 = r0;\n r0 = (s.tmp_3 + s.tmp_4);\n s.keyNumber___3678 = (r0);\n s.tmp_1 = r0 = globals.freqs___333;\n r0 = (s.keyNumber___3678 * 2);\n s.tmp_2 = r0;\n r0 = pxsim.BufferMethods.getNumber(s.tmp_1, 4, s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 44; continue; }\n r0 = s.tmp_0;\n { step = 45; continue; }\n case 44:\n r0 = 0;\n case 45:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.hz___3393, s.tmp_3);\n case 46:\n case 47:\n r0 = pxsim_pxtrt_ldlocRef(s.ms___3396);\n s.currMs___3688 = (r0);\n r0 = (s.currMs___3688 <= 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 48; continue; }\n r0 = pxsim_pxtrt_ldlocRef(s.tempo___3392);\n s.tmp_1 = r0;\n r0 = pxsim.Math_.idiv(15000, s.tmp_1);\n s.beat___3691 = (r0);\n r0 = pxsim_pxtrt_ldlocRef(s.duration___3390);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 * s.beat___3691);\n s.currMs___3688 = (r0);\n case 48:\n case 49:\n r0 = pxsim_pxtrt_ldlocRef(s.hz___3393);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 50; continue; }\n { step = 55; continue; }\n case 50:\n r0 = pxsim_pxtrt_ldlocRef(s.hz___3393);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 == 0);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 51; continue; }\n r0 = (s.timePos___3397 + s.currMs___3688);\n s.timePos___3397 = (r0);\n { step = 54; continue; }\n case 51:\n r0 = pxsim_pxtrt_ldlocRef(s.endHz___3394);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 52; continue; }\n s.tmp_2 = r0 = s.endHz___3394;\n r0 = pxsim_pxtrt_ldlocRef(s.hz___3393);\n s.tmp_3 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_2, s.tmp_3);\n case 52:\n case 53:\n r0 = pxsim_pxtrt_stlocRef(s.sndInstrPtr___3411, 0);\n s.tmp_0 = lambda_5_mk(s);\n s.tmp_0.argL = s.addForm___3412;\n r0 = pxsim_pxtrt_ldlocRef(s.envA___3402);\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = 0;\n s.tmp_0.arg2 = 255;\n s.tmp_0.arg3 = 0;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 74; return s.tmp_0;\n case 74:\n r0 = s.retval;\n s.tmp_0 = lambda_5_mk(s);\n s.tmp_0.argL = s.addForm___3412;\n r0 = pxsim_pxtrt_ldlocRef(s.envD___3403);\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = 255;\n r0 = pxsim_pxtrt_ldlocRef(s.envS___3404);\n s.tmp_0.arg2 = r0;\n r0 = pxsim_pxtrt_ldlocRef(s.envA___3402);\n s.tmp_0.arg3 = r0;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 75; return s.tmp_0;\n case 75:\n r0 = s.retval;\n s.tmp_0 = lambda_5_mk(s);\n s.tmp_0.argL = s.addForm___3412;\n s.tmp_1 = r0 = s.currMs___3688;\n r0 = pxsim_pxtrt_ldlocRef(s.envA___3402);\n s.tmp_3 = r0;\n r0 = pxsim_pxtrt_ldlocRef(s.envD___3403);\n s.tmp_4 = r0;\n r0 = (s.tmp_3 + s.tmp_4);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 - s.tmp_2);\n s.tmp_0.arg0 = r0;\n r0 = pxsim_pxtrt_ldlocRef(s.envS___3404);\n s.tmp_0.arg1 = r0;\n r0 = pxsim_pxtrt_ldlocRef(s.envS___3404);\n s.tmp_0.arg2 = r0;\n r0 = pxsim_pxtrt_ldlocRef(s.envD___3403);\n s.tmp_5 = r0;\n r0 = pxsim_pxtrt_ldlocRef(s.envA___3402);\n s.tmp_6 = r0;\n r0 = (s.tmp_5 + s.tmp_6);\n s.tmp_0.arg3 = r0;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 76; return s.tmp_0;\n case 76:\n r0 = s.retval;\n s.tmp_0 = lambda_5_mk(s);\n s.tmp_0.argL = s.addForm___3412;\n r0 = pxsim_pxtrt_ldlocRef(s.envR___3405);\n s.tmp_0.arg0 = r0;\n r0 = pxsim_pxtrt_ldlocRef(s.envS___3404);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = 0;\n s.tmp_0.arg3 = s.currMs___3688;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 77; return s.tmp_0;\n case 77:\n r0 = s.retval;\n r0 = (s.timePos___3397 - s.now___3401);\n s.tmp_0 = r0;\n s.tmp_2 = r0 = s.sndInstr___3407;\n r0 = pxsim_pxtrt_ldlocRef(s.sndInstrPtr___3411);\n s.tmp_3 = r0;\n r0 = pxsim.BufferMethods.slice(s.tmp_2, 0, s.tmp_3);\n s.tmp_1 = r0;\n r0 = pxsim.music.queuePlayInstructions(s.tmp_0, s.tmp_1);\n r0 = pxsim_pxtrt_stlocRef(s.endHz___3394, -1);\n r0 = (s.timePos___3397 + s.currMs___3688);\n s.timePos___3397 = (r0);\n case 54:\n case 55:\n r0 = (s.timePos___3397 - s.now___3401);\n s.timeLeft___3738 = (r0);\n r0 = (s.timeLeft___3738 > 200);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 56; continue; }\n s.tmp_1 = pause__P241_mk(s);\n r0 = (s.timeLeft___3738 - 100);\n s.tmp_1.arg0 = r0;\n s.pc = 78; return s.tmp_1;\n case 78:\n r0 = s.retval;\n r0 = pxsim.control.millis();\n s.tmp_0 = r0;\n r0 = (s.tmp_0 - s.startTime___3398);\n s.now___3401 = (r0);\n case 56:\n case 57:\n { step = 3; continue; }\n case 58:\n case 59:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nmusic_MelodyPlayer_play__P365.info = {\"start\":10805,\"length\":9001,\"line\":336,\"column\":8,\"endLine\":567,\"endColumn\":9,\"fileName\":\"pxt_modules/mixer/melody.ts\",\"functionName\":\"play\",\"argumentNames\":[\"this\",\"volume\"]}\n\nfunction music_MelodyPlayer_play__P365_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_MelodyPlayer_play__P365, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n notes___3385: undefined,\n pos___3389: undefined,\n duration___3390: undefined,\n octave___3391: undefined,\n tempo___3392: undefined,\n hz___3393: undefined,\n endHz___3394: undefined,\n ms___3396: undefined,\n timePos___3397: undefined,\n startTime___3398: undefined,\n now___3401: undefined,\n envA___3402: undefined,\n envD___3403: undefined,\n envS___3404: undefined,\n envR___3405: undefined,\n soundWave___3406: undefined,\n sndInstr___3407: undefined,\n sndInstrPtr___3411: undefined,\n addForm___3412: undefined,\n scanNextWord___3461: undefined,\n token___3505: undefined,\n tokenKind___3506: undefined,\n consumeToken___3509: undefined,\n currNote___3580: undefined,\n prevNote___3582: undefined,\n timeLeft___3584: undefined,\n note___3597: undefined,\n i___3601: undefined,\n noteChar___3606: undefined,\n keyNumber___3678: undefined,\n currMs___3688: undefined,\n beat___3691: undefined,\n timeLeft___3738: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction inline__P3413(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.freqStart___3418 = undefined;\n s.freqEnd___3420 = undefined;\n s.envelopeWidth___3422 = undefined;\n s.slope___3435 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_pxtrt_ldlocRef(s.caps[0]);\n s.freqStart___3418 = (r0);\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.freqEnd___3420 = (r0);\n r0 = pxsim_pxtrt_ldlocRef(s.caps[2]);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_pxtrt_ldlocRef(s.caps[2]);\n { step = 2; continue; }\n case 1:\n r0 = pxsim_pxtrt_ldlocRef(s.caps[3]);\n s.tmp_3 = r0;\n r0 = pxsim_pxtrt_ldlocRef(s.caps[4]);\n s.tmp_5 = r0;\n r0 = pxsim.Math_.idiv(15000, s.tmp_5);\n s.tmp_4 = r0;\n r0 = (s.tmp_3 * s.tmp_4);\n s.tmp_2 = r0;\n r0 = pxsim_pxtrt_ldlocRef(s.caps[5]);\n s.tmp_6 = r0;\n r0 = (s.tmp_2 + s.tmp_6);\n case 2:\n // jmp value (already in r0)\n s.tmp_7 = r0;\n s.envelopeWidth___3422 = (s.tmp_7);\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_ldlocRef(s.caps[0]);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 != s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 3; continue; }\n r0 = s.tmp_0;\n { step = 4; continue; }\n case 3:\n r0 = (s.envelopeWidth___3422 != 0);\n case 4:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 5; continue; }\n r0 = (s.freqEnd___3420 - s.freqStart___3418);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 / s.envelopeWidth___3422);\n s.slope___3435 = (r0);\n r0 = pxsim_pxtrt_ldlocRef(s.caps[0]);\n s.tmp_0 = r0;\n r0 = (s.slope___3435 * s.arg3);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n s.freqStart___3418 = (r0);\n r0 = pxsim_pxtrt_ldlocRef(s.caps[0]);\n s.tmp_0 = r0;\n s.tmp_2 = r0 = s.slope___3435;\n r0 = (s.arg3 + s.arg0);\n s.tmp_3 = r0;\n r0 = (s.tmp_2 * s.tmp_3);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n s.freqEnd___3420 = (r0);\n case 5:\n case 6:\n s.tmp_0 = r0 = s.caps[6];\n s.tmp_2 = music_addNote__P362_mk(s);\n s.tmp_2.arg0 = s.caps[7];\n r0 = pxsim_pxtrt_ldlocRef(s.caps[6]);\n s.tmp_2.arg1 = r0;\n s.tmp_2.arg2 = s.arg0;\n s.tmp_2.arg3 = s.arg1;\n s.tmp_2.arg4 = s.arg2;\n r0 = pxsim_pxtrt_ldlocRef(s.caps[8]);\n s.tmp_2.arg5 = r0;\n s.tmp_2.arg6 = s.freqStart___3418;\n r0 = pxsim_pxtrt_ldlocRef(s.caps[9]);\n s.tmp_2.arg7 = r0;\n s.tmp_2.arg8 = s.freqEnd___3420;\n s.pc = 7; return s.tmp_2;\n case 7:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P3413.info = {\"start\":11613,\"length\":643,\"line\":362,\"column\":28,\"endLine\":373,\"endColumn\":13,\"fileName\":\"pxt_modules/mixer/melody.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"formDuration\",\"beg\",\"end\",\"msOff\"]}\n\nfunction inline__P3413_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P3413, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n freqStart___3418: undefined,\n freqEnd___3420: undefined,\n envelopeWidth___3422: undefined,\n slope___3435: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction inline__P3462(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.c___3469 = undefined;\n s.note___3481 = undefined;\n s.c___3486 = undefined;\n r0 = s.caps[0].fields[\"melody\"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_String_.mkEmpty();\n { step = 23; continue; }\n case 1:\n case 2:\n case 3:\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_4 = r0;\n r0 = pxsim_String_.length(s.caps[2]);\n s.tmp_5 = r0;\n r0 = (s.tmp_4 < s.tmp_5);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 12; continue; }\n s.tmp_6 = r0 = s.caps[2];\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_7 = r0;\n r0 = pxsim_String_.charAt(s.tmp_6, s.tmp_7);\n s.c___3469 = (r0);\n r0 = (s.c___3469 != \" \");\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 4; continue; }\n r0 = s.tmp_0;\n { step = 5; continue; }\n case 4:\n r0 = (s.c___3469 != \"\\\\r\");\n case 5:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBool(s.tmp_1);\n if (r0) { step = 6; continue; }\n r0 = s.tmp_1;\n { step = 7; continue; }\n case 6:\n r0 = (s.c___3469 != \"\\\\n\");\n case 7:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBool(s.tmp_2);\n if (r0) { step = 8; continue; }\n r0 = s.tmp_2;\n { step = 9; continue; }\n case 8:\n r0 = (s.c___3469 != \"\\\\t\");\n case 9:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 10; continue; }\n { step = 12; continue; }\n case 10:\n case 11:\n s.tmp_4 = r0 = s.caps[1];\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 + 1);\n s.tmp_5 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_4, s.tmp_5);\n { step = 3; continue; }\n case 12:\n r0 = pxsim_String_.mkEmpty();\n s.note___3481 = (r0);\n case 13:\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_1 = r0;\n r0 = pxsim_String_.length(s.caps[2]);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 22; continue; }\n s.tmp_3 = r0 = s.caps[2];\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_4 = r0;\n r0 = pxsim_String_.charAt(s.tmp_3, s.tmp_4);\n s.c___3486 = (r0);\n r0 = (s.c___3486 == \" \");\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 14; continue; }\n r0 = s.tmp_0;\n { step = 15; continue; }\n case 14:\n r0 = (s.c___3486 == \"\\\\r\");\n case 15:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBool(s.tmp_1);\n if (!r0) { step = 16; continue; }\n r0 = s.tmp_1;\n { step = 17; continue; }\n case 16:\n r0 = (s.c___3486 == \"\\\\n\");\n case 17:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBool(s.tmp_2);\n if (!r0) { step = 18; continue; }\n r0 = s.tmp_2;\n { step = 19; continue; }\n case 18:\n r0 = (s.c___3486 == \"\\\\t\");\n case 19:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 20; continue; }\n { step = 22; continue; }\n case 20:\n case 21:\n if ((s.note___3481) && (s.note___3481).vtable) {\n setupResume(s, 24);\n pxsim_String__stringConv(s.note___3481);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.note___3481) + \"\"; }\n case 24:\n r0 = s.retval;\n s.tmp_4 = r0;\n if ((s.c___3486) && (s.c___3486).vtable) {\n setupResume(s, 25);\n pxsim_String__stringConv(s.c___3486);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.c___3486) + \"\"; }\n case 25:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = pxsim_String__concat(s.tmp_4, s.tmp_5);\n s.note___3481 = (r0);\n s.tmp_0 = r0 = s.caps[1];\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + 1);\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1);\n { step = 13; continue; }\n case 22:\n r0 = s.note___3481;\n case 23:\n return leave(s, r0)\n default: oops()\n} } }\ninline__P3462.info = {\"start\":12291,\"length\":708,\"line\":375,\"column\":33,\"endLine\":397,\"endColumn\":13,\"fileName\":\"pxt_modules/mixer/melody.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P3462_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P3462, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n c___3469: undefined,\n note___3481: undefined,\n c___3486: undefined,\n} }\n\n\n\n\n\nfunction inline__P3510(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.d___3514 = undefined;\n r0 = pxsim_pxtrt_ldlocRef(s.caps[0]);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 != 0);\n case 2:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 15; continue; }\n r0 = pxsim_pxtrt_ldlocRef(s.caps[0]);\n s.tmp_3 = r0;\n r0 = pxsim_String_.toNumber(s.tmp_3);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 >> 0);\n s.d___3514 = (r0);\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_0 = r0;\n r0 = pxsim_pxtcore.switch_eq(1, s.tmp_0);\n if (r0) { step = 3; continue; }\n r0 = pxsim_pxtcore.switch_eq(2, s.tmp_0);\n if (r0) { step = 4; continue; }\n r0 = pxsim_pxtcore.switch_eq(3, s.tmp_0);\n if (r0) { step = 5; continue; }\n r0 = pxsim_pxtcore.switch_eq(4, s.tmp_0);\n if (r0) { step = 6; continue; }\n r0 = pxsim_pxtcore.switch_eq(6, s.tmp_0);\n if (r0) { step = 7; continue; }\n r0 = pxsim_pxtcore.switch_eq(7, s.tmp_0);\n if (r0) { step = 8; continue; }\n r0 = pxsim_pxtcore.switch_eq(8, s.tmp_0);\n if (r0) { step = 9; continue; }\n r0 = pxsim_pxtcore.switch_eq(9, s.tmp_0);\n if (r0) { step = 10; continue; }\n r0 = pxsim_pxtcore.switch_eq(10, s.tmp_0);\n if (r0) { step = 11; continue; }\n r0 = pxsim_pxtcore.switch_eq(11, s.tmp_0);\n if (r0) { step = 12; continue; }\n r0 = pxsim_pxtcore.switch_eq(5, s.tmp_0);\n if (r0) { step = 13; continue; }\n r0 = s.tmp_0;\n { step = 14; continue; }\n case 3:\n r0 = pxsim_pxtrt_stlocRef(s.caps[2], s.d___3514);\n { step = 14; continue; }\n case 4:\n s.tmp_0 = r0 = s.caps[3];\n s.tmp_2 = Math_max__P61_mk(s);\n s.tmp_2.arg0 = 1;\n s.tmp_3 = Math_min__P62_mk(s);\n s.tmp_3.arg0 = 16;\n s.tmp_3.arg1 = s.d___3514;\n s.pc = 18; return s.tmp_3;\n case 18:\n r0 = s.retval;\n s.tmp_2.arg1 = r0;\n s.pc = 17; return s.tmp_2;\n case 17:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1);\n r0 = pxsim_pxtrt_stlocRef(s.caps[4], -1);\n { step = 14; continue; }\n case 5:\n s.tmp_0 = r0 = s.caps[5];\n s.tmp_2 = Math_max__P61_mk(s);\n s.tmp_2.arg0 = 1;\n s.tmp_2.arg1 = s.d___3514;\n s.pc = 19; return s.tmp_2;\n case 19:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1);\n { step = 14; continue; }\n case 6:\n r0 = pxsim_pxtrt_stlocRef(s.caps[6], s.d___3514);\n r0 = pxsim_pxtrt_stlocRef(s.caps[1], 6);\n { step = 14; continue; }\n case 7:\n r0 = pxsim_pxtrt_stlocRef(s.caps[4], s.d___3514);\n { step = 14; continue; }\n case 8:\n s.tmp_0 = r0 = s.caps[7];\n s.tmp_2 = Math_clamp__P58_mk(s);\n s.tmp_2.arg0 = 1;\n s.tmp_2.arg1 = 15;\n s.tmp_2.arg2 = s.d___3514;\n s.pc = 20; return s.tmp_2;\n case 20:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1);\n { step = 14; continue; }\n case 9:\n r0 = pxsim_pxtrt_stlocRef(s.caps[8], s.d___3514);\n r0 = pxsim_pxtrt_stlocRef(s.caps[1], 9);\n { step = 14; continue; }\n case 10:\n r0 = pxsim_pxtrt_stlocRef(s.caps[9], s.d___3514);\n r0 = pxsim_pxtrt_stlocRef(s.caps[1], 10);\n { step = 14; continue; }\n case 11:\n s.tmp_0 = r0 = s.caps[10];\n s.tmp_2 = Math_clamp__P58_mk(s);\n s.tmp_2.arg0 = 0;\n s.tmp_2.arg1 = 255;\n s.tmp_2.arg2 = s.d___3514;\n s.pc = 21; return s.tmp_2;\n case 21:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1);\n r0 = pxsim_pxtrt_stlocRef(s.caps[1], 11);\n { step = 14; continue; }\n case 12:\n r0 = pxsim_pxtrt_stlocRef(s.caps[11], s.d___3514);\n { step = 14; continue; }\n case 13:\n r0 = pxsim_pxtrt_stlocRef(s.caps[12], s.d___3514);\n case 14:\n s.tmp_0 = r0 = s.caps[0];\n r0 = pxsim_String_.mkEmpty();\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1);\n case 15:\n case 16:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P3510.info = {\"start\":14032,\"length\":1189,\"line\":433,\"column\":33,\"endLine\":454,\"endColumn\":13,\"fileName\":\"pxt_modules/mixer/melody.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P3510_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P3510, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n d___3514: undefined,\n} }\n\n\n\n\n\nfunction music_addNote__P362(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.arg5 = (s.lambdaArgs[5]);\n s.arg6 = (s.lambdaArgs[6]);\n s.arg7 = (s.lambdaArgs[7]);\n s.arg8 = (s.lambdaArgs[8]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg2 > 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim.BufferMethods.setNumber(s.arg0, 2, s.arg1, s.arg5);\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg1 + 1);\n s.tmp_1 = r0;\n r0 = pxsim.BufferMethods.setNumber(s.tmp_0, 2, s.tmp_1, 0);\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg1 + 2);\n s.tmp_1 = r0;\n r0 = pxsim.BufferMethods.setNumber(s.tmp_0, 4, s.tmp_1, s.arg6);\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg1 + 4);\n s.tmp_1 = r0;\n r0 = pxsim.BufferMethods.setNumber(s.tmp_0, 4, s.tmp_1, s.arg2);\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg1 + 6);\n s.tmp_1 = r0;\n r0 = (s.arg3 * s.arg7);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 >> 6);\n s.tmp_2 = r0;\n r0 = pxsim.BufferMethods.setNumber(s.tmp_0, 4, s.tmp_1, s.tmp_2);\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg1 + 8);\n s.tmp_1 = r0;\n r0 = (s.arg4 * s.arg7);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 >> 6);\n s.tmp_2 = r0;\n r0 = pxsim.BufferMethods.setNumber(s.tmp_0, 4, s.tmp_1, s.tmp_2);\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg1 + 10);\n s.tmp_1 = r0;\n r0 = pxsim.BufferMethods.setNumber(s.tmp_0, 4, s.tmp_1, s.arg8);\n r0 = (s.arg1 + 12);\n s.arg1 = (r0);\n case 1:\n case 2:\n r0 = pxsim.BufferMethods.setNumber(s.arg0, 2, s.arg1, 0);\n r0 = s.arg1;\n return leave(s, r0)\n default: oops()\n} } }\nmusic_addNote__P362.info = {\"start\":9672,\"length\":904,\"line\":307,\"column\":4,\"endLine\":320,\"endColumn\":5,\"fileName\":\"pxt_modules/mixer/melody.ts\",\"functionName\":\"addNote\",\"argumentNames\":[\"sndInstr\",\"sndInstrPtr\",\"ms\",\"beg\",\"end\",\"soundWave\",\"hz\",\"volume\",\"endHz\"]}\n\nfunction music_addNote__P362_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_addNote__P362, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n arg5: undefined,\n arg6: undefined,\n arg7: undefined,\n arg8: undefined,\n} }\n\n\n\n\n\nfunction music_volume__P342(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = music_initVolume__P340_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = globals.globalVolume___337;\n return leave(s, r0)\n default: oops()\n} } }\nmusic_volume__P342.info = {\"start\":1781,\"length\":90,\"line\":61,\"column\":4,\"endLine\":64,\"endColumn\":5,\"fileName\":\"pxt_modules/mixer/melody.ts\",\"functionName\":\"volume\",\"argumentNames\":[]}\n\nfunction music_volume__P342_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_volume__P342, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction music_initVolume__P340(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = (globals.globalVolume___337 === null);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n globals.globalVolume___337 = (0);\n s.tmp_0 = music_setVolume__P341_mk(s);\n r0 = pxsim_pxtcore.getConfig(59, 128);\n s.tmp_0.arg0 = r0;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nmusic_initVolume__P340.info = {\"start\":1014,\"length\":180,\"line\":33,\"column\":4,\"endLine\":38,\"endColumn\":5,\"fileName\":\"pxt_modules/mixer/melody.ts\",\"functionName\":\"initVolume\",\"argumentNames\":[]}\n\nfunction music_initVolume__P340_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_initVolume__P340, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction music_setVolume__P341(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = Math_clamp__P58_mk(s);\n s.tmp_0.arg0 = 0;\n s.tmp_0.arg1 = 255;\n r0 = (s.arg0 | 0);\n s.tmp_0.arg2 = r0;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n globals.globalVolume___337 = (r0);\n r0 = (globals.globalVolume___337 > 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = 1;\n { step = 2; continue; }\n case 1:\n r0 = 0;\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = undefined;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nmusic_setVolume__P341.info = {\"start\":1533,\"length\":153,\"line\":51,\"column\":4,\"endLine\":54,\"endColumn\":5,\"fileName\":\"pxt_modules/mixer/melody.ts\",\"functionName\":\"setVolume\",\"argumentNames\":[\"volume\"]}\n\nfunction music_setVolume__P341_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_setVolume__P341, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction music_enableAmp__P339(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nmusic_enableAmp__P339.info = {\"start\":944,\"length\":64,\"line\":29,\"column\":4,\"endLine\":31,\"endColumn\":5,\"fileName\":\"pxt_modules/mixer/melody.ts\",\"functionName\":\"enableAmp\",\"argumentNames\":[\"en\"]}\n\nfunction music_enableAmp__P339_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_enableAmp__P339, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction parseInt__P34(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_String_.toNumber(s.arg0);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 >> 0);\n return leave(s, r0)\n default: oops()\n} } }\nparseInt__P34.info = {\"start\":394,\"length\":77,\"line\":17,\"column\":0,\"endLine\":19,\"endColumn\":1,\"fileName\":\"pxt_modules/base/pxt-helpers.ts\",\"functionName\":\"parseInt\",\"argumentNames\":[\"text\"]}\n\nfunction parseInt__P34_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: parseInt__P34, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction music_Melody_unregisterMelody__P354(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, music_Melody__C349_VT)) failedCast(r0);\n r0 = pxsim_numops_toBoolDecr(globals.music_Melody_playingMelodies___360);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_Array_.removeElement(globals.music_Melody_playingMelodies___360, s.arg0);\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nmusic_Melody_unregisterMelody__P354.info = {\"start\":7438,\"length\":201,\"line\":234,\"column\":8,\"endLine\":239,\"endColumn\":9,\"fileName\":\"pxt_modules/mixer/melody.ts\",\"functionName\":\"unregisterMelody\",\"argumentNames\":[\"this\"]}\n\nfunction music_Melody_unregisterMelody__P354_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_Melody_unregisterMelody__P354, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction music_Melody_registerMelody__P353(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, music_Melody__C349_VT)) failedCast(r0);\n r0 = pxsim_numops_toBoolDecr(globals.music_Melody_playingMelodies___360);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_Array__mk();\n globals.music_Melody_playingMelodies___360 = (r0);\n case 1:\n case 2:\n r0 = pxsim_Array__length(globals.music_Melody_playingMelodies___360);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > 4);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.tmp_2 = music_Melody_stop__P352_mk(s);\n s.tmp_3 = r0 = globals.music_Melody_playingMelodies___360;\n r0 = pxsim_Array__length(globals.music_Melody_playingMelodies___360);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 - 1);\n s.tmp_4 = r0;\n r0 = pxsim_Array__getAt(s.tmp_3, s.tmp_4);\n s.tmp_2.arg0 = r0;\n s.pc = 5; return s.tmp_2;\n case 5:\n r0 = s.retval;\n case 3:\n case 4:\n r0 = pxsim_Array_.removeElement(globals.music_Melody_playingMelodies___360, s.arg0);\n r0 = pxsim_Array__push(globals.music_Melody_playingMelodies___360, s.arg0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nmusic_Melody_registerMelody__P353.info = {\"start\":6856,\"length\":573,\"line\":222,\"column\":8,\"endLine\":233,\"endColumn\":9,\"fileName\":\"pxt_modules/mixer/melody.ts\",\"functionName\":\"registerMelody\",\"argumentNames\":[\"this\"]}\n\nfunction music_Melody_registerMelody__P353_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_Melody_registerMelody__P353, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction music_Melody_stop__P352(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, music_Melody__C349_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_player\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_1 = music_MelodyPlayer_stop__P364_mk(s);\n r0 = s.arg0.fields[\"_player\"];\n s.tmp_1.arg0 = r0;\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n r0 = (s.arg0).fields[\"_player\"] = (null);\n case 1:\n case 2:\n s.tmp_0 = music_Melody_unregisterMelody__P354_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nmusic_Melody_stop__P352.info = {\"start\":6673,\"length\":173,\"line\":214,\"column\":8,\"endLine\":220,\"endColumn\":9,\"fileName\":\"pxt_modules/mixer/melody.ts\",\"functionName\":\"stop\",\"argumentNames\":[\"this\"]}\n\nfunction music_Melody_stop__P352_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_Melody_stop__P352, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction music_MelodyPlayer_stop__P364(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, music_MelodyPlayer__C363_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"melody\"] = (null);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nmusic_MelodyPlayer_stop__P364.info = {\"start\":10746,\"length\":49,\"line\":332,\"column\":8,\"endLine\":334,\"endColumn\":9,\"fileName\":\"pxt_modules/mixer/melody.ts\",\"functionName\":\"stop\",\"argumentNames\":[\"this\"]}\n\nfunction music_MelodyPlayer_stop__P364_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_MelodyPlayer_stop__P364, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_Scene_millis__P926(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Scene__C923_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_millis\"];\n return leave(s, r0)\n default: oops()\n} } }\nscene_Scene_millis__P926.info = {\"start\":5724,\"length\":61,\"line\":164,\"column\":8,\"endLine\":166,\"endColumn\":9,\"fileName\":\"pxt_modules/game/scene.ts\",\"functionName\":\"millis\",\"argumentNames\":[\"this\"]}\n\nfunction scene_Scene_millis__P926_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Scene_millis__P926, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_createRenderable__P896(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.renderable___7425 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_pxtcore_mkClassInstance(scene_Renderable__C890_VT);\n s.tmp_0 = r0;\n s.tmp_1 = r0 = s.arg2;\n r0 = pxsim_numops_toBool(s.tmp_1);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_1;\n { step = 2; continue; }\n case 1:\n r0 = inline__P7430;\n case 2:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n s.tmp_3 = scene_Renderable_constructor__P895_mk(s);\n s.tmp_3.arg0 = s.tmp_0;\n s.tmp_3.arg1 = s.arg1;\n s.tmp_3.arg2 = s.tmp_2;\n s.tmp_3.arg3 = s.arg0;\n s.pc = 3; return s.tmp_3;\n case 3:\n r0 = s.retval;\n s.renderable___7425 = (s.tmp_0);\n r0 = s.renderable___7425;\n return leave(s, r0)\n default: oops()\n} } }\nscene_createRenderable__P896.info = {\"start\":608,\"length\":339,\"line\":24,\"column\":4,\"endLine\":36,\"endColumn\":5,\"fileName\":\"pxt_modules/game/renderable.ts\",\"functionName\":\"createRenderable\",\"argumentNames\":[\"z\",\"handler\",\"shouldBeVisible\"]}\n\nfunction scene_createRenderable__P896_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_createRenderable__P896, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n renderable___7425: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction inline__P7430(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = true;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P7430.info = {\"start\":875,\"length\":10,\"line\":31,\"column\":32,\"endLine\":31,\"endColumn\":42,\"fileName\":\"pxt_modules/game/renderable.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P7430_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P7430, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n} }\n\n\n\n\n\nfunction scene_Renderable_constructor__P895(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Renderable__C890_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"handler\"] = (s.arg1);\n r0 = (s.arg0).fields[\"shouldBeVisible\"] = (s.arg2);\n s.tmp_0 = sprites_BaseSprite_constructor__P516_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg3;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_Renderable_constructor__P895.info = {\"start\":83,\"length\":212,\"line\":2,\"column\":8,\"endLine\":8,\"endColumn\":9,\"fileName\":\"pxt_modules/game/renderable.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"handler\",\"shouldBeVisible\",\"z\"]}\n\nfunction scene_Renderable_constructor__P895_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Renderable_constructor__P895, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction info_PlayerInfo_drawLives__P839(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.state___6913 = undefined;\n s.font___6918 = undefined;\n s.i___6954 = undefined;\n s.num___6973 = undefined;\n s.textWidth___6980 = undefined;\n s.mult___7026 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, info_PlayerInfo__C823_VT)) failedCast(r0);\n s.tmp_0 = info_PlayerInfo_getState__P825_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 8; return s.tmp_0;\n case 8:\n r0 = s.retval;\n s.state___6913 = (r0);\n r0 = s.state___6913.fields[\"life\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 7; continue; }\n case 1:\n case 2:\n s.font___6918 = (globals.font8___423);\n r0 = s.state___6913.fields[\"life\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 <= 4);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n s.tmp_2 = helpers_imageFillRect__P411_mk(s);\n s.tmp_2.arg0 = globals.screen___464;\n s.tmp_2.arg1 = 0;\n s.tmp_2.arg2 = 0;\n r0 = s.state___6913.fields[\"life\"];\n s.tmp_4 = r0;\n r0 = globals.infoState___745.fields[\"heartImage\"];\n s.tmp_7 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_7);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 + 1);\n s.tmp_5 = r0;\n r0 = (s.tmp_4 * s.tmp_5);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 + 3);\n s.tmp_2.arg3 = r0;\n r0 = globals.infoState___745.fields[\"heartImage\"];\n s.tmp_9 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_9);\n s.tmp_8 = r0;\n r0 = (s.tmp_8 + 4);\n s.tmp_2.arg4 = r0;\n r0 = globals.infoState___745.fields[\"borderColor\"];\n s.tmp_2.arg5 = r0;\n s.pc = 9; return s.tmp_2;\n case 9:\n r0 = s.retval;\n s.tmp_0 = helpers_imageFillRect__P411_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_0.arg1 = 0;\n s.tmp_0.arg2 = 0;\n r0 = s.state___6913.fields[\"life\"];\n s.tmp_2 = r0;\n r0 = globals.infoState___745.fields[\"heartImage\"];\n s.tmp_5 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_5);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 + 1);\n s.tmp_3 = r0;\n r0 = (s.tmp_2 * s.tmp_3);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 + 2);\n s.tmp_0.arg3 = r0;\n r0 = globals.infoState___745.fields[\"heartImage\"];\n s.tmp_7 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_7);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 + 3);\n s.tmp_0.arg4 = r0;\n r0 = globals.infoState___745.fields[\"bgColor\"];\n s.tmp_0.arg5 = r0;\n s.pc = 10; return s.tmp_0;\n case 10:\n r0 = s.retval;\n s.i___6954 = (0);\n case 3:\n r0 = s.state___6913.fields[\"life\"];\n s.tmp_1 = r0;\n r0 = (s.i___6954 < s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 4; continue; }\n s.tmp_2 = r0 = globals.screen___464;\n r0 = globals.infoState___745.fields[\"heartImage\"];\n s.tmp_3 = r0;\n s.tmp_6 = r0 = s.i___6954;\n r0 = globals.infoState___745.fields[\"heartImage\"];\n s.tmp_9 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_9);\n s.tmp_8 = r0;\n r0 = (s.tmp_8 + 1);\n s.tmp_7 = r0;\n r0 = (s.tmp_6 * s.tmp_7);\n s.tmp_5 = r0;\n r0 = (1 + s.tmp_5);\n s.tmp_4 = r0;\n r0 = pxsim_ImageMethods.drawTransparentImage(s.tmp_2, s.tmp_3, s.tmp_4, 1);\n r0 = (s.i___6954 + 1);\n s.i___6954 = (r0);\n { step = 3; continue; }\n case 4:\n { step = 6; continue; }\n case 5:\n r0 = s.state___6913.fields[\"life\"];\n s.tmp_1 = r0;\n if ((s.tmp_1) && (s.tmp_1).vtable) {\n setupResume(s, 11);\n pxsim_String__stringConv(s.tmp_1);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_1) + \"\"; }\n case 11:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_String_.mkEmpty();\n s.tmp_2 = r0;\n r0 = pxsim_String__concat(s.tmp_0, s.tmp_2);\n s.num___6973 = (r0);\n r0 = pxsim_String_.length(s.num___6973);\n s.tmp_1 = r0;\n s.tmp_3 = if_charWidth_1_mk(s);\n s.tmp_3.arg0 = s.font___6918;\n if (!s.tmp_3.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, \"charWidth\");\n } else {\n s.tmp_3.fn = s.tmp_3.arg0.vtable.iface[\"charWidth\"];\n if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields[\"charWidth\"]; }\n else { s.pc = 12; return s.tmp_3; }\n }\n case 12:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (s.tmp_1 * s.tmp_2);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 - 1);\n s.textWidth___6980 = (r0);\n s.tmp_0 = helpers_imageFillRect__P411_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_0.arg1 = 0;\n s.tmp_0.arg2 = 0;\n r0 = globals.infoState___745.fields[\"heartImage\"];\n s.tmp_4 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_4);\n s.tmp_3 = r0;\n r0 = globals.infoState___745.fields[\"multiplierImage\"];\n s.tmp_6 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_6);\n s.tmp_5 = r0;\n r0 = (s.tmp_3 + s.tmp_5);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.textWidth___6980);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 + 5);\n s.tmp_0.arg3 = r0;\n r0 = globals.infoState___745.fields[\"heartImage\"];\n s.tmp_8 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_8);\n s.tmp_7 = r0;\n r0 = (s.tmp_7 + 4);\n s.tmp_0.arg4 = r0;\n r0 = globals.infoState___745.fields[\"borderColor\"];\n s.tmp_0.arg5 = r0;\n s.pc = 13; return s.tmp_0;\n case 13:\n r0 = s.retval;\n s.tmp_0 = helpers_imageFillRect__P411_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_0.arg1 = 0;\n s.tmp_0.arg2 = 0;\n r0 = globals.infoState___745.fields[\"heartImage\"];\n s.tmp_4 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_4);\n s.tmp_3 = r0;\n r0 = globals.infoState___745.fields[\"multiplierImage\"];\n s.tmp_6 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_6);\n s.tmp_5 = r0;\n r0 = (s.tmp_3 + s.tmp_5);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.textWidth___6980);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 + 4);\n s.tmp_0.arg3 = r0;\n r0 = globals.infoState___745.fields[\"heartImage\"];\n s.tmp_8 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_8);\n s.tmp_7 = r0;\n r0 = (s.tmp_7 + 3);\n s.tmp_0.arg4 = r0;\n r0 = globals.infoState___745.fields[\"bgColor\"];\n s.tmp_0.arg5 = r0;\n s.pc = 14; return s.tmp_0;\n case 14:\n r0 = s.retval;\n r0 = globals.infoState___745.fields[\"heartImage\"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.drawTransparentImage(globals.screen___464, s.tmp_0, 1, 1);\n r0 = globals.infoState___745.fields[\"multiplierImage\"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.clone(s.tmp_0);\n s.mult___7026 = (r0);\n r0 = globals.infoState___745.fields[\"fontColor\"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.replace(s.mult___7026, 1, s.tmp_0);\n s.tmp_0 = r0 = globals.screen___464;\n s.tmp_1 = r0 = s.mult___7026;\n r0 = globals.infoState___745.fields[\"heartImage\"];\n s.tmp_4 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_4);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 + 2);\n s.tmp_2 = r0;\n s.tmp_8 = if_charHeight_1_mk(s);\n s.tmp_8.arg0 = s.font___6918;\n if (!s.tmp_8.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_8.arg0, \"charHeight\");\n } else {\n s.tmp_8.fn = s.tmp_8.arg0.vtable.iface[\"charHeight\"];\n if (s.tmp_8.fn == null) { s.retval = s.tmp_8.arg0.fields[\"charHeight\"]; }\n else { s.pc = 15; return s.tmp_8; }\n }\n case 15:\n r0 = s.retval;\n s.tmp_7 = r0;\n r0 = globals.infoState___745.fields[\"multiplierImage\"];\n s.tmp_10 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_10);\n s.tmp_9 = r0;\n r0 = (s.tmp_7 - s.tmp_9);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 - 1);\n s.tmp_5 = r0;\n r0 = pxsim_ImageMethods.drawTransparentImage(s.tmp_0, s.tmp_1, s.tmp_2, s.tmp_5);\n s.tmp_0 = helpers_imagePrint__P432_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_0.arg1 = s.num___6973;\n r0 = globals.infoState___745.fields[\"heartImage\"];\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + 3);\n s.tmp_1 = r0;\n r0 = globals.infoState___745.fields[\"multiplierImage\"];\n s.tmp_5 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_5);\n s.tmp_4 = r0;\n r0 = (s.tmp_1 + s.tmp_4);\n s.tmp_0.arg2 = r0;\n s.tmp_0.arg3 = 1;\n r0 = globals.infoState___745.fields[\"fontColor\"];\n s.tmp_0.arg4 = r0;\n s.tmp_0.arg5 = s.font___6918;\n s.tmp_0.arg6 = undefined;\n s.pc = 16; return s.tmp_0;\n case 16:\n r0 = s.retval;\n case 6:\n case 7:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_PlayerInfo_drawLives__P839.info = {\"start\":25972,\"length\":2458,\"line\":848,\"column\":8,\"endLine\":914,\"endColumn\":9,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"drawLives\",\"argumentNames\":[\"this\"]}\n\nfunction info_PlayerInfo_drawLives__P839_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_PlayerInfo_drawLives__P839, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n state___6913: undefined,\n font___6918: undefined,\n i___6954: undefined,\n num___6973: undefined,\n textWidth___6980: undefined,\n mult___7026: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction info_PlayerInfo_drawScore__P838(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.s___7076 = undefined;\n s.font___7078 = undefined;\n s.offsetY___7079 = undefined;\n s.num___7087 = undefined;\n s.width___7091 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, info_PlayerInfo__C823_VT)) failedCast(r0);\n s.tmp_1 = info_PlayerInfo_score__P827_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = (s.tmp_0 | 0);\n s.s___7076 = (r0);\n r0 = (s.s___7076 >= 1000000);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.offsetY___7079 = (2);\n s.font___7078 = (globals.font5___428);\n { step = 2; continue; }\n case 1:\n s.offsetY___7079 = (1);\n s.font___7078 = (globals.font8___423);\n case 2:\n r0 = pxsim_numops.toString(s.s___7076);\n s.num___7087 = (r0);\n r0 = pxsim_String_.length(s.num___7087);\n s.tmp_0 = r0;\n s.tmp_2 = if_charWidth_1_mk(s);\n s.tmp_2.arg0 = s.font___7078;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, \"charWidth\");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface[\"charWidth\"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields[\"charWidth\"]; }\n else { s.pc = 4; return s.tmp_2; }\n }\n case 4:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0 * s.tmp_1);\n s.width___7091 = (r0);\n s.tmp_0 = helpers_imageFillRect__P411_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - s.width___7091);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - 2);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = 0;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_0.arg3 = r0;\n s.tmp_4 = if_charHeight_1_mk(s);\n s.tmp_4.arg0 = globals.font8___423;\n if (!s.tmp_4.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_4.arg0, \"charHeight\");\n } else {\n s.tmp_4.fn = s.tmp_4.arg0.vtable.iface[\"charHeight\"];\n if (s.tmp_4.fn == null) { s.retval = s.tmp_4.arg0.fields[\"charHeight\"]; }\n else { s.pc = 6; return s.tmp_4; }\n }\n case 6:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_3 + 3);\n s.tmp_0.arg4 = r0;\n r0 = globals.infoState___745.fields[\"borderColor\"];\n s.tmp_0.arg5 = r0;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n s.tmp_0 = helpers_imageFillRect__P411_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - s.width___7091);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - 1);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = 0;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_0.arg3 = r0;\n s.tmp_4 = if_charHeight_1_mk(s);\n s.tmp_4.arg0 = globals.font8___423;\n if (!s.tmp_4.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_4.arg0, \"charHeight\");\n } else {\n s.tmp_4.fn = s.tmp_4.arg0.vtable.iface[\"charHeight\"];\n if (s.tmp_4.fn == null) { s.retval = s.tmp_4.arg0.fields[\"charHeight\"]; }\n else { s.pc = 8; return s.tmp_4; }\n }\n case 8:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_3 + 2);\n s.tmp_0.arg4 = r0;\n r0 = globals.infoState___745.fields[\"bgColor\"];\n s.tmp_0.arg5 = r0;\n s.pc = 7; return s.tmp_0;\n case 7:\n r0 = s.retval;\n s.tmp_0 = helpers_imagePrint__P432_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_0.arg1 = s.num___7087;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - s.width___7091);\n s.tmp_0.arg2 = r0;\n s.tmp_0.arg3 = s.offsetY___7079;\n r0 = globals.infoState___745.fields[\"fontColor\"];\n s.tmp_0.arg4 = r0;\n s.tmp_0.arg5 = s.font___7078;\n s.tmp_0.arg6 = undefined;\n s.pc = 9; return s.tmp_0;\n case 9:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_PlayerInfo_drawScore__P838.info = {\"start\":24914,\"length\":1048,\"line\":808,\"column\":8,\"endLine\":846,\"endColumn\":9,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"drawScore\",\"argumentNames\":[\"this\"]}\n\nfunction info_PlayerInfo_drawScore__P838_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_PlayerInfo_drawScore__P838, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n s___7076: undefined,\n font___7078: undefined,\n offsetY___7079: undefined,\n num___7087: undefined,\n width___7091: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction info_PlayerInfo_drawPlayer__P837(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.state___7153 = undefined;\n s.font___7155 = undefined;\n s.score___7157 = undefined;\n s.life___7158 = undefined;\n s.height___7159 = undefined;\n s.scoreWidth___7160 = undefined;\n s.lifeWidth___7161 = undefined;\n s.offsetX___7162 = undefined;\n s.offsetY___7163 = undefined;\n s.showScore___7164 = undefined;\n s.showLife___7170 = undefined;\n s.width___7230 = undefined;\n s.x___7238 = undefined;\n s.y___7244 = undefined;\n s.bump___7271 = undefined;\n s.xLoc___7292 = undefined;\n s.mult___7301 = undefined;\n s.pNum___7356 = undefined;\n s.iconWidth___7363 = undefined;\n s.iconHeight___7370 = undefined;\n s.iconX___7376 = undefined;\n s.iconY___7385 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, info_PlayerInfo__C823_VT)) failedCast(r0);\n s.tmp_0 = info_PlayerInfo_getState__P825_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 43; return s.tmp_0;\n case 43:\n r0 = s.retval;\n s.state___7153 = (r0);\n s.font___7155 = (globals.font5___428);\n s.height___7159 = (4);\n s.scoreWidth___7160 = (0);\n s.lifeWidth___7161 = (0);\n s.offsetX___7162 = (1);\n s.offsetY___7163 = (2);\n r0 = s.arg0.fields[\"showScore\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = s.state___7153.fields[\"score\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 !== undefined);\n case 2:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n s.showScore___7164 = (s.tmp_2);\n r0 = s.arg0.fields[\"showLife\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 3; continue; }\n r0 = s.tmp_0;\n { step = 4; continue; }\n case 3:\n r0 = s.state___7153.fields[\"life\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 !== undefined);\n case 4:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n s.showLife___7170 = (s.tmp_2);\n r0 = pxsim_numops_toBoolDecr(s.showScore___7164);\n if (!r0) { step = 5; continue; }\n r0 = pxsim_String_.mkEmpty();\n s.tmp_0 = r0;\n r0 = s.state___7153.fields[\"score\"];\n s.tmp_2 = r0;\n if ((s.tmp_2) && (s.tmp_2).vtable) {\n setupResume(s, 44);\n pxsim_String__stringConv(s.tmp_2);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_2) + \"\"; }\n case 44:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_String__concat(s.tmp_0, s.tmp_1);\n s.score___7157 = (r0);\n r0 = pxsim_String_.length(s.score___7157);\n s.tmp_1 = r0;\n s.tmp_3 = if_charWidth_1_mk(s);\n s.tmp_3.arg0 = s.font___7155;\n if (!s.tmp_3.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, \"charWidth\");\n } else {\n s.tmp_3.fn = s.tmp_3.arg0.vtable.iface[\"charWidth\"];\n if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields[\"charWidth\"]; }\n else { s.pc = 45; return s.tmp_3; }\n }\n case 45:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (s.tmp_1 * s.tmp_2);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 + 3);\n s.scoreWidth___7160 = (r0);\n s.tmp_0 = r0 = s.height___7159;\n s.tmp_2 = if_charHeight_1_mk(s);\n s.tmp_2.arg0 = s.font___7155;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, \"charHeight\");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface[\"charHeight\"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields[\"charHeight\"]; }\n else { s.pc = 46; return s.tmp_2; }\n }\n case 46:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n s.height___7159 = (r0);\n s.tmp_0 = r0 = s.offsetY___7163;\n s.tmp_3 = if_charHeight_1_mk(s);\n s.tmp_3.arg0 = s.font___7155;\n if (!s.tmp_3.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, \"charHeight\");\n } else {\n s.tmp_3.fn = s.tmp_3.arg0.vtable.iface[\"charHeight\"];\n if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields[\"charHeight\"]; }\n else { s.pc = 47; return s.tmp_3; }\n }\n case 47:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + 1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n s.offsetY___7163 = (r0);\n case 5:\n case 6:\n r0 = pxsim_numops_toBoolDecr(s.showLife___7170);\n if (!r0) { step = 9; continue; }\n r0 = s.state___7153.fields[\"life\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 7; continue; }\n r0 = s.tmp_0;\n { step = 8; continue; }\n case 7:\n r0 = 0;\n case 8:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_String_.mkEmpty();\n s.tmp_2 = r0;\n if ((s.tmp_1) && (s.tmp_1).vtable) {\n setupResume(s, 48);\n pxsim_String__stringConv(s.tmp_1);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_1) + \"\"; }\n case 48:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = pxsim_String__concat(s.tmp_2, s.tmp_3);\n s.life___7158 = (r0);\n r0 = globals.infoState___745.fields[\"heartImage\"];\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_3);\n s.tmp_2 = r0;\n r0 = globals.infoState___745.fields[\"multiplierImage\"];\n s.tmp_5 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_5);\n s.tmp_4 = r0;\n r0 = (s.tmp_2 + s.tmp_4);\n s.tmp_1 = r0;\n r0 = pxsim_String_.length(s.life___7158);\n s.tmp_7 = r0;\n s.tmp_9 = if_charWidth_1_mk(s);\n s.tmp_9.arg0 = s.font___7155;\n if (!s.tmp_9.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_9.arg0, \"charWidth\");\n } else {\n s.tmp_9.fn = s.tmp_9.arg0.vtable.iface[\"charWidth\"];\n if (s.tmp_9.fn == null) { s.retval = s.tmp_9.arg0.fields[\"charWidth\"]; }\n else { s.pc = 49; return s.tmp_9; }\n }\n case 49:\n r0 = s.retval;\n s.tmp_8 = r0;\n r0 = (s.tmp_7 * s.tmp_8);\n s.tmp_6 = r0;\n r0 = (s.tmp_1 + s.tmp_6);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 + 3);\n s.lifeWidth___7161 = (r0);\n s.tmp_0 = r0 = s.height___7159;\n r0 = globals.infoState___745.fields[\"heartImage\"];\n s.tmp_2 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n s.height___7159 = (r0);\n case 9:\n case 10:\n s.tmp_0 = Math_max__P61_mk(s);\n s.tmp_0.arg0 = s.scoreWidth___7160;\n s.tmp_0.arg1 = s.lifeWidth___7161;\n s.pc = 50; return s.tmp_0;\n case 50:\n r0 = s.retval;\n s.width___7230 = (r0);\n s.tmp_0 = r0 = s.showScore___7164;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 11; continue; }\n r0 = s.tmp_0;\n { step = 12; continue; }\n case 11:\n r0 = s.showLife___7170;\n case 12:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 13; continue; }\n r0 = (s.height___7159 + 1);\n s.height___7159 = (r0);\n case 13:\n case 14:\n r0 = s.arg0.fields[\"left\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 15; continue; }\n r0 = s.width___7230;\n { step = 16; continue; }\n case 15:\n r0 = 0;\n case 16:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = s.arg0.fields[\"x\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - s.tmp_1);\n s.x___7238 = (r0);\n r0 = s.arg0.fields[\"up\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 17; continue; }\n r0 = s.height___7159;\n { step = 18; continue; }\n case 17:\n r0 = 0;\n case 18:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = s.arg0.fields[\"y\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - s.tmp_1);\n s.y___7244 = (r0);\n s.tmp_0 = r0 = s.showScore___7164;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 19; continue; }\n r0 = s.tmp_0;\n { step = 20; continue; }\n case 19:\n r0 = s.showLife___7170;\n case 20:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 21; continue; }\n s.tmp_2 = helpers_imageFillRect__P411_mk(s);\n s.tmp_2.arg0 = globals.screen___464;\n s.tmp_2.arg1 = s.x___7238;\n s.tmp_2.arg2 = s.y___7244;\n s.tmp_2.arg3 = s.width___7230;\n s.tmp_2.arg4 = s.height___7159;\n r0 = s.arg0.fields[\"border\"];\n s.tmp_2.arg5 = r0;\n s.pc = 51; return s.tmp_2;\n case 51:\n r0 = s.retval;\n s.tmp_0 = helpers_imageFillRect__P411_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n r0 = (s.x___7238 + 1);\n s.tmp_0.arg1 = r0;\n r0 = (s.y___7244 + 1);\n s.tmp_0.arg2 = r0;\n r0 = (s.width___7230 - 2);\n s.tmp_0.arg3 = r0;\n r0 = (s.height___7159 - 2);\n s.tmp_0.arg4 = r0;\n r0 = s.arg0.fields[\"bg\"];\n s.tmp_0.arg5 = r0;\n s.pc = 52; return s.tmp_0;\n case 52:\n r0 = s.retval;\n case 21:\n case 22:\n r0 = pxsim_numops_toBoolDecr(s.showScore___7164);\n if (!r0) { step = 25; continue; }\n r0 = s.arg0.fields[\"left\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 23; continue; }\n r0 = (s.width___7230 - s.scoreWidth___7160);\n { step = 24; continue; }\n case 23:\n r0 = 0;\n case 24:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n s.bump___7271 = (s.tmp_1);\n s.tmp_0 = helpers_imagePrint__P432_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_0.arg1 = s.score___7157;\n r0 = (s.x___7238 + s.offsetX___7162);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.bump___7271);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 + 1);\n s.tmp_0.arg2 = r0;\n r0 = (s.y___7244 + 2);\n s.tmp_0.arg3 = r0;\n r0 = s.arg0.fields[\"fc\"];\n s.tmp_0.arg4 = r0;\n s.tmp_0.arg5 = s.font___7155;\n s.tmp_0.arg6 = undefined;\n s.pc = 53; return s.tmp_0;\n case 53:\n r0 = s.retval;\n case 25:\n case 26:\n r0 = pxsim_numops_toBoolDecr(s.showLife___7170);\n if (!r0) { step = 29; continue; }\n r0 = s.arg0.fields[\"left\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 27; continue; }\n r0 = (s.width___7230 - s.lifeWidth___7161);\n { step = 28; continue; }\n case 27:\n r0 = 0;\n case 28:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = (s.x___7238 + s.offsetX___7162);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.tmp_1);\n s.xLoc___7292 = (r0);\n r0 = globals.infoState___745.fields[\"multiplierImage\"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.clone(s.tmp_0);\n s.mult___7301 = (r0);\n r0 = s.arg0.fields[\"fc\"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.replace(s.mult___7301, 1, s.tmp_0);\n s.tmp_0 = r0 = globals.screen___464;\n r0 = globals.infoState___745.fields[\"heartImage\"];\n s.tmp_1 = r0;\n s.tmp_2 = r0 = s.xLoc___7292;\n r0 = (s.y___7244 + s.offsetY___7163);\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.drawTransparentImage(s.tmp_0, s.tmp_1, s.tmp_2, s.tmp_3);\n s.tmp_0 = r0 = globals.screen___464;\n s.tmp_1 = r0 = s.mult___7301;\n s.tmp_3 = r0 = s.xLoc___7292;\n r0 = globals.infoState___745.fields[\"heartImage\"];\n s.tmp_5 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_5);\n s.tmp_4 = r0;\n r0 = (s.tmp_3 + s.tmp_4);\n s.tmp_2 = r0;\n r0 = (s.y___7244 + s.offsetY___7163);\n s.tmp_9 = r0;\n s.tmp_11 = if_charHeight_1_mk(s);\n s.tmp_11.arg0 = s.font___7155;\n if (!s.tmp_11.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_11.arg0, \"charHeight\");\n } else {\n s.tmp_11.fn = s.tmp_11.arg0.vtable.iface[\"charHeight\"];\n if (s.tmp_11.fn == null) { s.retval = s.tmp_11.arg0.fields[\"charHeight\"]; }\n else { s.pc = 54; return s.tmp_11; }\n }\n case 54:\n r0 = s.retval;\n s.tmp_10 = r0;\n r0 = (s.tmp_9 + s.tmp_10);\n s.tmp_8 = r0;\n r0 = globals.infoState___745.fields[\"multiplierImage\"];\n s.tmp_13 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_13);\n s.tmp_12 = r0;\n r0 = (s.tmp_8 - s.tmp_12);\n s.tmp_7 = r0;\n r0 = (s.tmp_7 - 1);\n s.tmp_6 = r0;\n r0 = pxsim_ImageMethods.drawTransparentImage(s.tmp_0, s.tmp_1, s.tmp_2, s.tmp_6);\n s.tmp_0 = helpers_imagePrint__P432_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_0.arg1 = s.life___7158;\n s.tmp_3 = r0 = s.xLoc___7292;\n r0 = globals.infoState___745.fields[\"heartImage\"];\n s.tmp_5 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_5);\n s.tmp_4 = r0;\n r0 = (s.tmp_3 + s.tmp_4);\n s.tmp_2 = r0;\n r0 = globals.infoState___745.fields[\"multiplierImage\"];\n s.tmp_7 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_7);\n s.tmp_6 = r0;\n r0 = (s.tmp_2 + s.tmp_6);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 + 1);\n s.tmp_0.arg2 = r0;\n r0 = (s.y___7244 + s.offsetY___7163);\n s.tmp_0.arg3 = r0;\n r0 = s.arg0.fields[\"fc\"];\n s.tmp_0.arg4 = r0;\n s.tmp_0.arg5 = s.font___7155;\n s.tmp_0.arg6 = undefined;\n s.pc = 55; return s.tmp_0;\n case 55:\n r0 = s.retval;\n case 29:\n case 30:\n r0 = s.arg0.fields[\"showPlayer\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 41; continue; }\n r0 = pxsim_String_.mkEmpty();\n s.tmp_1 = r0;\n r0 = s.arg0.fields[\"_player\"];\n s.tmp_3 = r0;\n if ((s.tmp_3) && (s.tmp_3).vtable) {\n setupResume(s, 56);\n pxsim_String__stringConv(s.tmp_3);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_3) + \"\"; }\n case 56:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = pxsim_String__concat(s.tmp_1, s.tmp_2);\n s.pNum___7356 = (r0);\n r0 = pxsim_String_.length(s.pNum___7356);\n s.tmp_1 = r0;\n s.tmp_3 = if_charWidth_1_mk(s);\n s.tmp_3.arg0 = s.font___7155;\n if (!s.tmp_3.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, \"charWidth\");\n } else {\n s.tmp_3.fn = s.tmp_3.arg0.vtable.iface[\"charWidth\"];\n if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields[\"charWidth\"]; }\n else { s.pc = 57; return s.tmp_3; }\n }\n case 57:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (s.tmp_1 * s.tmp_2);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 + 1);\n s.iconWidth___7363 = (r0);\n s.tmp_0 = Math_max__P61_mk(s);\n s.tmp_0.arg0 = s.height___7159;\n s.tmp_2 = if_charHeight_1_mk(s);\n s.tmp_2.arg0 = s.font___7155;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, \"charHeight\");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface[\"charHeight\"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields[\"charHeight\"]; }\n else { s.pc = 59; return s.tmp_2; }\n }\n case 59:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 + 2);\n s.tmp_0.arg1 = r0;\n s.pc = 58; return s.tmp_0;\n case 58:\n r0 = s.retval;\n s.iconHeight___7370 = (r0);\n r0 = s.arg0.fields[\"left\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 31; continue; }\n r0 = (s.x___7238 - s.iconWidth___7363);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 + 1);\n { step = 32; continue; }\n case 31:\n r0 = (s.x___7238 + s.width___7230);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - 1);\n case 32:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n s.iconX___7376 = (s.tmp_3);\n s.iconY___7385 = (s.y___7244);\n r0 = pxsim_numops_toBoolDecr(s.showScore___7164);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 33; continue; }\n r0 = s.tmp_0;\n { step = 34; continue; }\n case 33:\n r0 = pxsim_numops_toBoolDecr(s.showLife___7170);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n case 34:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 39; continue; }\n r0 = s.arg0.fields[\"left\"];\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n if (!r0) { step = 35; continue; }\n r0 = -1;\n { step = 36; continue; }\n case 35:\n r0 = 1;\n case 36:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n r0 = (s.iconX___7376 + s.tmp_5);\n s.iconX___7376 = (r0);\n r0 = s.arg0.fields[\"up\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 37; continue; }\n r0 = (s.iconY___7385 - 3);\n s.iconY___7385 = (r0);\n case 37:\n case 38:\n case 39:\n case 40:\n s.tmp_0 = helpers_imageFillRect__P411_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_0.arg1 = s.iconX___7376;\n s.tmp_0.arg2 = s.iconY___7385;\n s.tmp_0.arg3 = s.iconWidth___7363;\n s.tmp_0.arg4 = s.iconHeight___7370;\n r0 = s.arg0.fields[\"border\"];\n s.tmp_0.arg5 = r0;\n s.pc = 60; return s.tmp_0;\n case 60:\n r0 = s.retval;\n s.tmp_0 = helpers_imagePrint__P432_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_0.arg1 = s.pNum___7356;\n r0 = (s.iconX___7376 + 1);\n s.tmp_0.arg2 = r0;\n s.tmp_2 = r0 = s.iconY___7385;\n r0 = (s.iconHeight___7370 >> 1);\n s.tmp_3 = r0;\n r0 = (s.tmp_2 + s.tmp_3);\n s.tmp_1 = r0;\n s.tmp_6 = if_charHeight_1_mk(s);\n s.tmp_6.arg0 = s.font___7155;\n if (!s.tmp_6.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_6.arg0, \"charHeight\");\n } else {\n s.tmp_6.fn = s.tmp_6.arg0.vtable.iface[\"charHeight\"];\n if (s.tmp_6.fn == null) { s.retval = s.tmp_6.arg0.fields[\"charHeight\"]; }\n else { s.pc = 62; return s.tmp_6; }\n }\n case 62:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = (s.tmp_5 >> 1);\n s.tmp_4 = r0;\n r0 = (s.tmp_1 - s.tmp_4);\n s.tmp_0.arg3 = r0;\n r0 = s.arg0.fields[\"bg\"];\n s.tmp_0.arg4 = r0;\n s.tmp_0.arg5 = s.font___7155;\n s.tmp_0.arg6 = undefined;\n s.pc = 61; return s.tmp_0;\n case 61:\n r0 = s.retval;\n case 41:\n case 42:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_PlayerInfo_drawPlayer__P837.info = {\"start\":21269,\"length\":3635,\"line\":703,\"column\":8,\"endLine\":806,\"endColumn\":9,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"drawPlayer\",\"argumentNames\":[\"this\"]}\n\nfunction info_PlayerInfo_drawPlayer__P837_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_PlayerInfo_drawPlayer__P837, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n tmp_12: undefined,\n tmp_13: undefined,\n state___7153: undefined,\n font___7155: undefined,\n score___7157: undefined,\n life___7158: undefined,\n height___7159: undefined,\n scoreWidth___7160: undefined,\n lifeWidth___7161: undefined,\n offsetX___7162: undefined,\n offsetY___7163: undefined,\n showScore___7164: undefined,\n showLife___7170: undefined,\n width___7230: undefined,\n x___7238: undefined,\n y___7244: undefined,\n bump___7271: undefined,\n xLoc___7292: undefined,\n mult___7301: undefined,\n pNum___7356: undefined,\n iconWidth___7363: undefined,\n iconHeight___7370: undefined,\n iconX___7376: undefined,\n iconY___7385: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction info_PlayerInfo_raiseLifeZero__P836(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.state___7133 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, info_PlayerInfo__C823_VT)) failedCast(r0);\n s.tmp_0 = info_PlayerInfo_getState__P825_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 9; return s.tmp_0;\n case 9:\n r0 = s.retval;\n s.state___7133 = (r0);\n r0 = s.state___7133.fields[\"life\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 !== null);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = s.state___7133.fields[\"life\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 <= 0);\n case 2:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 7; continue; }\n r0 = (s.state___7133).fields[\"life\"] = (null);\n r0 = s.state___7133.fields[\"lifeZeroHandler\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.tmp_1 = lambda_1_mk(s);\n r0 = s.state___7133.fields[\"lifeZeroHandler\"];\n s.tmp_1.argL = r0;\n setupLambda(s.tmp_1, s.tmp_1.argL);\n s.pc = 10; return s.tmp_1;\n case 10:\n r0 = s.retval;\n { step = 6; continue; }\n case 3:\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n if (!r0) { step = 4; continue; }\n s.tmp_0 = game_over__P1026_mk(s);\n s.tmp_0.arg0 = false;\n s.tmp_0.arg1 = undefined;\n s.pc = 11; return s.tmp_0;\n case 11:\n r0 = s.retval;\n case 4:\n case 5:\n case 6:\n case 7:\n case 8:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_PlayerInfo_raiseLifeZero__P836.info = {\"start\":20885,\"length\":374,\"line\":691,\"column\":8,\"endLine\":701,\"endColumn\":9,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"raiseLifeZero\",\"argumentNames\":[\"this\",\"gameOver\"]}\n\nfunction info_PlayerInfo_raiseLifeZero__P836_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_PlayerInfo_raiseLifeZero__P836, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n state___7133: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction info_PlayerInfo_hasLife__P834(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.state___7066 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, info_PlayerInfo__C823_VT)) failedCast(r0);\n s.tmp_0 = info_PlayerInfo_getState__P825_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.state___7066 = (r0);\n r0 = s.state___7066.fields[\"life\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 !== undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = s.state___7066.fields[\"life\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 !== null);\n case 2:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = s.tmp_3;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_PlayerInfo_hasLife__P834.info = {\"start\":20361,\"length\":141,\"line\":674,\"column\":8,\"endLine\":677,\"endColumn\":9,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"hasLife\",\"argumentNames\":[\"this\"]}\n\nfunction info_PlayerInfo_hasLife__P834_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_PlayerInfo_hasLife__P834, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n state___7066: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction info_PlayerInfo_hasScore__P830(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.state___4134 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, info_PlayerInfo__C823_VT)) failedCast(r0);\n s.tmp_0 = info_PlayerInfo_getState__P825_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.state___4134 = (r0);\n r0 = s.state___4134.fields[\"score\"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 !== undefined);\n return leave(s, r0)\n default: oops()\n} } }\ninfo_PlayerInfo_hasScore__P830.info = {\"start\":18633,\"length\":111,\"line\":617,\"column\":8,\"endLine\":620,\"endColumn\":9,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"hasScore\",\"argumentNames\":[\"this\"]}\n\nfunction info_PlayerInfo_hasScore__P830_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_PlayerInfo_hasScore__P830, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n state___4134: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction info_drawTimer__P822(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.font___6779 = undefined;\n s.smallFont___6781 = undefined;\n s.seconds___6783 = undefined;\n s.width___6787 = undefined;\n s.left___6790 = undefined;\n s.color1___6796 = undefined;\n s.color2___6800 = undefined;\n s.temp___6810 = undefined;\n s.top___6837 = undefined;\n s.remainder___6838 = undefined;\n s.decimalLeft___6856 = undefined;\n s.minutes___6871 = undefined;\n s.remainder___6875 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.arg0 = (0);\n case 1:\n case 2:\n r0 = (s.arg0 | 0);\n s.arg0 = (r0);\n s.font___6779 = (globals.font8___423);\n s.smallFont___6781 = (globals.font5___428);\n r0 = pxsim.Math_.idiv(s.arg0, 1000);\n s.seconds___6783 = (r0);\n s.tmp_2 = if_charWidth_1_mk(s);\n s.tmp_2.arg0 = s.font___6779;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, \"charWidth\");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface[\"charWidth\"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields[\"charWidth\"]; }\n else { s.pc = 11; return s.tmp_2; }\n }\n case 11:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 * 5);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 - 2);\n s.width___6787 = (r0);\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 >> 1);\n s.tmp_1 = r0;\n r0 = (s.width___6787 >> 1);\n s.tmp_3 = r0;\n r0 = (s.tmp_1 - s.tmp_3);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 + 1);\n s.left___6790 = (r0);\n r0 = globals.infoState___745.fields[\"fontColor\"];\n s.color1___6796 = (r0);\n r0 = globals.infoState___745.fields[\"bgColor\"];\n s.color2___6800 = (r0);\n r0 = (s.seconds___6783 < 10);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 3; continue; }\n r0 = s.tmp_0;\n { step = 4; continue; }\n case 3:\n r0 = (s.seconds___6783 & 1);\n case 4:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBool(s.tmp_1);\n if (r0) { step = 5; continue; }\n r0 = s.tmp_1;\n { step = 6; continue; }\n case 5:\n r0 = pxsim_ImageMethods.isMono(globals.screen___464);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n case 6:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n if (!r0) { step = 7; continue; }\n s.temp___6810 = (s.color1___6796);\n s.color1___6796 = (s.color2___6800);\n s.color2___6800 = (s.temp___6810);\n case 7:\n case 8:\n s.tmp_0 = helpers_imageFillRect__P411_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n r0 = (s.left___6790 - 3);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = 0;\n r0 = (s.width___6787 + 6);\n s.tmp_0.arg3 = r0;\n s.tmp_2 = if_charHeight_1_mk(s);\n s.tmp_2.arg0 = s.font___6779;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, \"charHeight\");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface[\"charHeight\"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields[\"charHeight\"]; }\n else { s.pc = 13; return s.tmp_2; }\n }\n case 13:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 + 3);\n s.tmp_0.arg4 = r0;\n r0 = globals.infoState___745.fields[\"borderColor\"];\n s.tmp_0.arg5 = r0;\n s.pc = 12; return s.tmp_0;\n case 12:\n r0 = s.retval;\n s.tmp_0 = helpers_imageFillRect__P411_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n r0 = (s.left___6790 - 2);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = 0;\n r0 = (s.width___6787 + 4);\n s.tmp_0.arg3 = r0;\n s.tmp_2 = if_charHeight_1_mk(s);\n s.tmp_2.arg0 = s.font___6779;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, \"charHeight\");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface[\"charHeight\"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields[\"charHeight\"]; }\n else { s.pc = 15; return s.tmp_2; }\n }\n case 15:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 + 2);\n s.tmp_0.arg4 = r0;\n s.tmp_0.arg5 = s.color2___6800;\n s.pc = 14; return s.tmp_0;\n case 14:\n r0 = s.retval;\n r0 = (s.seconds___6783 < 60);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 9; continue; }\n s.top___6837 = (1);\n r0 = (s.arg0 % 1000);\n s.tmp_0 = r0;\n r0 = pxsim.Math_.idiv(s.tmp_0, 10);\n s.remainder___6838 = (r0);\n s.tmp_0 = helpers_imagePrint__P432_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_3 = info_formatDecimal__P841_mk(s);\n s.tmp_3.arg0 = s.seconds___6783;\n s.pc = 17; return s.tmp_3;\n case 17:\n r0 = s.retval;\n s.tmp_2 = r0;\n if ((s.tmp_2) && (s.tmp_2).vtable) {\n setupResume(s, 18);\n pxsim_String__stringConv(s.tmp_2);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_2) + \"\"; }\n case 18:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_String__concat(s.tmp_1, \".\");\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = s.left___6790;\n s.tmp_0.arg3 = s.top___6837;\n s.tmp_0.arg4 = s.color1___6796;\n s.tmp_0.arg5 = s.font___6779;\n s.tmp_0.arg6 = undefined;\n s.pc = 16; return s.tmp_0;\n case 16:\n r0 = s.retval;\n s.tmp_0 = r0 = s.left___6790;\n s.tmp_3 = if_charWidth_1_mk(s);\n s.tmp_3.arg0 = s.font___6779;\n if (!s.tmp_3.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, \"charWidth\");\n } else {\n s.tmp_3.fn = s.tmp_3.arg0.vtable.iface[\"charWidth\"];\n if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields[\"charWidth\"]; }\n else { s.pc = 19; return s.tmp_3; }\n }\n case 19:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (3 * s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n s.decimalLeft___6856 = (r0);\n s.tmp_0 = helpers_imagePrint__P432_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_1 = info_formatDecimal__P841_mk(s);\n s.tmp_1.arg0 = s.remainder___6838;\n s.pc = 21; return s.tmp_1;\n case 21:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = s.decimalLeft___6856;\n r0 = (s.top___6837 + 2);\n s.tmp_0.arg3 = r0;\n s.tmp_0.arg4 = s.color1___6796;\n s.tmp_0.arg5 = s.smallFont___6781;\n s.tmp_0.arg6 = undefined;\n s.pc = 20; return s.tmp_0;\n case 20:\n r0 = s.retval;\n { step = 10; continue; }\n case 9:\n r0 = pxsim.Math_.idiv(s.seconds___6783, 60);\n s.minutes___6871 = (r0);\n r0 = (s.seconds___6783 % 60);\n s.remainder___6875 = (r0);\n s.tmp_0 = helpers_imagePrint__P432_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_5 = info_formatDecimal__P841_mk(s);\n s.tmp_5.arg0 = s.minutes___6871;\n s.pc = 23; return s.tmp_5;\n case 23:\n r0 = s.retval;\n s.tmp_4 = r0;\n if ((s.tmp_4) && (s.tmp_4).vtable) {\n setupResume(s, 24);\n pxsim_String__stringConv(s.tmp_4);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_4) + \"\"; }\n case 24:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = pxsim_String__concat(s.tmp_3, \":\");\n s.tmp_2 = r0;\n if ((s.tmp_2) && (s.tmp_2).vtable) {\n setupResume(s, 25);\n pxsim_String__stringConv(s.tmp_2);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_2) + \"\"; }\n case 25:\n r0 = s.retval;\n s.tmp_1 = r0;\n s.tmp_8 = info_formatDecimal__P841_mk(s);\n s.tmp_8.arg0 = s.remainder___6875;\n s.pc = 26; return s.tmp_8;\n case 26:\n r0 = s.retval;\n s.tmp_7 = r0;\n if ((s.tmp_7) && (s.tmp_7).vtable) {\n setupResume(s, 27);\n pxsim_String__stringConv(s.tmp_7);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_7) + \"\"; }\n case 27:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = pxsim_String__concat(s.tmp_1, s.tmp_6);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = s.left___6790;\n s.tmp_0.arg3 = 1;\n s.tmp_0.arg4 = s.color1___6796;\n s.tmp_0.arg5 = s.font___6779;\n s.tmp_0.arg6 = undefined;\n s.pc = 22; return s.tmp_0;\n case 22:\n r0 = s.retval;\n case 10:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_drawTimer__P822.info = {\"start\":13501,\"length\":1328,\"line\":463,\"column\":4,\"endLine\":498,\"endColumn\":5,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"drawTimer\",\"argumentNames\":[\"millis\"]}\n\nfunction info_drawTimer__P822_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_drawTimer__P822, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n font___6779: undefined,\n smallFont___6781: undefined,\n seconds___6783: undefined,\n width___6787: undefined,\n left___6790: undefined,\n color1___6796: undefined,\n color2___6800: undefined,\n temp___6810: undefined,\n top___6837: undefined,\n remainder___6838: undefined,\n decimalLeft___6856: undefined,\n minutes___6871: undefined,\n remainder___6875: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction info_formatDecimal__P841(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 | 0);\n s.arg0 = (r0);\n r0 = (s.arg0 < 10);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n if ((s.arg0) && (s.arg0).vtable) {\n setupResume(s, 4);\n pxsim_String__stringConv(s.arg0);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.arg0) + \"\"; }\n case 4:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_String__concat(\"0\", s.tmp_1);\n { step = 3; continue; }\n case 1:\n case 2:\n r0 = pxsim_numops.toString(s.arg0);\n case 3:\n return leave(s, r0)\n default: oops()\n} } }\ninfo_formatDecimal__P841.info = {\"start\":28442,\"length\":156,\"line\":917,\"column\":4,\"endLine\":923,\"endColumn\":5,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"formatDecimal\",\"argumentNames\":[\"val\"]}\n\nfunction info_formatDecimal__P841_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_formatDecimal__P841, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction info_InfoState_constructor__P743(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, info_InfoState__C742_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"visibilityFlag\"] = (8);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"playerStates\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_2 = info_defaultHeartImage__P795_mk(s);\n s.pc = 7; return s.tmp_2;\n case 7:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"heartImage\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim.image.ofBuffer(_hex7488);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"multiplierImage\"] = (s.tmp_1);\n r0 = pxsim_ImageMethods.isMono(globals.screen___464);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = 0;\n { step = 2; continue; }\n case 1:\n r0 = 1;\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = (s.arg0).fields[\"bgColor\"] = (s.tmp_1);\n r0 = pxsim_ImageMethods.isMono(globals.screen___464);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = 1;\n { step = 4; continue; }\n case 3:\n r0 = 3;\n case 4:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = (s.arg0).fields[\"borderColor\"] = (s.tmp_1);\n r0 = pxsim_ImageMethods.isMono(globals.screen___464);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = 1;\n { step = 6; continue; }\n case 5:\n r0 = 3;\n case 6:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = (s.arg0).fields[\"fontColor\"] = (s.tmp_1);\n r0 = (s.arg0).fields[\"countdownExpired\"] = (undefined);\n r0 = (s.arg0).fields[\"countdownEndHandler\"] = (undefined);\n r0 = (s.arg0).fields[\"gameEnd\"] = (undefined);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"playerStates\"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_InfoState_constructor__P743.info = {\"start\":1038,\"length\":674,\"line\":43,\"column\":8,\"endLine\":61,\"endColumn\":9,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\"]}\n\nfunction info_InfoState_constructor__P743_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_InfoState_constructor__P743, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\nconst _hex7488 = pxsim.BufferMethods.createBufferFromHex(\"87040500050000000100010010100000000100001010000001000100\")\n\n\n\n\nfunction info_defaultHeartImage__P795(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_ImageMethods.isMono(globals.screen___464);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim.image.ofBuffer(_hex7516);\n { step = 2; continue; }\n case 1:\n r0 = pxsim.image.ofBuffer(_hex7518);\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = s.tmp_1;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_defaultHeartImage__P795.info = {\"start\":5105,\"length\":592,\"line\":163,\"column\":4,\"endLine\":184,\"endColumn\":5,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"defaultHeartImage\",\"argumentNames\":[]}\n\nfunction info_defaultHeartImage__P795_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_defaultHeartImage__P795, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n} }\n\nconst _hex7516 = pxsim.BufferMethods.createBufferFromHex(\"87040800070000001011000001000100010010001000000101001000010001001011000000000000\")\nconst _hex7518 = pxsim.BufferMethods.createBufferFromHex(\"8704080007000000c0cc00002c220c002222c2002222220c20222202222422004222020020220000\")\n\n\n\n\nfunction helpers_arrayFilter__P48(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.res___2828 = undefined;\n s.len___2830 = undefined;\n s.i___2833 = undefined;\n s.v___2837 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_Array__mk();\n s.res___2828 = (r0);\n r0 = pxsim_Array__length(s.arg0);\n s.len___2830 = (r0);\n s.i___2833 = (0);\n case 1:\n r0 = (s.i___2833 < s.len___2830);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 4; continue; }\n r0 = pxsim_Array__getAt(s.arg0, s.i___2833);\n s.v___2837 = (r0);\n s.tmp_1 = lambda_3_mk(s);\n s.tmp_1.argL = s.arg1;\n s.tmp_1.arg0 = s.v___2837;\n s.tmp_1.arg1 = s.i___2833;\n setupLambda(s.tmp_1, s.tmp_1.argL);\n s.pc = 5; return s.tmp_1;\n case 5:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n r0 = pxsim_Array__push(s.res___2828, s.v___2837);\n case 2:\n case 3:\n r0 = (s.i___2833 + 1);\n s.i___2833 = (r0);\n { step = 1; continue; }\n case 4:\n r0 = s.res___2828;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_arrayFilter__P48.info = {\"start\":5412,\"length\":317,\"line\":177,\"column\":4,\"endLine\":185,\"endColumn\":5,\"fileName\":\"pxt_modules/base/pxt-helpers.ts\",\"functionName\":\"arrayFilter\",\"argumentNames\":[\"arr\",\"callbackfn\"]}\n\nfunction helpers_arrayFilter__P48_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_arrayFilter__P48, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n res___2828: undefined,\n len___2830: undefined,\n i___2833: undefined,\n v___2837: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction info_PlayerState_constructor__P741(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, info_PlayerState__C740_VT)) failedCast(r0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_PlayerState_constructor__P741.info = {\"start\":601,\"length\":17,\"line\":27,\"column\":8,\"endLine\":27,\"endColumn\":25,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\"]}\n\nfunction info_PlayerState_constructor__P741_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_PlayerState_constructor__P741, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction info_changeScoreBy__P802(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = info_PlayerInfo_changeScoreBy__P829_mk(s);\n s.tmp_0.arg0 = globals.player1___845;\n s.tmp_0.arg1 = s.arg0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_changeScoreBy__P802.info = {\"start\":7719,\"length\":90,\"line\":264,\"column\":4,\"endLine\":266,\"endColumn\":5,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"changeScoreBy\",\"argumentNames\":[\"value\"]}\n\nfunction info_changeScoreBy__P802_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_changeScoreBy__P802, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction info_PlayerInfo_changeScoreBy__P829(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, info_PlayerInfo__C823_VT)) failedCast(r0);\n s.tmp_0 = info_PlayerInfo_setScore__P828_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_2 = info_PlayerInfo_score__P827_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 2; return s.tmp_2;\n case 2:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 + s.arg1);\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_PlayerInfo_changeScoreBy__P829.info = {\"start\":18528,\"length\":95,\"line\":613,\"column\":8,\"endLine\":615,\"endColumn\":9,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"changeScoreBy\",\"argumentNames\":[\"this\",\"value\"]}\n\nfunction info_PlayerInfo_changeScoreBy__P829_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_PlayerInfo_changeScoreBy__P829, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction info_PlayerInfo_setScore__P828(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.state___8150 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, info_PlayerInfo__C823_VT)) failedCast(r0);\n s.tmp_0 = info_PlayerInfo_getState__P825_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.state___8150 = (r0);\n s.tmp_0 = info_updateFlag__P815_mk(s);\n s.tmp_0.arg0 = 2;\n s.tmp_0.arg1 = true;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n s.tmp_0 = info_PlayerInfo_score__P827_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.tmp_0 = r0 = s.state___8150;\n r0 = (s.arg1 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"score\"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_PlayerInfo_setScore__P828.info = {\"start\":18041,\"length\":220,\"line\":597,\"column\":8,\"endLine\":603,\"endColumn\":9,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"setScore\",\"argumentNames\":[\"this\",\"value\"]}\n\nfunction info_PlayerInfo_setScore__P828_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_PlayerInfo_setScore__P828, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n state___8150: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction info_updateFlag__P815(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = info_initHUD__P793_mk(s);\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n if (!r0) { step = 1; continue; }\n s.tmp_0 = r0 = globals.infoState___745;\n r0 = s.tmp_0.fields[\"visibilityFlag\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | s.arg0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"visibilityFlag\"] = (s.tmp_1);\n { step = 2; continue; }\n case 1:\n s.tmp_0 = r0 = globals.infoState___745;\n r0 = globals.infoState___745.fields[\"visibilityFlag\"];\n s.tmp_4 = r0;\n r0 = (~ s.tmp_4);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 | s.arg0);\n s.tmp_2 = r0;\n r0 = (~ s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"visibilityFlag\"] = (s.tmp_1);\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_updateFlag__P815.info = {\"start\":11468,\"length\":204,\"line\":394,\"column\":4,\"endLine\":398,\"endColumn\":5,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"updateFlag\",\"argumentNames\":[\"flag\",\"on\"]}\n\nfunction info_updateFlag__P815_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_updateFlag__P815, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Math_percentChance__P1154(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 >= 100);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = true;\n { step = 5; continue; }\n { step = 4; continue; }\n case 1:\n r0 = (s.arg0 <= 0);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 2; continue; }\n r0 = false;\n { step = 5; continue; }\n case 2:\n case 3:\n case 4:\n r0 = pxsim.Math_.randomRange(0, 99);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 < s.arg0);\n case 5:\n return leave(s, r0)\n default: oops()\n} } }\nMath_percentChance__P1154.info = {\"start\":336,\"length\":259,\"line\":8,\"column\":4,\"endLine\":16,\"endColumn\":5,\"fileName\":\"pxt_modules/game/mathUtil.ts\",\"functionName\":\"percentChance\",\"argumentNames\":[\"percentage\"]}\n\nfunction Math_percentChance__P1154_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Math_percentChance__P1154, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Sprite_setKind__P638(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.spritesByKind___8186 = undefined;\n s.overlapMap___8212 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = (s.arg1 == undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = s.arg0.fields[\"_kind\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 === s.arg1);\n case 2:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 3; continue; }\n { step = 15; continue; }\n case 3:\n case 4:\n s.tmp_3 = game_currentScene__P769_mk(s);\n s.pc = 16; return s.tmp_3;\n case 16:\n r0 = s.retval;\n r0 = r0.fields[\"spritesByKind\"];\n s.spritesByKind___8186 = (r0);\n r0 = s.arg0.fields[\"_kind\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 >= 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 5; continue; }\n r0 = s.tmp_0;\n { step = 6; continue; }\n case 5:\n r0 = s.arg0.fields[\"_kind\"];\n s.tmp_2 = r0;\n r0 = pxsim_pxtrt.mapGetGeneric(s.spritesByKind___8186, s.tmp_2);\n case 6:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 7; continue; }\n s.tmp_4 = SpriteSet_remove__P682_mk(s);\n r0 = s.arg0.fields[\"_kind\"];\n s.tmp_5 = r0;\n r0 = pxsim_pxtrt.mapGetGeneric(s.spritesByKind___8186, s.tmp_5);\n s.tmp_4.arg0 = r0;\n s.tmp_4.arg1 = s.arg0;\n s.pc = 17; return s.tmp_4;\n case 17:\n r0 = s.retval;\n case 7:\n case 8:\n r0 = (s.arg1 >= 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 11; continue; }\n r0 = pxsim_pxtrt.mapGetGeneric(s.spritesByKind___8186, s.arg1);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 9; continue; }\n r0 = pxsim_pxtcore_mkClassInstance(SpriteSet__C676_VT);\n s.tmp_4 = r0;\n s.tmp_5 = SpriteSet_constructor__P687_mk(s);\n s.tmp_5.arg0 = s.tmp_4;\n s.pc = 18; return s.tmp_5;\n case 18:\n r0 = s.retval;\n r0 = pxsim_pxtrt.mapSetGeneric(s.spritesByKind___8186, s.arg1, s.tmp_4);\n case 9:\n case 10:\n s.tmp_0 = SpriteSet_add__P680_mk(s);\n r0 = pxsim_pxtrt.mapGetGeneric(s.spritesByKind___8186, s.arg1);\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = s.arg0;\n s.pc = 19; return s.tmp_0;\n case 19:\n r0 = s.retval;\n case 11:\n case 12:\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 20; return s.tmp_0;\n case 20:\n r0 = s.retval;\n r0 = r0.fields[\"overlapMap\"];\n s.overlapMap___8212 = (r0);\n r0 = pxsim_pxtrt.mapGetGeneric(s.overlapMap___8212, s.arg1);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 13; continue; }\n s.tmp_3 = r0 = s.overlapMap___8212;\n s.tmp_4 = r0 = s.arg1;\n r0 = pxsim_Array__mk();\n s.tmp_5 = r0;\n r0 = pxsim_pxtrt.mapSetGeneric(s.tmp_3, s.tmp_4, s.tmp_5);\n case 13:\n case 14:\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_pxtrt.mapGetGeneric(s.overlapMap___8212, s.arg1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"_kindsOverlappedWith\"] = (s.tmp_1);\n r0 = (s.arg0).fields[\"_kind\"] = (s.arg1);\n case 15:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_setKind__P638.info = {\"start\":9666,\"length\":655,\"line\":349,\"column\":4,\"endLine\":369,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"setKind\",\"argumentNames\":[\"this\",\"value\"]}\n\nfunction Sprite_setKind__P638_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_setKind__P638, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n spritesByKind___8186: undefined,\n overlapMap___8212: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction SpriteSet_constructor__P687(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, SpriteSet__C676_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"_sprites\"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSpriteSet_constructor__P687.info = {\"start\":392,\"length\":49,\"line\":18,\"column\":4,\"endLine\":20,\"endColumn\":5,\"fileName\":\"pxt_modules/game/spriteset.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\"]}\n\nfunction SpriteSet_constructor__P687_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: SpriteSet_constructor__P687, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction SpriteSet_remove__P682(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.i___2869 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, SpriteSet__C676_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_sprites\"];\n s.tmp_0 = r0;\n r0 = pxsim_Array_.indexOf(s.tmp_0, s.arg1, undefined);\n s.i___2869 = (r0);\n r0 = (s.i___2869 > -1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_1 = helpers_arraySplice__P36_mk(s);\n r0 = s.arg0.fields[\"_sprites\"];\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = s.i___2869;\n s.tmp_1.arg2 = 1;\n s.pc = 4; return s.tmp_1;\n case 4:\n r0 = s.retval;\n r0 = true;\n { step = 3; continue; }\n case 1:\n case 2:\n r0 = false;\n case 3:\n return leave(s, r0)\n default: oops()\n} } }\nSpriteSet_remove__P682.info = {\"start\":1556,\"length\":207,\"line\":65,\"column\":4,\"endLine\":72,\"endColumn\":5,\"fileName\":\"pxt_modules/game/spriteset.ts\",\"functionName\":\"remove\",\"argumentNames\":[\"this\",\"sprite\"]}\n\nfunction SpriteSet_remove__P682_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: SpriteSet_remove__P682, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n i___2869: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction helpers_arraySplice__P36(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.i___2889 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg1 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 5; continue; }\n case 1:\n case 2:\n s.i___2889 = (0);\n case 3:\n r0 = (s.i___2889 < s.arg2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 4; continue; }\n r0 = pxsim_Array_.removeAt(s.arg0, s.arg1);\n r0 = (s.i___2889 + 1);\n s.i___2889 = (r0);\n { step = 3; continue; }\n case 4:\n case 5:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_arraySplice__P36.info = {\"start\":1359,\"length\":213,\"line\":53,\"column\":4,\"endLine\":60,\"endColumn\":5,\"fileName\":\"pxt_modules/base/pxt-helpers.ts\",\"functionName\":\"arraySplice\",\"argumentNames\":[\"arr\",\"start\",\"len\"]}\n\nfunction helpers_arraySplice__P36_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_arraySplice__P36, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n i___2889: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction SpriteSet_add__P680(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, SpriteSet__C676_VT)) failedCast(r0);\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = false;\n { step = 5; continue; }\n case 1:\n case 2:\n r0 = s.arg0.fields[\"_sprites\"];\n s.tmp_4 = r0;\n r0 = pxsim_Array_.indexOf(s.tmp_4, s.arg1, undefined);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 > -1);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 3; continue; }\n r0 = false;\n { step = 5; continue; }\n case 3:\n case 4:\n r0 = s.arg0.fields[\"_sprites\"];\n s.tmp_5 = r0;\n r0 = pxsim_Array__push(s.tmp_5, s.arg1);\n r0 = true;\n case 5:\n return leave(s, r0)\n default: oops()\n} } }\nSpriteSet_add__P680.info = {\"start\":855,\"length\":235,\"line\":40,\"column\":4,\"endLine\":48,\"endColumn\":5,\"fileName\":\"pxt_modules/game/spriteset.ts\",\"functionName\":\"add\",\"argumentNames\":[\"this\",\"sprite\"]}\n\nfunction SpriteSet_add__P680_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: SpriteSet_add__P680, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction SpriteSet_contains__P683(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, SpriteSet__C676_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_sprites\"];\n s.tmp_1 = r0;\n r0 = pxsim_Array_.indexOf(s.tmp_1, s.arg1, undefined);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 > -1);\n return leave(s, r0)\n default: oops()\n} } }\nSpriteSet_contains__P683.info = {\"start\":1854,\"length\":92,\"line\":78,\"column\":4,\"endLine\":80,\"endColumn\":5,\"fileName\":\"pxt_modules/game/spriteset.ts\",\"functionName\":\"contains\",\"argumentNames\":[\"this\",\"sprite\"]}\n\nfunction SpriteSet_contains__P683_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: SpriteSet_contains__P683, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction sprites_createProjectileFromSide__P604(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = sprites_createProjectile__P606_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.tmp_0.arg2 = s.arg2;\n s.tmp_0.arg3 = 1;\n s.tmp_0.arg4 = undefined;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_createProjectileFromSide__P604.info = {\"start\":2403,\"length\":153,\"line\":74,\"column\":4,\"endLine\":76,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprites.ts\",\"functionName\":\"createProjectileFromSide\",\"argumentNames\":[\"img\",\"vx\",\"vy\"]}\n\nfunction sprites_createProjectileFromSide__P604_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_createProjectileFromSide__P604, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction sprites_createProjectile__P606(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.s___8560 = undefined;\n s.sc___8565 = undefined;\n s.xOff___8573 = undefined;\n s.yOff___8581 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = r0 = s.arg3;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = 1;\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n s.tmp_2 = sprites_create__P602_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.tmp_2.arg1 = s.tmp_1;\n s.pc = 21; return s.tmp_2;\n case 21:\n r0 = s.retval;\n s.s___8560 = (r0);\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 22; return s.tmp_0;\n case 22:\n r0 = s.retval;\n s.sc___8565 = (r0);\n s.tmp_0 = Sprite_vx__P614_mk(s);\n s.tmp_0.arg0 = s.s___8560;\n s.tmp_0.arg1 = s.arg1;\n s.pc = 23; return s.tmp_0;\n case 23:\n r0 = s.retval;\n s.tmp_0 = Sprite_vy__P616_mk(s);\n s.tmp_0.arg0 = s.s___8560;\n s.tmp_0.arg1 = s.arg2;\n s.pc = 24; return s.tmp_0;\n case 24:\n r0 = s.retval;\n r0 = s.sc___8565.fields[\"tileMap\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = s.s___8560.fields[\"_image\"];\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 >> 1);\n s.tmp_1 = r0;\n r0 = (0 - s.tmp_1);\n { step = 4; continue; }\n case 3:\n r0 = s.s___8560.fields[\"_image\"];\n s.tmp_6 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_6);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 >> 1);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 - 1);\n case 4:\n // jmp value (already in r0)\n s.tmp_7 = r0;\n s.xOff___8573 = (s.tmp_7);\n r0 = s.sc___8565.fields[\"tileMap\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = s.s___8560.fields[\"_image\"];\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 >> 1);\n s.tmp_1 = r0;\n r0 = (0 - s.tmp_1);\n { step = 6; continue; }\n case 5:\n r0 = s.s___8560.fields[\"_image\"];\n s.tmp_6 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_6);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 >> 1);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 - 1);\n case 6:\n // jmp value (already in r0)\n s.tmp_7 = r0;\n s.yOff___8581 = (s.tmp_7);\n case 7:\n r0 = (s.arg1 == 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 8; continue; }\n r0 = s.tmp_0;\n { step = 9; continue; }\n case 8:\n r0 = (s.arg2 == 0);\n case 9:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 10; continue; }\n r0 = pxsim.Math_.randomRange(-100, 100);\n s.arg1 = (r0);\n r0 = pxsim.Math_.randomRange(-100, 100);\n s.arg2 = (r0);\n { step = 7; continue; }\n case 10:\n r0 = (s.arg1 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 11; continue; }\n s.tmp_1 = Sprite_x__P610_mk(s);\n s.tmp_1.arg0 = s.s___8560;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.xOff___8573);\n s.tmp_1.arg1 = r0;\n s.pc = 25; return s.tmp_1;\n case 25:\n r0 = s.retval;\n { step = 14; continue; }\n case 11:\n r0 = (s.arg1 > 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 12; continue; }\n s.tmp_1 = Sprite_x__P610_mk(s);\n s.tmp_1.arg0 = s.s___8560;\n r0 = (0 - s.xOff___8573);\n s.tmp_1.arg1 = r0;\n s.pc = 26; return s.tmp_1;\n case 26:\n r0 = s.retval;\n case 12:\n case 13:\n case 14:\n r0 = (s.arg2 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 15; continue; }\n s.tmp_1 = Sprite_y__P612_mk(s);\n s.tmp_1.arg0 = s.s___8560;\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.yOff___8581);\n s.tmp_1.arg1 = r0;\n s.pc = 27; return s.tmp_1;\n case 27:\n r0 = s.retval;\n { step = 18; continue; }\n case 15:\n r0 = (s.arg2 > 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 16; continue; }\n s.tmp_1 = Sprite_y__P612_mk(s);\n s.tmp_1.arg0 = s.s___8560;\n r0 = (0 - s.yOff___8581);\n s.tmp_1.arg1 = r0;\n s.pc = 28; return s.tmp_1;\n case 28:\n r0 = s.retval;\n case 16:\n case 17:\n case 18:\n s.tmp_0 = r0 = s.s___8560;\n r0 = s.tmp_0.fields[\"flags\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 4);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"flags\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.s___8560;\n r0 = s.tmp_0.fields[\"flags\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 16);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"flags\"] = (s.tmp_1);\n r0 = pxsim_numops_toBoolDecr(s.arg4);\n if (!r0) { step = 19; continue; }\n s.tmp_0 = Sprite_x__P610_mk(s);\n s.tmp_0.arg0 = s.s___8560;\n s.tmp_1 = Sprite_x__P609_mk(s);\n s.tmp_1.arg0 = s.arg4;\n s.pc = 30; return s.tmp_1;\n case 30:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.pc = 29; return s.tmp_0;\n case 29:\n r0 = s.retval;\n s.tmp_0 = Sprite_y__P612_mk(s);\n s.tmp_0.arg0 = s.s___8560;\n s.tmp_1 = Sprite_y__P611_mk(s);\n s.tmp_1.arg0 = s.arg4;\n s.pc = 32; return s.tmp_1;\n case 32:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.pc = 31; return s.tmp_0;\n case 31:\n r0 = s.retval;\n case 19:\n case 20:\n r0 = s.s___8560;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_createProjectile__P606.info = {\"start\":4034,\"length\":1115,\"line\":106,\"column\":4,\"endLine\":142,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprites.ts\",\"functionName\":\"createProjectile\",\"argumentNames\":[\"img\",\"vx\",\"vy\",\"kind\",\"sprite\"]}\n\nfunction sprites_createProjectile__P606_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_createProjectile__P606, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n s___8560: undefined,\n sc___8565: undefined,\n xOff___8573: undefined,\n yOff___8581: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n} }\n\n\n\n\n\nfunction Sprite_height__P628(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_image\"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\nSprite_height__P628.info = {\"start\":7461,\"length\":54,\"line\":265,\"column\":4,\"endLine\":267,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"height\",\"argumentNames\":[\"this\"]}\n\nfunction Sprite_height__P628_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_height__P628, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Sprite_width__P627(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_image\"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\nSprite_width__P627.info = {\"start\":7316,\"length\":52,\"line\":260,\"column\":4,\"endLine\":262,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"width\",\"argumentNames\":[\"this\"]}\n\nfunction Sprite_width__P627_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_width__P627, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Sprite_y__P612(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_0 = Sprite_top__P634_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_1 = r0 = s.arg1;\n r0 = s.arg0.fields[\"_image\"];\n s.tmp_4 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_4);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 >> 1);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 - s.tmp_2);\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_y__P612.info = {\"start\":1677,\"length\":73,\"line\":69,\"column\":4,\"endLine\":71,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"y\",\"argumentNames\":[\"this\",\"v\"]}\n\nfunction Sprite_y__P612_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_y__P612, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_top__P634(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.physics___2382 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = r0.fields[\"physicsEngine\"];\n s.physics___2382 = (r0);\n s.tmp_0 = PhysicsEngine__C708_v2_4_mk(s);\n s.tmp_0.arg0 = s.physics___2382;\n s.tmp_0.arg1 = s.arg0;\n s.tmp_0.arg2 = globals.zeroFx8___79;\n r0 = (s.arg1 * 256);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_1 = r0;\n r0 = s.arg0.fields[\"_y\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_1 - s.tmp_3);\n s.tmp_0.arg3 = r0;\n if (!checkSubtype(s.tmp_0.arg0, PhysicsEngine__C708_VT)) failedCast(s.tmp_0.arg0);\n s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.moveSprite;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_top__P634.info = {\"start\":8527,\"length\":256,\"line\":306,\"column\":4,\"endLine\":316,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"top\",\"argumentNames\":[\"this\",\"value\"]}\n\nfunction Sprite_top__P634_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_top__P634, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n physics___2382: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction PhysicsEngine_moveSprite__P711(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, PhysicsEngine__C708_VT)) failedCast(r0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nPhysicsEngine_moveSprite__P711.info = {\"start\":230,\"length\":43,\"line\":13,\"column\":4,\"endLine\":13,\"endColumn\":47,\"fileName\":\"pxt_modules/game/physics.ts\",\"functionName\":\"moveSprite\",\"argumentNames\":[\"this\",\"s\",\"dx\",\"dy\"]}\n\nfunction PhysicsEngine_moveSprite__P711_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: PhysicsEngine_moveSprite__P711, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction Fx_sub__P88(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 - s.arg1);\n return leave(s, r0)\n default: oops()\n} } }\nFx_sub__P88.info = {\"start\":736,\"length\":118,\"line\":26,\"column\":4,\"endLine\":28,\"endColumn\":5,\"fileName\":\"pxt_modules/base/fixed.ts\",\"functionName\":\"sub\",\"argumentNames\":[\"a\",\"b\"]}\n\nfunction Fx_sub__P88_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Fx_sub__P88, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_top__P633(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_y\"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 + 128);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 >> 8);\n return leave(s, r0)\n default: oops()\n} } }\nSprite_top__P633.info = {\"start\":8398,\"length\":51,\"line\":301,\"column\":4,\"endLine\":303,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"top\",\"argumentNames\":[\"this\"]}\n\nfunction Sprite_top__P633_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_top__P633, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_runtime__P1033(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_1 = game_currentScene__P769_mk(s);\n s.pc = 1; return s.tmp_1;\n case 1:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = s.tmp_0.fields[\"_millis\"];\n return leave(s, r0)\n default: oops()\n} } }\ngame_runtime__P1033.info = {\"start\":10222,\"length\":81,\"line\":331,\"column\":4,\"endLine\":333,\"endColumn\":5,\"fileName\":\"pxt_modules/game/game.ts\",\"functionName\":\"runtime\",\"argumentNames\":[]}\n\nfunction game_runtime__P1033_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_runtime__P1033, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n} }\n\n\n\n\n\nfunction forever__P505(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = game_forever__P1030_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nforever__P505.info = {\"start\":264,\"length\":62,\"line\":6,\"column\":0,\"endLine\":8,\"endColumn\":1,\"fileName\":\"pxt_modules/game/gameoverrides.ts\",\"functionName\":\"forever\",\"argumentNames\":[\"a\"]}\n\nfunction forever__P505_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: forever__P505, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_forever__P1030(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_numops_toBoolDecr(globals.foreverRunning___1029);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n globals.foreverRunning___1029 = (true);\n r0 = pxsim.control.runInParallel(inline__P8262);\n case 1:\n case 2:\n r0 = pxsim_pxtcore_mkClassInstance(scene_GameForeverHandler__C902_VT);\n s.tmp_0 = r0;\n s.tmp_1 = scene_GameForeverHandler_constructor__P903_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = s.arg0;\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n s.tmp_3 = game_currentScene__P769_mk(s);\n s.pc = 4; return s.tmp_3;\n case 4:\n r0 = s.retval;\n r0 = r0.fields[\"gameForeverHandlers\"];\n s.tmp_2 = r0;\n r0 = pxsim_Array__push(s.tmp_2, s.tmp_0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_forever__P1030.info = {\"start\":8541,\"length\":820,\"line\":276,\"column\":4,\"endLine\":299,\"endColumn\":5,\"fileName\":\"pxt_modules/game/game.ts\",\"functionName\":\"forever\",\"argumentNames\":[\"action\"]}\n\nfunction game_forever__P1030_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_forever__P1030, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P8262(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.handlers___8264 = undefined;\n case 1:\n r0 = pxsim_numops_toBoolDecr(1);\n if (!r0) { step = 2; continue; }\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n r0 = r0.fields[\"gameForeverHandlers\"];\n s.handlers___8264 = (r0);\n s.tmp_0 = helpers_arrayForEach__P47_mk(s);\n s.tmp_0.arg0 = s.handlers___8264;\n s.tmp_0.arg1 = inline__P8270;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n s.tmp_0 = pause__P241_mk(s);\n s.tmp_0.arg0 = 20;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n { step = 1; continue; }\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P8262.info = {\"start\":8693,\"length\":535,\"line\":279,\"column\":34,\"endLine\":293,\"endColumn\":13,\"fileName\":\"pxt_modules/game/game.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P8262_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P8262, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n handlers___8264: undefined,\n} }\n\n\n\n\n\nfunction inline__P8270(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0.fields[\"lock\"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = (s.arg0).fields[\"lock\"] = (true);\n r0 = pxsim_pxtcore_mkAction(1, inline__P8279);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n r0 = pxsim.control.runInParallel(s.tmp_0);\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P8270.info = {\"start\":8844,\"length\":319,\"line\":282,\"column\":37,\"endLine\":290,\"endColumn\":21,\"fileName\":\"pxt_modules/game/game.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"h\"]}\n\nfunction inline__P8270_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P8270, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P8279(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = lambda_1_mk(s);\n r0 = s.caps[0].fields[\"handler\"];\n s.tmp_0.argL = r0;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = (s.caps[0]).fields[\"lock\"] = (false);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P8279.info = {\"start\":8983,\"length\":130,\"line\":285,\"column\":50,\"endLine\":288,\"endColumn\":29,\"fileName\":\"pxt_modules/game/game.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P8279_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P8279, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction scene_GameForeverHandler_constructor__P903(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_GameForeverHandler__C902_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"handler\"] = (s.arg1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_GameForeverHandler_constructor__P903.info = {\"start\":643,\"length\":65,\"line\":29,\"column\":8,\"endLine\":31,\"endColumn\":13,\"fileName\":\"pxt_modules/game/scene.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"handler\"]}\n\nfunction scene_GameForeverHandler_constructor__P903_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_GameForeverHandler_constructor__P903, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction game_onUpdateInterval__P1028(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.timer___8301 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = game_init__P1018_mk(s);\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = (s.arg0 < 0);\n case 2:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 3; continue; }\n { step = 5; continue; }\n case 3:\n case 4:\n r0 = pxsim_pxtrt.mklocRef();\n s.timer___8301 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.timer___8301, 0);\n r0 = pxsim_pxtcore_mkAction(3, inline__P8305);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.timer___8301);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.arg0);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 2, s.arg1);\n s.tmp_1 = control_EventContext_registerFrameHandler__P226_mk(s);\n s.tmp_2 = game_eventContext__P1017_mk(s);\n s.pc = 8; return s.tmp_2;\n case 8:\n r0 = s.retval;\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = 19;\n s.tmp_1.arg2 = s.tmp_0;\n s.pc = 7; return s.tmp_1;\n case 7:\n r0 = s.retval;\n case 5:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_onUpdateInterval__P1028.info = {\"start\":7860,\"length\":417,\"line\":255,\"column\":4,\"endLine\":266,\"endColumn\":5,\"fileName\":\"pxt_modules/game/game.ts\",\"functionName\":\"onUpdateInterval\",\"argumentNames\":[\"period\",\"a\"]}\n\nfunction game_onUpdateInterval__P1028_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_onUpdateInterval__P1028, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n timer___8301: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction inline__P8305(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.time___8306 = undefined;\n s.tmp_1 = game_currentScene__P769_mk(s);\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = s.tmp_0.fields[\"_millis\"];\n s.time___8306 = (r0);\n r0 = pxsim_pxtrt_ldlocRef(s.caps[0]);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 <= s.time___8306);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_2 = r0 = s.caps[0];\n r0 = (s.time___8306 + s.caps[1]);\n s.tmp_3 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_2, s.tmp_3);\n s.tmp_0 = lambda_1_mk(s);\n s.tmp_0.argL = s.caps[2];\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P8305.info = {\"start\":8090,\"length\":179,\"line\":259,\"column\":81,\"endLine\":265,\"endColumn\":9,\"fileName\":\"pxt_modules/game/game.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P8305_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P8305, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n time___8306: undefined,\n} }\n\n\n\n\n\nfunction Sprite_bottom__P636(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_0 = Sprite_top__P634_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_1 = r0 = s.arg1;\n r0 = s.arg0.fields[\"_image\"];\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 - s.tmp_2);\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_bottom__P636.info = {\"start\":9029,\"length\":73,\"line\":325,\"column\":4,\"endLine\":327,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"bottom\",\"argumentNames\":[\"this\",\"value\"]}\n\nfunction Sprite_bottom__P636_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_bottom__P636, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_bottom__P635(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_1 = Sprite_top__P633_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.pc = 1; return s.tmp_1;\n case 1:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = s.arg0.fields[\"_image\"];\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_0 + s.tmp_2);\n return leave(s, r0)\n default: oops()\n} } }\nSprite_bottom__P635.info = {\"start\":8877,\"length\":59,\"line\":320,\"column\":4,\"endLine\":322,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"bottom\",\"argumentNames\":[\"this\"]}\n\nfunction Sprite_bottom__P635_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_bottom__P635, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_onUpdate__P1027(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = game_init__P1018_mk(s);\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(s.arg0);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 3; continue; }\n case 1:\n case 2:\n s.tmp_2 = control_EventContext_registerFrameHandler__P226_mk(s);\n s.tmp_3 = game_eventContext__P1017_mk(s);\n s.pc = 6; return s.tmp_3;\n case 6:\n r0 = s.retval;\n s.tmp_2.arg0 = r0;\n s.tmp_2.arg1 = 20;\n s.tmp_2.arg2 = s.arg0;\n s.pc = 5; return s.tmp_2;\n case 5:\n r0 = s.retval;\n case 3:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_onUpdate__P1027.info = {\"start\":7358,\"length\":169,\"line\":241,\"column\":4,\"endLine\":245,\"endColumn\":5,\"fileName\":\"pxt_modules/game/game.ts\",\"functionName\":\"onUpdate\",\"argumentNames\":[\"a\"]}\n\nfunction game_onUpdate__P1027_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_onUpdate__P1027, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction setupFrames__P22748(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_Array__mk();\n s.tmp_0 = r0;\n r0 = pxsim.image.ofBuffer(_hex22949);\n s.tmp_1 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_1);\n r0 = pxsim.image.ofBuffer(_hex22951);\n s.tmp_2 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_2);\n r0 = pxsim.image.ofBuffer(_hex22953);\n s.tmp_3 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_3);\n r0 = pxsim.image.ofBuffer(_hex22955);\n s.tmp_4 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_4);\n r0 = pxsim.image.ofBuffer(_hex22957);\n s.tmp_5 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_5);\n r0 = pxsim.image.ofBuffer(_hex22959);\n s.tmp_6 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_6);\n r0 = pxsim.image.ofBuffer(_hex22961);\n s.tmp_7 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_7);\n r0 = pxsim.image.ofBuffer(_hex22963);\n s.tmp_8 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_8);\n r0 = pxsim.image.ofBuffer(_hex22965);\n s.tmp_9 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_9);\n r0 = pxsim.image.ofBuffer(_hex22967);\n s.tmp_10 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_10);\n globals.birdFrames___22771 = (s.tmp_0);\n s.tmp_0 = animation_runImageAnimation__P1553_mk(s);\n s.tmp_0.arg0 = globals.bird___22772;\n s.tmp_0.arg1 = globals.birdFrames___22771;\n s.tmp_0.arg2 = 40;\n s.tmp_0.arg3 = true;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = pxsim_Array__mk();\n s.tmp_0 = r0;\n r0 = pxsim.image.ofBuffer(_hex22974);\n s.tmp_1 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_1);\n r0 = pxsim.image.ofBuffer(_hex22976);\n s.tmp_2 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_2);\n globals.obstacles___22770 = (s.tmp_0);\n r0 = pxsim_Array__mk();\n s.tmp_0 = r0;\n r0 = pxsim.image.ofBuffer(_hex22980);\n s.tmp_1 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_1);\n r0 = pxsim.image.ofBuffer(_hex22982);\n s.tmp_2 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_2);\n r0 = pxsim.image.ofBuffer(_hex22984);\n s.tmp_3 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_3);\n globals.trees___22769 = (s.tmp_0);\n r0 = pxsim_Array__mk();\n s.tmp_0 = r0;\n r0 = pxsim.image.ofBuffer(_hex22988);\n s.tmp_1 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_1);\n r0 = pxsim.image.ofBuffer(_hex22990);\n s.tmp_2 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_2);\n r0 = pxsim.image.ofBuffer(_hex22992);\n s.tmp_3 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_3);\n r0 = pxsim.image.ofBuffer(_hex22994);\n s.tmp_4 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_4);\n r0 = pxsim.image.ofBuffer(_hex22996);\n s.tmp_5 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_5);\n r0 = pxsim.image.ofBuffer(_hex22998);\n s.tmp_6 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_6);\n globals.grassImages___22768 = (s.tmp_0);\n r0 = pxsim_Array__mk();\n s.tmp_0 = r0;\n r0 = pxsim.image.ofBuffer(_hex23002);\n s.tmp_1 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_1);\n r0 = pxsim.image.ofBuffer(_hex23004);\n s.tmp_2 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_2);\n r0 = pxsim.image.ofBuffer(_hex23006);\n s.tmp_3 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_3);\n r0 = pxsim.image.ofBuffer(_hex23008);\n s.tmp_4 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_4);\n r0 = pxsim.image.ofBuffer(_hex23010);\n s.tmp_5 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_5);\n globals.clouds___22767 = (s.tmp_0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsetupFrames__P22748.info = {\"start\":250,\"length\":32035,\"line\":10,\"column\":0,\"endLine\":535,\"endColumn\":1,\"fileName\":\"main.ts\",\"functionName\":\"setupFrames\",\"argumentNames\":[]}\n\nfunction setupFrames__P22748_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: setupFrames__P22748, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n} }\n\nconst _hex22949 = pxsim.BufferMethods.createBufferFromHex(\"87040c000c000000000000000000000000000000000000000000000100000000000000010000000000111101000000001011110100000000101111010000000010010001000000001000000000000000000000000000000000000000000000000000000000000000\")\nconst _hex22951 = pxsim.BufferMethods.createBufferFromHex(\"87040c000c000000000000000000000000000000000000000000000100000000000011010000000000101101000000000010110100000000001011010000000000100101000000000010000000000000001000000000000000000000000000000000000000000000\")\nconst _hex22953 = pxsim.BufferMethods.createBufferFromHex(\"87040c000c000000000000000000000000000000000000000000000100000000000010110000000000001011000000000000101100000000000010110000000000000011000000000000001000000000000000100000000000000010000000000000000000000000\")\nconst _hex22955 = pxsim.BufferMethods.createBufferFromHex(\"87040c000c000000000000000000000000000000000000000000000100000000000000110100000000000011110000000000001111000000000000111100000000000001110000000000000011000000000000001000000000000000100000000000000000000000\")\nconst _hex22957 = pxsim.BufferMethods.createBufferFromHex(\"87040c000c000000000000000000000000000000000000000000000100000000000000110100000000000011110000000000001111010000000000111101000000000001100100000000000010010000000000000001000000000000000000000000000000000000\")\nconst _hex22959 = pxsim.BufferMethods.createBufferFromHex(\"87040c000c000000000000000000000000000000000000000000000100000000000000110100000000000011110000000000001111010000000000111101000000000001100100000000000010010000000000000001000000000000000000000000000000000000\")\nconst _hex22961 = pxsim.BufferMethods.createBufferFromHex(\"87040c000c000000000000000000000000000000000000000000000100000000000000110100000000000011110000000000001111000000000000111100000000000001110000000000000011000000000000001000000000000000100000000000000000000000\")\nconst _hex22963 = pxsim.BufferMethods.createBufferFromHex(\"87040c000c000000000000000000000000000000000000000000000100000000000010110000000000001011000000000000101100000000000010110000000000000011000000000000001000000000000000100000000000000010000000000000000000000000\")\nconst _hex22965 = pxsim.BufferMethods.createBufferFromHex(\"87040c000c000000000000000000000000000000000000000000000100000000000011010000000000101101000000000010110100000000001011010000000000100101000000000010000000000000001000000000000000000000000000000000000000000000\")\nconst _hex22967 = pxsim.BufferMethods.createBufferFromHex(\"87040c000c000000000000000000000000000000000000000000000100000000000000010000000000111101000000001011110100000000101111010000000010010001000000001000000000000000000000000000000000000000000000000000000000000000\")\nconst _hex22974 = pxsim.BufferMethods.createBufferFromHex(\"8704160020000000000000000000000000006006000000000000000000000000000060060000000000000000000000600000600600000000000000000000006006006667000060060000000000000060060076670000600000000000000000600600766706006006000000000600666606607767060000000000006006606676066077670600060000006666666666776776776706000000006066766766777767767777eeeeee0e707777776766777767767777eeeeee0e007777776766777767777777eeeeee0e000077776770777777777777eeeeee0e000000770770777776777777070000000000000000007777067077770700600000000000000070770600777707000600000000000000007706007777070000000000000000000070060070770700000000000000000000700000007706000000000000000000000000000077060000000000000000000000000000670600000000000000000000000000000600000000\")\nconst _hex22976 = pxsim.BufferMethods.createBufferFromHex(\"87040f0020000000000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000e00e00000000000000000000eee0eeeeee0e000000000000000000e0eebeeebbbe0e000000000000000000eebbeeebeeee0e000000000000000000beeeebebeebbee000000000000000000beeeebebebeeee000000000000000000bebeeeebeebe0e000000000000000000eebbbeeebbee0e000000000000000000e0eebeeeeeee0e00000000000000000000eee00ee0e00e000000000000000000000000000e000e000000000000000000000000e00000000000000000000000000000000e0e0000\")\nconst _hex22980 = pxsim.BufferMethods.createBufferFromHex(\"8704240030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b00000000000000000000000000000000000000000000b00b0000000000000000000000000000000000000000000bbb0b00000000000000000000000000000000000b0000b00bbb0b0000000000000000000000000000b00000bb0000bb00bb0b0000000000000000000000000000b000b0bb00b0bb00bb0b0000000000000000000000000000bb00b0bb00b0bbb0bb0b0000000000000000000000000000bb00b0bb00bb0bb0bb0b00000000000000000000b00000b0bb00bbbb00bbbbbbbb0000000000000000000000bb0000bb0bb0bb00b0bbbbbbbb0000000000000000000bb00b00b0bb00bbbb00bbbbbbbbbb0000000000000000b00bbb0b0bbbbbbbbbbbbbbbbbbbbbbb0b000000000000b0bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb00000000bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb0000000000b0b00bbbbb0bbbb0bbbbb0bbbbbbbbbbbbbbbb000000000000000bb0bb00b0bbbbbbbb00bbbbbbbbbb0b00000000000000000000bb0000bb0bb0bb0bbbb00bbbbb0b00000000000000000000b00b00b0bb00b00bb0b00bb0bb0b00000000000000000000000b0000b000000b00b00bb0bb0b00000000000000000000000b0000b00b000000b00b00bb0b0000000000000000000000000000b00b000000b00b00bb000000000000000000000000000000000b000000b00000bb0000000000000000000000000000000000000000000000b00000000000000000000000000000000000000000000000b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\")\nconst _hex22982 = pxsim.BufferMethods.createBufferFromHex(\"870424003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b0000b000b00000000000000000000000000000000000000bb000bb00b000000000000000000000000000000000000000b000bb00000000000000000000000000000000b00b000000b000bb00b00000000000000000000000b00b0bb00b000bb0bb000b00000000000000000000000b00b00bb0b00bbb0bbbbb00bbb0000000000000000000000b00bb0bb0bb0bbb0bbbbbb00bb00000000000000000b0b00b00bb00b00bb0bbbbbbbbb000b00000000000000000bbb00b00bb00bbbbbbbbbbbbb0bb00bbb00000000000bb00bbb00bb00bbbbbbbbbbbbbbbbbbbbbbbb00000000b0bbb0b0bbbbbbbbbbbbbbbbbbbbbbbbbbbbb0bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb00b00bbbb0bbb00bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb00000bbb00bb0bbb00bbbbbb0bbbb0bbbbbb0b0b0000000000000bbb00b00bbb0000bbbbbbbbbb0b0bbb0b0b00000000000000b000b00bb00000b0bbbb0bbb0b00bbbbbb000000000000000000000bb00000b0b0bb0bb0bb00bbb0bb0000000000000000000000000000000bbb0b00bb0b00b0bb00000000000000000000000000000000000b00b00b00b0bb0b000000000000000000000000000000000b00000b0000b00b000000000000000000000000000000000000000b0000000b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\")\nconst _hex22984 = pxsim.BufferMethods.createBufferFromHex(\"87042400300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b00b00000000000000000000000000000000000000000000b00b00000000000000000000000000000000000000000000b00b00b0000000000000000000000000000000000000000bb00bb0b00000000000000000000000000000000b00000b0bb00bb0b00000000000000000000000000000000b00000b0bb00bb0b00000000000000000000000000000000bb0000b0bbb0bb0b000000000000000000000000000b0000bb0000bbbbb0bb00000000000000000000000000000b00b00b00bbbbbbbbbb00000000000000000000000000b00bbbbb0bbbbbbbbbbbbb000000000000000000000000b0bbbbbbbbbbbbbbbbbbbbbbbbbbbb00000000000000b0bbbbbbbbbbbbbbbbbbbbbbbbbbbb00bb00000000000000000000bb00bbbbbbbbbbbbbbbbbbbbbbbb00000000000000000000000000bbbb00bbbbbbbbbb0b000000000000000000000000000000b0bb0000bbbbbbbb0000000000000000000000000000000000bb0000b0bbb0bb0000000000000000000000000000000000b00000b0bbbbbb000000000000000000000000000000000000000000bbb0bb000000000000000000000000000000000000000000bbb0bb0000000000000000000000000000000000000000000bb00b00000000000000000000000000000000000000000000b00b00000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\")\nconst _hex22988 = pxsim.BufferMethods.createBufferFromHex(\"8704080008000000000000000000000000000000000000bb0000bbbb000000000000000000000000\")\nconst _hex22990 = pxsim.BufferMethods.createBufferFromHex(\"87040800080000000000000000000000000000000000bbbb000000bb00000000000000bb00000000\")\nconst _hex22992 = pxsim.BufferMethods.createBufferFromHex(\"870408000800000000bbbbbb000000b00000b0bb00b0bbbb0000bbbb00000000000000bb00000000\")\nconst _hex22994 = pxsim.BufferMethods.createBufferFromHex(\"87040800080000000000000000000000000000000000bbbb000000bb00000000000000bb00b0bbbb\")\nconst _hex22996 = pxsim.BufferMethods.createBufferFromHex(\"870408000800000000000000000000000000bbbb00bbbbbb0000b0bb000000000000000000000000\")\nconst _hex22998 = pxsim.BufferMethods.createBufferFromHex(\"87040800080000000000000000b0bbbb0000b0bb0000000000000000000000000000b0bb00000000\")\nconst _hex23002 = pxsim.BufferMethods.createBufferFromHex(\"8704330017000000000000000000000000001100000000000000000000101100000000000000000000111100000000000000000010111100000000000000000011111100000000000000000011111101000000000000001011111101000000000010111111111101000000000011111111111101000000001011111111111101000000001111111111111101000000001111111111111101000000001111111111111101000000001111111111111101000000001111111111111101000000101111111111111101000000101111111111111101000000101111111111111101000000111111111111111101000000111111111111111101000000111111111111111101000010111111111111111101000011111111111111111101001011111111111111111101001111111111111111111101101111111111111111111101101111111111111111111101101111111111111111111101111111111111111111111101111111111111111111111101101111111111111111111101101111111111111111111101001111111111111111111101001111111111111111111101001111111111111111111101001111111111111111111101001011111111111111111101000011111111111111111101000000111111111111111101000000101111111111111101000000001111111111111101000000001011111111111101000000000011111111111101000000000011111111111101000000000010111111111101000000000010111111111100000000000000111111111100000000000000101111111100000000000000001111111100000000000000000010111100000000000000000000100100\")\nconst _hex23004 = pxsim.BufferMethods.createBufferFromHex(\"87042e0018000000000000000000000000000011000000000000000000001011000000000000000000001111000000000000000011111111000000000000001011111111000000000000001111111111000000000000101111111111000000000000101111111111000000000000101111111111000000000000101111111111000000000000101111111111000000000000111111111111000000001011111111111111000000111111111111111111000010111111111111111111000011111111111111111111000011111111111111111111000011111111111111111101001011111111111111111101001011111111111111111101001011111111111111111101001011111111111111111101001111111111111111111101001111111111111111111101101111111111111111111101111111111111111111111101111111111111111111111101111111111111111111111101111111111111111111111101111111111111111111111101101111111111111111111101001111111111111111111101001011111111111111111101000010111111111111111101000010111111111111111101000010111111111111111111000010111111111111111111000010111111111111111111000010111111111111111111000000111111111111111111000000001111111111111111000000000011111111111111000000000000111111111111000000000000101111111111000000000000001111111101000000000000000011111100\")\nconst _hex23006 = pxsim.BufferMethods.createBufferFromHex(\"8704210010000000000000001100000000000011111100000000111111110100001011111111010000111111111101000011111111111100001111111111110110111111111111011111111111111101111111111111110111111111111111011111111111111101111111111111110111111111111111011111111111111101111111111111110110111111111111010011111111111101001011111111110100001111111111010000111111111101000011111111110100001111111111010000111111111101000011111111110100001011111111010000001111111101000000101111110100000000101111010000000010111101000000000011110000000000001011000000000000001100\")\nconst _hex23008 = pxsim.BufferMethods.createBufferFromHex(\"870447001e0000000000000000000000000000001101000000000000000000000000001011110000000000000000000011111111111101000000000000000011111111111111010000000000000010111111111111110100000000000000101111111111111101000000000000001111111111111111010000000000001011111111111111110100000000000010111111111111111101000000000010111111111111111111010000000010111111111111111111110100000000111111111111111111111101000000101111111111111111111111010000001011111111111111111111110100000011111111111111111111111101000000111111111111111111111111110000101111111111111111111111111100001111111111111111111111111111001011111111111111111111111111110011111111111111111111111111111100111111111111111111111111111111001111111111111111111111111111110011111111111111111111111111111100101111111111111111111111111111000011111111111111111111111111110000111111111111111111111111111100001111111111111111111111111111000011111111111111111111111111110000111111111111111111111111111100001111111111111111111111111111000011111111111111111111111111110000101111111111111111111111111100000011111111111111111111111111000000101111111111111111111111110000000000111111111111111111111100000000000011111111111111111111000000000000111111111111111111110000000000001111111111111111111100000000001011111111111111111111000000000010111111111111111111110000000000101111111111111111111100000000001111111111111111111111000000000011111111111111111111110000000000111111111111111111111100000000001111111111111111111111000000000011111111111111111111110000000000101111111111111111110100000000000011111111111111111101000000000000101111111111111111010000000000000011111111111111110100000000000000111111111111111101000000000000001111111111111111010000000000000010111111111111110100000000000000101111111111111101000000000000000011111111111111010000000000000000101111111111110100000000000000000011111111111111000000000000000000001111111111110000000000000000000010111111111100000000000000000000001111111111000000000000000000000011111111110000000000000000000000101111111100000000000000000000001011111111000000000000000000000000111111110000000000000000000000001111110100000000000000000000000011111101000000000000000000000000111111010000000000000000000000001111110100000000000000000000000010111101000000000000000000000000001111010000000000000000000000000000110000\")\nconst _hex23010 = pxsim.BufferMethods.createBufferFromHex(\"8704270012000000000000000000000011000000000000000000001011000000000000000000001111000000000000000000001111000000000000000010111111000000000000001011111111000000000000001111111111000000000000101111111111000000000000111111111111000000000010111111111111000000000010111111111111000000000010111111111111000000000011111111111111000000001011111111111111000000001011111111111111000000001111111111111111000000001111111111111111000000101111111111111111000000101111111111111101000000101111111111111101000000101111111111111101000000001111111111111101000000001111111111111101000000101111111111111101000000111111111111111101000000111111111111111101000000111111111111111101000000111111111111111101000000101111111111111101000000001111111111111101000000001011111111111101000000000011111111111101000000000010111111111101000000000000101111111101000000000000101111111101000000000000001111111101000000000000001011111101000000000000000011111100000000000000000000110100000000\")\n\n\n\n\nfunction animation_runImageAnimation__P1553(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.anim___8656 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_pxtcore_mkClassInstance(animation_ImageAnimation__C1545_VT);\n s.tmp_0 = r0;\n s.tmp_1 = r0 = s.arg2;\n r0 = pxsim_numops_toBool(s.tmp_1);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_1;\n { step = 2; continue; }\n case 1:\n r0 = 500;\n case 2:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n s.tmp_3 = animation_ImageAnimation_constructor__P1548_mk(s);\n s.tmp_3.arg0 = s.tmp_0;\n s.tmp_3.arg1 = s.arg0;\n s.tmp_3.arg2 = s.arg1;\n s.tmp_3.arg3 = s.tmp_2;\n r0 = pxsim_numops_toBoolDecr(s.arg3);\n s.tmp_6 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_6);\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_5);\n s.tmp_4 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_4);\n s.tmp_3.arg4 = r0;\n s.pc = 3; return s.tmp_3;\n case 3:\n r0 = s.retval;\n s.anim___8656 = (s.tmp_0);\n s.tmp_0 = animation_SpriteAnimation_init__P1542_mk(s);\n s.tmp_0.arg0 = s.anim___8656;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nanimation_runImageAnimation__P1553.info = {\"start\":19924,\"length\":222,\"line\":510,\"column\":4,\"endLine\":513,\"endColumn\":5,\"fileName\":\"pxt_modules/animation/animation.ts\",\"functionName\":\"runImageAnimation\",\"argumentNames\":[\"sprite\",\"frames\",\"frameInterval\",\"loop\"]}\n\nfunction animation_runImageAnimation__P1553_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: animation_runImageAnimation__P1553, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n anim___8656: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction animation_ImageAnimation_constructor__P1548(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, animation_ImageAnimation__C1545_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"frames\"] = (s.arg2);\n r0 = (s.arg0).fields[\"frameInterval\"] = (s.arg3);\n s.tmp_0 = animation_SpriteAnimation_constructor__P1544_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.tmp_0.arg2 = s.arg4;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = (s.arg0).fields[\"lastFrame\"] = (-1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nanimation_ImageAnimation_constructor__P1548.info = {\"start\":17589,\"length\":178,\"line\":450,\"column\":8,\"endLine\":454,\"endColumn\":9,\"fileName\":\"pxt_modules/animation/animation.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"sprite\",\"frames\",\"frameInterval\",\"loop\"]}\n\nfunction animation_ImageAnimation_constructor__P1548_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: animation_ImageAnimation_constructor__P1548, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n} }\n\n\n\n\n\nfunction animation_SpriteAnimation_constructor__P1544(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, animation_SpriteAnimation__C1541_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"sprite\"] = (s.arg1);\n r0 = (s.arg0).fields[\"loop\"] = (s.arg2);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nanimation_SpriteAnimation_constructor__P1544.info = {\"start\":16085,\"length\":71,\"line\":412,\"column\":8,\"endLine\":413,\"endColumn\":9,\"fileName\":\"pxt_modules/animation/animation.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"sprite\",\"loop\"]}\n\nfunction animation_SpriteAnimation_constructor__P1544_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: animation_SpriteAnimation_constructor__P1544, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction animation_SpriteAnimation_init__P1542(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.state___8667 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, animation_SpriteAnimation__C1541_VT)) failedCast(r0);\n r0 = pxsim_pxtrt.mklocRef();\n s.state___8667 = (r0);\n s.tmp_0 = r0 = s.state___8667;\n s.tmp_4 = game_currentScene__P769_mk(s);\n s.pc = 3; return s.tmp_4;\n case 3:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = s.tmp_3.fields[\"_data\"];\n s.tmp_2 = r0;\n r0 = pxsim_pxtrt.mapGetGeneric(s.tmp_2, \"__animation\");\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1);\n r0 = pxsim_pxtrt_ldlocRef(s.state___8667);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_pxtrt.mkMap();\n s.tmp_3 = r0;\n r0 = pxsim_Array__mk();\n s.tmp_4 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_3, \"animations\", s.tmp_4);\n s.tmp_7 = game_currentScene__P769_mk(s);\n s.pc = 4; return s.tmp_7;\n case 4:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = s.tmp_6.fields[\"_data\"];\n s.tmp_5 = r0;\n r0 = pxsim_pxtrt.mapSetGeneric(s.tmp_5, \"__animation\", s.tmp_3);\n r0 = pxsim_pxtrt_stlocRef(s.state___8667, s.tmp_3);\n r0 = pxsim_pxtcore_mkAction(1, inline__P8681);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.state___8667);\n s.tmp_1 = control_EventContext_registerFrameHandler__P226_mk(s);\n s.tmp_2 = game_eventContext__P1017_mk(s);\n s.pc = 6; return s.tmp_2;\n case 6:\n r0 = s.retval;\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = 15;\n s.tmp_1.arg2 = s.tmp_0;\n s.pc = 5; return s.tmp_1;\n case 5:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = pxsim_pxtcore_mkAction(1, inline__P8698);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n s.tmp_1 = if_animations_2_mk(s);\n r0 = pxsim_pxtrt_ldlocRef(s.state___8667);\n s.tmp_1.arg0 = r0;\n s.tmp_2 = helpers_arrayFilter__P48_mk(s);\n s.tmp_3 = if_animations_1_mk(s);\n r0 = pxsim_pxtrt_ldlocRef(s.state___8667);\n s.tmp_3.arg0 = r0;\n if (!s.tmp_3.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, \"animations\");\n } else {\n s.tmp_3.fn = s.tmp_3.arg0.vtable.iface[\"animations\"];\n if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields[\"animations\"]; }\n else { s.pc = 9; return s.tmp_3; }\n }\n case 9:\n r0 = s.retval;\n s.tmp_2.arg0 = r0;\n s.tmp_2.arg1 = s.tmp_0;\n s.pc = 8; return s.tmp_2;\n case 8:\n r0 = s.retval;\n s.tmp_1.arg1 = r0;\n if (!s.tmp_1.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapSetByString(s.tmp_1.arg0, \"animations\", s.tmp_1.arg1);\n } else {\n s.tmp_1.fn = s.tmp_1.arg0.vtable.iface[\"set/animations\"];\n if (s.tmp_1.fn === null) { s.tmp_1.arg0.fields[\"animations\"] = s.tmp_1.arg1; }\n else if (s.tmp_1.fn === undefined) { failedCast(s.tmp_1.arg0) }\n else { s.pc = 7; return s.tmp_1; }\n }\n case 7:\n r0 = s.retval;\n s.tmp_1 = if_animations_1_mk(s);\n r0 = pxsim_pxtrt_ldlocRef(s.state___8667);\n s.tmp_1.arg0 = r0;\n if (!s.tmp_1.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, \"animations\");\n } else {\n s.tmp_1.fn = s.tmp_1.arg0.vtable.iface[\"animations\"];\n if (s.tmp_1.fn == null) { s.retval = s.tmp_1.arg0.fields[\"animations\"]; }\n else { s.pc = 10; return s.tmp_1; }\n }\n case 10:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.arg0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nanimation_SpriteAnimation_init__P1542.info = {\"start\":16166,\"length\":1185,\"line\":415,\"column\":8,\"endLine\":439,\"endColumn\":9,\"fileName\":\"pxt_modules/animation/animation.ts\",\"functionName\":\"init\",\"argumentNames\":[\"this\"]}\n\nfunction animation_SpriteAnimation_init__P1542_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: animation_SpriteAnimation_init__P1542, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n state___8667: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P8681(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = if_animations_2_mk(s);\n r0 = pxsim_pxtrt_ldlocRef(s.caps[0]);\n s.tmp_0.arg0 = r0;\n s.tmp_1 = helpers_arrayFilter__P48_mk(s);\n s.tmp_2 = if_animations_1_mk(s);\n r0 = pxsim_pxtrt_ldlocRef(s.caps[0]);\n s.tmp_2.arg0 = r0;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, \"animations\");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface[\"animations\"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields[\"animations\"]; }\n else { s.pc = 3; return s.tmp_2; }\n }\n case 3:\n r0 = s.retval;\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = inline__P8688;\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n if (!s.tmp_0.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapSetByString(s.tmp_0.arg0, \"animations\", s.tmp_0.arg1);\n } else {\n s.tmp_0.fn = s.tmp_0.arg0.vtable.iface[\"set/animations\"];\n if (s.tmp_0.fn === null) { s.tmp_0.arg0.fields[\"animations\"] = s.tmp_0.arg1; }\n else if (s.tmp_0.fn === undefined) { failedCast(s.tmp_0.arg0) }\n else { s.pc = 1; return s.tmp_0; }\n }\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P8681.info = {\"start\":16598,\"length\":257,\"line\":424,\"column\":90,\"endLine\":428,\"endColumn\":17,\"fileName\":\"pxt_modules/animation/animation.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P8681_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P8681, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n} }\n\n\n\n\n\nfunction inline__P8688(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_2 = animation_SpriteAnimation__C1541_v0_1_mk(s);\n s.tmp_2.arg0 = s.arg0;\n if (!checkSubtype(s.tmp_2.arg0, animation_SpriteAnimation__C1541_VT)) failedCast(s.tmp_2.arg0);\n s.tmp_2.fn = s.tmp_2.arg0.vtable.methods.update;\n s.pc = 1; return s.tmp_2;\n case 1:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\ninline__P8688.info = {\"start\":16669,\"length\":166,\"line\":425,\"column\":63,\"endLine\":427,\"endColumn\":21,\"fileName\":\"pxt_modules/animation/animation.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"anim\"]}\n\nfunction inline__P8688_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P8688, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P8698(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0.fields[\"sprite\"];\n s.tmp_1 = r0;\n r0 = s.caps[0].fields[\"sprite\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_1 === s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 8; continue; }\n case 1:\n r0 = s.arg0;\n r0 = checkSubtype(r0, animation_ImageAnimation__C1545_VT);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBool(s.tmp_3);\n if (r0) { step = 2; continue; }\n r0 = s.tmp_3;\n { step = 3; continue; }\n case 2:\n r0 = s.caps[0];\n r0 = checkSubtype(r0, animation_ImageAnimation__C1545_VT);\n case 3:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBool(s.tmp_4);\n if (!r0) { step = 4; continue; }\n r0 = s.tmp_4;\n { step = 7; continue; }\n case 4:\n r0 = s.arg0;\n r0 = checkSubtype(r0, animation_MovementAnimation__C1549_VT);\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBool(s.tmp_5);\n if (r0) { step = 5; continue; }\n r0 = s.tmp_5;\n { step = 6; continue; }\n case 5:\n r0 = s.caps[0];\n r0 = checkSubtype(r0, animation_MovementAnimation__C1549_VT);\n case 6:\n // jmp value (already in r0)\n s.tmp_6 = r0;\n r0 = s.tmp_6;\n case 7:\n // jmp value (already in r0)\n s.tmp_7 = r0;\n r0 = s.tmp_7;\n case 8:\n // jmp value (already in r0)\n s.tmp_8 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_8);\n s.tmp_9 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_9);\n return leave(s, r0)\n default: oops()\n} } }\ninline__P8698.info = {\"start\":17012,\"length\":285,\"line\":432,\"column\":55,\"endLine\":436,\"endColumn\":13,\"fileName\":\"pxt_modules/animation/animation.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"anim\"]}\n\nfunction inline__P8698_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P8698, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction animation_SpriteAnimation_update__P1543(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, animation_SpriteAnimation__C1541_VT)) failedCast(r0);\n r0 = false;\n return leave(s, r0)\n default: oops()\n} } }\nanimation_SpriteAnimation_update__P1543.info = {\"start\":17361,\"length\":118,\"line\":441,\"column\":8,\"endLine\":444,\"endColumn\":9,\"fileName\":\"pxt_modules/animation/animation.ts\",\"functionName\":\"update\",\"argumentNames\":[\"this\"]}\n\nfunction animation_SpriteAnimation_update__P1543_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: animation_SpriteAnimation_update__P1543, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_Scene_data__P925(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Scene__C923_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_data\"];\n return leave(s, r0)\n default: oops()\n} } }\nscene_Scene_data__P925.info = {\"start\":5591,\"length\":53,\"line\":157,\"column\":8,\"endLine\":159,\"endColumn\":9,\"fileName\":\"pxt_modules/game/scene.ts\",\"functionName\":\"data\",\"argumentNames\":[\"this\"]}\n\nfunction scene_Scene_data__P925_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Scene_data__P925, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Sprite_setVelocity__P640(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_0 = Sprite_vx__P614_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.tmp_0 = Sprite_vy__P616_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg2;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_setVelocity__P640.info = {\"start\":11311,\"length\":93,\"line\":401,\"column\":4,\"endLine\":404,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"setVelocity\",\"argumentNames\":[\"this\",\"vx\",\"vy\"]}\n\nfunction Sprite_setVelocity__P640_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_setVelocity__P640, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction Sprite_setPosition__P639(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.physics___8332 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = r0.fields[\"physicsEngine\"];\n s.physics___8332 = (r0);\n s.tmp_0 = PhysicsEngine__C708_v2_4_mk(s);\n s.tmp_0.arg0 = s.physics___8332;\n s.tmp_0.arg1 = s.arg0;\n s.tmp_2 = r0 = s.arg1;\n s.tmp_4 = Sprite_x__P609_mk(s);\n s.tmp_4.arg0 = s.arg0;\n s.pc = 3; return s.tmp_4;\n case 3:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_2 - s.tmp_3);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 * 256);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 | 0);\n s.tmp_0.arg2 = r0;\n s.tmp_7 = r0 = s.arg2;\n s.tmp_9 = Sprite_y__P611_mk(s);\n s.tmp_9.arg0 = s.arg0;\n s.pc = 4; return s.tmp_9;\n case 4:\n r0 = s.retval;\n s.tmp_8 = r0;\n r0 = (s.tmp_7 - s.tmp_8);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 * 256);\n s.tmp_10 = r0;\n r0 = (s.tmp_10 | 0);\n s.tmp_0.arg3 = r0;\n if (!checkSubtype(s.tmp_0.arg0, PhysicsEngine__C708_VT)) failedCast(s.tmp_0.arg0);\n s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.moveSprite;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_setPosition__P639.info = {\"start\":10748,\"length\":220,\"line\":381,\"column\":4,\"endLine\":388,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"setPosition\",\"argumentNames\":[\"this\",\"x\",\"y\"]}\n\nfunction Sprite_setPosition__P639_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_setPosition__P639, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n physics___8332: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction Sprite_x__P610(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_0 = Sprite_left__P630_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_1 = r0 = s.arg1;\n r0 = s.arg0.fields[\"_image\"];\n s.tmp_4 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_4);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 >> 1);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 - s.tmp_2);\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_x__P610.info = {\"start\":1328,\"length\":73,\"line\":58,\"column\":4,\"endLine\":60,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"x\",\"argumentNames\":[\"this\",\"v\"]}\n\nfunction Sprite_x__P610_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_x__P610, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_left__P630(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.physics___8353 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = r0.fields[\"physicsEngine\"];\n s.physics___8353 = (r0);\n s.tmp_0 = PhysicsEngine__C708_v2_4_mk(s);\n s.tmp_0.arg0 = s.physics___8353;\n s.tmp_0.arg1 = s.arg0;\n r0 = (s.arg1 * 256);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_1 = r0;\n r0 = s.arg0.fields[\"_x\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_1 - s.tmp_3);\n s.tmp_0.arg2 = r0;\n s.tmp_0.arg3 = globals.zeroFx8___79;\n if (!checkSubtype(s.tmp_0.arg0, PhysicsEngine__C708_VT)) failedCast(s.tmp_0.arg0);\n s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.moveSprite;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_left__P630.info = {\"start\":7749,\"length\":257,\"line\":276,\"column\":4,\"endLine\":286,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"left\",\"argumentNames\":[\"this\",\"value\"]}\n\nfunction Sprite_left__P630_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_left__P630, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n physics___8353: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_left__P629(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_x\"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 + 128);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 >> 8);\n return leave(s, r0)\n default: oops()\n} } }\nSprite_left__P629.info = {\"start\":7607,\"length\":51,\"line\":271,\"column\":4,\"endLine\":273,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"left\",\"argumentNames\":[\"this\"]}\n\nfunction Sprite_left__P629_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_left__P629, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Sprite_x__P609(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_x\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 + 128);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 >> 8);\n s.tmp_0 = r0;\n r0 = s.arg0.fields[\"_image\"];\n s.tmp_5 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_5);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 >> 1);\n s.tmp_3 = r0;\n r0 = (s.tmp_0 + s.tmp_3);\n return leave(s, r0)\n default: oops()\n} } }\nSprite_x__P609.info = {\"start\":1157,\"length\":83,\"line\":53,\"column\":4,\"endLine\":55,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"x\",\"argumentNames\":[\"this\"]}\n\nfunction Sprite_x__P609_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_x__P609, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction sprites_create__P602(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.scene___8381 = undefined;\n s.sprite___8383 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.scene___8381 = (r0);\n r0 = pxsim_pxtcore_mkClassInstance(Sprite__C607_VT);\n s.tmp_0 = r0;\n s.tmp_1 = Sprite_constructor__P657_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = s.arg0;\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n s.sprite___8383 = (s.tmp_0);\n s.tmp_0 = Sprite_setKind__P638_mk(s);\n s.tmp_0.arg0 = s.sprite___8383;\n s.tmp_0.arg1 = s.arg1;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.tmp_0 = PhysicsEngine__C708_v0_2_mk(s);\n r0 = s.scene___8381.fields[\"physicsEngine\"];\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = s.sprite___8383;\n if (!checkSubtype(s.tmp_0.arg0, PhysicsEngine__C708_VT)) failedCast(s.tmp_0.arg0);\n s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.addSprite;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkAction(1, inline__P8398);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg1);\n r0 = pxsim_pxtcore_mkAction(1, inline__P8403);\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_1, 0, s.sprite___8383);\n s.tmp_2 = helpers_arrayForEach__P47_mk(s);\n s.tmp_3 = helpers_arrayFilter__P48_mk(s);\n r0 = s.scene___8381.fields[\"createdHandlers\"];\n s.tmp_3.arg0 = r0;\n s.tmp_3.arg1 = s.tmp_0;\n s.pc = 6; return s.tmp_3;\n case 6:\n r0 = s.retval;\n s.tmp_2.arg0 = r0;\n s.tmp_2.arg1 = s.tmp_1;\n s.pc = 5; return s.tmp_2;\n case 5:\n r0 = s.retval;\n r0 = s.sprite___8383;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_create__P602.info = {\"start\":890,\"length\":400,\"line\":35,\"column\":4,\"endLine\":47,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprites.ts\",\"functionName\":\"create\",\"argumentNames\":[\"img\",\"kind\"]}\n\nfunction sprites_create__P602_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_create__P602, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n scene___8381: undefined,\n sprite___8383: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction inline__P8398(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0.fields[\"kind\"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 == s.caps[0]);\n return leave(s, r0)\n default: oops()\n} } }\ninline__P8398.info = {\"start\":1195,\"length\":19,\"line\":43,\"column\":20,\"endLine\":43,\"endColumn\":39,\"fileName\":\"pxt_modules/game/sprites.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"h\"]}\n\nfunction inline__P8398_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P8398, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P8403(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = lambda_2_mk(s);\n r0 = s.arg0.fields[\"handler\"];\n s.tmp_0.argL = r0;\n s.tmp_0.arg0 = s.caps[0];\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P8403.info = {\"start\":1237,\"length\":22,\"line\":44,\"column\":21,\"endLine\":44,\"endColumn\":43,\"fileName\":\"pxt_modules/game/sprites.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"h\"]}\n\nfunction inline__P8403_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P8403, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction PhysicsEngine_addSprite__P709(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, PhysicsEngine__C708_VT)) failedCast(r0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nPhysicsEngine_addSprite__P709.info = {\"start\":124,\"length\":29,\"line\":8,\"column\":4,\"endLine\":8,\"endColumn\":33,\"fileName\":\"pxt_modules/game/physics.ts\",\"functionName\":\"addSprite\",\"argumentNames\":[\"this\",\"sprite\"]}\n\nfunction PhysicsEngine_addSprite__P709_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: PhysicsEngine_addSprite__P709, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_constructor__P657(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_0 = sprites_BaseSprite_constructor__P516_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = 0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_4 = r0;\n r0 = pxsim_ImageMethods.width(s.arg1);\n s.tmp_5 = r0;\n r0 = (s.tmp_4 - s.tmp_5);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 >> 1);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 * 256);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"_x\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n s.tmp_4 = r0;\n r0 = pxsim_ImageMethods.height(s.arg1);\n s.tmp_5 = r0;\n r0 = (s.tmp_4 - s.tmp_5);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 >> 1);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 * 256);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"_y\"] = (s.tmp_1);\n r0 = s.arg0.fields[\"_x\"];\n s.tmp_0 = r0;\n r0 = (s.arg0).fields[\"_lastX\"] = (s.tmp_0);\n r0 = s.arg0.fields[\"_y\"];\n s.tmp_0 = r0;\n r0 = (s.arg0).fields[\"_lastY\"] = (s.tmp_0);\n s.tmp_0 = Sprite_vx__P614_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = 0;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n s.tmp_0 = Sprite_vy__P616_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = 0;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.tmp_0 = Sprite_ax__P618_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = 0;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n s.tmp_0 = Sprite_ay__P620_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = 0;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n r0 = (s.arg0).fields[\"flags\"] = (0);\n s.tmp_0 = Sprite_setImage__P625_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n s.tmp_0 = Sprite_setKind__P638_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = -1;\n s.pc = 7; return s.tmp_0;\n case 7:\n r0 = s.retval;\n r0 = (s.arg0).fields[\"layer\"] = (1);\n r0 = (s.arg0).fields[\"lifespan\"] = (undefined);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"_overlappers\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"_obstacles\"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_constructor__P657.info = {\"start\":4147,\"length\":578,\"line\":164,\"column\":4,\"endLine\":182,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"img\"]}\n\nfunction Sprite_constructor__P657_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_constructor__P657, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_setImage__P625(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.oMinX___3091 = undefined;\n s.oMinY___3092 = undefined;\n s.oMaxX___3093 = undefined;\n s.oMaxY___3094 = undefined;\n s.nMinX___3131 = undefined;\n s.nMinY___3135 = undefined;\n s.nMaxX___3139 = undefined;\n s.nMaxY___3146 = undefined;\n s.minXDiff___3153 = undefined;\n s.minYDiff___3156 = undefined;\n s.maxXDiff___3159 = undefined;\n s.maxYDiff___3162 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 13; continue; }\n case 1:\n case 2:\n s.oMinX___3091 = (0);\n s.oMinY___3092 = (0);\n s.oMaxX___3093 = (0);\n s.oMaxY___3094 = (0);\n r0 = s.arg0.fields[\"_hitbox\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = s.arg0.fields[\"_hitbox\"];\n r0 = r0.fields[\"ox\"];\n s.oMinX___3091 = (r0);\n r0 = s.arg0.fields[\"_hitbox\"];\n r0 = r0.fields[\"oy\"];\n s.oMinY___3092 = (r0);\n r0 = s.arg0.fields[\"_hitbox\"];\n r0 = r0.fields[\"ox\"];\n s.tmp_0 = r0;\n r0 = s.arg0.fields[\"_hitbox\"];\n r0 = r0.fields[\"width\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n s.oMaxX___3093 = (r0);\n r0 = s.arg0.fields[\"_hitbox\"];\n r0 = r0.fields[\"oy\"];\n s.tmp_0 = r0;\n r0 = s.arg0.fields[\"_hitbox\"];\n r0 = r0.fields[\"height\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n s.oMaxY___3094 = (r0);\n case 3:\n case 4:\n r0 = (s.arg0).fields[\"_image\"] = (s.arg1);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_2 = game_calculateHitBox__P599_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 14; return s.tmp_2;\n case 14:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"_hitbox\"] = (s.tmp_1);\n r0 = s.arg0.fields[\"_hitbox\"];\n r0 = r0.fields[\"ox\"];\n s.nMinX___3131 = (r0);\n r0 = s.arg0.fields[\"_hitbox\"];\n r0 = r0.fields[\"oy\"];\n s.nMinY___3135 = (r0);\n r0 = s.arg0.fields[\"_hitbox\"];\n r0 = r0.fields[\"ox\"];\n s.tmp_0 = r0;\n r0 = s.arg0.fields[\"_hitbox\"];\n r0 = r0.fields[\"width\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n s.nMaxX___3139 = (r0);\n r0 = s.arg0.fields[\"_hitbox\"];\n r0 = r0.fields[\"oy\"];\n s.tmp_0 = r0;\n r0 = s.arg0.fields[\"_hitbox\"];\n r0 = r0.fields[\"height\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n s.nMaxY___3146 = (r0);\n r0 = (s.oMinX___3091 - s.nMinX___3131);\n s.minXDiff___3153 = (r0);\n r0 = (s.oMinY___3092 - s.nMinY___3135);\n s.minYDiff___3156 = (r0);\n r0 = (s.oMaxX___3093 - s.nMaxX___3139);\n s.maxXDiff___3159 = (r0);\n r0 = (s.oMaxY___3094 - s.nMaxY___3146);\n s.maxYDiff___3162 = (r0);\n r0 = (s.oMaxX___3093 != s.oMinX___3091);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 5; continue; }\n r0 = s.tmp_0;\n { step = 6; continue; }\n case 5:\n s.tmp_3 = Math_abs__P59_mk(s);\n s.tmp_3.arg0 = s.minXDiff___3153;\n s.pc = 15; return s.tmp_3;\n case 15:\n r0 = s.retval;\n s.tmp_2 = r0;\n s.tmp_5 = Math_abs__P59_mk(s);\n s.tmp_5.arg0 = s.maxXDiff___3159;\n s.pc = 16; return s.tmp_5;\n case 16:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = (s.tmp_2 + s.tmp_4);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 <= 2);\n case 6:\n // jmp value (already in r0)\n s.tmp_6 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_6);\n if (!r0) { step = 7; continue; }\n r0 = s.arg0.fields[\"_hitbox\"];\n s.tmp_7 = r0;\n r0 = (s.tmp_7).fields[\"ox\"] = (s.oMinX___3091);\n r0 = s.arg0.fields[\"_hitbox\"];\n s.tmp_0 = r0;\n r0 = (s.oMaxX___3093 - s.oMinX___3091);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"width\"] = (s.tmp_1);\n case 7:\n case 8:\n r0 = (s.oMaxY___3094 != s.oMinY___3092);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 9; continue; }\n r0 = s.tmp_0;\n { step = 10; continue; }\n case 9:\n s.tmp_3 = Math_abs__P59_mk(s);\n s.tmp_3.arg0 = s.minYDiff___3156;\n s.pc = 17; return s.tmp_3;\n case 17:\n r0 = s.retval;\n s.tmp_2 = r0;\n s.tmp_5 = Math_abs__P59_mk(s);\n s.tmp_5.arg0 = s.maxYDiff___3162;\n s.pc = 18; return s.tmp_5;\n case 18:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = (s.tmp_2 + s.tmp_4);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 <= 2);\n case 10:\n // jmp value (already in r0)\n s.tmp_6 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_6);\n if (!r0) { step = 11; continue; }\n r0 = s.arg0.fields[\"_hitbox\"];\n s.tmp_7 = r0;\n r0 = (s.tmp_7).fields[\"oy\"] = (s.oMinY___3092);\n r0 = s.arg0.fields[\"_hitbox\"];\n s.tmp_0 = r0;\n r0 = (s.oMaxY___3094 - s.oMinY___3092);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"height\"] = (s.tmp_1);\n case 11:\n case 12:\n case 13:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_setImage__P625.info = {\"start\":5754,\"length\":1391,\"line\":212,\"column\":4,\"endLine\":252,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"setImage\",\"argumentNames\":[\"this\",\"img\"]}\n\nfunction Sprite_setImage__P625_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_setImage__P625, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n oMinX___3091: undefined,\n oMinY___3092: undefined,\n oMaxX___3093: undefined,\n oMaxY___3094: undefined,\n nMinX___3131: undefined,\n nMinY___3135: undefined,\n nMaxX___3139: undefined,\n nMaxY___3146: undefined,\n minXDiff___3153: undefined,\n minYDiff___3156: undefined,\n maxXDiff___3159: undefined,\n maxYDiff___3162: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction game_calculateHitBox__P599(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.i___3202 = undefined;\n s.minX___3205 = undefined;\n s.minY___3208 = undefined;\n s.maxX___3211 = undefined;\n s.maxY___3212 = undefined;\n s.c___3213 = undefined;\n s.r___3218 = undefined;\n s.width___3249 = undefined;\n s.height___3254 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0.fields[\"_image\"];\n s.i___3202 = (r0);\n r0 = pxsim_ImageMethods.width(s.i___3202);\n s.minX___3205 = (r0);\n r0 = pxsim_ImageMethods.height(s.i___3202);\n s.minY___3208 = (r0);\n s.maxX___3211 = (0);\n s.maxY___3212 = (0);\n s.c___3213 = (0);\n case 1:\n s.tmp_1 = r0 = s.c___3213;\n r0 = pxsim_ImageMethods.width(s.i___3202);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 6; continue; }\n s.r___3218 = (0);\n case 2:\n s.tmp_1 = r0 = s.r___3218;\n r0 = pxsim_ImageMethods.height(s.i___3202);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = pxsim_ImageMethods.getPixel(s.i___3202, s.c___3213, s.r___3218);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 3; continue; }\n s.tmp_4 = Math_min__P62_mk(s);\n s.tmp_4.arg0 = s.minX___3205;\n s.tmp_4.arg1 = s.c___3213;\n s.pc = 7; return s.tmp_4;\n case 7:\n r0 = s.retval;\n s.minX___3205 = (r0);\n s.tmp_0 = Math_min__P62_mk(s);\n s.tmp_0.arg0 = s.minY___3208;\n s.tmp_0.arg1 = s.r___3218;\n s.pc = 8; return s.tmp_0;\n case 8:\n r0 = s.retval;\n s.minY___3208 = (r0);\n s.tmp_0 = Math_max__P61_mk(s);\n s.tmp_0.arg0 = s.maxX___3211;\n s.tmp_0.arg1 = s.c___3213;\n s.pc = 9; return s.tmp_0;\n case 9:\n r0 = s.retval;\n s.maxX___3211 = (r0);\n s.tmp_0 = Math_max__P61_mk(s);\n s.tmp_0.arg0 = s.maxY___3212;\n s.tmp_0.arg1 = s.r___3218;\n s.pc = 10; return s.tmp_0;\n case 10:\n r0 = s.retval;\n s.maxY___3212 = (r0);\n case 3:\n case 4:\n r0 = (s.r___3218 + 1);\n s.r___3218 = (r0);\n { step = 2; continue; }\n case 5:\n r0 = (s.c___3213 + 1);\n s.c___3213 = (r0);\n { step = 1; continue; }\n case 6:\n r0 = (s.maxX___3211 - s.minX___3205);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 + 1);\n s.width___3249 = (r0);\n r0 = (s.maxY___3212 - s.minY___3208);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 + 1);\n s.height___3254 = (r0);\n r0 = pxsim_pxtcore_mkClassInstance(game_Hitbox__C593_VT);\n s.tmp_0 = r0;\n s.tmp_1 = game_Hitbox_constructor__P598_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = s.arg0;\n s.tmp_1.arg2 = s.width___3249;\n s.tmp_1.arg3 = s.height___3254;\n s.tmp_1.arg4 = s.minX___3205;\n s.tmp_1.arg5 = s.minY___3208;\n s.pc = 11; return s.tmp_1;\n case 11:\n r0 = s.retval;\n r0 = s.tmp_0;\n return leave(s, r0)\n default: oops()\n} } }\ngame_calculateHitBox__P599.info = {\"start\":764,\"length\":692,\"line\":34,\"column\":4,\"endLine\":56,\"endColumn\":5,\"fileName\":\"pxt_modules/game/hitbox.ts\",\"functionName\":\"calculateHitBox\",\"argumentNames\":[\"s\"]}\n\nfunction game_calculateHitBox__P599_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_calculateHitBox__P599, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n i___3202: undefined,\n minX___3205: undefined,\n minY___3208: undefined,\n maxX___3211: undefined,\n maxY___3212: undefined,\n c___3213: undefined,\n r___3218: undefined,\n width___3249: undefined,\n height___3254: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Sprite_image__P624(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_image\"];\n return leave(s, r0)\n default: oops()\n} } }\nSprite_image__P624.info = {\"start\":5478,\"length\":54,\"line\":202,\"column\":4,\"endLine\":204,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"image\",\"argumentNames\":[\"this\"]}\n\nfunction Sprite_image__P624_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_image__P624, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_Hitbox_constructor__P598(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.arg5 = (s.lambdaArgs[5]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_Hitbox__C593_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"width\"] = (s.arg2);\n r0 = (s.arg0).fields[\"height\"] = (s.arg3);\n r0 = (s.arg0).fields[\"parent\"] = (s.arg1);\n r0 = (s.arg0).fields[\"ox\"] = (s.arg4);\n r0 = (s.arg0).fields[\"oy\"] = (s.arg5);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_Hitbox_constructor__P598.info = {\"start\":163,\"length\":246,\"line\":8,\"column\":8,\"endLine\":14,\"endColumn\":9,\"fileName\":\"pxt_modules/game/hitbox.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"parent\",\"width\",\"height\",\"ox\",\"oy\"]}\n\nfunction game_Hitbox_constructor__P598_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_Hitbox_constructor__P598, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n arg5: undefined,\n} }\n\n\n\n\n\nfunction Sprite_ax__P618(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg1 * 256);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"_ax\"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_ax__P618.info = {\"start\":2700,\"length\":51,\"line\":102,\"column\":4,\"endLine\":104,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"ax\",\"argumentNames\":[\"this\",\"v\"]}\n\nfunction Sprite_ax__P618_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_ax__P618, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_ax__P617(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_ax\"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 / 256);\n return leave(s, r0)\n default: oops()\n} } }\nSprite_ax__P617.info = {\"start\":2534,\"length\":60,\"line\":97,\"column\":4,\"endLine\":99,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"ax\",\"argumentNames\":[\"this\"]}\n\nfunction Sprite_ax__P617_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_ax__P617, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_setBackgroundColor__P935(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.scene___8475 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.scene___8475 = (r0);\n r0 = s.scene___8475.fields[\"background\"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0).fields[\"color\"] = (s.arg0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_setBackgroundColor__P935.info = {\"start\":1004,\"length\":140,\"line\":37,\"column\":4,\"endLine\":40,\"endColumn\":5,\"fileName\":\"pxt_modules/game/scenes.ts\",\"functionName\":\"setBackgroundColor\",\"argumentNames\":[\"color\"]}\n\nfunction scene_setBackgroundColor__P935_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_setBackgroundColor__P935, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n scene___8475: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction gameover__P22758(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.scoreInfo___23014 = undefined;\n s.highScore___23017 = undefined;\n s.c___23066 = undefined;\n globals.over___22733 = (true);\n s.tmp_0 = info_PlayerInfo_getState__P825_mk(s);\n s.tmp_0.arg0 = globals.player1___845;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.scoreInfo___23014 = (r0);\n s.tmp_0 = info_highScore__P800_mk(s);\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n s.highScore___23017 = (r0);\n r0 = s.scoreInfo___23014.fields[\"score\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > s.highScore___23017);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_2 = info_saveHighScore__P797_mk(s);\n s.pc = 5; return s.tmp_2;\n case 5:\n r0 = s.retval;\n case 1:\n case 2:\n s.tmp_0 = music_setVolume__P341_mk(s);\n s.tmp_0.arg0 = 12;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n s.tmp_0 = music_Melody_play__P357_mk(s);\n s.tmp_0.arg0 = globals.wawawawaa___368;\n s.tmp_0.arg1 = 255;\n s.pc = 7; return s.tmp_0;\n case 7:\n r0 = s.retval;\n s.tmp_0 = Sprite_destroy__P653_mk(s);\n s.tmp_0.arg0 = globals.bunny___22740;\n s.tmp_0.arg1 = undefined;\n s.tmp_0.arg2 = undefined;\n s.pc = 8; return s.tmp_0;\n case 8:\n r0 = s.retval;\n s.tmp_0 = game_onShade__P1032_mk(s);\n s.tmp_0.arg0 = inline__P23031;\n s.pc = 9; return s.tmp_0;\n case 9:\n r0 = s.retval;\n s.tmp_0 = pause__P241_mk(s);\n s.tmp_0.arg0 = 500;\n s.pc = 10; return s.tmp_0;\n case 10:\n r0 = s.retval;\n s.tmp_0 = sprites_create__P602_mk(s);\n r0 = pxsim.image.ofBuffer(_hex23069);\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = 99;\n s.pc = 11; return s.tmp_0;\n case 11:\n r0 = s.retval;\n s.c___23066 = (r0);\n s.tmp_0 = if_z_2_mk(s);\n s.tmp_0.arg0 = s.c___23066;\n s.tmp_0.arg1 = 101;\n if (!s.tmp_0.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapSetByString(s.tmp_0.arg0, \"z\", s.tmp_0.arg1);\n } else {\n s.tmp_0.fn = s.tmp_0.arg0.vtable.iface[\"set/z\"];\n if (s.tmp_0.fn === null) { s.tmp_0.arg0.fields[\"z\"] = s.tmp_0.arg1; }\n else if (s.tmp_0.fn === undefined) { failedCast(s.tmp_0.arg0) }\n else { s.pc = 12; return s.tmp_0; }\n }\n case 12:\n r0 = s.retval;\n s.tmp_0 = Sprite_setPosition__P639_mk(s);\n s.tmp_0.arg0 = s.c___23066;\n s.tmp_0.arg1 = 145;\n s.tmp_0.arg2 = 70;\n s.pc = 13; return s.tmp_0;\n case 13:\n r0 = s.retval;\n s.tmp_0 = game_waitAnyButton__P1016_mk(s);\n s.pc = 14; return s.tmp_0;\n case 14:\n r0 = s.retval;\n setupResume(s, 15);\n pxsim.control.reset();\n checkResumeConsumed();\n return;\n case 15:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngameover__P22758.info = {\"start\":36166,\"length\":1631,\"line\":664,\"column\":0,\"endLine\":719,\"endColumn\":1,\"fileName\":\"main.ts\",\"functionName\":\"gameover\",\"argumentNames\":[]}\n\nfunction gameover__P22758_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: gameover__P22758, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n scoreInfo___23014: undefined,\n highScore___23017: undefined,\n c___23066: undefined,\n} }\n\nconst _hex23069 = pxsim.BufferMethods.createBufferFromHex(\"87040b000b00000000606686080000006076776686000000607777676608000076171111670800007671177766080000767117776608000076711777660800007617111167080000607777676608000060767766860000000060668608000000\")\n\n\n\n\nfunction inline__P23031(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = helpers_imageFillRect__P411_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_0.arg1 = 0;\n s.tmp_0.arg2 = 35;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_0.arg3 = r0;\n s.tmp_0.arg4 = 1;\n s.tmp_0.arg5 = 1;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.tmp_0 = helpers_imageFillRect__P411_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_0.arg1 = 0;\n s.tmp_0.arg2 = 36;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_0.arg3 = r0;\n s.tmp_0.arg4 = 48;\n s.tmp_0.arg5 = 15;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n s.tmp_0 = helpers_imageFillRect__P411_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_0.arg1 = 0;\n s.tmp_0.arg2 = 85;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_0.arg3 = r0;\n s.tmp_0.arg4 = 1;\n s.tmp_0.arg5 = 1;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.tmp_0 = helpers_imagePrintCenter__P431_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_0.arg1 = \"Game Over!\";\n s.tmp_0.arg2 = 46;\n s.tmp_0.arg3 = 5;\n s.tmp_0.arg4 = undefined;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n s.tmp_0 = helpers_imagePrintCenter__P431_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_3 = info_score__P798_mk(s);\n s.pc = 6; return s.tmp_3;\n case 6:\n r0 = s.retval;\n s.tmp_2 = r0;\n if ((s.tmp_2) && (s.tmp_2).vtable) {\n setupResume(s, 7);\n pxsim_String__stringConv(s.tmp_2);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_2) + \"\"; }\n case 7:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_String__concat(\"Score: \", s.tmp_1);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = 58;\n s.tmp_0.arg3 = 2;\n s.tmp_0.arg4 = undefined;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n s.tmp_0 = helpers_imagePrintCenter__P431_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_3 = info_highScore__P800_mk(s);\n s.pc = 9; return s.tmp_3;\n case 9:\n r0 = s.retval;\n s.tmp_2 = r0;\n if ((s.tmp_2) && (s.tmp_2).vtable) {\n setupResume(s, 10);\n pxsim_String__stringConv(s.tmp_2);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_2) + \"\"; }\n case 10:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_String__concat(\"HI: \", s.tmp_1);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = 70;\n s.tmp_0.arg3 = 2;\n s.tmp_0.arg4 = undefined;\n s.pc = 8; return s.tmp_0;\n case 8:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P23031.info = {\"start\":36453,\"length\":340,\"line\":676,\"column\":17,\"endLine\":683,\"endColumn\":5,\"fileName\":\"main.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P23031_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P23031, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n} }\n\n\n\n\n\nfunction game_onShade__P1032(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = game_init__P1018_mk(s);\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(s.arg0);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 3; continue; }\n case 1:\n case 2:\n s.tmp_2 = scene_createRenderable__P896_mk(s);\n s.tmp_2.arg0 = 80;\n s.tmp_2.arg1 = s.arg0;\n s.tmp_2.arg2 = undefined;\n s.pc = 5; return s.tmp_2;\n case 5:\n r0 = s.retval;\n case 3:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_onShade__P1032.info = {\"start\":9865,\"length\":145,\"line\":319,\"column\":4,\"endLine\":323,\"endColumn\":5,\"fileName\":\"pxt_modules/game/game.ts\",\"functionName\":\"onShade\",\"argumentNames\":[\"a\"]}\n\nfunction game_onShade__P1032_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_onShade__P1032, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Sprite_destroy__P653(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"flags\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 & 2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 5; continue; }\n case 1:\n case 2:\n s.tmp_2 = r0 = s.arg0;\n r0 = s.tmp_2.fields[\"flags\"];\n s.tmp_4 = r0;\n r0 = (s.tmp_4 | 2);\n s.tmp_3 = r0;\n r0 = (s.tmp_2).fields[\"flags\"] = (s.tmp_3);\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n if (!r0) { step = 3; continue; }\n s.tmp_0 = effects_ParticleEffect_destroy__P1406_mk(s);\n s.tmp_0.arg0 = s.arg1;\n s.tmp_0.arg1 = s.arg0;\n s.tmp_0.arg2 = s.arg2;\n s.tmp_0.arg3 = undefined;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n { step = 4; continue; }\n case 3:\n s.tmp_0 = Sprite__destroyCore__P654_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 7; return s.tmp_0;\n case 7:\n r0 = s.retval;\n case 4:\n case 5:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_destroy__P653.info = {\"start\":24607,\"length\":293,\"line\":752,\"column\":4,\"endLine\":761,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"destroy\",\"argumentNames\":[\"this\",\"effect\",\"duration\"]}\n\nfunction Sprite_destroy__P653_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_destroy__P653, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction effects_ParticleEffect_destroy__P1406(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, effects_ParticleEffect__C1404_VT)) failedCast(r0);\n s.tmp_0 = Sprite_setFlag__P646_mk(s);\n s.tmp_0.arg0 = s.arg1;\n s.tmp_0.arg1 = 1;\n s.tmp_0.arg2 = true;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.tmp_0 = effects_ParticleEffect_start__P1405_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.tmp_0.arg2 = s.arg3;\n s.tmp_0.arg3 = undefined;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(s.arg2);\n if (!r0) { step = 1; continue; }\n r0 = s.arg2;\n { step = 2; continue; }\n case 1:\n r0 = s.arg0.fields[\"defaultLifespan\"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 >> 2);\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = (s.arg1).fields[\"lifespan\"] = (s.tmp_1);\n s.tmp_0 = effects_ImageEffect_applyTo__P1439_mk(s);\n s.tmp_0.arg0 = globals.dissolve___1443;\n s.tmp_0.arg1 = s.arg1;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\neffects_ParticleEffect_destroy__P1406.info = {\"start\":1652,\"length\":312,\"line\":40,\"column\":8,\"endLine\":45,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particleeffects.ts\",\"functionName\":\"destroy\",\"argumentNames\":[\"this\",\"anchor\",\"duration\",\"particlesPerSecond\"]}\n\nfunction effects_ParticleEffect_destroy__P1406_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: effects_ParticleEffect_destroy__P1406, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction inline__P2929(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.i___2932 = undefined;\n s.x___2939 = undefined;\n s.y___2944 = undefined;\n s.w___2949 = undefined;\n s.h___2952 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_ImageMethods.width(s.arg0);\n s.tmp_1 = r0;\n r0 = pxsim_ImageMethods.height(s.arg0);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 * s.tmp_2);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 >> 5);\n s.i___2932 = (r0);\n case 1:\n r0 = (s.i___2932 > 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n s.tmp_1 = Math_FastRandom_randomRange__P1158_mk(s);\n s.tmp_1.arg0 = s.arg1;\n s.tmp_1.arg1 = 0;\n r0 = pxsim_ImageMethods.width(s.arg0);\n s.tmp_1.arg2 = r0;\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n s.x___2939 = (r0);\n s.tmp_0 = Math_FastRandom_randomRange__P1158_mk(s);\n s.tmp_0.arg0 = s.arg1;\n s.tmp_0.arg1 = 0;\n r0 = pxsim_ImageMethods.height(s.arg0);\n s.tmp_0.arg2 = r0;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n s.y___2944 = (r0);\n s.tmp_0 = Math_FastRandom_randomRange__P1158_mk(s);\n s.tmp_0.arg0 = s.arg1;\n s.tmp_0.arg1 = 1;\n s.tmp_0.arg2 = 3;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n s.w___2949 = (r0);\n s.tmp_0 = Math_FastRandom_randomRange__P1158_mk(s);\n s.tmp_0.arg0 = s.arg1;\n s.tmp_0.arg1 = 1;\n s.tmp_0.arg2 = 3;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n s.h___2952 = (r0);\n s.tmp_0 = helpers_imageDrawRect__P414_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.x___2939;\n s.tmp_0.arg2 = s.y___2944;\n s.tmp_0.arg3 = s.w___2949;\n s.tmp_0.arg4 = s.h___2952;\n s.tmp_0.arg5 = 0;\n s.pc = 7; return s.tmp_0;\n case 7:\n r0 = s.retval;\n r0 = (s.i___2932 - 1);\n s.i___2932 = (r0);\n { step = 1; continue; }\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P2929.info = {\"start\":2199,\"length\":360,\"line\":60,\"column\":49,\"endLine\":69,\"endColumn\":5,\"fileName\":\"pxt_modules/game/effects.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"input\",\"r\"]}\n\nfunction inline__P2929_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P2929, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n i___2932: undefined,\n x___2939: undefined,\n y___2944: undefined,\n w___2949: undefined,\n h___2952: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction helpers_imageDrawRect__P414(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.arg5 = (s.lambdaArgs[5]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg3 == 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = (s.arg4 == 0);\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 3; continue; }\n { step = 5; continue; }\n case 3:\n case 4:\n r0 = (s.arg3 - 1);\n s.arg3 = (r0);\n r0 = (s.arg4 - 1);\n s.arg4 = (r0);\n s.tmp_0 = helpers_imageDrawLine__P413_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.tmp_0.arg2 = s.arg2;\n r0 = (s.arg1 + s.arg3);\n s.tmp_0.arg3 = r0;\n s.tmp_0.arg4 = s.arg2;\n s.tmp_0.arg5 = s.arg5;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n s.tmp_0 = helpers_imageDrawLine__P413_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.tmp_0.arg2 = s.arg2;\n s.tmp_0.arg3 = s.arg1;\n r0 = (s.arg2 + s.arg4);\n s.tmp_0.arg4 = r0;\n s.tmp_0.arg5 = s.arg5;\n s.pc = 7; return s.tmp_0;\n case 7:\n r0 = s.retval;\n s.tmp_0 = helpers_imageDrawLine__P413_mk(s);\n s.tmp_0.arg0 = s.arg0;\n r0 = (s.arg1 + s.arg3);\n s.tmp_0.arg1 = r0;\n r0 = (s.arg2 + s.arg4);\n s.tmp_0.arg2 = r0;\n r0 = (s.arg1 + s.arg3);\n s.tmp_0.arg3 = r0;\n s.tmp_0.arg4 = s.arg2;\n s.tmp_0.arg5 = s.arg5;\n s.pc = 8; return s.tmp_0;\n case 8:\n r0 = s.retval;\n s.tmp_0 = helpers_imageDrawLine__P413_mk(s);\n s.tmp_0.arg0 = s.arg0;\n r0 = (s.arg1 + s.arg3);\n s.tmp_0.arg1 = r0;\n r0 = (s.arg2 + s.arg4);\n s.tmp_0.arg2 = r0;\n s.tmp_0.arg3 = s.arg1;\n r0 = (s.arg2 + s.arg4);\n s.tmp_0.arg4 = r0;\n s.tmp_0.arg5 = s.arg5;\n s.pc = 9; return s.tmp_0;\n case 9:\n r0 = s.retval;\n case 5:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_imageDrawRect__P414.info = {\"start\":4139,\"length\":370,\"line\":140,\"column\":4,\"endLine\":148,\"endColumn\":5,\"fileName\":\"pxt_modules/screen/image.ts\",\"functionName\":\"imageDrawRect\",\"argumentNames\":[\"img\",\"x\",\"y\",\"w\",\"h\",\"c\"]}\n\nfunction helpers_imageDrawRect__P414_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_imageDrawRect__P414, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n arg5: undefined,\n} }\n\n\n\n\n\nfunction helpers_imageDrawLine__P413(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.arg5 = (s.lambdaArgs[5]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = r0 = s.arg0;\n s.tmp_2 = helpers_pack__P408_mk(s);\n s.tmp_2.arg0 = s.arg1;\n s.tmp_2.arg1 = s.arg2;\n s.pc = 1; return s.tmp_2;\n case 1:\n r0 = s.retval;\n s.tmp_1 = r0;\n s.tmp_4 = helpers_pack__P408_mk(s);\n s.tmp_4.arg0 = s.arg3;\n s.tmp_4.arg1 = s.arg4;\n s.pc = 2; return s.tmp_4;\n case 2:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods._drawLine(s.tmp_0, s.tmp_1, s.tmp_3, s.arg5);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_imageDrawLine__P413.info = {\"start\":3975,\"length\":159,\"line\":137,\"column\":4,\"endLine\":139,\"endColumn\":5,\"fileName\":\"pxt_modules/screen/image.ts\",\"functionName\":\"imageDrawLine\",\"argumentNames\":[\"img\",\"x\",\"y\",\"w\",\"h\",\"c\"]}\n\nfunction helpers_imageDrawLine__P413_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_imageDrawLine__P413, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n arg5: undefined,\n} }\n\n\n\n\n\nfunction effects_ImageEffect_applyTo__P1439(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.clonedImage___3077 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, effects_ImageEffect__C1438_VT)) failedCast(r0);\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = s.arg1.fields[\"_image\"];\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n case 2:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n if (!r0) { step = 3; continue; }\n { step = 5; continue; }\n case 3:\n case 4:\n r0 = s.arg1.fields[\"_image\"];\n s.tmp_5 = r0;\n r0 = pxsim_ImageMethods.clone(s.tmp_5);\n s.clonedImage___3077 = (r0);\n s.tmp_0 = effects_ImageEffect_change__P1440_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.clonedImage___3077;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n s.tmp_0 = Sprite_setImage__P625_mk(s);\n s.tmp_0.arg0 = s.arg1;\n s.tmp_0.arg1 = s.clonedImage___3077;\n s.pc = 7; return s.tmp_0;\n case 7:\n r0 = s.retval;\n case 5:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\neffects_ImageEffect_applyTo__P1439.info = {\"start\":823,\"length\":218,\"line\":21,\"column\":8,\"endLine\":26,\"endColumn\":9,\"fileName\":\"pxt_modules/game/effects.ts\",\"functionName\":\"applyTo\",\"argumentNames\":[\"this\",\"sprite\"]}\n\nfunction effects_ImageEffect_applyTo__P1439_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: effects_ImageEffect_applyTo__P1439, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n clonedImage___3077: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction effects_ImageEffect_change__P1440(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, effects_ImageEffect__C1438_VT)) failedCast(r0);\n s.tmp_0 = lambda_3_mk(s);\n r0 = s.arg0.fields[\"effect\"];\n s.tmp_0.argL = r0;\n s.tmp_0.arg0 = s.arg1;\n r0 = s.arg0.fields[\"fastRandom\"];\n s.tmp_0.arg1 = r0;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\neffects_ImageEffect_change__P1440.info = {\"start\":1151,\"length\":81,\"line\":32,\"column\":8,\"endLine\":34,\"endColumn\":9,\"fileName\":\"pxt_modules/game/effects.ts\",\"functionName\":\"change\",\"argumentNames\":[\"this\",\"input\"]}\n\nfunction effects_ImageEffect_change__P1440_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: effects_ImageEffect_change__P1440, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction effects_ParticleEffect_start__P1405(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.src___3305 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, effects_ParticleEffect__C1404_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"sourceFactory\"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 9; continue; }\n case 1:\n case 2:\n r0 = pxsim_numops_toBoolDecr(s.arg3);\n if (!r0) { step = 3; continue; }\n r0 = s.arg3;\n { step = 4; continue; }\n case 3:\n r0 = s.arg0.fields[\"defaultRate\"];\n case 4:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n s.tmp_4 = lambda_3_mk(s);\n r0 = s.arg0.fields[\"sourceFactory\"];\n s.tmp_4.argL = r0;\n s.tmp_4.arg0 = s.arg1;\n s.tmp_4.arg1 = s.tmp_3;\n setupLambda(s.tmp_4, s.tmp_4.argL);\n s.pc = 10; return s.tmp_4;\n case 10:\n r0 = s.retval;\n s.src___3305 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.arg2);\n if (!r0) { step = 7; continue; }\n r0 = (s.arg2 > 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = s.arg2;\n { step = 6; continue; }\n case 5:\n r0 = s.arg0.fields[\"defaultLifespan\"];\n case 6:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = (s.src___3305).fields[\"lifespan\"] = (s.tmp_1);\n case 7:\n case 8:\n case 9:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\neffects_ParticleEffect_start__P1405.info = {\"start\":968,\"length\":367,\"line\":26,\"column\":8,\"endLine\":31,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particleeffects.ts\",\"functionName\":\"start\",\"argumentNames\":[\"this\",\"anchor\",\"duration\",\"particlesPerSecond\"]}\n\nfunction effects_ParticleEffect_start__P1405_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: effects_ParticleEffect_start__P1405, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n src___3305: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction Sprite_setFlag__P646(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = pxsim_numops_toBoolDecr(s.arg2);\n if (!r0) { step = 1; continue; }\n s.tmp_0 = r0 = s.arg0;\n r0 = s.tmp_0.fields[\"flags\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | s.arg1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"flags\"] = (s.tmp_1);\n { step = 2; continue; }\n case 1:\n s.tmp_0 = r0 = s.arg0;\n r0 = s.arg0.fields[\"flags\"];\n s.tmp_4 = r0;\n r0 = (~ s.tmp_4);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 | s.arg1);\n s.tmp_2 = r0;\n r0 = (~ s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"flags\"] = (s.tmp_1);\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_setFlag__P646.info = {\"start\":21999,\"length\":130,\"line\":673,\"column\":4,\"endLine\":676,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"setFlag\",\"argumentNames\":[\"this\",\"flag\",\"on\"]}\n\nfunction Sprite_setFlag__P646_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_setFlag__P646, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction Sprite__destroyCore__P654(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.scene___2774 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.tmp_0.fields[\"flags\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"flags\"] = (s.tmp_1);\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 9; return s.tmp_0;\n case 9:\n r0 = s.retval;\n s.scene___2774 = (r0);\n r0 = s.arg0.fields[\"sayBubbleSprite\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_1 = Sprite_destroy__P653_mk(s);\n r0 = s.arg0.fields[\"sayBubbleSprite\"];\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = undefined;\n s.tmp_1.arg2 = undefined;\n s.pc = 10; return s.tmp_1;\n case 10:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = s.scene___2774.fields[\"allSprites\"];\n s.tmp_0 = r0;\n r0 = pxsim_Array_.removeElement(s.tmp_0, s.arg0);\n r0 = s.arg0.fields[\"_kind\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 >= 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 3; continue; }\n r0 = s.tmp_0;\n { step = 4; continue; }\n case 3:\n r0 = s.scene___2774.fields[\"spritesByKind\"];\n s.tmp_2 = r0;\n r0 = s.arg0.fields[\"_kind\"];\n s.tmp_3 = r0;\n r0 = pxsim_pxtrt.mapGetGeneric(s.tmp_2, s.tmp_3);\n case 4:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n if (!r0) { step = 5; continue; }\n s.tmp_5 = SpriteSet_remove__P682_mk(s);\n r0 = s.scene___2774.fields[\"spritesByKind\"];\n s.tmp_6 = r0;\n r0 = s.arg0.fields[\"_kind\"];\n s.tmp_7 = r0;\n r0 = pxsim_pxtrt.mapGetGeneric(s.tmp_6, s.tmp_7);\n s.tmp_5.arg0 = r0;\n s.tmp_5.arg1 = s.arg0;\n s.pc = 11; return s.tmp_5;\n case 11:\n r0 = s.retval;\n case 5:\n case 6:\n s.tmp_0 = PhysicsEngine__C708_v1_2_mk(s);\n r0 = s.scene___2774.fields[\"physicsEngine\"];\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = s.arg0;\n if (!checkSubtype(s.tmp_0.arg0, PhysicsEngine__C708_VT)) failedCast(s.tmp_0.arg0);\n s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.removeSprite;\n s.pc = 12; return s.tmp_0;\n case 12:\n r0 = s.retval;\n r0 = s.arg0.fields[\"destroyHandler\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 7; continue; }\n s.tmp_1 = lambda_1_mk(s);\n r0 = s.arg0.fields[\"destroyHandler\"];\n s.tmp_1.argL = r0;\n setupLambda(s.tmp_1, s.tmp_1.argL);\n s.pc = 13; return s.tmp_1;\n case 13:\n r0 = s.retval;\n case 7:\n case 8:\n r0 = pxsim_pxtcore_mkAction(1, inline__P2815);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n r0 = pxsim_pxtcore_mkAction(1, inline__P2821);\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_1, 0, s.arg0);\n s.tmp_2 = helpers_arrayForEach__P47_mk(s);\n s.tmp_3 = helpers_arrayFilter__P48_mk(s);\n r0 = s.scene___2774.fields[\"destroyedHandlers\"];\n s.tmp_3.arg0 = r0;\n s.tmp_3.arg1 = s.tmp_0;\n s.pc = 15; return s.tmp_3;\n case 15:\n r0 = s.retval;\n s.tmp_2.arg0 = r0;\n s.tmp_2.arg1 = s.tmp_1;\n s.pc = 14; return s.tmp_2;\n case 14:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite__destroyCore__P654.info = {\"start\":24906,\"length\":693,\"line\":763,\"column\":4,\"endLine\":779,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"_destroyCore\",\"argumentNames\":[\"this\"]}\n\nfunction Sprite__destroyCore__P654_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite__destroyCore__P654, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n scene___2774: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P2815(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0.fields[\"kind\"];\n s.tmp_0 = r0;\n r0 = s.caps[0].fields[\"_kind\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_0 == s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\ninline__P2815.info = {\"start\":25522,\"length\":26,\"line\":777,\"column\":20,\"endLine\":777,\"endColumn\":46,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"h\"]}\n\nfunction inline__P2815_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P2815, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P2821(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = lambda_2_mk(s);\n r0 = s.arg0.fields[\"handler\"];\n s.tmp_0.argL = r0;\n s.tmp_0.arg0 = s.caps[0];\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P2821.info = {\"start\":25571,\"length\":20,\"line\":778,\"column\":21,\"endLine\":778,\"endColumn\":41,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"h\"]}\n\nfunction inline__P2821_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P2821, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction PhysicsEngine_removeSprite__P710(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, PhysicsEngine__C708_VT)) failedCast(r0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nPhysicsEngine_removeSprite__P710.info = {\"start\":159,\"length\":32,\"line\":10,\"column\":4,\"endLine\":10,\"endColumn\":36,\"fileName\":\"pxt_modules/game/physics.ts\",\"functionName\":\"removeSprite\",\"argumentNames\":[\"this\",\"sprite\"]}\n\nfunction PhysicsEngine_removeSprite__P710_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: PhysicsEngine_removeSprite__P710, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_kind__P637(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_kind\"];\n return leave(s, r0)\n default: oops()\n} } }\nSprite_kind__P637.info = {\"start\":9398,\"length\":41,\"line\":338,\"column\":4,\"endLine\":340,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"kind\",\"argumentNames\":[\"this\"]}\n\nfunction Sprite_kind__P637_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_kind__P637, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction sprites_onOverlap__P674(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.sc___8491 = undefined;\n s.overlapHandlers___8493 = undefined;\n s.overlapMap___8496 = undefined;\n s.associate___8499 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 == undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = (s.arg1 == undefined);\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBool(s.tmp_1);\n if (!r0) { step = 3; continue; }\n r0 = s.tmp_1;\n { step = 4; continue; }\n case 3:\n r0 = pxsim_numops_toBoolDecr(s.arg2);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n case 4:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 5; continue; }\n { step = 7; continue; }\n case 5:\n case 6:\n s.tmp_4 = game_currentScene__P769_mk(s);\n s.pc = 8; return s.tmp_4;\n case 8:\n r0 = s.retval;\n s.sc___8491 = (r0);\n r0 = s.sc___8491.fields[\"overlapHandlers\"];\n s.overlapHandlers___8493 = (r0);\n r0 = s.sc___8491.fields[\"overlapMap\"];\n s.overlapMap___8496 = (r0);\n r0 = pxsim_pxtcore_mkAction(1, associate__P8499);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.overlapMap___8496);\n s.associate___8499 = (s.tmp_0);\n s.tmp_1 = lambda_3_mk(s);\n s.tmp_1.argL = s.associate___8499;\n s.tmp_1.arg0 = s.arg0;\n s.tmp_1.arg1 = s.arg1;\n setupLambda(s.tmp_1, s.tmp_1.argL);\n s.pc = 9; return s.tmp_1;\n case 9:\n r0 = s.retval;\n s.tmp_0 = lambda_3_mk(s);\n s.tmp_0.argL = s.associate___8499;\n s.tmp_0.arg0 = s.arg1;\n s.tmp_0.arg1 = s.arg0;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 10; return s.tmp_0;\n case 10:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkClassInstance(scene_OverlapHandler__C900_VT);\n s.tmp_0 = r0;\n s.tmp_1 = scene_OverlapHandler_constructor__P901_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = s.arg0;\n s.tmp_1.arg2 = s.arg1;\n s.tmp_1.arg3 = s.arg2;\n s.pc = 11; return s.tmp_1;\n case 11:\n r0 = s.retval;\n r0 = pxsim_Array__push(s.overlapHandlers___8493, s.tmp_0);\n case 7:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_onOverlap__P674.info = {\"start\":1605,\"length\":755,\"line\":50,\"column\":4,\"endLine\":74,\"endColumn\":5,\"fileName\":\"pxt_modules/game/spriteevents.ts\",\"functionName\":\"onOverlap\",\"argumentNames\":[\"kind\",\"otherKind\",\"handler\"]}\n\nfunction sprites_onOverlap__P674_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_onOverlap__P674, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n sc___8491: undefined,\n overlapHandlers___8493: undefined,\n overlapMap___8496: undefined,\n associate___8499: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction associate__P8499(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_pxtrt.mapGetGeneric(s.caps[0], s.arg0);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_3 = r0 = s.caps[0];\n s.tmp_4 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_5 = r0;\n r0 = pxsim_pxtrt.mapSetGeneric(s.tmp_3, s.tmp_4, s.tmp_5);\n case 1:\n case 2:\n r0 = pxsim_pxtrt.mapGetGeneric(s.caps[0], s.arg0);\n s.tmp_0 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.arg1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nassociate__P8499.info = {\"start\":1942,\"length\":172,\"line\":56,\"column\":8,\"endLine\":62,\"endColumn\":9,\"fileName\":\"pxt_modules/game/spriteevents.ts\",\"functionName\":\"associate\",\"argumentNames\":[\"a\",\"b\"]}\n\nfunction associate__P8499_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: associate__P8499, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction scene_OverlapHandler_constructor__P901(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_OverlapHandler__C900_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"kind\"] = (s.arg1);\n r0 = (s.arg0).fields[\"otherKind\"] = (s.arg2);\n r0 = (s.arg0).fields[\"handler\"] = (s.arg3);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_OverlapHandler_constructor__P901.info = {\"start\":388,\"length\":171,\"line\":20,\"column\":8,\"endLine\":24,\"endColumn\":13,\"fileName\":\"pxt_modules/game/scene.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"kind\",\"otherKind\",\"handler\"]}\n\nfunction scene_OverlapHandler_constructor__P901_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_OverlapHandler_constructor__P901, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction Sprite_ay__P620(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg1 * 256);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"_ay\"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_ay__P620.info = {\"start\":3039,\"length\":51,\"line\":113,\"column\":4,\"endLine\":115,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"ay\",\"argumentNames\":[\"this\",\"v\"]}\n\nfunction Sprite_ay__P620_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_ay__P620, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_vy__P616(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg1 * 256);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"_vy\"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_vy__P616.info = {\"start\":2361,\"length\":51,\"line\":91,\"column\":4,\"endLine\":93,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"vy\",\"argumentNames\":[\"this\",\"v\"]}\n\nfunction Sprite_vy__P616_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_vy__P616, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_vy__P615(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_vy\"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 / 256);\n return leave(s, r0)\n default: oops()\n} } }\nSprite_vy__P615.info = {\"start\":2199,\"length\":60,\"line\":86,\"column\":4,\"endLine\":88,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"vy\",\"argumentNames\":[\"this\"]}\n\nfunction Sprite_vy__P615_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_vy__P615, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Sprite_ay__P619(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_ay\"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 / 256);\n return leave(s, r0)\n default: oops()\n} } }\nSprite_ay__P619.info = {\"start\":2873,\"length\":60,\"line\":108,\"column\":4,\"endLine\":110,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"ay\",\"argumentNames\":[\"this\"]}\n\nfunction Sprite_ay__P619_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_ay__P619, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller_Button_onEvent__P543(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Button__C538_VT)) failedCast(r0);\n s.tmp_0 = control_onEvent__P213_mk(s);\n s.tmp_0.arg0 = s.arg1;\n r0 = s.arg0.fields[\"id\"];\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = s.arg2;\n s.tmp_0.arg3 = 16;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Button_onEvent__P543.info = {\"start\":3475,\"length\":124,\"line\":108,\"column\":8,\"endLine\":110,\"endColumn\":9,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"onEvent\",\"argumentNames\":[\"this\",\"event\",\"handler\"]}\n\nfunction controller_Button_onEvent__P543_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Button_onEvent__P543, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction control_onEvent__P213(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.ctx___8772 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = control_eventContext__P235_mk(s);\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.ctx___8772 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.ctx___8772);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim.control.internalOnEvent(s.arg0, s.arg1, s.arg2, s.arg3);\n { step = 2; continue; }\n case 1:\n s.tmp_0 = control_EventContext_registerHandler__P227_mk(s);\n s.tmp_0.arg0 = s.ctx___8772;\n s.tmp_0.arg1 = s.arg0;\n s.tmp_0.arg2 = s.arg1;\n s.tmp_0.arg3 = s.arg2;\n s.tmp_0.arg4 = s.arg3;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_onEvent__P213.info = {\"start\":336,\"length\":325,\"line\":9,\"column\":4,\"endLine\":15,\"endColumn\":5,\"fileName\":\"pxt_modules/base/eventcontext.ts\",\"functionName\":\"onEvent\",\"argumentNames\":[\"src\",\"value\",\"handler\",\"flags\"]}\n\nfunction control_onEvent__P213_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_onEvent__P213, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n ctx___8772: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction control_EventContext_registerHandler__P227(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.h___8793 = undefined;\n s.unnamed50___U1 = undefined;\n s.unnamed51___U2 = undefined;\n s.hn___8809 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, control_EventContext__C220_VT)) failedCast(r0);\n s.h___8793 = (undefined);\n s.h___8793 = (undefined);\n r0 = s.arg0.fields[\"handlers\"];\n s.unnamed50___U1 = (r0);\n s.unnamed51___U2 = (0);\n case 1:\n s.tmp_0 = r0 = s.unnamed51___U2;\n r0 = pxsim_Array__length(s.unnamed50___U1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 6; continue; }\n r0 = pxsim_Array__getAt(s.unnamed50___U1, s.unnamed51___U2);\n s.h___8793 = (r0);\n r0 = s.h___8793.fields[\"src\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 == s.arg1);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBool(s.tmp_2);\n if (r0) { step = 2; continue; }\n r0 = s.tmp_2;\n { step = 3; continue; }\n case 2:\n r0 = s.h___8793.fields[\"value\"];\n s.tmp_4 = r0;\n r0 = (s.tmp_4 == s.arg2);\n case 3:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_5);\n if (!r0) { step = 4; continue; }\n r0 = (s.h___8793).fields[\"flags\"] = (s.arg4);\n r0 = (s.h___8793).fields[\"handler\"] = (s.arg3);\n { step = 7; continue; }\n case 4:\n case 5:\n r0 = (s.unnamed51___U2 + 1);\n s.unnamed51___U2 = (r0);\n { step = 1; continue; }\n case 6:\n s.unnamed50___U1 = (undefined);\n r0 = pxsim_pxtcore_mkClassInstance(control_EventHandler__C215_VT);\n s.tmp_0 = r0;\n s.tmp_1 = control_EventHandler_constructor__P218_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = s.arg1;\n s.tmp_1.arg2 = s.arg2;\n s.tmp_1.arg3 = s.arg3;\n s.tmp_1.arg4 = s.arg4;\n s.pc = 8; return s.tmp_1;\n case 8:\n r0 = s.retval;\n s.hn___8809 = (s.tmp_0);\n r0 = s.arg0.fields[\"handlers\"];\n s.tmp_0 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.hn___8809);\n s.tmp_0 = control_EventHandler_register__P216_mk(s);\n s.tmp_0.arg0 = s.hn___8809;\n s.pc = 9; return s.tmp_0;\n case 9:\n r0 = s.retval;\n case 7:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_EventContext_registerHandler__P227.info = {\"start\":4832,\"length\":525,\"line\":150,\"column\":8,\"endLine\":163,\"endColumn\":9,\"fileName\":\"pxt_modules/base/eventcontext.ts\",\"functionName\":\"registerHandler\",\"argumentNames\":[\"this\",\"src\",\"value\",\"handler\",\"flags\"]}\n\nfunction control_EventContext_registerHandler__P227_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_EventContext_registerHandler__P227, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n h___8793: undefined,\n unnamed50___U1: undefined,\n unnamed51___U2: undefined,\n hn___8809: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n} }\n\n\n\n\n\nfunction control_EventHandler_constructor__P218(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, control_EventHandler__C215_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"src\"] = (s.arg1);\n r0 = (s.arg0).fields[\"value\"] = (s.arg2);\n r0 = (s.arg0).fields[\"handler\"] = (s.arg3);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_EventHandler_constructor__P218.info = {\"start\":876,\"length\":183,\"line\":28,\"column\":8,\"endLine\":32,\"endColumn\":9,\"fileName\":\"pxt_modules/base/eventcontext.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"src\",\"value\",\"handler\",\"flags\"]}\n\nfunction control_EventHandler_constructor__P218_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_EventHandler_constructor__P218, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n} }\n\n\n\n\n\nfunction game_eventContext__P1017(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = game_init__P1018_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = globals._scene___1008.fields[\"eventContext\"];\n return leave(s, r0)\n default: oops()\n} } }\ngame_eventContext__P1017.info = {\"start\":1084,\"length\":112,\"line\":40,\"column\":4,\"endLine\":43,\"endColumn\":5,\"fileName\":\"pxt_modules/game/game.ts\",\"functionName\":\"eventContext\",\"argumentNames\":[]}\n\nfunction game_eventContext__P1017_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_eventContext__P1017, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction controller_pauseUntilAnyButtonIsPressed__P585(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n setupResume(s, 1);\n pxsim.control.waitForEvent(2049, 0);\n checkResumeConsumed();\n return;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_pauseUntilAnyButtonIsPressed__P585.info = {\"start\":17360,\"length\":96,\"line\":537,\"column\":4,\"endLine\":539,\"endColumn\":5,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"pauseUntilAnyButtonIsPressed\",\"argumentNames\":[]}\n\nfunction controller_pauseUntilAnyButtonIsPressed__P585_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_pauseUntilAnyButtonIsPressed__P585, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n} }\n\n\n\n\n\nfunction game_setWaitAnyButton__P1015(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n globals.__waitAnyButton___1012 = (s.arg0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_setWaitAnyButton__P1015.info = {\"start\":878,\"length\":83,\"line\":31,\"column\":4,\"endLine\":33,\"endColumn\":5,\"fileName\":\"pxt_modules/game/game.ts\",\"functionName\":\"setWaitAnyButton\",\"argumentNames\":[\"f\"]}\n\nfunction game_setWaitAnyButton__P1015_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_setWaitAnyButton__P1015, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Math_abs__P59(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = (0 - s.arg0);\n { step = 2; continue; }\n case 1:\n r0 = s.arg0;\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = s.tmp_1;\n return leave(s, r0)\n default: oops()\n} } }\nMath_abs__P59.info = {\"start\":10354,\"length\":77,\"line\":348,\"column\":4,\"endLine\":350,\"endColumn\":5,\"fileName\":\"pxt_modules/base/pxt-helpers.ts\",\"functionName\":\"abs\",\"argumentNames\":[\"x\"]}\n\nfunction Math_abs__P59_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Math_abs__P59, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Math_sign__P60(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 == 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = 0;\n { step = 5; continue; }\n case 1:\n case 2:\n r0 = (s.arg0 > 0);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 3; continue; }\n r0 = 1;\n { step = 5; continue; }\n case 3:\n case 4:\n r0 = -1;\n case 5:\n return leave(s, r0)\n default: oops()\n} } }\nMath_sign__P60.info = {\"start\":10589,\"length\":125,\"line\":356,\"column\":4,\"endLine\":360,\"endColumn\":5,\"fileName\":\"pxt_modules/base/pxt-helpers.ts\",\"functionName\":\"sign\",\"argumentNames\":[\"x\"]}\n\nfunction Math_sign__P60_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Math_sign__P60, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction texteffects_TextEffect_constructor__P1449(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, texteffects_TextEffect__C1448_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"getState\"] = (s.arg1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ntexteffects_TextEffect_constructor__P1449.info = {\"start\":657,\"length\":133,\"line\":25,\"column\":8,\"endLine\":27,\"endColumn\":9,\"fileName\":\"pxt_modules/game/texteffects.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"getState\"]}\n\nfunction texteffects_TextEffect_constructor__P1449_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: texteffects_TextEffect_constructor__P1449, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Math_FastRandom_constructor__P1163(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Math_FastRandom__C1156_VT)) failedCast(r0);\n r0 = (s.arg1 === undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim.Math_.randomRange(1, 65535);\n s.arg1 = (r0);\n case 1:\n case 2:\n r0 = (s.arg0).fields[\"seed\"] = (s.arg1);\n r0 = (s.arg0).fields[\"lfsr\"] = (s.arg1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nMath_FastRandom_constructor__P1163.info = {\"start\":1392,\"length\":175,\"line\":43,\"column\":8,\"endLine\":47,\"endColumn\":9,\"fileName\":\"pxt_modules/game/mathUtil.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"seed\"]}\n\nfunction Math_FastRandom_constructor__P1163_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Math_FastRandom_constructor__P1163, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction control_ramSize__P179(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_pxtcore.getConfig(205, 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = (32 * 1024);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 * 1024);\n case 2:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = s.tmp_2;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_ramSize__P179.info = {\"start\":7962,\"length\":100,\"line\":265,\"column\":4,\"endLine\":267,\"endColumn\":5,\"fileName\":\"pxt_modules/base/control.ts\",\"functionName\":\"ramSize\",\"argumentNames\":[]}\n\nfunction control_ramSize__P179_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_ramSize__P179, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n} }\n\n\n\n\n\nfunction control__ramSize__P178(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = (32 * 1024);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 * 1024);\n return leave(s, r0)\n default: oops()\n} } }\ncontrol__ramSize__P178.info = {\"start\":7842,\"length\":60,\"line\":260,\"column\":4,\"endLine\":262,\"endColumn\":5,\"fileName\":\"pxt_modules/base/control.ts\",\"functionName\":\"_ramSize\",\"argumentNames\":[]}\n\nfunction control__ramSize__P178_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control__ramSize__P178, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction game_consoleOverlay_listener__P1267(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_numops_toBoolDecr(globals.consoleStrings___1239);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n case 2:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 3; continue; }\n { step = 7; continue; }\n case 3:\n case 4:\n s.tmp_4 = helpers_arrayForEach__P47_mk(s);\n s.tmp_5 = helpers_arrayFilter__P48_mk(s);\n s.tmp_6 = helpers_stringSplit__P55_mk(s);\n s.tmp_6.arg0 = s.arg1;\n s.tmp_6.arg1 = \"\\\\n\";\n s.tmp_6.arg2 = undefined;\n s.pc = 10; return s.tmp_6;\n case 10:\n r0 = s.retval;\n s.tmp_5.arg0 = r0;\n s.tmp_5.arg1 = inline__P8889;\n s.pc = 9; return s.tmp_5;\n case 9:\n r0 = s.retval;\n s.tmp_4.arg0 = r0;\n s.tmp_4.arg1 = inline__P8893;\n s.pc = 8; return s.tmp_4;\n case 8:\n r0 = s.retval;\n r0 = pxsim_Array__length(globals.consoleStrings___1239);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > globals.consoleLines___1245);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n s.tmp_2 = helpers_arraySplice__P36_mk(s);\n s.tmp_2.arg0 = globals.consoleStrings___1239;\n s.tmp_2.arg1 = 0;\n r0 = pxsim_Array__length(globals.consoleStrings___1239);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 - globals.consoleLines___1245);\n s.tmp_2.arg2 = r0;\n s.pc = 11; return s.tmp_2;\n case 11:\n r0 = s.retval;\n case 5:\n case 6:\n case 7:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_consoleOverlay_listener__P1267.info = {\"start\":787,\"length\":571,\"line\":26,\"column\":4,\"endLine\":42,\"endColumn\":5,\"fileName\":\"pxt_modules/game/console.ts\",\"functionName\":\"listener\",\"argumentNames\":[\"priority\",\"text\"]}\n\nfunction game_consoleOverlay_listener__P1267_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_consoleOverlay_listener__P1267, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction inline__P8889(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_numops_toBoolDecr(s.arg0);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\ninline__P8889.info = {\"start\":985,\"length\":14,\"line\":32,\"column\":20,\"endLine\":32,\"endColumn\":34,\"fileName\":\"pxt_modules/game/console.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"line\"]}\n\nfunction inline__P8889_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P8889, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P8893(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.j___8895 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.j___8895 = (0);\n case 1:\n s.tmp_1 = r0 = s.j___8895;\n r0 = pxsim_String_.length(s.arg0);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n s.tmp_3 = r0 = globals.consoleStrings___1239;\n s.tmp_5 = helpers_stringSlice__P53_mk(s);\n s.tmp_5.arg0 = s.arg0;\n s.tmp_5.arg1 = s.j___8895;\n r0 = (s.j___8895 + globals.consoleColumns___1255);\n s.tmp_5.arg2 = r0;\n s.pc = 3; return s.tmp_5;\n case 3:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = pxsim_Array__push(s.tmp_3, s.tmp_4);\n r0 = (s.j___8895 + globals.consoleColumns___1255);\n s.j___8895 = (r0);\n { step = 1; continue; }\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P8893.info = {\"start\":1022,\"length\":189,\"line\":33,\"column\":21,\"endLine\":37,\"endColumn\":13,\"fileName\":\"pxt_modules/game/console.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"line\"]}\n\nfunction inline__P8893_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P8893, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n j___8895: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction console_addListener__P194(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_numops_toBoolDecr(s.arg0);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = pxsim_Array_.indexOf(globals.listeners___186, s.arg0, undefined);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 > -1);\n case 2:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 3; continue; }\n { step = 5; continue; }\n case 3:\n case 4:\n r0 = pxsim_Array__push(globals.listeners___186, s.arg0);\n case 5:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nconsole_addListener__P194.info = {\"start\":3460,\"length\":197,\"line\":118,\"column\":4,\"endLine\":121,\"endColumn\":5,\"fileName\":\"pxt_modules/base/console.ts\",\"functionName\":\"addListener\",\"argumentNames\":[\"listener\"]}\n\nfunction console_addListener__P194_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: console_addListener__P194, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P8934(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim.control.__log(s.arg0, s.arg1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P8934.info = {\"start\":534,\"length\":85,\"line\":25,\"column\":8,\"endLine\":25,\"endColumn\":93,\"fileName\":\"pxt_modules/base/console.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"priority\",\"text\"]}\n\nfunction inline__P8934_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P8934, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_register__P1196(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals.instance___1164);\n if (!r0) { step = 1; continue; }\n { step = 3; continue; }\n case 1:\n case 2:\n s.tmp_0 = controller_Button_onEvent__P543_mk(s);\n s.tmp_0.arg0 = globals.menu___531;\n s.tmp_0.arg1 = 2049;\n s.tmp_0.arg2 = scene_systemMenu_showSystemMenu__P1197;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n case 3:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_register__P1196.info = {\"start\":12112,\"length\":193,\"line\":365,\"column\":4,\"endLine\":369,\"endColumn\":5,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"register\",\"argumentNames\":[]}\n\nfunction scene_systemMenu_register__P1196_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_register__P1196, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_showSystemMenu__P1197(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals.instance___1164);\n if (!r0) { step = 1; continue; }\n { step = 3; continue; }\n case 1:\n case 2:\n s.tmp_0 = game_pushScene__P1019_mk(s);\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_PauseMenu__C1176_VT);\n s.tmp_0 = r0;\n s.tmp_1 = scene_systemMenu_PauseMenu_constructor__P1183_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = scene_systemMenu_buildOptionList__P1193;\n s.tmp_1.arg2 = undefined;\n s.pc = 5; return s.tmp_1;\n case 5:\n r0 = s.retval;\n globals.instance___1164 = (s.tmp_0);\n s.tmp_0 = scene_systemMenu_PauseMenu_show__P1177_mk(s);\n s.tmp_0.arg0 = globals.instance___1164;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n case 3:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_showSystemMenu__P1197.info = {\"start\":12311,\"length\":172,\"line\":371,\"column\":4,\"endLine\":376,\"endColumn\":5,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"showSystemMenu\",\"argumentNames\":[]}\n\nfunction scene_systemMenu_showSystemMenu__P1197_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_showSystemMenu__P1197, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_buildOptionList__P1193(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.options___9511 = undefined;\n r0 = pxsim_Array__mk();\n s.options___9511 = (r0);\n r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_MenuOption__C1167_VT);\n s.tmp_0 = r0;\n s.tmp_1 = scene_systemMenu_MenuOption_constructor__P1175_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = globals.VOLUME_DOWN_ICON___1223;\n s.tmp_1.arg2 = inline__P9519;\n s.tmp_1.arg3 = scene_systemMenu_volumeDown__P1186;\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n r0 = pxsim_Array__push(s.options___9511, s.tmp_0);\n r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_MenuOption__C1167_VT);\n s.tmp_0 = r0;\n s.tmp_1 = scene_systemMenu_MenuOption_constructor__P1175_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = globals.VOLUME_UP_ICON___1214;\n s.tmp_1.arg2 = inline__P9533;\n s.tmp_1.arg3 = scene_systemMenu_volumeUp__P1185;\n s.pc = 4; return s.tmp_1;\n case 4:\n r0 = s.retval;\n r0 = pxsim_Array__push(s.options___9511, s.tmp_0);\n r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_MenuOption__C1167_VT);\n s.tmp_0 = r0;\n s.tmp_1 = scene_systemMenu_MenuOption_constructor__P1175_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = globals.BRIGHTNESS_DOWN_ICON___1217;\n s.tmp_1.arg2 = inline__P9547;\n s.tmp_1.arg3 = scene_systemMenu_brightnessDown__P1188;\n s.pc = 5; return s.tmp_1;\n case 5:\n r0 = s.retval;\n r0 = pxsim_Array__push(s.options___9511, s.tmp_0);\n r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_MenuOption__C1167_VT);\n s.tmp_0 = r0;\n s.tmp_1 = scene_systemMenu_MenuOption_constructor__P1175_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = globals.BRIGHTNESS_UP_ICON___1232;\n s.tmp_1.arg2 = inline__P9563;\n s.tmp_1.arg3 = scene_systemMenu_brightnessUp__P1187;\n s.pc = 6; return s.tmp_1;\n case 6:\n r0 = s.retval;\n r0 = pxsim_Array__push(s.options___9511, s.tmp_0);\n r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_MenuOption__C1167_VT);\n s.tmp_0 = r0;\n s.tmp_1 = scene_systemMenu_MenuOption_constructor__P1175_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = globals.STATS_ICON___1235;\n s.tmp_1.arg2 = inline__P9578;\n s.tmp_1.arg3 = scene_systemMenu_toggleStats__P1189;\n s.pc = 7; return s.tmp_1;\n case 7:\n r0 = s.retval;\n r0 = pxsim_Array__push(s.options___9511, s.tmp_0);\n r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_MenuOption__C1167_VT);\n s.tmp_0 = r0;\n s.tmp_1 = scene_systemMenu_MenuOption_constructor__P1175_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = globals.CONSOLE_ICON___1229;\n s.tmp_1.arg2 = inline__P9587;\n s.tmp_1.arg3 = scene_systemMenu_toggleConsole__P1190;\n s.pc = 8; return s.tmp_1;\n case 8:\n r0 = s.retval;\n r0 = pxsim_Array__push(s.options___9511, s.tmp_0);\n r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_MenuOption__C1167_VT);\n s.tmp_0 = r0;\n s.tmp_1 = scene_systemMenu_MenuOption_constructor__P1175_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = globals.SLEEP_ICON___1226;\n s.tmp_1.arg2 = inline__P9596;\n s.tmp_1.arg3 = scene_systemMenu_sleep__P1191;\n s.pc = 9; return s.tmp_1;\n case 9:\n r0 = s.retval;\n r0 = pxsim_Array__push(s.options___9511, s.tmp_0);\n r0 = pxsim_numops_toBoolDecr(globals.customMenuOptions___1165);\n if (!r0) { step = 1; continue; }\n s.tmp_0 = helpers_arrayConcat__P51_mk(s);\n s.tmp_0.arg0 = s.options___9511;\n s.tmp_0.arg1 = globals.customMenuOptions___1165;\n s.pc = 10; return s.tmp_0;\n case 10:\n r0 = s.retval;\n s.options___9511 = (r0);\n case 1:\n case 2:\n r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_MenuOption__C1167_VT);\n s.tmp_0 = r0;\n s.tmp_1 = scene_systemMenu_MenuOption_constructor__P1175_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = globals.CLOSE_MENU_ICON___1220;\n s.tmp_1.arg2 = inline__P9610;\n s.tmp_1.arg3 = scene_systemMenu_closeMenu__P1192;\n s.pc = 11; return s.tmp_1;\n case 11:\n r0 = s.retval;\n r0 = pxsim_Array__push(s.options___9511, s.tmp_0);\n r0 = s.options___9511;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_buildOptionList__P1193.info = {\"start\":9882,\"length\":1085,\"line\":319,\"column\":4,\"endLine\":337,\"endColumn\":5,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"buildOptionList\",\"argumentNames\":[]}\n\nfunction scene_systemMenu_buildOptionList__P1193_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_buildOptionList__P1193, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n options___9511: undefined,\n} }\n\n\n\n\n\nfunction inline__P9519(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_3 = music_volume__P342_mk(s);\n s.pc = 1; return s.tmp_3;\n case 1:\n r0 = s.retval;\n s.tmp_2 = r0;\n if ((s.tmp_2) && (s.tmp_2).vtable) {\n setupResume(s, 2);\n pxsim_String__stringConv(s.tmp_2);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_2) + \"\"; }\n case 2:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_String__concat(\"VOLUME DOWN (\", s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_String__concat(s.tmp_0, \")\");\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9519.info = {\"start\":10027,\"length\":39,\"line\":322,\"column\":54,\"endLine\":322,\"endColumn\":93,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P9519_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9519, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n} }\n\n\n\n\n\nfunction inline__P9533(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_3 = music_volume__P342_mk(s);\n s.pc = 1; return s.tmp_3;\n case 1:\n r0 = s.retval;\n s.tmp_2 = r0;\n if ((s.tmp_2) && (s.tmp_2).vtable) {\n setupResume(s, 2);\n pxsim_String__stringConv(s.tmp_2);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_2) + \"\"; }\n case 2:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_String__concat(\"VOLUME UP (\", s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_String__concat(s.tmp_0, \")\");\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9533.info = {\"start\":10134,\"length\":37,\"line\":323,\"column\":52,\"endLine\":323,\"endColumn\":89,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P9533_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9533, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n} }\n\n\n\n\n\nfunction inline__P9547(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = globals.brightness___401;\n s.tmp_2 = r0;\n if ((s.tmp_2) && (s.tmp_2).vtable) {\n setupResume(s, 1);\n pxsim_String__stringConv(s.tmp_2);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_2) + \"\"; }\n case 1:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_String__concat(\"BRIGHTNESS DOWN (\", s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_String__concat(s.tmp_0, \")\");\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9547.info = {\"start\":10243,\"length\":48,\"line\":324,\"column\":58,\"endLine\":324,\"endColumn\":106,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P9547_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9547, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n} }\n\n\n\n\n\nfunction inline__P9563(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = globals.brightness___401;\n s.tmp_2 = r0;\n if ((s.tmp_2) && (s.tmp_2).vtable) {\n setupResume(s, 1);\n pxsim_String__stringConv(s.tmp_2);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_2) + \"\"; }\n case 1:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_String__concat(\"BRIGHTNESS UP (\", s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_String__concat(s.tmp_0, \")\");\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9563.info = {\"start\":10367,\"length\":46,\"line\":325,\"column\":56,\"endLine\":325,\"endColumn\":102,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P9563_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9563, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n} }\n\n\n\n\n\nfunction inline__P9578(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals.stats___999);\n if (!r0) { step = 1; continue; }\n r0 = \"HIDE STATS\";\n { step = 2; continue; }\n case 1:\n r0 = \"SHOW STATS\";\n case 2:\n // jmp value (already in r0)\n s.tmp_0 = r0;\n r0 = s.tmp_0;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9578.info = {\"start\":10479,\"length\":46,\"line\":326,\"column\":48,\"endLine\":326,\"endColumn\":94,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P9578_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9578, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction inline__P9587(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals.consoleStrings___1239);\n s.tmp_3 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = \"HIDE CONSOLE\";\n { step = 2; continue; }\n case 1:\n r0 = \"SHOW CONSOLE\";\n case 2:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n r0 = s.tmp_4;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9587.info = {\"start\":10592,\"length\":71,\"line\":327,\"column\":50,\"endLine\":327,\"endColumn\":121,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P9587_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9587, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n} }\n\n\n\n\n\nfunction inline__P9596(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = \"SLEEP\";\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9596.info = {\"start\":10730,\"length\":13,\"line\":328,\"column\":48,\"endLine\":328,\"endColumn\":61,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P9596_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9596, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n} }\n\n\n\n\n\nfunction inline__P9610(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = \"CLOSE\";\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9610.info = {\"start\":10909,\"length\":13,\"line\":334,\"column\":53,\"endLine\":334,\"endColumn\":66,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P9610_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9610, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n} }\n\n\n\n\n\nfunction game_consoleOverlay_isVisible__P1268(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals.consoleStrings___1239);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\ngame_consoleOverlay_isVisible__P1268.info = {\"start\":422,\"length\":68,\"line\":11,\"column\":4,\"endLine\":13,\"endColumn\":5,\"fileName\":\"pxt_modules/game/console.ts\",\"functionName\":\"isVisible\",\"argumentNames\":[]}\n\nfunction game_consoleOverlay_isVisible__P1268_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_consoleOverlay_isVisible__P1268, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_closeMenu__P1192(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals.instance___1164);\n if (!r0) { step = 1; continue; }\n s.tmp_0 = scene_systemMenu_PauseMenu_dispose__P1181_mk(s);\n s.tmp_0.arg0 = globals.instance___1164;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n globals.instance___1164 = (undefined);\n s.tmp_0 = controller__setUserEventsEnabled__P586_mk(s);\n s.tmp_0.arg0 = true;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n s.tmp_0 = game_popScene__P1020_mk(s);\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_closeMenu__P1192.info = {\"start\":9667,\"length\":209,\"line\":310,\"column\":4,\"endLine\":317,\"endColumn\":5,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"closeMenu\",\"argumentNames\":[]}\n\nfunction scene_systemMenu_closeMenu__P1192_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_closeMenu__P1192, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_PauseMenu_dispose__P1181(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_systemMenu_PauseMenu__C1176_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"options\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_1 = helpers_arrayForEach__P47_mk(s);\n r0 = s.arg0.fields[\"options\"];\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = inline__P9370;\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n r0 = (s.arg0).fields[\"options\"] = (undefined);\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_PauseMenu_dispose__P1181.info = {\"start\":7732,\"length\":165,\"line\":243,\"column\":8,\"endLine\":248,\"endColumn\":9,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"dispose\",\"argumentNames\":[\"this\"]}\n\nfunction scene_systemMenu_PauseMenu_dispose__P1181_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_PauseMenu_dispose__P1181, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P9370(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = scene_systemMenu_MenuOption_dispose__P1173_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9370.info = {\"start\":7813,\"length\":16,\"line\":245,\"column\":37,\"endLine\":245,\"endColumn\":53,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"o\"]}\n\nfunction inline__P9370_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9370, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_MenuOption_dispose__P1173(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_systemMenu_MenuOption__C1167_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"card\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_1 = Sprite_destroy__P653_mk(s);\n r0 = s.arg0.fields[\"card\"];\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = undefined;\n s.tmp_1.arg2 = undefined;\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n s.tmp_0 = Sprite_destroy__P653_mk(s);\n r0 = s.arg0.fields[\"icon\"];\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = undefined;\n s.tmp_0.arg2 = undefined;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n r0 = (s.arg0).fields[\"card\"] = (undefined);\n r0 = (s.arg0).fields[\"icon\"] = (undefined);\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_MenuOption_dispose__P1173.info = {\"start\":1812,\"length\":216,\"line\":77,\"column\":8,\"endLine\":84,\"endColumn\":9,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"dispose\",\"argumentNames\":[\"this\"]}\n\nfunction scene_systemMenu_MenuOption_dispose__P1173_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_MenuOption_dispose__P1173, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller__setUserEventsEnabled__P586(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n globals._userEventsEnabled___535 = (s.arg0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller__setUserEventsEnabled__P586.info = {\"start\":17462,\"length\":101,\"line\":541,\"column\":4,\"endLine\":543,\"endColumn\":5,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"_setUserEventsEnabled\",\"argumentNames\":[\"enabled\"]}\n\nfunction controller__setUserEventsEnabled__P586_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller__setUserEventsEnabled__P586, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_sleep__P1191(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_pxtcore.deepSleep();\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_sleep__P1191.info = {\"start\":9610,\"length\":51,\"line\":306,\"column\":4,\"endLine\":308,\"endColumn\":5,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"sleep\",\"argumentNames\":[]}\n\nfunction scene_systemMenu_sleep__P1191_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_sleep__P1191, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n} }\n\n\n\n\n\nfunction scene_systemMenu_toggleConsole__P1190(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals.consoleStrings___1239);\n s.tmp_3 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_4 = game_consoleOverlay_setVisible__P1270_mk(s);\n s.tmp_4.arg0 = false;\n s.tmp_4.arg1 = undefined;\n s.pc = 3; return s.tmp_4;\n case 3:\n r0 = s.retval;\n { step = 2; continue; }\n case 1:\n s.tmp_0 = game_consoleOverlay_setVisible__P1270_mk(s);\n s.tmp_0.arg0 = true;\n s.tmp_0.arg1 = undefined;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n s.tmp_0 = console_log__P191_mk(s);\n s.tmp_0.arg0 = \"console\";\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_toggleConsole__P1190.info = {\"start\":9365,\"length\":239,\"line\":297,\"column\":4,\"endLine\":304,\"endColumn\":5,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"toggleConsole\",\"argumentNames\":[]}\n\nfunction scene_systemMenu_toggleConsole__P1190_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_toggleConsole__P1190, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n} }\n\n\n\n\n\nfunction game_consoleOverlay_setVisible__P1270(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n s.tmp_1 = r0 = s.arg0;\n r0 = pxsim_numops_toBoolDecr(globals.consoleStrings___1239);\n s.tmp_5 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_5);\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n s.tmp_3 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 != s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = pxsim_numops_toBoolDecr(s.arg0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_Array__mk();\n { step = 2; continue; }\n case 1:\n r0 = undefined;\n case 2:\n // jmp value (already in r0)\n s.tmp_6 = r0;\n globals.consoleStrings___1239 = (s.tmp_6);\n case 3:\n case 4:\n r0 = (s.arg1 !== undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n globals.consoleColor___1238 = (s.arg1);\n case 5:\n case 6:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_consoleOverlay_setVisible__P1270.info = {\"start\":562,\"length\":219,\"line\":19,\"column\":4,\"endLine\":24,\"endColumn\":5,\"fileName\":\"pxt_modules/game/console.ts\",\"functionName\":\"setVisible\",\"argumentNames\":[\"value\",\"col\"]}\n\nfunction game_consoleOverlay_setVisible__P1270_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_consoleOverlay_setVisible__P1270, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction console_log__P191(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = console_add__P187_mk(s);\n s.tmp_0.arg0 = 1;\n s.tmp_1 = console_inspect__P193_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.tmp_1.arg1 = 20;\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nconsole_log__P191.info = {\"start\":1422,\"length\":95,\"line\":57,\"column\":4,\"endLine\":59,\"endColumn\":5,\"fileName\":\"pxt_modules/base/console.ts\",\"functionName\":\"log\",\"argumentNames\":[\"value\"]}\n\nfunction console_log__P191_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: console_log__P191, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction console_inspect__P193(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.asArr___9658 = undefined;\n s.asString___9675 = undefined;\n s.keys___9685 = undefined;\n s.snipped___9689 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_pxtcore.typeOf(s.arg0);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 == \"string\");\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.arg0;\n { step = 17; continue; }\n { step = 16; continue; }\n case 1:\n r0 = pxsim_pxtcore.typeOf(s.arg0);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 == \"number\");\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 2; continue; }\n r0 = pxsim_String_.mkEmpty();\n s.tmp_4 = r0;\n if ((s.arg0) && (s.arg0).vtable) {\n setupResume(s, 18);\n pxsim_String__stringConv(s.arg0);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.arg0) + \"\"; }\n case 18:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = pxsim_String__concat(s.tmp_4, s.tmp_5);\n { step = 17; continue; }\n { step = 15; continue; }\n case 2:\n r0 = pxsim_Array_.isArray(s.arg0);\n s.tmp_6 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_6);\n if (!r0) { step = 5; continue; }\n s.asArr___9658 = (s.arg0);\n r0 = pxsim_Array__length(s.asArr___9658);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 <= s.arg1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.tmp_2 = helpers_arrayJoin__P39_mk(s);\n s.tmp_2.arg0 = s.asArr___9658;\n s.tmp_2.arg1 = \",\";\n s.pc = 19; return s.tmp_2;\n case 19:\n r0 = s.retval;\n { step = 17; continue; }\n { step = 4; continue; }\n case 3:\n r0 = pxsim_String_.mkEmpty();\n s.tmp_4 = r0;\n s.tmp_7 = helpers_arrayJoin__P39_mk(s);\n s.tmp_8 = helpers_arraySlice__P52_mk(s);\n s.tmp_8.arg0 = s.asArr___9658;\n s.tmp_8.arg1 = 0;\n s.tmp_8.arg2 = s.arg1;\n s.pc = 21; return s.tmp_8;\n case 21:\n r0 = s.retval;\n s.tmp_7.arg0 = r0;\n s.tmp_7.arg1 = \",\";\n s.pc = 20; return s.tmp_7;\n case 20:\n r0 = s.retval;\n s.tmp_6 = r0;\n if ((s.tmp_6) && (s.tmp_6).vtable) {\n setupResume(s, 22);\n pxsim_String__stringConv(s.tmp_6);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_6) + \"\"; }\n case 22:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = pxsim_String__concat(s.tmp_4, s.tmp_5);\n s.tmp_3 = r0;\n r0 = pxsim_String__concat(s.tmp_3, \"...\");\n { step = 17; continue; }\n case 4:\n { step = 14; continue; }\n case 5:\n if ((s.arg0) && (s.arg0).vtable) {\n setupResume(s, 23);\n pxsim_String__stringConv(s.arg0);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.arg0) + \"\"; }\n case 23:\n r0 = s.retval;\n s.tmp_9 = r0;\n r0 = pxsim_String_.mkEmpty();\n s.tmp_10 = r0;\n r0 = pxsim_String__concat(s.tmp_9, s.tmp_10);\n s.asString___9675 = (r0);\n r0 = (s.asString___9675 != \"[object Object]\");\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 6; continue; }\n r0 = s.tmp_0;\n { step = 7; continue; }\n case 6:\n r0 = (s.asString___9675 != \"[Object]\");\n case 7:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 8; continue; }\n r0 = s.asString___9675;\n { step = 17; continue; }\n case 8:\n case 9:\n r0 = pxsim_pxtrt.keysOf(s.arg0);\n s.keys___9685 = (r0);\n r0 = pxsim_Array__length(s.keys___9685);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 > s.arg1);\n s.snipped___9689 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.snipped___9689);\n if (!r0) { step = 10; continue; }\n s.tmp_0 = helpers_arraySlice__P52_mk(s);\n s.tmp_0.arg0 = s.keys___9685;\n s.tmp_0.arg1 = 0;\n s.tmp_0.arg2 = s.arg1;\n s.pc = 24; return s.tmp_0;\n case 24:\n r0 = s.retval;\n s.keys___9685 = (r0);\n case 10:\n case 11:\n r0 = pxsim_pxtcore_mkAction(1, inline__P9706);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n r0 = pxsim_numops_toBoolDecr(s.snipped___9689);\n if (!r0) { step = 12; continue; }\n r0 = \"\\\\n ...\";\n { step = 13; continue; }\n case 12:\n r0 = pxsim_String_.mkEmpty();\n case 13:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n s.tmp_7 = helpers_arrayReduce__P50_mk(s);\n s.tmp_7.arg0 = s.keys___9685;\n s.tmp_7.arg1 = s.tmp_0;\n r0 = pxsim_String_.mkEmpty();\n s.tmp_7.arg2 = r0;\n s.pc = 25; return s.tmp_7;\n case 25:\n r0 = s.retval;\n s.tmp_6 = r0;\n if ((s.tmp_6) && (s.tmp_6).vtable) {\n setupResume(s, 26);\n pxsim_String__stringConv(s.tmp_6);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_6) + \"\"; }\n case 26:\n r0 = s.retval;\n s.tmp_5 = r0;\n if ((s.tmp_1) && (s.tmp_1).vtable) {\n setupResume(s, 27);\n pxsim_String__stringConv(s.tmp_1);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_1) + \"\"; }\n case 27:\n r0 = s.retval;\n s.tmp_8 = r0;\n r0 = pxsim_String__concat(s.tmp_5, s.tmp_8);\n s.tmp_4 = r0;\n if ((s.tmp_4) && (s.tmp_4).vtable) {\n setupResume(s, 28);\n pxsim_String__stringConv(s.tmp_4);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_4) + \"\"; }\n case 28:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = pxsim_String__concat(\"{\", s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_String__concat(s.tmp_2, \"\\\\n}\");\n { step = 17; continue; }\n case 14:\n case 15:\n case 16:\n r0 = undefined;\n case 17:\n return leave(s, r0)\n default: oops()\n} } }\nconsole_inspect__P193.info = {\"start\":2173,\"length\":1190,\"line\":78,\"column\":4,\"endLine\":111,\"endColumn\":5,\"fileName\":\"pxt_modules/base/console.ts\",\"functionName\":\"inspect\",\"argumentNames\":[\"obj\",\"maxElements\"]}\n\nfunction console_inspect__P193_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: console_inspect__P193, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n asArr___9658: undefined,\n asString___9675: undefined,\n keys___9685: undefined,\n snipped___9689: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction inline__P9706(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n if ((s.arg0) && (s.arg0).vtable) {\n setupResume(s, 1);\n pxsim_String__stringConv(s.arg0);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.arg0) + \"\"; }\n case 1:\n r0 = s.retval;\n s.tmp_0 = r0;\n if ((s.arg1) && (s.arg1).vtable) {\n setupResume(s, 2);\n pxsim_String__stringConv(s.arg1);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.arg1) + \"\"; }\n case 2:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = pxsim_String__concat(\"\\\\n \", s.tmp_5);\n s.tmp_4 = r0;\n r0 = pxsim_String__concat(s.tmp_4, \": \");\n s.tmp_3 = r0;\n r0 = pxsim_pxtrt.mapGetGeneric(s.caps[0], s.arg1);\n s.tmp_7 = r0;\n if ((s.tmp_7) && (s.tmp_7).vtable) {\n setupResume(s, 3);\n pxsim_String__stringConv(s.tmp_7);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_7) + \"\"; }\n case 3:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = pxsim_String__concat(s.tmp_3, s.tmp_6);\n s.tmp_2 = r0;\n if ((s.tmp_2) && (s.tmp_2).vtable) {\n setupResume(s, 4);\n pxsim_String__stringConv(s.tmp_2);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_2) + \"\"; }\n case 4:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_String__concat(s.tmp_0, s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9706.info = {\"start\":3195,\"length\":61,\"line\":105,\"column\":20,\"endLine\":105,\"endColumn\":81,\"fileName\":\"pxt_modules/base/console.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"prev\",\"currKey\"]}\n\nfunction inline__P9706_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9706, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction helpers_arrayReduce__P50(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.len___9733 = undefined;\n s.i___9736 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_Array__length(s.arg0);\n s.len___9733 = (r0);\n s.i___9736 = (0);\n case 1:\n r0 = (s.i___9736 < s.len___9733);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n s.tmp_1 = lambda_4_mk(s);\n s.tmp_1.argL = s.arg1;\n s.tmp_1.arg0 = s.arg2;\n r0 = pxsim_Array__getAt(s.arg0, s.i___9736);\n s.tmp_1.arg1 = r0;\n s.tmp_1.arg2 = s.i___9736;\n setupLambda(s.tmp_1, s.tmp_1.argL);\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n s.arg2 = (r0);\n r0 = (s.i___9736 + 1);\n s.i___9736 = (r0);\n { step = 1; continue; }\n case 2:\n r0 = s.arg2;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_arrayReduce__P50.info = {\"start\":6033,\"length\":317,\"line\":196,\"column\":4,\"endLine\":202,\"endColumn\":5,\"fileName\":\"pxt_modules/base/pxt-helpers.ts\",\"functionName\":\"arrayReduce\",\"argumentNames\":[\"arr\",\"callbackfn\",\"initialValue\"]}\n\nfunction helpers_arrayReduce__P50_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_arrayReduce__P50, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n len___9733: undefined,\n i___9736: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction helpers_arrayJoin__P39(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.r___9757 = undefined;\n s.len___9758 = undefined;\n s.i___9761 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg1 === undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = (s.arg1 === null);\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 3; continue; }\n s.arg1 = (\",\");\n case 3:\n case 4:\n r0 = pxsim_String_.mkEmpty();\n s.r___9757 = (r0);\n r0 = pxsim_Array__length(s.arg0);\n s.len___9758 = (r0);\n s.i___9761 = (0);\n case 5:\n r0 = (s.i___9761 < s.len___9758);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 14; continue; }\n r0 = (s.i___9761 > 0);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBool(s.tmp_1);\n if (r0) { step = 6; continue; }\n r0 = s.tmp_1;\n { step = 7; continue; }\n case 6:\n r0 = s.arg1;\n case 7:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 8; continue; }\n if ((s.r___9757) && (s.r___9757).vtable) {\n setupResume(s, 15);\n pxsim_String__stringConv(s.r___9757);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.r___9757) + \"\"; }\n case 15:\n r0 = s.retval;\n s.tmp_3 = r0;\n if ((s.arg1) && (s.arg1).vtable) {\n setupResume(s, 16);\n pxsim_String__stringConv(s.arg1);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.arg1) + \"\"; }\n case 16:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = pxsim_String__concat(s.tmp_3, s.tmp_4);\n s.r___9757 = (r0);\n case 8:\n case 9:\n r0 = pxsim_Array__getAt(s.arg0, s.i___9761);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 === undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 10; continue; }\n r0 = s.tmp_0;\n { step = 11; continue; }\n case 10:\n r0 = pxsim_Array__getAt(s.arg0, s.i___9761);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 === null);\n case 11:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 12; continue; }\n r0 = pxsim_String_.mkEmpty();\n { step = 13; continue; }\n case 12:\n r0 = pxsim_Array__getAt(s.arg0, s.i___9761);\n case 13:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n if ((s.r___9757) && (s.r___9757).vtable) {\n setupResume(s, 17);\n pxsim_String__stringConv(s.r___9757);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.r___9757) + \"\"; }\n case 17:\n r0 = s.retval;\n s.tmp_5 = r0;\n if ((s.tmp_4) && (s.tmp_4).vtable) {\n setupResume(s, 18);\n pxsim_String__stringConv(s.tmp_4);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_4) + \"\"; }\n case 18:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = pxsim_String__concat(s.tmp_5, s.tmp_6);\n s.r___9757 = (r0);\n r0 = (s.i___9761 + 1);\n s.i___9761 = (r0);\n { step = 5; continue; }\n case 14:\n r0 = s.r___9757;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_arrayJoin__P39.info = {\"start\":1850,\"length\":432,\"line\":73,\"column\":4,\"endLine\":86,\"endColumn\":5,\"fileName\":\"pxt_modules/base/pxt-helpers.ts\",\"functionName\":\"arrayJoin\",\"argumentNames\":[\"arr\",\"sep\"]}\n\nfunction helpers_arrayJoin__P39_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_arrayJoin__P39, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n r___9757: undefined,\n len___9758: undefined,\n i___9761: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction console_add__P187(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.i___9802 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 < globals.minPriority___185);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 5; continue; }\n case 1:\n case 2:\n if ((s.arg1) && (s.arg1).vtable) {\n setupResume(s, 6);\n pxsim_String__stringConv(s.arg1);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.arg1) + \"\"; }\n case 6:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_String__concat(s.tmp_1, \"\\\\n\");\n s.arg1 = (r0);\n s.i___9802 = (0);\n case 3:\n s.tmp_1 = r0 = s.i___9802;\n r0 = pxsim_Array__length(globals.listeners___186);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 4; continue; }\n s.tmp_3 = lambda_3_mk(s);\n r0 = pxsim_Array__getAt(globals.listeners___186, s.i___9802);\n s.tmp_3.argL = r0;\n s.tmp_3.arg0 = s.arg0;\n s.tmp_3.arg1 = s.arg1;\n setupLambda(s.tmp_3, s.tmp_3.argL);\n s.pc = 7; return s.tmp_3;\n case 7:\n r0 = s.retval;\n r0 = (s.i___9802 + 1);\n s.i___9802 = (r0);\n { step = 3; continue; }\n case 4:\n case 5:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nconsole_add__P187.info = {\"start\":632,\"length\":280,\"line\":28,\"column\":4,\"endLine\":35,\"endColumn\":5,\"fileName\":\"pxt_modules/base/console.ts\",\"functionName\":\"add\",\"argumentNames\":[\"priority\",\"text\"]}\n\nfunction console_add__P187_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: console_add__P187, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n i___9802: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_toggleStats__P1189(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals.stats___999);\n s.tmp_0 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_0);\n globals.stats___999 = (r0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_toggleStats__P1189.info = {\"start\":9295,\"length\":64,\"line\":293,\"column\":4,\"endLine\":295,\"endColumn\":5,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"toggleStats\",\"argumentNames\":[]}\n\nfunction scene_systemMenu_toggleStats__P1189_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_toggleStats__P1189, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_brightnessDown__P1188(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = helpers_setScreenBrightness__P419_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n r0 = globals.brightness___401;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - 10);\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_brightnessDown__P1188.info = {\"start\":9200,\"length\":89,\"line\":289,\"column\":4,\"endLine\":291,\"endColumn\":5,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"brightnessDown\",\"argumentNames\":[]}\n\nfunction scene_systemMenu_brightnessDown__P1188_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_brightnessDown__P1188, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n} }\n\n\n\n\n\nfunction helpers_setScreenBrightness__P419(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = Math_clamp__P58_mk(s);\n s.tmp_0.arg0 = 10;\n s.tmp_0.arg1 = 100;\n r0 = (s.arg1 | 0);\n s.tmp_0.arg2 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.arg1 = (r0);\n globals.brightness___401 = (s.arg1);\n r0 = pxsim_pxtcore.setScreenBrightness(globals.brightness___401);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_setScreenBrightness__P419.info = {\"start\":7332,\"length\":210,\"line\":237,\"column\":4,\"endLine\":241,\"endColumn\":5,\"fileName\":\"pxt_modules/screen/image.ts\",\"functionName\":\"setScreenBrightness\",\"argumentNames\":[\"img\",\"b\"]}\n\nfunction helpers_setScreenBrightness__P419_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_setScreenBrightness__P419, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_brightnessUp__P1187(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = helpers_setScreenBrightness__P419_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n r0 = globals.brightness___401;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 + 10);\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_brightnessUp__P1187.info = {\"start\":9107,\"length\":87,\"line\":285,\"column\":4,\"endLine\":287,\"endColumn\":5,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"brightnessUp\",\"argumentNames\":[]}\n\nfunction scene_systemMenu_brightnessUp__P1187_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_brightnessUp__P1187, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_volumeDown__P1186(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.v___9937 = undefined;\n s.remainder___9939 = undefined;\n s.newVolume___9941 = undefined;\n s.tmp_0 = music_volume__P342_mk(s);\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.v___9937 = (r0);\n r0 = (s.v___9937 % 32);\n s.remainder___9939 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.remainder___9939);\n if (!r0) { step = 1; continue; }\n r0 = s.remainder___9939;\n { step = 2; continue; }\n case 1:\n r0 = 32;\n case 2:\n // jmp value (already in r0)\n s.tmp_0 = r0;\n r0 = (s.v___9937 - s.tmp_0);\n s.newVolume___9941 = (r0);\n s.tmp_0 = scene_systemMenu_setVolume__P1184_mk(s);\n s.tmp_0.arg0 = s.newVolume___9941;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_volumeDown__P1186.info = {\"start\":8914,\"length\":187,\"line\":278,\"column\":4,\"endLine\":283,\"endColumn\":5,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"volumeDown\",\"argumentNames\":[]}\n\nfunction scene_systemMenu_volumeDown__P1186_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_volumeDown__P1186, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n v___9937: undefined,\n remainder___9939: undefined,\n newVolume___9941: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_setVolume__P1184(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = music_setVolume__P341_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.tmp_0 = music_playTone__P344_mk(s);\n s.tmp_0.arg0 = 440;\n s.tmp_0.arg1 = 500;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n s.tmp_0 = settings_writeNumber__P496_mk(s);\n s.tmp_0.arg0 = \"#volume\";\n s.tmp_0.arg1 = s.arg0;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_setVolume__P1184.info = {\"start\":8565,\"length\":166,\"line\":265,\"column\":4,\"endLine\":269,\"endColumn\":5,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"setVolume\",\"argumentNames\":[\"newVolume\"]}\n\nfunction scene_systemMenu_setVolume__P1184_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_setVolume__P1184, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction music_playTone__P344(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.id___9880 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_pxtrt.mklocRef();\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.arg1);\n s.arg1 = (s.tmp_0);\n r0 = pxsim_pxtrt_ldlocRef(s.arg1);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 == 0);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_pxtrt_stlocRef(s.arg1, 86400000);\n case 1:\n case 2:\n r0 = pxsim_pxtrt_ldlocRef(s.arg1);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 <= 2000);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.tmp_2 = music_playNoteCore__P343_mk(s);\n s.tmp_2.arg0 = 0;\n s.tmp_2.arg1 = s.arg0;\n r0 = pxsim_pxtrt_ldlocRef(s.arg1);\n s.tmp_2.arg2 = r0;\n s.pc = 5; return s.tmp_2;\n case 5:\n r0 = s.retval;\n s.tmp_0 = pause__P241_mk(s);\n r0 = pxsim_pxtrt_ldlocRef(s.arg1);\n s.tmp_0.arg0 = r0;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n { step = 4; continue; }\n case 3:\n r0 = (globals.playToneID___345 + 1);\n s.tmp_0 = r0;\n globals.playToneID___345 = (r0);\n s.id___9880 = (s.tmp_0);\n r0 = pxsim_pxtcore_mkAction(3, inline__P9885);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.id___9880);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.arg1);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 2, s.arg0);\n r0 = pxsim.control.runInParallel(s.tmp_0);\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nmusic_playTone__P344.info = {\"start\":2591,\"length\":831,\"line\":83,\"column\":4,\"endLine\":108,\"endColumn\":5,\"fileName\":\"pxt_modules/mixer/melody.ts\",\"functionName\":\"playTone\",\"argumentNames\":[\"frequency\",\"ms\"]}\n\nfunction music_playTone__P344_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_playTone__P344, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n id___9880: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction inline__P9885(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.pos___9886 = undefined;\n s.now___9894 = undefined;\n s.d___9897 = undefined;\n s.t___9900 = undefined;\n r0 = pxsim.control.millis();\n s.pos___9886 = (r0);\n case 1:\n r0 = (s.caps[0] == globals.playToneID___345);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 2; continue; }\n r0 = s.tmp_0;\n { step = 3; continue; }\n case 2:\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > 0);\n case 3:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 6; continue; }\n r0 = pxsim.control.millis();\n s.now___9894 = (r0);\n r0 = (s.pos___9886 - s.now___9894);\n s.d___9897 = (r0);\n s.tmp_0 = Math_min__P62_mk(s);\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = 500;\n s.pc = 7; return s.tmp_0;\n case 7:\n r0 = s.retval;\n s.t___9900 = (r0);\n s.tmp_0 = r0 = s.caps[1];\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - s.t___9900);\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1);\n r0 = (s.pos___9886 + s.t___9900);\n s.pos___9886 = (r0);\n s.tmp_0 = music_playNoteCore__P343_mk(s);\n r0 = (s.d___9897 - 1);\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = s.caps[2];\n s.tmp_0.arg2 = s.t___9900;\n s.pc = 8; return s.tmp_0;\n case 8:\n r0 = s.retval;\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 == 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 4; continue; }\n s.tmp_2 = pause__P241_mk(s);\n r0 = (s.d___9897 + s.t___9900);\n s.tmp_2.arg0 = r0;\n s.pc = 9; return s.tmp_2;\n case 9:\n r0 = s.retval;\n { step = 5; continue; }\n case 4:\n s.tmp_0 = pause__P241_mk(s);\n r0 = (s.d___9897 + s.t___9900);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - 100);\n s.tmp_0.arg0 = r0;\n s.pc = 10; return s.tmp_0;\n case 10:\n r0 = s.retval;\n case 5:\n { step = 1; continue; }\n case 6:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9885.info = {\"start\":2890,\"length\":515,\"line\":92,\"column\":34,\"endLine\":106,\"endColumn\":13,\"fileName\":\"pxt_modules/mixer/melody.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P9885_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9885, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n pos___9886: undefined,\n now___9894: undefined,\n d___9897: undefined,\n t___9900: undefined,\n} }\n\n\n\n\n\nfunction music_playNoteCore__P343(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.buf___9923 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = pxsim.control.createBuffer(12);\n s.buf___9923 = (r0);\n s.tmp_0 = music_addNote__P362_mk(s);\n s.tmp_0.arg0 = s.buf___9923;\n s.tmp_0.arg1 = 0;\n s.tmp_0.arg2 = s.arg2;\n s.tmp_0.arg3 = 255;\n s.tmp_0.arg4 = 255;\n s.tmp_0.arg5 = 3;\n s.tmp_0.arg6 = s.arg1;\n s.tmp_1 = music_volume__P342_mk(s);\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n s.tmp_0.arg7 = r0;\n s.tmp_0.arg8 = s.arg1;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = pxsim.music.queuePlayInstructions(s.arg0, s.buf___9923);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nmusic_playNoteCore__P343.info = {\"start\":1877,\"length\":240,\"line\":66,\"column\":4,\"endLine\":70,\"endColumn\":5,\"fileName\":\"pxt_modules/mixer/melody.ts\",\"functionName\":\"playNoteCore\",\"argumentNames\":[\"when\",\"frequency\",\"ms\"]}\n\nfunction music_playNoteCore__P343_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_playNoteCore__P343, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n buf___9923: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_volumeUp__P1185(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.v___9854 = undefined;\n s.remainder___9856 = undefined;\n s.newVolume___9858 = undefined;\n s.tmp_0 = music_volume__P342_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.v___9854 = (r0);\n r0 = (s.v___9854 % 32);\n s.remainder___9856 = (r0);\n r0 = (s.v___9854 + 32);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 - s.remainder___9856);\n s.newVolume___9858 = (r0);\n s.tmp_0 = scene_systemMenu_setVolume__P1184_mk(s);\n s.tmp_0.arg0 = s.newVolume___9858;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_volumeUp__P1185.info = {\"start\":8737,\"length\":171,\"line\":271,\"column\":4,\"endLine\":276,\"endColumn\":5,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"volumeUp\",\"argumentNames\":[]}\n\nfunction scene_systemMenu_volumeUp__P1185_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_volumeUp__P1185, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n v___9854: undefined,\n remainder___9856: undefined,\n newVolume___9858: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_MenuOption_constructor__P1175(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_systemMenu_MenuOption__C1167_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"iconImage\"] = (s.arg1);\n r0 = (s.arg0).fields[\"getText\"] = (s.arg2);\n r0 = (s.arg0).fields[\"action\"] = (s.arg3);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_MenuOption_constructor__P1175.info = {\"start\":786,\"length\":108,\"line\":38,\"column\":8,\"endLine\":39,\"endColumn\":9,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"iconImage\",\"getText\",\"action\"]}\n\nfunction scene_systemMenu_MenuOption_constructor__P1175_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_MenuOption_constructor__P1175, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction helpers_screenBrightness__P420(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = globals.brightness___401;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_screenBrightness__P420.info = {\"start\":7548,\"length\":98,\"line\":243,\"column\":4,\"endLine\":245,\"endColumn\":5,\"fileName\":\"pxt_modules/screen/image.ts\",\"functionName\":\"screenBrightness\",\"argumentNames\":[\"img\"]}\n\nfunction helpers_screenBrightness__P420_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_screenBrightness__P420, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction helpers_arrayConcat__P51(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.out___9615 = undefined;\n s.value___9618 = undefined;\n s.unnamed36___U2 = undefined;\n s.unnamed37___U3 = undefined;\n s.value___9625 = undefined;\n s.unnamed38___U5 = undefined;\n s.unnamed39___U6 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_Array__mk();\n s.out___9615 = (r0);\n s.value___9618 = (undefined);\n s.value___9618 = (undefined);\n s.unnamed36___U2 = (s.arg0);\n s.unnamed37___U3 = (0);\n case 1:\n s.tmp_0 = r0 = s.unnamed37___U3;\n r0 = pxsim_Array__length(s.unnamed36___U2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 2; continue; }\n r0 = pxsim_Array__getAt(s.unnamed36___U2, s.unnamed37___U3);\n s.value___9618 = (r0);\n r0 = pxsim_Array__push(s.out___9615, s.value___9618);\n r0 = (s.unnamed37___U3 + 1);\n s.unnamed37___U3 = (r0);\n { step = 1; continue; }\n case 2:\n s.unnamed36___U2 = (undefined);\n s.value___9625 = (undefined);\n s.value___9625 = (undefined);\n s.unnamed38___U5 = (s.arg1);\n s.unnamed39___U6 = (0);\n case 3:\n s.tmp_0 = r0 = s.unnamed39___U6;\n r0 = pxsim_Array__length(s.unnamed38___U5);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 4; continue; }\n r0 = pxsim_Array__getAt(s.unnamed38___U5, s.unnamed39___U6);\n s.value___9625 = (r0);\n r0 = pxsim_Array__push(s.out___9615, s.value___9625);\n r0 = (s.unnamed39___U6 + 1);\n s.unnamed39___U6 = (r0);\n { step = 3; continue; }\n case 4:\n s.unnamed38___U5 = (undefined);\n r0 = s.out___9615;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_arrayConcat__P51.info = {\"start\":6356,\"length\":264,\"line\":204,\"column\":4,\"endLine\":213,\"endColumn\":5,\"fileName\":\"pxt_modules/base/pxt-helpers.ts\",\"functionName\":\"arrayConcat\",\"argumentNames\":[\"arr\",\"otherArr\"]}\n\nfunction helpers_arrayConcat__P51_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_arrayConcat__P51, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n out___9615: undefined,\n value___9618: undefined,\n unnamed36___U2: undefined,\n unnamed37___U3: undefined,\n value___9625: undefined,\n unnamed38___U5: undefined,\n unnamed39___U6: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_PauseMenu_constructor__P1183(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_systemMenu_PauseMenu__C1176_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"generator\"] = (s.arg1);\n s.tmp_0 = r0 = s.arg2;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n s.tmp_1 = scene_systemMenu_buildMenuTheme__P1194_mk(s);\n r0 = pxsim_ImageMethods.width(globals.CARD_NORMAL___1205);\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = 3;\n s.tmp_1.arg2 = undefined;\n s.tmp_1.arg3 = undefined;\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n case 2:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = (s.arg0).fields[\"theme\"] = (s.tmp_2);\n r0 = (s.arg0).fields[\"scrollRow\"] = (0);\n r0 = (s.arg0).fields[\"scrollOffset\"] = (0);\n r0 = (s.arg0).fields[\"scrollTarget\"] = (0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_PauseMenu_constructor__P1183.info = {\"start\":3029,\"length\":257,\"line\":116,\"column\":8,\"endLine\":121,\"endColumn\":9,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"generator\",\"theme\"]}\n\nfunction scene_systemMenu_PauseMenu_constructor__P1183_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_PauseMenu_constructor__P1183, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_buildMenuTheme__P1194(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.cardsPerRow___9968 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_0 = r0;\n r0 = (s.arg0 + s.arg1);\n s.tmp_1 = r0;\n r0 = pxsim.Math_.idiv(s.tmp_0, s.tmp_1);\n s.cardsPerRow___9968 = (r0);\n s.tmp_0 = r0 = s.arg2;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = globals.font8___423;\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n s.arg2 = (s.tmp_1);\n s.tmp_0 = r0 = s.arg3;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = s.tmp_0;\n { step = 4; continue; }\n case 3:\n s.tmp_1 = image_doubledFont__P426_mk(s);\n s.tmp_1.arg0 = s.arg2;\n s.pc = 5; return s.tmp_1;\n case 5:\n r0 = s.retval;\n case 4:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n s.arg3 = (s.tmp_2);\n r0 = pxsim_pxtrt.mkMap();\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, \"cardSpacing\", s.arg1);\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, \"cardWidth\", s.arg0);\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, \"cardsPerRow\", s.cardsPerRow___9968);\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_3 = r0;\n r0 = (s.cardsPerRow___9968 * s.arg0);\n s.tmp_5 = r0;\n r0 = (s.cardsPerRow___9968 - 1);\n s.tmp_7 = r0;\n r0 = (s.tmp_7 * s.arg1);\n s.tmp_6 = r0;\n r0 = (s.tmp_5 + s.tmp_6);\n s.tmp_4 = r0;\n r0 = (s.tmp_3 - s.tmp_4);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 >> 1);\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, \"padding\", s.tmp_1);\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, \"infoFont\", s.arg2);\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, \"headerFont\", s.arg3);\n s.tmp_11 = if_charHeight_1_mk(s);\n s.tmp_11.arg0 = s.arg3;\n if (!s.tmp_11.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_11.arg0, \"charHeight\");\n } else {\n s.tmp_11.fn = s.tmp_11.arg0.vtable.iface[\"charHeight\"];\n if (s.tmp_11.fn == null) { s.retval = s.tmp_11.arg0.fields[\"charHeight\"]; }\n else { s.pc = 6; return s.tmp_11; }\n }\n case 6:\n r0 = s.retval;\n s.tmp_10 = r0;\n r0 = (s.tmp_10 + 2);\n s.tmp_9 = r0;\n r0 = (s.tmp_9 + s.arg1);\n s.tmp_8 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, \"cardsTop\", s.tmp_8);\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n s.tmp_14 = r0;\n s.tmp_16 = if_charHeight_1_mk(s);\n s.tmp_16.arg0 = s.arg2;\n if (!s.tmp_16.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_16.arg0, \"charHeight\");\n } else {\n s.tmp_16.fn = s.tmp_16.arg0.vtable.iface[\"charHeight\"];\n if (s.tmp_16.fn == null) { s.retval = s.tmp_16.arg0.fields[\"charHeight\"]; }\n else { s.pc = 7; return s.tmp_16; }\n }\n case 7:\n r0 = s.retval;\n s.tmp_15 = r0;\n r0 = (s.tmp_14 - s.tmp_15);\n s.tmp_13 = r0;\n r0 = (s.tmp_13 - 2);\n s.tmp_12 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, \"infoTop\", s.tmp_12);\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, \"headerText\", \"PAUSED\");\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, \"selectedCard\", globals.CARD_SELECTED___1208);\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, \"activeCard\", globals.CARD_ACTIVE___1211);\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, \"basicCard\", globals.CARD_NORMAL___1205);\n r0 = s.tmp_0;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_buildMenuTheme__P1194.info = {\"start\":10973,\"length\":906,\"line\":339,\"column\":4,\"endLine\":358,\"endColumn\":5,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"buildMenuTheme\",\"argumentNames\":[\"cardWidth\",\"cardSpacing\",\"infoFont\",\"headerFont\"]}\n\nfunction scene_systemMenu_buildMenuTheme__P1194_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_buildMenuTheme__P1194, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n tmp_12: undefined,\n tmp_13: undefined,\n tmp_14: undefined,\n tmp_15: undefined,\n tmp_16: undefined,\n cardsPerRow___9968: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction image_doubledFont__P426(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = image_scaledFont__P427_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = 2;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n return leave(s, r0)\n default: oops()\n} } }\nimage_doubledFont__P426.info = {\"start\":12008,\"length\":82,\"line\":146,\"column\":4,\"endLine\":148,\"endColumn\":5,\"fileName\":\"pxt_modules/screen/text.ts\",\"functionName\":\"doubledFont\",\"argumentNames\":[\"f\"]}\n\nfunction image_doubledFont__P426_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: image_doubledFont__P426, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction image_scaledFont__P427(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg1 | 0);\n s.arg1 = (r0);\n r0 = (s.arg1 < 2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.arg0;\n { step = 5; continue; }\n case 1:\n case 2:\n r0 = pxsim_pxtrt.mkMap();\n s.tmp_1 = r0;\n s.tmp_4 = if_charWidth_1_mk(s);\n s.tmp_4.arg0 = s.arg0;\n if (!s.tmp_4.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_4.arg0, \"charWidth\");\n } else {\n s.tmp_4.fn = s.tmp_4.arg0.vtable.iface[\"charWidth\"];\n if (s.tmp_4.fn == null) { s.retval = s.tmp_4.arg0.fields[\"charWidth\"]; }\n else { s.pc = 6; return s.tmp_4; }\n }\n case 6:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_3 * s.arg1);\n s.tmp_2 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_1, \"charWidth\", s.tmp_2);\n s.tmp_7 = if_charHeight_1_mk(s);\n s.tmp_7.arg0 = s.arg0;\n if (!s.tmp_7.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_7.arg0, \"charHeight\");\n } else {\n s.tmp_7.fn = s.tmp_7.arg0.vtable.iface[\"charHeight\"];\n if (s.tmp_7.fn == null) { s.retval = s.tmp_7.arg0.fields[\"charHeight\"]; }\n else { s.pc = 7; return s.tmp_7; }\n }\n case 7:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = (s.tmp_6 * s.arg1);\n s.tmp_5 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_1, \"charHeight\", s.tmp_5);\n s.tmp_9 = if_data_1_mk(s);\n s.tmp_9.arg0 = s.arg0;\n if (!s.tmp_9.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_9.arg0, \"data\");\n } else {\n s.tmp_9.fn = s.tmp_9.arg0.vtable.iface[\"data\"];\n if (s.tmp_9.fn == null) { s.retval = s.tmp_9.arg0.fields[\"data\"]; }\n else { s.pc = 8; return s.tmp_9; }\n }\n case 8:\n r0 = s.retval;\n s.tmp_8 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_1, \"data\", s.tmp_8);\n s.tmp_11 = if_multiplier_1_mk(s);\n s.tmp_11.arg0 = s.arg0;\n if (!s.tmp_11.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_11.arg0, \"multiplier\");\n } else {\n s.tmp_11.fn = s.tmp_11.arg0.vtable.iface[\"multiplier\"];\n if (s.tmp_11.fn == null) { s.retval = s.tmp_11.arg0.fields[\"multiplier\"]; }\n else { s.pc = 9; return s.tmp_11; }\n }\n case 9:\n r0 = s.retval;\n s.tmp_10 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_10);\n if (!r0) { step = 3; continue; }\n s.tmp_12 = r0 = s.arg1;\n s.tmp_14 = if_multiplier_1_mk(s);\n s.tmp_14.arg0 = s.arg0;\n if (!s.tmp_14.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_14.arg0, \"multiplier\");\n } else {\n s.tmp_14.fn = s.tmp_14.arg0.vtable.iface[\"multiplier\"];\n if (s.tmp_14.fn == null) { s.retval = s.tmp_14.arg0.fields[\"multiplier\"]; }\n else { s.pc = 10; return s.tmp_14; }\n }\n case 10:\n r0 = s.retval;\n s.tmp_13 = r0;\n r0 = (s.tmp_12 * s.tmp_13);\n { step = 4; continue; }\n case 3:\n r0 = s.arg1;\n case 4:\n // jmp value (already in r0)\n s.tmp_15 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_1, \"multiplier\", s.tmp_15);\n r0 = s.tmp_1;\n case 5:\n return leave(s, r0)\n default: oops()\n} } }\nimage_scaledFont__P427.info = {\"start\":12096,\"length\":331,\"line\":150,\"column\":4,\"endLine\":160,\"endColumn\":5,\"fileName\":\"pxt_modules/screen/text.ts\",\"functionName\":\"scaledFont\",\"argumentNames\":[\"f\",\"size\"]}\n\nfunction image_scaledFont__P427_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: image_scaledFont__P427, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n tmp_12: undefined,\n tmp_13: undefined,\n tmp_14: undefined,\n tmp_15: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_PauseMenu_show__P1177(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.current___8967 = undefined;\n s.i___8968 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_systemMenu_PauseMenu__C1176_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_2 = lambda_1_mk(s);\n r0 = s.arg0.fields[\"generator\"];\n s.tmp_2.argL = r0;\n setupLambda(s.tmp_2, s.tmp_2.argL);\n s.pc = 3; return s.tmp_2;\n case 3:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"options\"] = (s.tmp_1);\n r0 = (s.arg0).fields[\"selection\"] = (0);\n s.i___8968 = (0);\n case 1:\n s.tmp_1 = r0 = s.i___8968;\n r0 = s.arg0.fields[\"options\"];\n s.tmp_3 = r0;\n r0 = pxsim_Array__length(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n r0 = s.arg0.fields[\"options\"];\n s.tmp_4 = r0;\n r0 = pxsim_Array__getAt(s.tmp_4, s.i___8968);\n s.current___8967 = (r0);\n s.tmp_0 = scene_systemMenu_MenuOption_show__P1168_mk(s);\n s.tmp_0.arg0 = s.current___8967;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n s.tmp_0 = scene_systemMenu_MenuOption_setTheme__P1171_mk(s);\n s.tmp_0.arg0 = s.current___8967;\n r0 = s.arg0.fields[\"theme\"];\n s.tmp_0.arg1 = r0;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n s.tmp_0 = scene_systemMenu_MenuOption_position__P1169_mk(s);\n s.tmp_0.arg0 = s.current___8967;\n s.tmp_2 = if_padding_1_mk(s);\n r0 = s.arg0.fields[\"theme\"];\n s.tmp_2.arg0 = r0;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, \"padding\");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface[\"padding\"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields[\"padding\"]; }\n else { s.pc = 7; return s.tmp_2; }\n }\n case 7:\n r0 = s.retval;\n s.tmp_1 = r0;\n s.tmp_5 = r0 = s.i___8968;\n s.tmp_7 = if_cardsPerRow_1_mk(s);\n r0 = s.arg0.fields[\"theme\"];\n s.tmp_7.arg0 = r0;\n if (!s.tmp_7.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_7.arg0, \"cardsPerRow\");\n } else {\n s.tmp_7.fn = s.tmp_7.arg0.vtable.iface[\"cardsPerRow\"];\n if (s.tmp_7.fn == null) { s.retval = s.tmp_7.arg0.fields[\"cardsPerRow\"]; }\n else { s.pc = 8; return s.tmp_7; }\n }\n case 8:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = (s.tmp_5 % s.tmp_6);\n s.tmp_4 = r0;\n s.tmp_10 = if_cardWidth_1_mk(s);\n r0 = s.arg0.fields[\"theme\"];\n s.tmp_10.arg0 = r0;\n if (!s.tmp_10.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_10.arg0, \"cardWidth\");\n } else {\n s.tmp_10.fn = s.tmp_10.arg0.vtable.iface[\"cardWidth\"];\n if (s.tmp_10.fn == null) { s.retval = s.tmp_10.arg0.fields[\"cardWidth\"]; }\n else { s.pc = 9; return s.tmp_10; }\n }\n case 9:\n r0 = s.retval;\n s.tmp_9 = r0;\n s.tmp_12 = if_cardSpacing_1_mk(s);\n r0 = s.arg0.fields[\"theme\"];\n s.tmp_12.arg0 = r0;\n if (!s.tmp_12.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_12.arg0, \"cardSpacing\");\n } else {\n s.tmp_12.fn = s.tmp_12.arg0.vtable.iface[\"cardSpacing\"];\n if (s.tmp_12.fn == null) { s.retval = s.tmp_12.arg0.fields[\"cardSpacing\"]; }\n else { s.pc = 10; return s.tmp_12; }\n }\n case 10:\n r0 = s.retval;\n s.tmp_11 = r0;\n r0 = (s.tmp_9 + s.tmp_11);\n s.tmp_8 = r0;\n r0 = (s.tmp_4 * s.tmp_8);\n s.tmp_3 = r0;\n r0 = (s.tmp_1 + s.tmp_3);\n s.tmp_0.arg1 = r0;\n s.tmp_14 = if_cardsTop_1_mk(s);\n r0 = s.arg0.fields[\"theme\"];\n s.tmp_14.arg0 = r0;\n if (!s.tmp_14.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_14.arg0, \"cardsTop\");\n } else {\n s.tmp_14.fn = s.tmp_14.arg0.vtable.iface[\"cardsTop\"];\n if (s.tmp_14.fn == null) { s.retval = s.tmp_14.arg0.fields[\"cardsTop\"]; }\n else { s.pc = 11; return s.tmp_14; }\n }\n case 11:\n r0 = s.retval;\n s.tmp_13 = r0;\n s.tmp_17 = r0 = s.i___8968;\n s.tmp_19 = if_cardsPerRow_1_mk(s);\n r0 = s.arg0.fields[\"theme\"];\n s.tmp_19.arg0 = r0;\n if (!s.tmp_19.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_19.arg0, \"cardsPerRow\");\n } else {\n s.tmp_19.fn = s.tmp_19.arg0.vtable.iface[\"cardsPerRow\"];\n if (s.tmp_19.fn == null) { s.retval = s.tmp_19.arg0.fields[\"cardsPerRow\"]; }\n else { s.pc = 12; return s.tmp_19; }\n }\n case 12:\n r0 = s.retval;\n s.tmp_18 = r0;\n r0 = pxsim.Math_.idiv(s.tmp_17, s.tmp_18);\n s.tmp_16 = r0;\n s.tmp_22 = if_cardWidth_1_mk(s);\n r0 = s.arg0.fields[\"theme\"];\n s.tmp_22.arg0 = r0;\n if (!s.tmp_22.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_22.arg0, \"cardWidth\");\n } else {\n s.tmp_22.fn = s.tmp_22.arg0.vtable.iface[\"cardWidth\"];\n if (s.tmp_22.fn == null) { s.retval = s.tmp_22.arg0.fields[\"cardWidth\"]; }\n else { s.pc = 13; return s.tmp_22; }\n }\n case 13:\n r0 = s.retval;\n s.tmp_21 = r0;\n s.tmp_24 = if_cardSpacing_1_mk(s);\n r0 = s.arg0.fields[\"theme\"];\n s.tmp_24.arg0 = r0;\n if (!s.tmp_24.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_24.arg0, \"cardSpacing\");\n } else {\n s.tmp_24.fn = s.tmp_24.arg0.vtable.iface[\"cardSpacing\"];\n if (s.tmp_24.fn == null) { s.retval = s.tmp_24.arg0.fields[\"cardSpacing\"]; }\n else { s.pc = 14; return s.tmp_24; }\n }\n case 14:\n r0 = s.retval;\n s.tmp_23 = r0;\n r0 = (s.tmp_21 + s.tmp_23);\n s.tmp_20 = r0;\n r0 = (s.tmp_16 * s.tmp_20);\n s.tmp_15 = r0;\n r0 = (s.tmp_13 + s.tmp_15);\n s.tmp_0.arg2 = r0;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n r0 = (s.i___8968 + 1);\n s.i___8968 = (r0);\n { step = 1; continue; }\n case 2:\n s.tmp_0 = controller__setUserEventsEnabled__P586_mk(s);\n s.tmp_0.arg0 = false;\n s.pc = 15; return s.tmp_0;\n case 15:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkAction(1, inline__P9028);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n s.tmp_1 = controller_Button_onEvent__P543_mk(s);\n s.tmp_1.arg0 = globals.A___525;\n s.tmp_1.arg1 = 2053;\n s.tmp_1.arg2 = s.tmp_0;\n s.pc = 16; return s.tmp_1;\n case 16:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkAction(1, inline__P9047);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n s.tmp_1 = controller_Button_onEvent__P543_mk(s);\n s.tmp_1.arg0 = globals.A___525;\n s.tmp_1.arg1 = 2052;\n s.tmp_1.arg2 = s.tmp_0;\n s.pc = 17; return s.tmp_1;\n case 17:\n r0 = s.retval;\n s.tmp_0 = controller_Button_onEvent__P543_mk(s);\n s.tmp_0.arg0 = globals.B___526;\n s.tmp_0.arg1 = 2053;\n s.tmp_0.arg2 = inline__P9075;\n s.pc = 18; return s.tmp_0;\n case 18:\n r0 = s.retval;\n s.tmp_0 = controller_Button_onEvent__P543_mk(s);\n s.tmp_0.arg0 = globals.menu___531;\n s.tmp_0.arg1 = 2053;\n s.tmp_0.arg2 = inline__P9080;\n s.pc = 19; return s.tmp_0;\n case 19:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkAction(1, inline__P9085);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n s.tmp_1 = controller_Button_onEvent__P543_mk(s);\n s.tmp_1.arg0 = globals.up___528;\n s.tmp_1.arg1 = 2053;\n s.tmp_1.arg2 = s.tmp_0;\n s.pc = 20; return s.tmp_1;\n case 20:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkAction(1, inline__P9096);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n s.tmp_1 = controller_Button_onEvent__P543_mk(s);\n s.tmp_1.arg0 = globals.left___527;\n s.tmp_1.arg1 = 2053;\n s.tmp_1.arg2 = s.tmp_0;\n s.pc = 21; return s.tmp_1;\n case 21:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkAction(1, inline__P9104);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n s.tmp_1 = controller_Button_onEvent__P543_mk(s);\n s.tmp_1.arg0 = globals.down___530;\n s.tmp_1.arg1 = 2053;\n s.tmp_1.arg2 = s.tmp_0;\n s.pc = 22; return s.tmp_1;\n case 22:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkAction(1, inline__P9118);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n s.tmp_1 = controller_Button_onEvent__P543_mk(s);\n s.tmp_1.arg0 = globals.right___529;\n s.tmp_1.arg1 = 2053;\n s.tmp_1.arg2 = s.tmp_0;\n s.pc = 23; return s.tmp_1;\n case 23:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkAction(1, inline__P9128);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n s.tmp_1 = game_onShade__P1032_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.pc = 24; return s.tmp_1;\n case 24:\n r0 = s.retval;\n s.tmp_0 = scene_systemMenu_PauseMenu_setSelection__P1179_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = 0;\n s.pc = 25; return s.tmp_0;\n case 25:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_PauseMenu_show__P1177.info = {\"start\":3296,\"length\":2241,\"line\":123,\"column\":8,\"endLine\":181,\"endColumn\":9,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"show\",\"argumentNames\":[\"this\"]}\n\nfunction scene_systemMenu_PauseMenu_show__P1177_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_PauseMenu_show__P1177, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n tmp_12: undefined,\n tmp_13: undefined,\n tmp_14: undefined,\n tmp_15: undefined,\n tmp_16: undefined,\n tmp_17: undefined,\n tmp_18: undefined,\n tmp_19: undefined,\n tmp_20: undefined,\n tmp_21: undefined,\n tmp_22: undefined,\n tmp_23: undefined,\n tmp_24: undefined,\n current___8967: undefined,\n i___8968: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P9028(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = s.caps[0].fields[\"options\"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = s.caps[0].fields[\"options\"];\n s.tmp_5 = r0;\n r0 = s.caps[0].fields[\"selection\"];\n s.tmp_6 = r0;\n r0 = pxsim_Array__getAt(s.tmp_5, s.tmp_6);\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n s.tmp_3 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_3);\n case 2:\n // jmp value (already in r0)\n s.tmp_7 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_7);\n if (!r0) { step = 3; continue; }\n { step = 5; continue; }\n case 3:\n case 4:\n s.tmp_8 = scene_systemMenu_MenuOption_setState__P1172_mk(s);\n r0 = s.caps[0].fields[\"options\"];\n s.tmp_9 = r0;\n r0 = s.caps[0].fields[\"selection\"];\n s.tmp_10 = r0;\n r0 = pxsim_Array__getAt(s.tmp_9, s.tmp_10);\n s.tmp_8.arg0 = r0;\n s.tmp_8.arg1 = 1;\n s.pc = 6; return s.tmp_8;\n case 6:\n r0 = s.retval;\n case 5:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9028.info = {\"start\":4025,\"length\":170,\"line\":140,\"column\":50,\"endLine\":143,\"endColumn\":13,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P9028_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9028, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n} }\n\n\n\n\n\nfunction inline__P9047(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = s.caps[0].fields[\"options\"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = s.caps[0].fields[\"options\"];\n s.tmp_5 = r0;\n r0 = s.caps[0].fields[\"selection\"];\n s.tmp_6 = r0;\n r0 = pxsim_Array__getAt(s.tmp_5, s.tmp_6);\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n s.tmp_3 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_3);\n case 2:\n // jmp value (already in r0)\n s.tmp_7 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_7);\n if (!r0) { step = 3; continue; }\n { step = 5; continue; }\n case 3:\n case 4:\n s.tmp_8 = scene_systemMenu_MenuOption_setState__P1172_mk(s);\n r0 = s.caps[0].fields[\"options\"];\n s.tmp_9 = r0;\n r0 = s.caps[0].fields[\"selection\"];\n s.tmp_10 = r0;\n r0 = pxsim_Array__getAt(s.tmp_9, s.tmp_10);\n s.tmp_8.arg0 = r0;\n s.tmp_8.arg1 = 0;\n s.pc = 6; return s.tmp_8;\n case 6:\n r0 = s.retval;\n r0 = s.caps[0].fields[\"options\"];\n s.tmp_1 = r0;\n r0 = s.caps[0].fields[\"selection\"];\n s.tmp_2 = r0;\n r0 = pxsim_Array__getAt(s.tmp_1, s.tmp_2);\n r0 = r0.fields[\"action\"];\n s.tmp_0 = r0;\n r0 = pxsim.control.runInParallel(s.tmp_0);\n case 5:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9047.info = {\"start\":4247,\"length\":247,\"line\":145,\"column\":48,\"endLine\":149,\"endColumn\":13,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P9047_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9047, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n} }\n\n\n\n\n\nfunction inline__P9075(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = scene_systemMenu_closeMenu__P1192_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9075.info = {\"start\":4548,\"length\":50,\"line\":151,\"column\":50,\"endLine\":153,\"endColumn\":13,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P9075_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9075, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction inline__P9080(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = scene_systemMenu_closeMenu__P1192_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9080.info = {\"start\":4655,\"length\":50,\"line\":155,\"column\":53,\"endLine\":157,\"endColumn\":13,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P9080_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9080, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction inline__P9085(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = scene_systemMenu_PauseMenu_setSelection__P1179_mk(s);\n s.tmp_0.arg0 = s.caps[0];\n s.tmp_1 = Math_max__P61_mk(s);\n s.tmp_1.arg0 = 0;\n r0 = s.caps[0].fields[\"selection\"];\n s.tmp_2 = r0;\n s.tmp_4 = if_cardsPerRow_1_mk(s);\n r0 = s.caps[0].fields[\"theme\"];\n s.tmp_4.arg0 = r0;\n if (!s.tmp_4.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_4.arg0, \"cardsPerRow\");\n } else {\n s.tmp_4.fn = s.tmp_4.arg0.vtable.iface[\"cardsPerRow\"];\n if (s.tmp_4.fn == null) { s.retval = s.tmp_4.arg0.fields[\"cardsPerRow\"]; }\n else { s.pc = 3; return s.tmp_4; }\n }\n case 3:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_2 - s.tmp_3);\n s.tmp_1.arg1 = r0;\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9085.info = {\"start\":4760,\"length\":110,\"line\":159,\"column\":51,\"endLine\":161,\"endColumn\":13,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P9085_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9085, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n} }\n\n\n\n\n\nfunction inline__P9096(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = scene_systemMenu_PauseMenu_setSelection__P1179_mk(s);\n s.tmp_0.arg0 = s.caps[0];\n s.tmp_1 = Math_max__P61_mk(s);\n s.tmp_1.arg0 = 0;\n r0 = s.caps[0].fields[\"selection\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - 1);\n s.tmp_1.arg1 = r0;\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9096.info = {\"start\":4927,\"length\":89,\"line\":163,\"column\":53,\"endLine\":165,\"endColumn\":13,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P9096_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9096, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n} }\n\n\n\n\n\nfunction inline__P9104(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = scene_systemMenu_PauseMenu_setSelection__P1179_mk(s);\n s.tmp_0.arg0 = s.caps[0];\n s.tmp_1 = Math_min__P62_mk(s);\n r0 = s.caps[0].fields[\"options\"];\n s.tmp_3 = r0;\n r0 = pxsim_Array__length(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - 1);\n s.tmp_1.arg0 = r0;\n r0 = s.caps[0].fields[\"selection\"];\n s.tmp_4 = r0;\n s.tmp_6 = if_cardsPerRow_1_mk(s);\n r0 = s.caps[0].fields[\"theme\"];\n s.tmp_6.arg0 = r0;\n if (!s.tmp_6.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_6.arg0, \"cardsPerRow\");\n } else {\n s.tmp_6.fn = s.tmp_6.arg0.vtable.iface[\"cardsPerRow\"];\n if (s.tmp_6.fn == null) { s.retval = s.tmp_6.arg0.fields[\"cardsPerRow\"]; }\n else { s.pc = 3; return s.tmp_6; }\n }\n case 3:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = (s.tmp_4 + s.tmp_5);\n s.tmp_1.arg1 = r0;\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9104.info = {\"start\":5073,\"length\":132,\"line\":167,\"column\":53,\"endLine\":169,\"endColumn\":13,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P9104_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9104, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n} }\n\n\n\n\n\nfunction inline__P9118(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = scene_systemMenu_PauseMenu_setSelection__P1179_mk(s);\n s.tmp_0.arg0 = s.caps[0];\n s.tmp_1 = Math_min__P62_mk(s);\n r0 = s.caps[0].fields[\"options\"];\n s.tmp_3 = r0;\n r0 = pxsim_Array__length(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - 1);\n s.tmp_1.arg0 = r0;\n r0 = s.caps[0].fields[\"selection\"];\n s.tmp_4 = r0;\n r0 = (s.tmp_4 + 1);\n s.tmp_1.arg1 = r0;\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9118.info = {\"start\":5263,\"length\":111,\"line\":171,\"column\":54,\"endLine\":173,\"endColumn\":13,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P9118_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9118, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n} }\n\n\n\n\n\nfunction inline__P9128(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = scene_systemMenu_PauseMenu_onUpdate__P1178_mk(s);\n s.tmp_0.arg0 = s.caps[0];\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.tmp_0 = scene_systemMenu_PauseMenu_drawText__P1180_mk(s);\n s.tmp_0.arg0 = s.caps[0];\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9128.info = {\"start\":5403,\"length\":87,\"line\":175,\"column\":25,\"endLine\":178,\"endColumn\":13,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P9128_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9128, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_PauseMenu_drawText__P1180(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_systemMenu_PauseMenu__C1176_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"options\"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 3; continue; }\n case 1:\n case 2:\n s.tmp_3 = helpers_imageFillRect__P411_mk(s);\n s.tmp_3.arg0 = globals.screen___464;\n s.tmp_3.arg1 = 0;\n s.tmp_3.arg2 = 0;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_3.arg3 = r0;\n s.tmp_5 = if_cardsTop_1_mk(s);\n r0 = s.arg0.fields[\"theme\"];\n s.tmp_5.arg0 = r0;\n if (!s.tmp_5.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_5.arg0, \"cardsTop\");\n } else {\n s.tmp_5.fn = s.tmp_5.arg0.vtable.iface[\"cardsTop\"];\n if (s.tmp_5.fn == null) { s.retval = s.tmp_5.arg0.fields[\"cardsTop\"]; }\n else { s.pc = 5; return s.tmp_5; }\n }\n case 5:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = (s.tmp_4 - 2);\n s.tmp_3.arg4 = r0;\n s.tmp_3.arg5 = 15;\n s.pc = 4; return s.tmp_3;\n case 4:\n r0 = s.retval;\n s.tmp_0 = helpers_imagePrintCenter__P431_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_1 = if_headerText_1_mk(s);\n r0 = s.arg0.fields[\"theme\"];\n s.tmp_1.arg0 = r0;\n if (!s.tmp_1.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, \"headerText\");\n } else {\n s.tmp_1.fn = s.tmp_1.arg0.vtable.iface[\"headerText\"];\n if (s.tmp_1.fn == null) { s.retval = s.tmp_1.arg0.fields[\"headerText\"]; }\n else { s.pc = 7; return s.tmp_1; }\n }\n case 7:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = 2;\n s.tmp_0.arg3 = 1;\n s.tmp_2 = if_headerFont_1_mk(s);\n r0 = s.arg0.fields[\"theme\"];\n s.tmp_2.arg0 = r0;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, \"headerFont\");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface[\"headerFont\"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields[\"headerFont\"]; }\n else { s.pc = 8; return s.tmp_2; }\n }\n case 8:\n r0 = s.retval;\n s.tmp_0.arg4 = r0;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n s.tmp_0 = helpers_imageFillRect__P411_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_0.arg1 = 0;\n s.tmp_2 = if_infoTop_1_mk(s);\n r0 = s.arg0.fields[\"theme\"];\n s.tmp_2.arg0 = r0;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, \"infoTop\");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface[\"infoTop\"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields[\"infoTop\"]; }\n else { s.pc = 10; return s.tmp_2; }\n }\n case 10:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - 3);\n s.tmp_0.arg2 = r0;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_0.arg3 = r0;\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n s.tmp_4 = r0;\n s.tmp_6 = if_infoTop_1_mk(s);\n r0 = s.arg0.fields[\"theme\"];\n s.tmp_6.arg0 = r0;\n if (!s.tmp_6.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_6.arg0, \"infoTop\");\n } else {\n s.tmp_6.fn = s.tmp_6.arg0.vtable.iface[\"infoTop\"];\n if (s.tmp_6.fn == null) { s.retval = s.tmp_6.arg0.fields[\"infoTop\"]; }\n else { s.pc = 11; return s.tmp_6; }\n }\n case 11:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = (s.tmp_4 - s.tmp_5);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 + 6);\n s.tmp_0.arg4 = r0;\n s.tmp_0.arg5 = 15;\n s.pc = 9; return s.tmp_0;\n case 9:\n r0 = s.retval;\n s.tmp_0 = helpers_imageFillRect__P411_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_1 = if_padding_1_mk(s);\n r0 = s.arg0.fields[\"theme\"];\n s.tmp_1.arg0 = r0;\n if (!s.tmp_1.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, \"padding\");\n } else {\n s.tmp_1.fn = s.tmp_1.arg0.vtable.iface[\"padding\"];\n if (s.tmp_1.fn == null) { s.retval = s.tmp_1.arg0.fields[\"padding\"]; }\n else { s.pc = 13; return s.tmp_1; }\n }\n case 13:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.tmp_2 = if_infoTop_1_mk(s);\n r0 = s.arg0.fields[\"theme\"];\n s.tmp_2.arg0 = r0;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, \"infoTop\");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface[\"infoTop\"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields[\"infoTop\"]; }\n else { s.pc = 14; return s.tmp_2; }\n }\n case 14:\n r0 = s.retval;\n s.tmp_0.arg2 = r0;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_3 = r0;\n s.tmp_6 = if_padding_1_mk(s);\n r0 = s.arg0.fields[\"theme\"];\n s.tmp_6.arg0 = r0;\n if (!s.tmp_6.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_6.arg0, \"padding\");\n } else {\n s.tmp_6.fn = s.tmp_6.arg0.vtable.iface[\"padding\"];\n if (s.tmp_6.fn == null) { s.retval = s.tmp_6.arg0.fields[\"padding\"]; }\n else { s.pc = 15; return s.tmp_6; }\n }\n case 15:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = (s.tmp_5 << 1);\n s.tmp_4 = r0;\n r0 = (s.tmp_3 - s.tmp_4);\n s.tmp_0.arg3 = r0;\n s.tmp_8 = if_charHeight_1_mk(s);\n s.tmp_9 = if_infoFont_1_mk(s);\n r0 = s.arg0.fields[\"theme\"];\n s.tmp_9.arg0 = r0;\n if (!s.tmp_9.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_9.arg0, \"infoFont\");\n } else {\n s.tmp_9.fn = s.tmp_9.arg0.vtable.iface[\"infoFont\"];\n if (s.tmp_9.fn == null) { s.retval = s.tmp_9.arg0.fields[\"infoFont\"]; }\n else { s.pc = 17; return s.tmp_9; }\n }\n case 17:\n r0 = s.retval;\n s.tmp_8.arg0 = r0;\n if (!s.tmp_8.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_8.arg0, \"charHeight\");\n } else {\n s.tmp_8.fn = s.tmp_8.arg0.vtable.iface[\"charHeight\"];\n if (s.tmp_8.fn == null) { s.retval = s.tmp_8.arg0.fields[\"charHeight\"]; }\n else { s.pc = 16; return s.tmp_8; }\n }\n case 16:\n r0 = s.retval;\n s.tmp_7 = r0;\n r0 = (s.tmp_7 + 1);\n s.tmp_0.arg4 = r0;\n s.tmp_0.arg5 = 1;\n s.pc = 12; return s.tmp_0;\n case 12:\n r0 = s.retval;\n s.tmp_0 = helpers_imagePrintCenter__P431_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_1 = lambda_1_mk(s);\n r0 = s.arg0.fields[\"options\"];\n s.tmp_2 = r0;\n r0 = s.arg0.fields[\"selection\"];\n s.tmp_3 = r0;\n r0 = pxsim_Array__getAt(s.tmp_2, s.tmp_3);\n r0 = r0.fields[\"getText\"];\n s.tmp_1.argL = r0;\n setupLambda(s.tmp_1, s.tmp_1.argL);\n s.pc = 19; return s.tmp_1;\n case 19:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.tmp_5 = if_infoTop_1_mk(s);\n r0 = s.arg0.fields[\"theme\"];\n s.tmp_5.arg0 = r0;\n if (!s.tmp_5.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_5.arg0, \"infoTop\");\n } else {\n s.tmp_5.fn = s.tmp_5.arg0.vtable.iface[\"infoTop\"];\n if (s.tmp_5.fn == null) { s.retval = s.tmp_5.arg0.fields[\"infoTop\"]; }\n else { s.pc = 20; return s.tmp_5; }\n }\n case 20:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = (s.tmp_4 + 1);\n s.tmp_0.arg2 = r0;\n s.tmp_0.arg3 = 15;\n s.tmp_6 = if_infoFont_1_mk(s);\n r0 = s.arg0.fields[\"theme\"];\n s.tmp_6.arg0 = r0;\n if (!s.tmp_6.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_6.arg0, \"infoFont\");\n } else {\n s.tmp_6.fn = s.tmp_6.arg0.vtable.iface[\"infoFont\"];\n if (s.tmp_6.fn == null) { s.retval = s.tmp_6.arg0.fields[\"infoFont\"]; }\n else { s.pc = 21; return s.tmp_6; }\n }\n case 21:\n r0 = s.retval;\n s.tmp_0.arg4 = r0;\n s.pc = 18; return s.tmp_0;\n case 18:\n r0 = s.retval;\n case 3:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_PauseMenu_drawText__P1180.info = {\"start\":6927,\"length\":795,\"line\":224,\"column\":8,\"endLine\":241,\"endColumn\":9,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"drawText\",\"argumentNames\":[\"this\"]}\n\nfunction scene_systemMenu_PauseMenu_drawText__P1180_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_PauseMenu_drawText__P1180, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_PauseMenu_setSelection__P1179(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_systemMenu_PauseMenu__C1176_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"options\"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 9; continue; }\n case 1:\n case 2:\n r0 = s.arg0.fields[\"options\"];\n s.tmp_4 = r0;\n r0 = s.arg0.fields[\"selection\"];\n s.tmp_5 = r0;\n r0 = pxsim_Array__getAt(s.tmp_4, s.tmp_5);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 3; continue; }\n s.tmp_6 = scene_systemMenu_MenuOption_setState__P1172_mk(s);\n r0 = s.arg0.fields[\"options\"];\n s.tmp_7 = r0;\n r0 = s.arg0.fields[\"selection\"];\n s.tmp_8 = r0;\n r0 = pxsim_Array__getAt(s.tmp_7, s.tmp_8);\n s.tmp_6.arg0 = r0;\n s.tmp_6.arg1 = 2;\n s.pc = 10; return s.tmp_6;\n case 10:\n r0 = s.retval;\n case 3:\n case 4:\n r0 = (s.arg0).fields[\"selection\"] = (s.arg1);\n r0 = s.arg0.fields[\"options\"];\n s.tmp_1 = r0;\n r0 = s.arg0.fields[\"selection\"];\n s.tmp_2 = r0;\n r0 = pxsim_Array__getAt(s.tmp_1, s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 7; continue; }\n r0 = globals.A___525.fields[\"_pressed\"];\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 5; continue; }\n r0 = 1;\n { step = 6; continue; }\n case 5:\n r0 = 0;\n case 6:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n s.tmp_5 = scene_systemMenu_MenuOption_setState__P1172_mk(s);\n r0 = s.arg0.fields[\"options\"];\n s.tmp_6 = r0;\n r0 = s.arg0.fields[\"selection\"];\n s.tmp_7 = r0;\n r0 = pxsim_Array__getAt(s.tmp_6, s.tmp_7);\n s.tmp_5.arg0 = r0;\n s.tmp_5.arg1 = s.tmp_4;\n s.pc = 11; return s.tmp_5;\n case 11:\n r0 = s.retval;\n case 7:\n case 8:\n s.tmp_0 = scene_systemMenu_PauseMenu_updateScrollTarget__P1182_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 12; return s.tmp_0;\n case 12:\n r0 = s.retval;\n case 9:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_PauseMenu_setSelection__P1179.info = {\"start\":6436,\"length\":481,\"line\":208,\"column\":8,\"endLine\":222,\"endColumn\":9,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"setSelection\",\"argumentNames\":[\"this\",\"selection\"]}\n\nfunction scene_systemMenu_PauseMenu_setSelection__P1179_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_PauseMenu_setSelection__P1179, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_PauseMenu_updateScrollTarget__P1182(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.row___9322 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_systemMenu_PauseMenu__C1176_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"selection\"];\n s.tmp_0 = r0;\n s.tmp_2 = if_cardsPerRow_1_mk(s);\n r0 = s.arg0.fields[\"theme\"];\n s.tmp_2.arg0 = r0;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, \"cardsPerRow\");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface[\"cardsPerRow\"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields[\"cardsPerRow\"]; }\n else { s.pc = 8; return s.tmp_2; }\n }\n case 8:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim.Math_.idiv(s.tmp_0, s.tmp_1);\n s.row___9322 = (r0);\n r0 = s.arg0.fields[\"scrollRow\"];\n s.tmp_1 = r0;\n r0 = (s.row___9322 === s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = (s.row___9322 - 1);\n s.tmp_2 = r0;\n r0 = s.arg0.fields[\"scrollRow\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_2 === s.tmp_3);\n case 2:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n if (!r0) { step = 3; continue; }\n { step = 7; continue; }\n case 3:\n case 4:\n r0 = s.arg0.fields[\"scrollRow\"];\n s.tmp_6 = r0;\n r0 = (s.row___9322 > s.tmp_6);\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_5);\n if (!r0) { step = 5; continue; }\n s.tmp_7 = r0 = s.arg0;\n r0 = s.tmp_7.fields[\"scrollRow\"];\n s.tmp_9 = r0;\n r0 = (s.tmp_9 + 1);\n s.tmp_8 = r0;\n r0 = (s.tmp_7).fields[\"scrollRow\"] = (s.tmp_8);\n { step = 6; continue; }\n case 5:\n s.tmp_0 = r0 = s.arg0;\n r0 = s.tmp_0.fields[\"scrollRow\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - 1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"scrollRow\"] = (s.tmp_1);\n case 6:\n s.tmp_0 = r0 = s.arg0;\n r0 = s.arg0.fields[\"scrollRow\"];\n s.tmp_2 = r0;\n s.tmp_5 = if_cardSpacing_1_mk(s);\n r0 = s.arg0.fields[\"theme\"];\n s.tmp_5.arg0 = r0;\n if (!s.tmp_5.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_5.arg0, \"cardSpacing\");\n } else {\n s.tmp_5.fn = s.tmp_5.arg0.vtable.iface[\"cardSpacing\"];\n if (s.tmp_5.fn == null) { s.retval = s.tmp_5.arg0.fields[\"cardSpacing\"]; }\n else { s.pc = 9; return s.tmp_5; }\n }\n case 9:\n r0 = s.retval;\n s.tmp_4 = r0;\n s.tmp_7 = if_cardWidth_1_mk(s);\n r0 = s.arg0.fields[\"theme\"];\n s.tmp_7.arg0 = r0;\n if (!s.tmp_7.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_7.arg0, \"cardWidth\");\n } else {\n s.tmp_7.fn = s.tmp_7.arg0.vtable.iface[\"cardWidth\"];\n if (s.tmp_7.fn == null) { s.retval = s.tmp_7.arg0.fields[\"cardWidth\"]; }\n else { s.pc = 10; return s.tmp_7; }\n }\n case 10:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = (s.tmp_4 + s.tmp_6);\n s.tmp_3 = r0;\n r0 = (s.tmp_2 * s.tmp_3);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"scrollTarget\"] = (s.tmp_1);\n case 7:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_PauseMenu_updateScrollTarget__P1182.info = {\"start\":7907,\"length\":458,\"line\":250,\"column\":8,\"endLine\":260,\"endColumn\":9,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"updateScrollTarget\",\"argumentNames\":[\"this\"]}\n\nfunction scene_systemMenu_PauseMenu_updateScrollTarget__P1182_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_PauseMenu_updateScrollTarget__P1182, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n row___9322: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_PauseMenu_onUpdate__P1178(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.t___9203 = undefined;\n s.i___9206 = undefined;\n s.dt___9226 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_systemMenu_PauseMenu__C1176_VT)) failedCast(r0);\n r0 = pxsim.control.millis();\n s.tmp_0 = r0;\n r0 = (s.tmp_0 / 250);\n s.t___9203 = (r0);\n s.i___9206 = (0);\n case 1:\n s.tmp_1 = r0 = s.i___9206;\n r0 = s.arg0.fields[\"options\"];\n s.tmp_3 = r0;\n r0 = pxsim_Array__length(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n s.tmp_4 = scene_systemMenu_MenuOption_setOffset__P1170_mk(s);\n r0 = s.arg0.fields[\"options\"];\n s.tmp_5 = r0;\n r0 = pxsim_Array__getAt(s.tmp_5, s.i___9206);\n s.tmp_4.arg0 = r0;\n s.tmp_8 = r0 = s.t___9203;\n s.tmp_11 = r0 = s.i___9206;\n s.tmp_13 = if_cardsPerRow_1_mk(s);\n r0 = s.arg0.fields[\"theme\"];\n s.tmp_13.arg0 = r0;\n if (!s.tmp_13.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_13.arg0, \"cardsPerRow\");\n } else {\n s.tmp_13.fn = s.tmp_13.arg0.vtable.iface[\"cardsPerRow\"];\n if (s.tmp_13.fn == null) { s.retval = s.tmp_13.arg0.fields[\"cardsPerRow\"]; }\n else { s.pc = 11; return s.tmp_13; }\n }\n case 11:\n r0 = s.retval;\n s.tmp_12 = r0;\n r0 = (s.tmp_11 % s.tmp_12);\n s.tmp_10 = r0;\n r0 = (3.141592653589793 / 2);\n s.tmp_14 = r0;\n r0 = (s.tmp_10 * s.tmp_14);\n s.tmp_9 = r0;\n r0 = (s.tmp_8 - s.tmp_9);\n s.tmp_7 = r0;\n r0 = pxsim.Math_.sin(s.tmp_7);\n s.tmp_6 = r0;\n r0 = (2 * s.tmp_6);\n s.tmp_4.arg1 = r0;\n s.pc = 10; return s.tmp_4;\n case 10:\n r0 = s.retval;\n r0 = (s.i___9206 + 1);\n s.i___9206 = (r0);\n { step = 1; continue; }\n case 2:\n s.tmp_1 = game_currentScene__P769_mk(s);\n s.pc = 12; return s.tmp_1;\n case 12:\n r0 = s.retval;\n r0 = r0.fields[\"eventContext\"];\n s.tmp_0 = r0;\n r0 = s.tmp_0.fields[\"deltaTimeMillis\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 / 1000);\n s.dt___9226 = (r0);\n r0 = s.arg0.fields[\"scrollOffset\"];\n s.tmp_1 = r0;\n r0 = s.arg0.fields[\"scrollTarget\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.tmp_3 = r0 = s.arg0;\n r0 = s.tmp_3.fields[\"scrollOffset\"];\n s.tmp_5 = r0;\n r0 = (s.dt___9226 * 100);\n s.tmp_6 = r0;\n r0 = (s.tmp_5 + s.tmp_6);\n s.tmp_4 = r0;\n r0 = (s.tmp_3).fields[\"scrollOffset\"] = (s.tmp_4);\n { step = 6; continue; }\n case 3:\n r0 = s.arg0.fields[\"scrollOffset\"];\n s.tmp_1 = r0;\n r0 = s.arg0.fields[\"scrollTarget\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_1 > s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 4; continue; }\n s.tmp_3 = r0 = s.arg0;\n r0 = s.tmp_3.fields[\"scrollOffset\"];\n s.tmp_5 = r0;\n r0 = (s.dt___9226 * 100);\n s.tmp_6 = r0;\n r0 = (s.tmp_5 - s.tmp_6);\n s.tmp_4 = r0;\n r0 = (s.tmp_3).fields[\"scrollOffset\"] = (s.tmp_4);\n { step = 5; continue; }\n case 4:\n { step = 9; continue; }\n case 5:\n case 6:\n s.tmp_2 = Math_abs__P59_mk(s);\n r0 = s.arg0.fields[\"scrollOffset\"];\n s.tmp_3 = r0;\n r0 = s.arg0.fields[\"scrollTarget\"];\n s.tmp_4 = r0;\n r0 = (s.tmp_3 - s.tmp_4);\n s.tmp_2.arg0 = r0;\n s.pc = 13; return s.tmp_2;\n case 13:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 < 2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 7; continue; }\n r0 = s.arg0.fields[\"scrollTarget\"];\n s.tmp_5 = r0;\n r0 = (s.arg0).fields[\"scrollOffset\"] = (s.tmp_5);\n case 7:\n case 8:\n s.tmp_1 = game_currentScene__P769_mk(s);\n s.pc = 14; return s.tmp_1;\n case 14:\n r0 = s.retval;\n r0 = r0.fields[\"camera\"];\n s.tmp_0 = r0;\n r0 = s.arg0.fields[\"scrollOffset\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_0).fields[\"offsetY\"] = (s.tmp_2);\n case 9:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_PauseMenu_onUpdate__P1178.info = {\"start\":5547,\"length\":879,\"line\":183,\"column\":8,\"endLine\":206,\"endColumn\":9,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"onUpdate\",\"argumentNames\":[\"this\"]}\n\nfunction scene_systemMenu_PauseMenu_onUpdate__P1178_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_PauseMenu_onUpdate__P1178, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n tmp_12: undefined,\n tmp_13: undefined,\n tmp_14: undefined,\n t___9203: undefined,\n i___9206: undefined,\n dt___9226: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_MenuOption_setOffset__P1170(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_systemMenu_MenuOption__C1167_VT)) failedCast(r0);\n s.tmp_0 = Sprite_top__P634_mk(s);\n r0 = s.arg0.fields[\"card\"];\n s.tmp_0.arg0 = r0;\n r0 = s.arg0.fields[\"top\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 + s.arg1);\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.tmp_0 = Sprite_y__P612_mk(s);\n r0 = s.arg0.fields[\"icon\"];\n s.tmp_0.arg0 = r0;\n s.tmp_1 = Sprite_y__P611_mk(s);\n r0 = s.arg0.fields[\"card\"];\n s.tmp_1.arg0 = r0;\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_MenuOption_setOffset__P1170.info = {\"start\":1411,\"length\":123,\"line\":61,\"column\":8,\"endLine\":64,\"endColumn\":9,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"setOffset\",\"argumentNames\":[\"this\",\"offset\"]}\n\nfunction scene_systemMenu_MenuOption_setOffset__P1170_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_MenuOption_setOffset__P1170, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_MenuOption_setState__P1172(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_systemMenu_MenuOption__C1167_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"state\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 === s.arg1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 3; continue; }\n case 1:\n case 2:\n r0 = (s.arg0).fields[\"state\"] = (s.arg1);\n s.tmp_0 = scene_systemMenu_MenuOption_updateCard__P1174_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n case 3:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_MenuOption_setState__P1172.info = {\"start\":1655,\"length\":147,\"line\":71,\"column\":8,\"endLine\":75,\"endColumn\":9,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"setState\",\"argumentNames\":[\"this\",\"state\"]}\n\nfunction scene_systemMenu_MenuOption_setState__P1172_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_MenuOption_setState__P1172, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_MenuOption_updateCard__P1174(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_systemMenu_MenuOption__C1167_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"theme\"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 7; continue; }\n case 1:\n case 2:\n r0 = s.arg0.fields[\"state\"];\n s.tmp_3 = r0;\n r0 = pxsim_pxtcore.switch_eq(2, s.tmp_3);\n if (r0) { step = 3; continue; }\n r0 = pxsim_pxtcore.switch_eq(0, s.tmp_3);\n if (r0) { step = 4; continue; }\n r0 = pxsim_pxtcore.switch_eq(1, s.tmp_3);\n if (r0) { step = 5; continue; }\n r0 = s.tmp_3;\n { step = 6; continue; }\n case 3:\n s.tmp_4 = Sprite_setImage__P625_mk(s);\n r0 = s.arg0.fields[\"card\"];\n s.tmp_4.arg0 = r0;\n s.tmp_5 = if_basicCard_1_mk(s);\n r0 = s.arg0.fields[\"theme\"];\n s.tmp_5.arg0 = r0;\n if (!s.tmp_5.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_5.arg0, \"basicCard\");\n } else {\n s.tmp_5.fn = s.tmp_5.arg0.vtable.iface[\"basicCard\"];\n if (s.tmp_5.fn == null) { s.retval = s.tmp_5.arg0.fields[\"basicCard\"]; }\n else { s.pc = 9; return s.tmp_5; }\n }\n case 9:\n r0 = s.retval;\n s.tmp_4.arg1 = r0;\n s.pc = 8; return s.tmp_4;\n case 8:\n r0 = s.retval;\n { step = 6; continue; }\n case 4:\n s.tmp_0 = Sprite_setImage__P625_mk(s);\n r0 = s.arg0.fields[\"card\"];\n s.tmp_0.arg0 = r0;\n s.tmp_1 = if_selectedCard_1_mk(s);\n r0 = s.arg0.fields[\"theme\"];\n s.tmp_1.arg0 = r0;\n if (!s.tmp_1.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, \"selectedCard\");\n } else {\n s.tmp_1.fn = s.tmp_1.arg0.vtable.iface[\"selectedCard\"];\n if (s.tmp_1.fn == null) { s.retval = s.tmp_1.arg0.fields[\"selectedCard\"]; }\n else { s.pc = 11; return s.tmp_1; }\n }\n case 11:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.pc = 10; return s.tmp_0;\n case 10:\n r0 = s.retval;\n { step = 6; continue; }\n case 5:\n s.tmp_0 = Sprite_setImage__P625_mk(s);\n r0 = s.arg0.fields[\"card\"];\n s.tmp_0.arg0 = r0;\n s.tmp_1 = if_activeCard_1_mk(s);\n r0 = s.arg0.fields[\"theme\"];\n s.tmp_1.arg0 = r0;\n if (!s.tmp_1.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, \"activeCard\");\n } else {\n s.tmp_1.fn = s.tmp_1.arg0.vtable.iface[\"activeCard\"];\n if (s.tmp_1.fn == null) { s.retval = s.tmp_1.arg0.fields[\"activeCard\"]; }\n else { s.pc = 13; return s.tmp_1; }\n }\n case 13:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.pc = 12; return s.tmp_0;\n case 12:\n r0 = s.retval;\n case 6:\n s.tmp_0 = Sprite_x__P610_mk(s);\n r0 = s.arg0.fields[\"icon\"];\n s.tmp_0.arg0 = r0;\n s.tmp_1 = Sprite_x__P609_mk(s);\n r0 = s.arg0.fields[\"card\"];\n s.tmp_1.arg0 = r0;\n s.pc = 15; return s.tmp_1;\n case 15:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.pc = 14; return s.tmp_0;\n case 14:\n r0 = s.retval;\n s.tmp_0 = Sprite_y__P612_mk(s);\n r0 = s.arg0.fields[\"icon\"];\n s.tmp_0.arg0 = r0;\n s.tmp_1 = Sprite_y__P611_mk(s);\n r0 = s.arg0.fields[\"card\"];\n s.tmp_1.arg0 = r0;\n s.pc = 17; return s.tmp_1;\n case 17:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.pc = 16; return s.tmp_0;\n case 16:\n r0 = s.retval;\n case 7:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_MenuOption_updateCard__P1174.info = {\"start\":2038,\"length\":497,\"line\":86,\"column\":8,\"endLine\":97,\"endColumn\":9,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"updateCard\",\"argumentNames\":[\"this\"]}\n\nfunction scene_systemMenu_MenuOption_updateCard__P1174_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_MenuOption_updateCard__P1174, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_MenuOption_setTheme__P1171(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_systemMenu_MenuOption__C1167_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"theme\"] = (s.arg1);\n s.tmp_0 = scene_systemMenu_MenuOption_updateCard__P1174_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_MenuOption_setTheme__P1171.info = {\"start\":1544,\"length\":101,\"line\":66,\"column\":8,\"endLine\":69,\"endColumn\":9,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"setTheme\",\"argumentNames\":[\"this\",\"theme\"]}\n\nfunction scene_systemMenu_MenuOption_setTheme__P1171_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_MenuOption_setTheme__P1171, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_MenuOption_position__P1169(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_systemMenu_MenuOption__C1167_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"top\"] = (s.arg2);\n s.tmp_0 = Sprite_left__P630_mk(s);\n r0 = s.arg0.fields[\"card\"];\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = s.arg1;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.tmp_0 = Sprite_top__P634_mk(s);\n r0 = s.arg0.fields[\"card\"];\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = s.arg2;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n s.tmp_0 = Sprite_x__P610_mk(s);\n r0 = s.arg0.fields[\"icon\"];\n s.tmp_0.arg0 = r0;\n s.tmp_1 = Sprite_x__P609_mk(s);\n r0 = s.arg0.fields[\"card\"];\n s.tmp_1.arg0 = r0;\n s.pc = 4; return s.tmp_1;\n case 4:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.tmp_0 = Sprite_y__P612_mk(s);\n r0 = s.arg0.fields[\"icon\"];\n s.tmp_0.arg0 = r0;\n s.tmp_1 = Sprite_y__P611_mk(s);\n r0 = s.arg0.fields[\"card\"];\n s.tmp_1.arg0 = r0;\n s.pc = 6; return s.tmp_1;\n case 6:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_MenuOption_position__P1169.info = {\"start\":1178,\"length\":223,\"line\":51,\"column\":8,\"endLine\":59,\"endColumn\":9,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"position\",\"argumentNames\":[\"this\",\"left\",\"top\"]}\n\nfunction scene_systemMenu_MenuOption_position__P1169_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_MenuOption_position__P1169, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_MenuOption_show__P1168(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_systemMenu_MenuOption__C1167_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"theme\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_1 = if_basicCard_1_mk(s);\n r0 = s.arg0.fields[\"theme\"];\n s.tmp_1.arg0 = r0;\n if (!s.tmp_1.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, \"basicCard\");\n } else {\n s.tmp_1.fn = s.tmp_1.arg0.vtable.iface[\"basicCard\"];\n if (s.tmp_1.fn == null) { s.retval = s.tmp_1.arg0.fields[\"basicCard\"]; }\n else { s.pc = 3; return s.tmp_1; }\n }\n case 3:\n r0 = s.retval;\n { step = 2; continue; }\n case 1:\n r0 = globals.CARD_NORMAL___1205;\n case 2:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n s.tmp_3 = r0 = s.arg0;\n s.tmp_5 = sprites_create__P602_mk(s);\n s.tmp_5.arg0 = s.tmp_2;\n s.tmp_5.arg1 = undefined;\n s.pc = 4; return s.tmp_5;\n case 4:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = (s.tmp_3).fields[\"card\"] = (s.tmp_4);\n s.tmp_0 = if_z_2_mk(s);\n r0 = s.arg0.fields[\"card\"];\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = 1;\n if (!s.tmp_0.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapSetByString(s.tmp_0.arg0, \"z\", s.tmp_0.arg1);\n } else {\n s.tmp_0.fn = s.tmp_0.arg0.vtable.iface[\"set/z\"];\n if (s.tmp_0.fn === null) { s.tmp_0.arg0.fields[\"z\"] = s.tmp_0.arg1; }\n else if (s.tmp_0.fn === undefined) { failedCast(s.tmp_0.arg0) }\n else { s.pc = 5; return s.tmp_0; }\n }\n case 5:\n r0 = s.retval;\n s.tmp_0 = r0 = s.arg0;\n s.tmp_2 = sprites_create__P602_mk(s);\n r0 = s.arg0.fields[\"iconImage\"];\n s.tmp_2.arg0 = r0;\n s.tmp_2.arg1 = undefined;\n s.pc = 6; return s.tmp_2;\n case 6:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"icon\"] = (s.tmp_1);\n s.tmp_0 = if_z_2_mk(s);\n r0 = s.arg0.fields[\"icon\"];\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = 2;\n if (!s.tmp_0.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapSetByString(s.tmp_0.arg0, \"z\", s.tmp_0.arg1);\n } else {\n s.tmp_0.fn = s.tmp_0.arg0.vtable.iface[\"set/z\"];\n if (s.tmp_0.fn === null) { s.tmp_0.arg0.fields[\"z\"] = s.tmp_0.arg1; }\n else if (s.tmp_0.fn === undefined) { failedCast(s.tmp_0.arg0) }\n else { s.pc = 7; return s.tmp_0; }\n }\n case 7:\n r0 = s.retval;\n r0 = (s.arg0).fields[\"state\"] = (2);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_MenuOption_show__P1168.info = {\"start\":904,\"length\":264,\"line\":41,\"column\":8,\"endLine\":49,\"endColumn\":9,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"show\",\"argumentNames\":[\"this\"]}\n\nfunction scene_systemMenu_MenuOption_show__P1168_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_MenuOption_show__P1168, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_initVolume__P1199(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.vol___10031 = undefined;\n s.tmp_0 = settings_readNumber__P500_mk(s);\n s.tmp_0.arg0 = \"#volume\";\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.vol___10031 = (r0);\n r0 = (s.vol___10031 != null);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_1 = music_setVolume__P341_mk(s);\n s.tmp_1.arg0 = s.vol___10031;\n s.pc = 4; return s.tmp_1;\n case 4:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_initVolume__P1199.info = {\"start\":12557,\"length\":138,\"line\":382,\"column\":4,\"endLine\":386,\"endColumn\":5,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"initVolume\",\"argumentNames\":[]}\n\nfunction scene_systemMenu_initVolume__P1199_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_initVolume__P1199, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n vol___10031: undefined,\n} }\n\n\n\n\n\nfunction game_currentScene__P769(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = game_init__P1018_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = globals._scene___1008;\n return leave(s, r0)\n default: oops()\n} } }\ngame_currentScene__P769.info = {\"start\":667,\"length\":90,\"line\":22,\"column\":4,\"endLine\":25,\"endColumn\":5,\"fileName\":\"pxt_modules/game/game.ts\",\"functionName\":\"currentScene\",\"argumentNames\":[]}\n\nfunction game_currentScene__P769_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_currentScene__P769, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction game_addScenePopHandler__P765(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_numops_toBoolDecr(globals._scenePopHandlers___1011);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_Array__mk();\n globals._scenePopHandlers___1011 = (r0);\n case 1:\n case 2:\n r0 = pxsim_Array_.indexOf(globals._scenePopHandlers___1011, s.arg0, undefined);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = pxsim_Array__push(globals._scenePopHandlers___1011, s.arg0);\n case 3:\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_addScenePopHandler__P765.info = {\"start\":11685,\"length\":237,\"line\":367,\"column\":4,\"endLine\":371,\"endColumn\":5,\"fileName\":\"pxt_modules/game/game.ts\",\"functionName\":\"addScenePopHandler\",\"argumentNames\":[\"handler\"]}\n\nfunction game_addScenePopHandler__P765_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_addScenePopHandler__P765, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_addScenePushHandler__P749(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_numops_toBoolDecr(globals._scenePushHandlers___1010);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_Array__mk();\n globals._scenePushHandlers___1010 = (r0);\n case 1:\n case 2:\n r0 = pxsim_Array_.indexOf(globals._scenePushHandlers___1010, s.arg0, undefined);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = pxsim_Array__push(globals._scenePushHandlers___1010, s.arg0);\n case 3:\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_addScenePushHandler__P749.info = {\"start\":10684,\"length\":242,\"line\":343,\"column\":4,\"endLine\":347,\"endColumn\":5,\"fileName\":\"pxt_modules/game/game.ts\",\"functionName\":\"addScenePushHandler\",\"argumentNames\":[\"handler\"]}\n\nfunction game_addScenePushHandler__P749_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_addScenePushHandler__P749, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction SpriteKind_create__P691(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = (globals.nextKind___690 === undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n globals.nextKind___690 = (1000);\n case 1:\n case 2:\n s.tmp_0 = r0 = globals.nextKind___690;\n r0 = (s.tmp_0 + 1);\n globals.nextKind___690 = (r0);\n r0 = s.tmp_0;\n return leave(s, r0)\n default: oops()\n} } }\nSpriteKind_create__P691.info = {\"start\":750,\"length\":112,\"line\":25,\"column\":4,\"endLine\":28,\"endColumn\":5,\"fileName\":\"pxt_modules/game/spritekind.ts\",\"functionName\":\"create\",\"argumentNames\":[]}\n\nfunction SpriteKind_create__P691_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: SpriteKind_create__P691, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction controller_Button_constructor__P548(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Button__C538_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"id\"] = (s.arg1);\n r0 = (s.arg0).fields[\"_buttonId\"] = (s.arg2);\n r0 = (s.arg0).fields[\"_pressed\"] = (false);\n r0 = (s.arg0).fields[\"repeatDelay\"] = (undefined);\n r0 = (s.arg0).fields[\"repeatInterval\"] = (undefined);\n r0 = (s.arg0).fields[\"_repeatCount\"] = (0);\n r0 = (s.arg1 > 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_pxtcore_mkAction(1, inline__P10117);\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_1, 0, s.arg0);\n r0 = s.arg0.fields[\"id\"];\n s.tmp_2 = r0;\n r0 = pxsim.control.internalOnEvent(2050, s.tmp_2, s.tmp_1, 16);\n r0 = pxsim_pxtcore_mkAction(1, inline__P10124);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n r0 = s.arg0.fields[\"id\"];\n s.tmp_1 = r0;\n r0 = pxsim.control.internalOnEvent(2051, s.tmp_1, s.tmp_0, 16);\n case 1:\n case 2:\n r0 = (s.arg2 > -1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = pxsim_pxtcore_mkAction(1, inline__P10133);\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_1, 0, s.arg0);\n r0 = pxsim.control.internalOnEvent(s.arg2, 2, s.tmp_1, 16);\n r0 = pxsim_pxtcore_mkAction(1, inline__P10144);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n r0 = pxsim.control.internalOnEvent(s.arg2, 1, s.tmp_0, 16);\n case 3:\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Button_constructor__P548.info = {\"start\":1354,\"length\":1205,\"line\":60,\"column\":8,\"endLine\":79,\"endColumn\":9,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"id\",\"buttonId\"]}\n\nfunction controller_Button_constructor__P548_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Button_constructor__P548, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction inline__P10117(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = controller_Button_setPressed__P546_mk(s);\n s.tmp_0.arg0 = s.caps[0];\n s.tmp_0.arg1 = false;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P10117.info = {\"start\":2015,\"length\":28,\"line\":71,\"column\":66,\"endLine\":71,\"endColumn\":94,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P10117_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P10117, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction inline__P10124(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = controller_Button_setPressed__P546_mk(s);\n s.tmp_0.arg0 = s.caps[0];\n s.tmp_0.arg1 = true;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P10124.info = {\"start\":2117,\"length\":27,\"line\":72,\"column\":68,\"endLine\":72,\"endColumn\":95,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P10124_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P10124, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction inline__P10133(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = s.caps[0].fields[\"id\"];\n s.tmp_0 = r0;\n r0 = pxsim.control.raiseEvent(2050, s.tmp_0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P10133.info = {\"start\":2344,\"length\":50,\"line\":76,\"column\":76,\"endLine\":76,\"endColumn\":126,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P10133_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P10133, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction inline__P10144(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = s.caps[0].fields[\"id\"];\n s.tmp_0 = r0;\n r0 = pxsim.control.raiseEvent(2051, s.tmp_0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P10144.info = {\"start\":2478,\"length\":52,\"line\":77,\"column\":78,\"endLine\":77,\"endColumn\":130,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P10144_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P10144, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction controller_Button_setPressed__P546(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Button__C538_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_pressed\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 != s.arg1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n s.tmp_2 = power_poke__P392_mk(s);\n s.pc = 7; return s.tmp_2;\n case 7:\n r0 = s.retval;\n r0 = s.arg0.fields[\"_owner\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_1 = controller_Controller_connected__P574_mk(s);\n r0 = s.arg0.fields[\"_owner\"];\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = true;\n s.pc = 8; return s.tmp_1;\n case 8:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = (s.arg0).fields[\"_pressed\"] = (s.arg1);\n r0 = s.arg0.fields[\"_pressed\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = (s.arg0).fields[\"_pressedElasped\"] = (0);\n s.tmp_0 = controller_Button_raiseButtonDown__P541_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 9; return s.tmp_0;\n case 9:\n r0 = s.retval;\n { step = 4; continue; }\n case 3:\n r0 = (s.arg0).fields[\"_repeatCount\"] = (0);\n s.tmp_0 = controller_Button_raiseButtonUp__P540_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 10; return s.tmp_0;\n case 10:\n r0 = s.retval;\n case 4:\n case 5:\n case 6:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Button_setPressed__P546.info = {\"start\":4302,\"length\":507,\"line\":132,\"column\":8,\"endLine\":146,\"endColumn\":9,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"setPressed\",\"argumentNames\":[\"this\",\"pressed\"]}\n\nfunction controller_Button_setPressed__P546_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Button_setPressed__P546, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction controller_Controller_connected__P574(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Controller__C557_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_connected\"];\n s.tmp_1 = r0;\n r0 = (s.arg1 != s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = (s.arg0).fields[\"_connected\"] = (s.arg1);\n r0 = s.arg0.fields[\"_connected\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = 1;\n { step = 2; continue; }\n case 1:\n r0 = 2;\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = s.arg0.fields[\"_id\"];\n s.tmp_2 = r0;\n r0 = pxsim.control.raiseEvent(s.tmp_2, s.tmp_1);\n case 3:\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Controller_connected__P574.info = {\"start\":11936,\"length\":261,\"line\":376,\"column\":8,\"endLine\":381,\"endColumn\":9,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"connected\",\"argumentNames\":[\"this\",\"value\"]}\n\nfunction controller_Controller_connected__P574_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Controller_connected__P574, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction controller_Controller_id__P560(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Controller__C557_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_id\"];\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Controller_id__P560.info = {\"start\":8221,\"length\":49,\"line\":247,\"column\":8,\"endLine\":249,\"endColumn\":9,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"id\",\"argumentNames\":[\"this\"]}\n\nfunction controller_Controller_id__P560_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Controller_id__P560, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller_Controller_connected__P573(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Controller__C557_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_connected\"];\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Controller_connected__P573.info = {\"start\":11863,\"length\":63,\"line\":372,\"column\":8,\"endLine\":374,\"endColumn\":9,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"connected\",\"argumentNames\":[\"this\"]}\n\nfunction controller_Controller_connected__P573_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Controller_connected__P573, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller_Button_raiseButtonDown__P541(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Button__C538_VT)) failedCast(r0);\n r0 = pxsim_numops_toBoolDecr(globals._userEventsEnabled___535);\n if (!r0) { step = 1; continue; }\n r0 = s.arg0.fields[\"id\"];\n s.tmp_0 = r0;\n r0 = pxsim.control.raiseEvent(2049, s.tmp_0);\n { step = 2; continue; }\n case 1:\n r0 = s.arg0.fields[\"id\"];\n s.tmp_0 = r0;\n r0 = pxsim.control.raiseEvent(2053, s.tmp_0);\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Button_raiseButtonDown__P541.info = {\"start\":2779,\"length\":205,\"line\":88,\"column\":8,\"endLine\":93,\"endColumn\":9,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"raiseButtonDown\",\"argumentNames\":[\"this\"]}\n\nfunction controller_Button_raiseButtonDown__P541_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Button_raiseButtonDown__P541, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller_Button_raiseButtonUp__P540(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Button__C538_VT)) failedCast(r0);\n r0 = pxsim_numops_toBoolDecr(globals._userEventsEnabled___535);\n if (!r0) { step = 1; continue; }\n r0 = s.arg0.fields[\"id\"];\n s.tmp_0 = r0;\n r0 = pxsim.control.raiseEvent(2048, s.tmp_0);\n { step = 2; continue; }\n case 1:\n r0 = s.arg0.fields[\"id\"];\n s.tmp_0 = r0;\n r0 = pxsim.control.raiseEvent(2052, s.tmp_0);\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Button_raiseButtonUp__P540.info = {\"start\":2569,\"length\":200,\"line\":81,\"column\":8,\"endLine\":86,\"endColumn\":9,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"raiseButtonUp\",\"argumentNames\":[\"this\"]}\n\nfunction controller_Button_raiseButtonUp__P540_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Button_raiseButtonUp__P540, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction settings_initScopes__P491(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.rn___10219 = undefined;\n s.tmp_1 = settings_runNumber__P489_mk(s);\n s.pc = 1; return s.tmp_1;\n case 1:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = (s.tmp_0 + 1);\n s.rn___10219 = (r0);\n s.tmp_0 = settings_writeNumber__P496_mk(s);\n s.tmp_0.arg0 = \"#run\";\n s.tmp_0.arg1 = s.rn___10219;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n r0 = pxsim.control.deviceSerialNumber();\n s.tmp_1 = r0;\n r0 = (s.tmp_1 & 2147483647);\n s.tmp_0 = r0;\n r0 = pxsim_pxtcore.seedAddRandom(s.tmp_0);\n r0 = pxsim_pxtcore.seedAddRandom(s.rn___10219);\n s.tmp_0 = settings_setScope__P490_mk(s);\n r0 = pxsim_pxtcore.programName();\n s.tmp_0.arg0 = r0;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsettings_initScopes__P491.info = {\"start\":960,\"length\":229,\"line\":36,\"column\":4,\"endLine\":44,\"endColumn\":5,\"fileName\":\"pxt_modules/settings/settings.ts\",\"functionName\":\"initScopes\",\"argumentNames\":[]}\n\nfunction settings_initScopes__P491_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: settings_initScopes__P491, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n rn___10219: undefined,\n} }\n\n\n\n\n\nfunction settings_setScope__P490(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.currScope___10242 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_numops_toBoolDecr(s.arg0);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = pxsim_String_.length(s.arg0);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 > 100);\n case 2:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 3; continue; }\n r0 = pxsim_pxtrt.panic(922);\n case 3:\n case 4:\n s.tmp_0 = settings_readString__P499_mk(s);\n s.tmp_0.arg0 = \"#scope\";\n s.pc = 7; return s.tmp_0;\n case 7:\n r0 = s.retval;\n s.currScope___10242 = (r0);\n r0 = (s.currScope___10242 != s.arg0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = pxsim.settings._userClean();\n s.tmp_0 = settings_writeString__P495_mk(s);\n s.tmp_0.arg0 = \"#scope\";\n s.tmp_0.arg1 = s.arg0;\n s.pc = 8; return s.tmp_0;\n case 8:\n r0 = s.retval;\n case 5:\n case 6:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsettings_setScope__P490.info = {\"start\":684,\"length\":270,\"line\":26,\"column\":4,\"endLine\":34,\"endColumn\":5,\"fileName\":\"pxt_modules/settings/settings.ts\",\"functionName\":\"setScope\",\"argumentNames\":[\"scope\"]}\n\nfunction settings_setScope__P490_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: settings_setScope__P490, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n currScope___10242: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction settings_readString__P499(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.buf___10258 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim.settings._get(s.arg0);\n s.buf___10258 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.buf___10258);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = undefined;\n { step = 3; continue; }\n { step = 2; continue; }\n case 1:\n r0 = pxsim.BufferMethods.toString(s.buf___10258);\n { step = 3; continue; }\n case 2:\n r0 = undefined;\n case 3:\n return leave(s, r0)\n default: oops()\n} } }\nsettings_readString__P499.info = {\"start\":2504,\"length\":177,\"line\":98,\"column\":4,\"endLine\":104,\"endColumn\":5,\"fileName\":\"pxt_modules/settings/settings.ts\",\"functionName\":\"readString\",\"argumentNames\":[\"key\"]}\n\nfunction settings_readString__P499_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: settings_readString__P499, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n buf___10258: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction settings_writeString__P495(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = settings_writeBuffer__P494_mk(s);\n s.tmp_0.arg0 = s.arg0;\n r0 = pxsim.control.createBufferFromUTF8(s.arg1);\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsettings_writeString__P495.info = {\"start\":1750,\"length\":125,\"line\":70,\"column\":4,\"endLine\":72,\"endColumn\":5,\"fileName\":\"pxt_modules/settings/settings.ts\",\"functionName\":\"writeString\",\"argumentNames\":[\"key\",\"value\"]}\n\nfunction settings_writeString__P495_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: settings_writeString__P495, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction settings_runNumber__P489(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_1 = settings_readNumber__P500_mk(s);\n s.tmp_1.arg0 = \"#run\";\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = 0;\n case 2:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = s.tmp_2;\n return leave(s, r0)\n default: oops()\n} } }\nsettings_runNumber__P489.info = {\"start\":604,\"length\":74,\"line\":22,\"column\":4,\"endLine\":24,\"endColumn\":5,\"fileName\":\"pxt_modules/settings/settings.ts\",\"functionName\":\"runNumber\",\"argumentNames\":[]}\n\nfunction settings_runNumber__P489_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: settings_runNumber__P489, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n} }\n\n\n\n\n\nfunction control___screen_setupUpdate__P436(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n globals.__updated___434 = (true);\n globals.__update___433 = (s.arg0);\n s.tmp_0 = lambda_1_mk(s);\n s.tmp_0.argL = s.arg0;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol___screen_setupUpdate__P436.info = {\"start\":198,\"length\":125,\"line\":10,\"column\":4,\"endLine\":14,\"endColumn\":5,\"fileName\":\"pxt_modules/screen/frame.ts\",\"functionName\":\"setupUpdate\",\"argumentNames\":[\"update\"]}\n\nfunction control___screen_setupUpdate__P436_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control___screen_setupUpdate__P436, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction control___screen_update__P435(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals.__update___433);\n if (!r0) { step = 1; continue; }\n s.tmp_0 = lambda_1_mk(s);\n s.tmp_0.argL = globals.__update___433;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n case 1:\n case 2:\n globals.__updated___434 = (true);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol___screen_update__P435.info = {\"start\":90,\"length\":102,\"line\":4,\"column\":4,\"endLine\":8,\"endColumn\":5,\"fileName\":\"pxt_modules/screen/frame.ts\",\"functionName\":\"update\",\"argumentNames\":[]}\n\nfunction control___screen_update__P435_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control___screen_update__P435, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction pause__P241(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n setupResume(s, 1);\n pxsim.loops.pause(s.arg0);\n checkResumeConsumed();\n return;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\npause__P241.info = {\"start\":246,\"length\":57,\"line\":7,\"column\":0,\"endLine\":9,\"endColumn\":1,\"fileName\":\"pxt_modules/base/pause.ts\",\"functionName\":\"pause\",\"argumentNames\":[\"ms\"]}\n\nfunction pause__P241_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: pause__P241, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Fx8__P78(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 * 256);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 | 0);\n return leave(s, r0)\n default: oops()\n} } }\nFx8__P78.info = {\"start\":42,\"length\":68,\"line\":4,\"column\":0,\"endLine\":6,\"endColumn\":1,\"fileName\":\"pxt_modules/base/fixed.ts\",\"functionName\":\"Fx8\",\"argumentNames\":[\"v\"]}\n\nfunction Fx8__P78_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Fx8__P78, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction animation_MovementAnimation_constructor__P1552(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, animation_MovementAnimation__C1549_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"path\"] = (s.arg2);\n r0 = (s.arg0).fields[\"nodeInterval\"] = (s.arg3);\n s.tmp_0 = animation_SpriteAnimation_constructor__P1544_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.tmp_0.arg2 = s.arg4;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = (s.arg0).fields[\"loop\"] = (s.arg4);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nanimation_MovementAnimation_constructor__P1552.info = {\"start\":18785,\"length\":169,\"line\":480,\"column\":8,\"endLine\":484,\"endColumn\":9,\"fileName\":\"pxt_modules/animation/animation.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"sprite\",\"path\",\"nodeInterval\",\"loop\"]}\n\nfunction animation_MovementAnimation_constructor__P1552_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: animation_MovementAnimation_constructor__P1552, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n} }\n\n\n\n\n\nfunction animation_MovementAnimation_update__P1551(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.result___10307 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, animation_MovementAnimation__C1549_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"sprite\"];\n r0 = r0.fields[\"flags\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 & 2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = true;\n { step = 9; continue; }\n case 1:\n case 2:\n r0 = s.arg0.fields[\"startedAt\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 == null);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 3; continue; }\n s.tmp_4 = r0 = s.arg0;\n r0 = pxsim.control.millis();\n s.tmp_5 = r0;\n r0 = (s.tmp_4).fields[\"startedAt\"] = (s.tmp_5);\n case 3:\n case 4:\n s.tmp_0 = animation_Path_run__P1512_mk(s);\n r0 = s.arg0.fields[\"path\"];\n s.tmp_0.arg0 = r0;\n r0 = s.arg0.fields[\"nodeInterval\"];\n s.tmp_0.arg1 = r0;\n r0 = s.arg0.fields[\"sprite\"];\n s.tmp_0.arg2 = r0;\n r0 = s.arg0.fields[\"startedAt\"];\n s.tmp_0.arg3 = r0;\n s.pc = 10; return s.tmp_0;\n case 10:\n r0 = s.retval;\n s.result___10307 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.result___10307);\n if (!r0) { step = 7; continue; }\n r0 = s.arg0.fields[\"loop\"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = true;\n { step = 9; continue; }\n case 5:\n case 6:\n s.tmp_3 = r0 = s.arg0;\n r0 = pxsim.control.millis();\n s.tmp_4 = r0;\n r0 = (s.tmp_3).fields[\"startedAt\"] = (s.tmp_4);\n case 7:\n case 8:\n r0 = false;\n case 9:\n return leave(s, r0)\n default: oops()\n} } }\nanimation_MovementAnimation_update__P1551.info = {\"start\":18972,\"length\":460,\"line\":486,\"column\":8,\"endLine\":497,\"endColumn\":9,\"fileName\":\"pxt_modules/animation/animation.ts\",\"functionName\":\"update\",\"argumentNames\":[\"this\"]}\n\nfunction animation_MovementAnimation_update__P1551_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: animation_MovementAnimation_update__P1551, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n result___10307: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction animation_Path_run__P1512(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.runningTime___10328 = undefined;\n s.nodeIndex___10332 = undefined;\n s.nodeTime___10337 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, animation_Path__C1506_VT)) failedCast(r0);\n r0 = pxsim.control.millis();\n s.tmp_0 = r0;\n r0 = (s.tmp_0 - s.arg3);\n s.runningTime___10328 = (r0);\n r0 = (s.runningTime___10328 / s.arg1);\n s.tmp_0 = r0;\n r0 = pxsim.Math_.floor(s.tmp_0);\n s.nodeIndex___10332 = (r0);\n r0 = (s.runningTime___10328 % s.arg1);\n s.nodeTime___10337 = (r0);\n r0 = s.arg0.fields[\"lastNode\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > -1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = s.arg0.fields[\"lastNode\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 < s.nodeIndex___10332);\n case 2:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBool(s.tmp_3);\n if (r0) { step = 3; continue; }\n r0 = s.tmp_3;\n { step = 4; continue; }\n case 3:\n r0 = s.arg0.fields[\"nodes\"];\n s.tmp_4 = r0;\n r0 = pxsim_Array__length(s.tmp_4);\n case 4:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_5);\n if (!r0) { step = 7; continue; }\n s.tmp_6 = animation_PathNode__C1514_v0_4_mk(s);\n r0 = s.arg0.fields[\"nodes\"];\n s.tmp_7 = r0;\n r0 = s.arg0.fields[\"lastNode\"];\n s.tmp_8 = r0;\n r0 = pxsim_Array__getAt(s.tmp_7, s.tmp_8);\n s.tmp_6.arg0 = r0;\n s.tmp_6.arg1 = s.arg2;\n s.tmp_6.arg2 = s.arg1;\n s.tmp_6.arg3 = s.arg1;\n if (!checkSubtype(s.tmp_6.arg0, animation_PathNode__C1514_VT)) failedCast(s.tmp_6.arg0);\n s.tmp_6.fn = s.tmp_6.arg0.vtable.methods.apply;\n s.pc = 10; return s.tmp_6;\n case 10:\n r0 = s.retval;\n s.tmp_1 = r0 = s.nodeIndex___10332;\n r0 = s.arg0.fields[\"nodes\"];\n s.tmp_3 = r0;\n r0 = pxsim_Array__length(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 >= s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = true;\n { step = 9; continue; }\n case 5:\n case 6:\n case 7:\n case 8:\n r0 = (s.arg0).fields[\"lastNode\"] = (s.nodeIndex___10332);\n s.tmp_0 = animation_PathNode__C1514_v0_4_mk(s);\n r0 = s.arg0.fields[\"nodes\"];\n s.tmp_1 = r0;\n r0 = pxsim_Array__getAt(s.tmp_1, s.nodeIndex___10332);\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = s.arg2;\n s.tmp_0.arg2 = s.nodeTime___10337;\n s.tmp_0.arg3 = s.arg1;\n if (!checkSubtype(s.tmp_0.arg0, animation_PathNode__C1514_VT)) failedCast(s.tmp_0.arg0);\n s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.apply;\n s.pc = 11; return s.tmp_0;\n case 11:\n r0 = s.retval;\n r0 = false;\n case 9:\n return leave(s, r0)\n default: oops()\n} } }\nanimation_Path_run__P1512.info = {\"start\":11979,\"length\":1002,\"line\":287,\"column\":8,\"endLine\":301,\"endColumn\":9,\"fileName\":\"pxt_modules/animation/animation.ts\",\"functionName\":\"run\",\"argumentNames\":[\"this\",\"interval\",\"target\",\"startedAt\"]}\n\nfunction animation_Path_run__P1512_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: animation_Path_run__P1512, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n runningTime___10328: undefined,\n nodeIndex___10332: undefined,\n nodeTime___10337: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction animation_PathNode_apply__P1515(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, animation_PathNode__C1514_VT)) failedCast(r0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nanimation_PathNode_apply__P1515.info = {\"start\":13131,\"length\":60,\"line\":310,\"column\":8,\"endLine\":310,\"endColumn\":68,\"fileName\":\"pxt_modules/animation/animation.ts\",\"functionName\":\"apply\",\"argumentNames\":[\"this\",\"target\",\"nodeTime\",\"interval\"]}\n\nfunction animation_PathNode_apply__P1515_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: animation_PathNode_apply__P1515, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction animation_ImageAnimation_update__P1547(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.runningTime___10391 = undefined;\n s.frameIndex___10396 = undefined;\n s.newImage___10413 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, animation_ImageAnimation__C1545_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"sprite\"];\n r0 = r0.fields[\"flags\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 & 2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = true;\n { step = 17; continue; }\n case 1:\n case 2:\n r0 = s.arg0.fields[\"startedAt\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 == null);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 3; continue; }\n s.tmp_4 = r0 = s.arg0;\n r0 = pxsim.control.millis();\n s.tmp_5 = r0;\n r0 = (s.tmp_4).fields[\"startedAt\"] = (s.tmp_5);\n case 3:\n case 4:\n r0 = pxsim.control.millis();\n s.tmp_0 = r0;\n r0 = s.arg0.fields[\"startedAt\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_0 - s.tmp_1);\n s.runningTime___10391 = (r0);\n r0 = s.arg0.fields[\"frameInterval\"];\n s.tmp_1 = r0;\n r0 = (s.runningTime___10391 / s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim.Math_.floor(s.tmp_0);\n s.frameIndex___10396 = (r0);\n r0 = s.arg0.fields[\"lastFrame\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > -1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 5; continue; }\n r0 = s.tmp_0;\n { step = 6; continue; }\n case 5:\n r0 = s.arg0.fields[\"lastFrame\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 < s.frameIndex___10396);\n case 6:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBool(s.tmp_3);\n if (r0) { step = 7; continue; }\n r0 = s.tmp_3;\n { step = 8; continue; }\n case 7:\n r0 = s.arg0.fields[\"frames\"];\n s.tmp_4 = r0;\n r0 = pxsim_Array__length(s.tmp_4);\n case 8:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_5);\n if (!r0) { step = 15; continue; }\n r0 = s.arg0.fields[\"frames\"];\n s.tmp_6 = r0;\n r0 = (s.frameIndex___10396 - 1);\n s.tmp_7 = r0;\n r0 = pxsim_Array__getAt(s.tmp_6, s.tmp_7);\n s.newImage___10413 = (r0);\n r0 = s.arg0.fields[\"sprite\"];\n s.tmp_2 = r0;\n r0 = s.tmp_2.fields[\"_image\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 !== s.newImage___10413);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 9; continue; }\n s.tmp_3 = Sprite_setImage__P625_mk(s);\n r0 = s.arg0.fields[\"sprite\"];\n s.tmp_3.arg0 = r0;\n s.tmp_3.arg1 = s.newImage___10413;\n s.pc = 18; return s.tmp_3;\n case 18:\n r0 = s.retval;\n case 9:\n case 10:\n s.tmp_1 = r0 = s.frameIndex___10396;\n r0 = s.arg0.fields[\"frames\"];\n s.tmp_3 = r0;\n r0 = pxsim_Array__length(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 >= s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 13; continue; }\n r0 = s.arg0.fields[\"loop\"];\n s.tmp_6 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_6);\n s.tmp_5 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_5);\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n if (!r0) { step = 11; continue; }\n r0 = true;\n { step = 17; continue; }\n case 11:\n case 12:\n s.tmp_7 = r0 = s.arg0;\n r0 = pxsim.control.millis();\n s.tmp_8 = r0;\n r0 = (s.tmp_7).fields[\"startedAt\"] = (s.tmp_8);\n case 13:\n case 14:\n case 15:\n case 16:\n r0 = (s.arg0).fields[\"lastFrame\"] = (s.frameIndex___10396);\n r0 = false;\n case 17:\n return leave(s, r0)\n default: oops()\n} } }\nanimation_ImageAnimation_update__P1547.info = {\"start\":17777,\"length\":931,\"line\":456,\"column\":8,\"endLine\":476,\"endColumn\":9,\"fileName\":\"pxt_modules/animation/animation.ts\",\"functionName\":\"update\",\"argumentNames\":[\"this\"]}\n\nfunction animation_ImageAnimation_update__P1547_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: animation_ImageAnimation_update__P1547, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n runningTime___10391: undefined,\n frameIndex___10396: undefined,\n newImage___10413: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction SpriteSet_toString__P686(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, SpriteSet__C676_VT)) failedCast(r0);\n r0 = pxsim_String_.mkEmpty();\n s.tmp_1 = r0;\n r0 = s.arg0.fields[\"_sprites\"];\n s.tmp_4 = r0;\n r0 = pxsim_Array__length(s.tmp_4);\n s.tmp_3 = r0;\n if ((s.tmp_3) && (s.tmp_3).vtable) {\n setupResume(s, 1);\n pxsim_String__stringConv(s.tmp_3);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_3) + \"\"; }\n case 1:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = pxsim_String__concat(s.tmp_1, s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_String__concat(s.tmp_0, \" sprites\");\n return leave(s, r0)\n default: oops()\n} } }\nSpriteSet_toString__P686.info = {\"start\":2209,\"length\":58,\"line\":96,\"column\":4,\"endLine\":98,\"endColumn\":5,\"fileName\":\"pxt_modules/game/spriteset.ts\",\"functionName\":\"toString\",\"argumentNames\":[\"this\"]}\n\nfunction SpriteSet_toString__P686_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: SpriteSet_toString__P686, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction SpriteSet_length__P678(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, SpriteSet__C676_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_sprites\"];\n s.tmp_0 = r0;\n r0 = pxsim_Array__length(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\nSpriteSet_length__P678.info = {\"start\":508,\"length\":57,\"line\":25,\"column\":4,\"endLine\":27,\"endColumn\":5,\"fileName\":\"pxt_modules/game/spriteset.ts\",\"functionName\":\"length\",\"argumentNames\":[\"this\"]}\n\nfunction SpriteSet_length__P678_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: SpriteSet_length__P678, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction tiles_TileMap_constructor__P885(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, tiles_TileMap__C865_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"_tileSets\"] = (s.tmp_1);\n r0 = (s.arg0).fields[\"_layer\"] = (1);\n r0 = (s.arg0).fields[\"scale\"] = (s.arg1);\n r0 = pxsim_pxtcore_mkAction(1, inline__P12163);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n s.tmp_1 = scene_createRenderable__P896_mk(s);\n s.tmp_1.arg0 = globals.TILE_MAP_Z___918;\n s.tmp_1.arg1 = s.tmp_0;\n s.tmp_1.arg2 = undefined;\n s.pc = 1; return s.tmp_1;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ntiles_TileMap_constructor__P885.info = {\"start\":2488,\"length\":283,\"line\":88,\"column\":8,\"endLine\":97,\"endColumn\":9,\"fileName\":\"pxt_modules/game/tilemap.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"scale\"]}\n\nfunction tiles_TileMap_constructor__P885_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: tiles_TileMap_constructor__P885, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction inline__P12163(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = tiles_TileMap_draw__P882_mk(s);\n s.tmp_0.arg0 = s.caps[0];\n s.tmp_0.arg1 = s.arg0;\n s.tmp_0.arg2 = s.arg1;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P12163.info = {\"start\":2721,\"length\":25,\"line\":95,\"column\":16,\"endLine\":95,\"endColumn\":41,\"fileName\":\"pxt_modules/game/tilemap.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"t\",\"c\"]}\n\nfunction inline__P12163_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P12163, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction tiles_TileMap_draw__P882(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.bitmask___12173 = undefined;\n s.offsetX___12176 = undefined;\n s.offsetY___12180 = undefined;\n s.x0___12184 = undefined;\n s.xn___12190 = undefined;\n s.y0___12203 = undefined;\n s.yn___12209 = undefined;\n s.x___12222 = undefined;\n s.y___12227 = undefined;\n s.index___12232 = undefined;\n s.tile___12239 = undefined;\n s.x___12267 = undefined;\n s.xLine___12272 = undefined;\n s.y___12292 = undefined;\n s.yLine___12297 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, tiles_TileMap__C865_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_map\"];\n s.tmp_6 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_6);\n s.tmp_5 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_5);\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n s.tmp_3 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 25; continue; }\n case 1:\n case 2:\n r0 = s.arg0.fields[\"scale\"];\n s.tmp_8 = r0;\n r0 = (1 << s.tmp_8);\n s.tmp_7 = r0;\n r0 = (s.tmp_7 - 1);\n s.bitmask___12173 = (r0);\n r0 = s.arg2.fields[\"drawOffsetX\"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 & s.bitmask___12173);\n s.offsetX___12176 = (r0);\n r0 = s.arg2.fields[\"drawOffsetY\"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 & s.bitmask___12173);\n s.offsetY___12180 = (r0);\n s.tmp_0 = Math_max__P61_mk(s);\n s.tmp_0.arg0 = 0;\n r0 = s.arg2.fields[\"drawOffsetX\"];\n s.tmp_1 = r0;\n r0 = s.arg0.fields[\"scale\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_1 >> s.tmp_2);\n s.tmp_0.arg1 = r0;\n s.pc = 26; return s.tmp_0;\n case 26:\n r0 = s.retval;\n s.x0___12184 = (r0);\n s.tmp_0 = Math_min__P62_mk(s);\n r0 = s.arg0.fields[\"_map\"];\n s.tmp_1 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_1);\n s.tmp_0.arg0 = r0;\n r0 = s.arg2.fields[\"drawOffsetX\"];\n s.tmp_4 = r0;\n r0 = pxsim_ImageMethods.width(s.arg1);\n s.tmp_5 = r0;\n r0 = (s.tmp_4 + s.tmp_5);\n s.tmp_3 = r0;\n r0 = s.arg0.fields[\"scale\"];\n s.tmp_6 = r0;\n r0 = (s.tmp_3 >> s.tmp_6);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + 1);\n s.tmp_0.arg1 = r0;\n s.pc = 27; return s.tmp_0;\n case 27:\n r0 = s.retval;\n s.xn___12190 = (r0);\n s.tmp_0 = Math_max__P61_mk(s);\n s.tmp_0.arg0 = 0;\n r0 = s.arg2.fields[\"drawOffsetY\"];\n s.tmp_1 = r0;\n r0 = s.arg0.fields[\"scale\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_1 >> s.tmp_2);\n s.tmp_0.arg1 = r0;\n s.pc = 28; return s.tmp_0;\n case 28:\n r0 = s.retval;\n s.y0___12203 = (r0);\n s.tmp_0 = Math_min__P62_mk(s);\n r0 = s.arg0.fields[\"_map\"];\n s.tmp_1 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_1);\n s.tmp_0.arg0 = r0;\n r0 = s.arg2.fields[\"drawOffsetY\"];\n s.tmp_4 = r0;\n r0 = pxsim_ImageMethods.height(s.arg1);\n s.tmp_5 = r0;\n r0 = (s.tmp_4 + s.tmp_5);\n s.tmp_3 = r0;\n r0 = s.arg0.fields[\"scale\"];\n s.tmp_6 = r0;\n r0 = (s.tmp_3 >> s.tmp_6);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + 1);\n s.tmp_0.arg1 = r0;\n s.pc = 29; return s.tmp_0;\n case 29:\n r0 = s.retval;\n s.yn___12209 = (r0);\n s.x___12222 = (s.x0___12184);\n case 3:\n r0 = (s.x___12222 <= s.xn___12190);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 10; continue; }\n s.y___12227 = (s.y0___12203);\n case 4:\n r0 = (s.y___12227 <= s.yn___12209);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 9; continue; }\n r0 = s.arg0.fields[\"_map\"];\n s.tmp_1 = r0;\n r0 = pxsim_ImageMethods.getPixel(s.tmp_1, s.x___12222, s.y___12227);\n s.index___12232 = (r0);\n r0 = s.arg0.fields[\"_tileSets\"];\n s.tmp_1 = r0;\n r0 = pxsim_Array__getAt(s.tmp_1, s.index___12232);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = s.tmp_0;\n { step = 6; continue; }\n case 5:\n s.tmp_2 = tiles_TileMap_generateTile__P879_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.tmp_2.arg1 = s.index___12232;\n s.pc = 30; return s.tmp_2;\n case 30:\n r0 = s.retval;\n case 6:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n s.tile___12239 = (s.tmp_3);\n r0 = pxsim_numops_toBoolDecr(s.tile___12239);\n if (!r0) { step = 7; continue; }\n s.tmp_0 = r0 = s.arg1;\n s.tmp_2 = tiles_TileSet_image__P857_mk(s);\n s.tmp_2.arg0 = s.tile___12239;\n s.pc = 31; return s.tmp_2;\n case 31:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.x___12222 - s.x0___12184);\n s.tmp_5 = r0;\n r0 = s.arg0.fields[\"scale\"];\n s.tmp_6 = r0;\n r0 = (s.tmp_5 << s.tmp_6);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 - s.offsetX___12176);\n s.tmp_3 = r0;\n r0 = (s.y___12227 - s.y0___12203);\n s.tmp_9 = r0;\n r0 = s.arg0.fields[\"scale\"];\n s.tmp_10 = r0;\n r0 = (s.tmp_9 << s.tmp_10);\n s.tmp_8 = r0;\n r0 = (s.tmp_8 - s.offsetY___12180);\n s.tmp_7 = r0;\n r0 = pxsim_ImageMethods.drawTransparentImage(s.tmp_0, s.tmp_1, s.tmp_3, s.tmp_7);\n case 7:\n case 8:\n r0 = (s.y___12227 + 1);\n s.y___12227 = (r0);\n { step = 4; continue; }\n case 9:\n r0 = (s.x___12222 + 1);\n s.x___12222 = (r0);\n { step = 3; continue; }\n case 10:\n r0 = pxsim_numops_toBoolDecr(globals.debug___998);\n if (!r0) { step = 23; continue; }\n s.x___12267 = (s.x0___12184);\n case 11:\n r0 = (s.x___12267 <= s.xn___12190);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 16; continue; }\n r0 = (s.x___12267 - s.x0___12184);\n s.tmp_2 = r0;\n r0 = s.arg0.fields[\"scale\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_2 << s.tmp_3);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - s.offsetX___12176);\n s.xLine___12272 = (r0);\n r0 = (s.xLine___12272 >= 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 12; continue; }\n r0 = s.tmp_0;\n { step = 13; continue; }\n case 12:\n s.tmp_1 = r0 = s.xLine___12272;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 <= s.tmp_2);\n case 13:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 14; continue; }\n s.tmp_4 = helpers_imageDrawLine__P413_mk(s);\n s.tmp_4.arg0 = s.arg1;\n s.tmp_4.arg1 = s.xLine___12272;\n s.tmp_4.arg2 = 0;\n s.tmp_4.arg3 = s.xLine___12272;\n r0 = pxsim_ImageMethods.height(s.arg1);\n s.tmp_4.arg4 = r0;\n s.tmp_4.arg5 = 1;\n s.pc = 32; return s.tmp_4;\n case 32:\n r0 = s.retval;\n case 14:\n case 15:\n r0 = (s.x___12267 + 1);\n s.x___12267 = (r0);\n { step = 11; continue; }\n case 16:\n s.y___12292 = (s.y0___12203);\n case 17:\n r0 = (s.y___12292 <= s.yn___12209);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 22; continue; }\n r0 = (s.y___12292 - s.y0___12203);\n s.tmp_2 = r0;\n r0 = s.arg0.fields[\"scale\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_2 << s.tmp_3);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - s.offsetY___12180);\n s.yLine___12297 = (r0);\n r0 = (s.yLine___12297 >= 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 18; continue; }\n r0 = s.tmp_0;\n { step = 19; continue; }\n case 18:\n s.tmp_1 = r0 = s.yLine___12297;\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 <= s.tmp_2);\n case 19:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 20; continue; }\n s.tmp_4 = helpers_imageDrawLine__P413_mk(s);\n s.tmp_4.arg0 = s.arg1;\n s.tmp_4.arg1 = 0;\n s.tmp_4.arg2 = s.yLine___12297;\n r0 = pxsim_ImageMethods.width(s.arg1);\n s.tmp_4.arg3 = r0;\n s.tmp_4.arg4 = s.yLine___12297;\n s.tmp_4.arg5 = 1;\n s.pc = 33; return s.tmp_4;\n case 33:\n r0 = s.retval;\n case 20:\n case 21:\n r0 = (s.y___12292 + 1);\n s.y___12292 = (r0);\n { step = 17; continue; }\n case 22:\n case 23:\n case 24:\n case 25:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ntiles_TileMap_draw__P882.info = {\"start\":5334,\"length\":2251,\"line\":183,\"column\":8,\"endLine\":238,\"endColumn\":9,\"fileName\":\"pxt_modules/game/tilemap.ts\",\"functionName\":\"draw\",\"argumentNames\":[\"this\",\"target\",\"camera\"]}\n\nfunction tiles_TileMap_draw__P882_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: tiles_TileMap_draw__P882, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n bitmask___12173: undefined,\n offsetX___12176: undefined,\n offsetY___12180: undefined,\n x0___12184: undefined,\n xn___12190: undefined,\n y0___12203: undefined,\n yn___12209: undefined,\n x___12222: undefined,\n y___12227: undefined,\n index___12232: undefined,\n tile___12239: undefined,\n x___12267: undefined,\n xLine___12272: undefined,\n y___12292: undefined,\n yLine___12297: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction tiles_TileMap_generateTile__P879(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.size___11138 = undefined;\n s.i___11141 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, tiles_TileMap__C865_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"scale\"];\n s.tmp_0 = r0;\n r0 = (1 << s.tmp_0);\n s.size___11138 = (r0);\n r0 = pxsim.image.create(s.size___11138, s.size___11138);\n s.i___11141 = (r0);\n r0 = pxsim_ImageMethods.fill(s.i___11141, s.arg1);\n r0 = pxsim_pxtcore_mkClassInstance(tiles_TileSet__C856_VT);\n s.tmp_0 = r0;\n s.tmp_1 = tiles_TileSet_constructor__P858_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = s.i___11141;\n s.tmp_1.arg2 = false;\n s.tmp_1.arg3 = s.arg0;\n s.pc = 1; return s.tmp_1;\n case 1:\n r0 = s.retval;\n r0 = s.arg0.fields[\"_tileSets\"];\n s.tmp_2 = r0;\n r0 = pxsim_Array_.setAt(s.tmp_2, s.arg1, s.tmp_0);\n r0 = s.tmp_0;\n return leave(s, r0)\n default: oops()\n} } }\ntiles_TileMap_generateTile__P879.info = {\"start\":4764,\"length\":245,\"line\":166,\"column\":8,\"endLine\":172,\"endColumn\":9,\"fileName\":\"pxt_modules/game/tilemap.ts\",\"functionName\":\"generateTile\",\"argumentNames\":[\"this\",\"index\"]}\n\nfunction tiles_TileMap_generateTile__P879_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: tiles_TileMap_generateTile__P879, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n size___11138: undefined,\n i___11141: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction tiles_TileSet_constructor__P858(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, tiles_TileSet__C856_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"originalImage\"] = (s.arg1);\n r0 = (s.arg0).fields[\"obstacle\"] = (s.arg2);\n r0 = (s.arg0).fields[\"map\"] = (s.arg3);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ntiles_TileSet_constructor__P858.info = {\"start\":312,\"length\":180,\"line\":16,\"column\":8,\"endLine\":20,\"endColumn\":9,\"fileName\":\"pxt_modules/game/tilemap.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"image\",\"collisions\",\"map\"]}\n\nfunction tiles_TileSet_constructor__P858_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: tiles_TileSet_constructor__P858, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction tiles_TileSet_image__P857(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.size___11065 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, tiles_TileSet__C856_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"map\"];\n r0 = r0.fields[\"scale\"];\n s.tmp_0 = r0;\n r0 = (1 << s.tmp_0);\n s.size___11065 = (r0);\n r0 = s.arg0.fields[\"cachedImage\"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = s.arg0.fields[\"cachedImage\"];\n s.tmp_4 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_4);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 != s.size___11065);\n case 2:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBool(s.tmp_5);\n if (!r0) { step = 3; continue; }\n r0 = s.tmp_5;\n { step = 4; continue; }\n case 3:\n r0 = s.arg0.fields[\"cachedImage\"];\n s.tmp_7 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_7);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 != s.size___11065);\n case 4:\n // jmp value (already in r0)\n s.tmp_8 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_8);\n if (!r0) { step = 9; continue; }\n r0 = s.arg0.fields[\"originalImage\"];\n s.tmp_11 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_11);\n s.tmp_10 = r0;\n r0 = (s.tmp_10 == s.size___11065);\n s.tmp_9 = r0;\n r0 = pxsim_numops_toBool(s.tmp_9);\n if (r0) { step = 5; continue; }\n r0 = s.tmp_9;\n { step = 6; continue; }\n case 5:\n r0 = s.arg0.fields[\"originalImage\"];\n s.tmp_13 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_13);\n s.tmp_12 = r0;\n r0 = (s.tmp_12 == s.size___11065);\n case 6:\n // jmp value (already in r0)\n s.tmp_14 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_14);\n if (!r0) { step = 7; continue; }\n r0 = s.arg0.fields[\"originalImage\"];\n s.tmp_15 = r0;\n r0 = (s.arg0).fields[\"cachedImage\"] = (s.tmp_15);\n { step = 8; continue; }\n case 7:\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim.image.create(s.size___11065, s.size___11065);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"cachedImage\"] = (s.tmp_1);\n r0 = s.arg0.fields[\"cachedImage\"];\n s.tmp_0 = r0;\n r0 = s.arg0.fields[\"originalImage\"];\n s.tmp_1 = r0;\n r0 = pxsim_ImageMethods.drawImage(s.tmp_0, s.tmp_1, 0, 0);\n case 8:\n case 9:\n case 10:\n r0 = s.arg0.fields[\"cachedImage\"];\n return leave(s, r0)\n default: oops()\n} } }\ntiles_TileSet_image__P857.info = {\"start\":502,\"length\":567,\"line\":22,\"column\":8,\"endLine\":33,\"endColumn\":9,\"fileName\":\"pxt_modules/game/tilemap.ts\",\"functionName\":\"image\",\"argumentNames\":[\"this\"]}\n\nfunction tiles_TileSet_image__P857_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: tiles_TileSet_image__P857, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n tmp_12: undefined,\n tmp_13: undefined,\n tmp_14: undefined,\n tmp_15: undefined,\n size___11065: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_BackgroundLayer_constructor__P855(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_BackgroundLayer__C853_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_2 = Math_max__P61_mk(s);\n s.tmp_2.arg0 = 1;\n s.tmp_2.arg1 = s.arg1;\n s.pc = 7; return s.tmp_2;\n case 7:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"distance\"] = (s.tmp_1);\n r0 = (s.arg0).fields[\"img\"] = (s.arg3);\n s.tmp_0 = r0 = s.arg2;\n r0 = pxsim_pxtcore.switch_eq(5, s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = pxsim_pxtcore.switch_eq(1, s.tmp_0);\n if (r0) { step = 2; continue; }\n r0 = pxsim_pxtcore.switch_eq(2, s.tmp_0);\n if (r0) { step = 3; continue; }\n r0 = pxsim_pxtcore.switch_eq(3, s.tmp_0);\n if (r0) { step = 4; continue; }\n r0 = pxsim_pxtcore.switch_eq(4, s.tmp_0);\n if (r0) { step = 5; continue; }\n r0 = s.tmp_0;\n { step = 6; continue; }\n case 1:\n r0 = (s.arg0).fields[\"repeatX\"] = (true);\n r0 = (s.arg0).fields[\"repeatY\"] = (true);\n r0 = (s.arg0).fields[\"alignX\"] = (5);\n r0 = (s.arg0).fields[\"alignY\"] = (5);\n { step = 6; continue; }\n case 2:\n case 3:\n r0 = (s.arg0).fields[\"repeatX\"] = (false);\n r0 = (s.arg0).fields[\"repeatY\"] = (true);\n r0 = (s.arg0).fields[\"alignX\"] = (s.arg2);\n r0 = (s.arg0).fields[\"alignY\"] = (5);\n { step = 6; continue; }\n case 4:\n case 5:\n r0 = (s.arg0).fields[\"repeatX\"] = (true);\n r0 = (s.arg0).fields[\"repeatY\"] = (false);\n r0 = (s.arg0).fields[\"alignX\"] = (5);\n r0 = (s.arg0).fields[\"alignY\"] = (s.arg2);\n case 6:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_BackgroundLayer_constructor__P855.info = {\"start\":1936,\"length\":1117,\"line\":72,\"column\":8,\"endLine\":97,\"endColumn\":9,\"fileName\":\"pxt_modules/game/background.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"distance\",\"alignment\",\"img\"]}\n\nfunction scene_BackgroundLayer_constructor__P855_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_BackgroundLayer_constructor__P855, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction sprites_SpriteMap_toString__P670(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_SpriteMap__C659_VT)) failedCast(r0);\n r0 = pxsim_String_.mkEmpty();\n s.tmp_3 = r0;\n r0 = s.arg0.fields[\"buckets\"];\n s.tmp_6 = r0;\n r0 = pxsim_Array__length(s.tmp_6);\n s.tmp_5 = r0;\n if ((s.tmp_5) && (s.tmp_5).vtable) {\n setupResume(s, 1);\n pxsim_String__stringConv(s.tmp_5);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_5) + \"\"; }\n case 1:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = pxsim_String__concat(s.tmp_3, s.tmp_4);\n s.tmp_2 = r0;\n r0 = pxsim_String__concat(s.tmp_2, \" buckets, \");\n s.tmp_1 = r0;\n s.tmp_10 = helpers_arrayFilter__P48_mk(s);\n r0 = s.arg0.fields[\"buckets\"];\n s.tmp_10.arg0 = r0;\n s.tmp_10.arg1 = inline__P10559;\n s.pc = 2; return s.tmp_10;\n case 2:\n r0 = s.retval;\n s.tmp_9 = r0;\n r0 = pxsim_Array__length(s.tmp_9);\n s.tmp_8 = r0;\n if ((s.tmp_8) && (s.tmp_8).vtable) {\n setupResume(s, 3);\n pxsim_String__stringConv(s.tmp_8);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_8) + \"\"; }\n case 3:\n r0 = s.retval;\n s.tmp_7 = r0;\n r0 = pxsim_String__concat(s.tmp_1, s.tmp_7);\n s.tmp_0 = r0;\n r0 = pxsim_String__concat(s.tmp_0, \" filled\");\n return leave(s, r0)\n default: oops()\n} } }\nsprites_SpriteMap_toString__P670.info = {\"start\":4629,\"length\":123,\"line\":126,\"column\":8,\"endLine\":128,\"endColumn\":9,\"fileName\":\"pxt_modules/game/spritemap.ts\",\"functionName\":\"toString\",\"argumentNames\":[\"this\"]}\n\nfunction sprites_SpriteMap_toString__P670_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_SpriteMap_toString__P670, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P10559(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_numops_toBoolDecr(s.arg0);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\ninline__P10559.info = {\"start\":4716,\"length\":8,\"line\":127,\"column\":74,\"endLine\":127,\"endColumn\":82,\"fileName\":\"pxt_modules/game/spritemap.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"b\"]}\n\nfunction inline__P10559_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P10559, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction ArcadePhysicsEngine_moveSprite__P737(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tm___10594 = undefined;\n s.tileSize___10602 = undefined;\n s.ms___10614 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, ArcadePhysicsEngine__C727_VT)) failedCast(r0);\n r0 = s.arg1.fields[\"_x\"];\n s.tmp_0 = r0;\n r0 = (s.arg1).fields[\"_lastX\"] = (s.tmp_0);\n r0 = s.arg1.fields[\"_y\"];\n s.tmp_0 = r0;\n r0 = (s.arg1).fields[\"_lastY\"] = (s.tmp_0);\n s.tmp_0 = r0 = s.arg1;\n r0 = s.arg1.fields[\"_x\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.arg2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"_x\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg1;\n r0 = s.arg1.fields[\"_y\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.arg3);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"_y\"] = (s.tmp_1);\n r0 = s.arg1.fields[\"flags\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 & globals.SPRITE_CANNOT_COLLIDE___718);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 9; continue; }\n s.tmp_4 = game_currentScene__P769_mk(s);\n s.pc = 12; return s.tmp_4;\n case 12:\n r0 = s.retval;\n r0 = r0.fields[\"tileMap\"];\n s.tm___10594 = (r0);\n s.tmp_0 = r0 = s.tm___10594;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = s.tm___10594.fields[\"_map\"];\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n s.tmp_3 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n case 2:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_5);\n s.tmp_7 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_7);\n s.tmp_6 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_6);\n if (!r0) { step = 3; continue; }\n { step = 11; continue; }\n case 3:\n case 4:\n r0 = s.tm___10594.fields[\"scale\"];\n s.tmp_8 = r0;\n r0 = (1 << s.tmp_8);\n s.tileSize___10602 = (r0);\n s.tmp_2 = Math_abs__P59_mk(s);\n r0 = (s.arg2 + 128);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 >> 8);\n s.tmp_2.arg0 = r0;\n s.pc = 13; return s.tmp_2;\n case 13:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 < s.tileSize___10602);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 5; continue; }\n r0 = s.tmp_0;\n { step = 6; continue; }\n case 5:\n s.tmp_5 = Math_abs__P59_mk(s);\n r0 = (s.arg3 + 128);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 >> 8);\n s.tmp_5.arg0 = r0;\n s.pc = 14; return s.tmp_5;\n case 14:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = (s.tmp_4 < s.tileSize___10602);\n case 6:\n // jmp value (already in r0)\n s.tmp_7 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_7);\n if (!r0) { step = 7; continue; }\n r0 = pxsim_pxtcore_mkClassInstance(MovingSprite__C725_VT);\n s.tmp_8 = r0;\n s.tmp_9 = MovingSprite_constructor__P726_mk(s);\n s.tmp_9.arg0 = s.tmp_8;\n s.tmp_9.arg1 = s.arg1;\n r0 = s.arg1.fields[\"_vx\"];\n s.tmp_9.arg2 = r0;\n r0 = s.arg1.fields[\"_vy\"];\n s.tmp_9.arg3 = r0;\n s.tmp_9.arg4 = s.arg2;\n s.tmp_9.arg5 = s.arg3;\n s.tmp_9.arg6 = s.arg2;\n s.tmp_9.arg7 = s.arg3;\n s.pc = 15; return s.tmp_9;\n case 15:\n r0 = s.retval;\n s.ms___10614 = (s.tmp_8);\n s.tmp_0 = ArcadePhysicsEngine_tilemapCollisions__P735_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.ms___10614;\n s.tmp_0.arg2 = s.tm___10594;\n s.pc = 16; return s.tmp_0;\n case 16:\n r0 = s.retval;\n case 7:\n case 8:\n case 9:\n case 10:\n case 11:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nArcadePhysicsEngine_moveSprite__P737.info = {\"start\":16919,\"length\":892,\"line\":479,\"column\":4,\"endLine\":505,\"endColumn\":5,\"fileName\":\"pxt_modules/game/physics.ts\",\"functionName\":\"moveSprite\",\"argumentNames\":[\"this\",\"s\",\"dx\",\"dy\"]}\n\nfunction ArcadePhysicsEngine_moveSprite__P737_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: ArcadePhysicsEngine_moveSprite__P737, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tm___10594: undefined,\n tileSize___10602: undefined,\n ms___10614: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction ArcadePhysicsEngine_tilemapCollisions__P735(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.sprite___10632 = undefined;\n s.tileScale___10636 = undefined;\n s.tileSize___10640 = undefined;\n s.xDiff___10643 = undefined;\n s.yDiff___10649 = undefined;\n s.right___10657 = undefined;\n s.x0___10660 = undefined;\n s.collidedTiles___10675 = undefined;\n s.y___10677 = undefined;\n s.y0___10692 = undefined;\n s.obstacle___10708 = undefined;\n s.collisionDirection___10734 = undefined;\n s.tile___10760 = undefined;\n s.unnamed62___U13 = undefined;\n s.unnamed63___U14 = undefined;\n s.down___10826 = undefined;\n s.y0___10829 = undefined;\n s.collidedTiles___10844 = undefined;\n s.x___10846 = undefined;\n s.x0___10857 = undefined;\n s.obstacle___10871 = undefined;\n s.collisionDirection___10895 = undefined;\n s.tile___10921 = undefined;\n s.unnamed64___U23 = undefined;\n s.unnamed65___U24 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, ArcadePhysicsEngine__C727_VT)) failedCast(r0);\n r0 = s.arg1.fields[\"sprite\"];\n s.sprite___10632 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.arg2);\n if (!r0) { step = 1; continue; }\n r0 = s.arg2.fields[\"scale\"];\n { step = 2; continue; }\n case 1:\n r0 = 0;\n case 2:\n // jmp value (already in r0)\n s.tmp_0 = r0;\n s.tileScale___10636 = (s.tmp_0);\n r0 = pxsim_numops_toBoolDecr(s.arg2);\n if (!r0) { step = 3; continue; }\n r0 = (1 << s.tileScale___10636);\n { step = 4; continue; }\n case 3:\n r0 = 0;\n case 4:\n // jmp value (already in r0)\n s.tmp_0 = r0;\n s.tileSize___10640 = (s.tmp_0);\n r0 = s.sprite___10632.fields[\"_x\"];\n s.tmp_0 = r0;\n r0 = s.sprite___10632.fields[\"_lastX\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_0 - s.tmp_1);\n s.xDiff___10643 = (r0);\n r0 = s.sprite___10632.fields[\"_y\"];\n s.tmp_0 = r0;\n r0 = s.sprite___10632.fields[\"_lastY\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_0 - s.tmp_1);\n s.yDiff___10649 = (r0);\n r0 = (s.xDiff___10643 !== globals.zeroFx8___79);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 37; continue; }\n r0 = (s.xDiff___10643 > globals.zeroFx8___79);\n s.right___10657 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.right___10657);\n if (!r0) { step = 5; continue; }\n s.tmp_1 = game_Hitbox_right__P596_mk(s);\n r0 = s.sprite___10632.fields[\"_hitbox\"];\n s.tmp_1.arg0 = r0;\n s.pc = 73; return s.tmp_1;\n case 73:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = (1 << 8);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.tmp_0);\n { step = 6; continue; }\n case 5:\n s.tmp_4 = game_Hitbox_left__P594_mk(s);\n r0 = s.sprite___10632.fields[\"_hitbox\"];\n s.tmp_4.arg0 = r0;\n s.pc = 74; return s.tmp_4;\n case 74:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (-1 << 8);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 + s.tmp_3);\n case 6:\n // jmp value (already in r0)\n s.tmp_6 = r0;\n r0 = (s.tmp_6 + globals.oneHalfFx8___80);\n s.tmp_7 = r0;\n r0 = (s.tileScale___10636 + 8);\n s.tmp_8 = r0;\n r0 = (s.tmp_7 >> s.tmp_8);\n s.x0___10660 = (r0);\n r0 = pxsim_Array__mk();\n s.collidedTiles___10675 = (r0);\n s.tmp_1 = game_Hitbox_top__P595_mk(s);\n r0 = s.sprite___10632.fields[\"_hitbox\"];\n s.tmp_1.arg0 = r0;\n s.pc = 75; return s.tmp_1;\n case 75:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = (s.tmp_0 - s.yDiff___10649);\n s.y___10677 = (r0);\n case 7:\n s.tmp_1 = r0 = s.y___10677;\n s.tmp_3 = r0 = s.tileSize___10640;\n s.tmp_6 = game_Hitbox_bottom__P597_mk(s);\n r0 = s.sprite___10632.fields[\"_hitbox\"];\n s.tmp_6.arg0 = r0;\n s.pc = 76; return s.tmp_6;\n case 76:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = (s.tmp_5 - s.yDiff___10649);\n s.tmp_4 = r0;\n r0 = (s.tmp_3 << 8);\n s.tmp_7 = r0;\n r0 = (s.tmp_7 + s.tmp_4);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 12; continue; }\n s.tmp_10 = Fx_min__P94_mk(s);\n s.tmp_10.arg0 = s.y___10677;\n s.tmp_12 = game_Hitbox_bottom__P597_mk(s);\n r0 = s.sprite___10632.fields[\"_hitbox\"];\n s.tmp_12.arg0 = r0;\n s.pc = 78; return s.tmp_12;\n case 78:\n r0 = s.retval;\n s.tmp_11 = r0;\n r0 = (s.tmp_11 - s.yDiff___10649);\n s.tmp_10.arg1 = r0;\n s.pc = 77; return s.tmp_10;\n case 77:\n r0 = s.retval;\n s.tmp_9 = r0;\n r0 = (s.tmp_9 + globals.oneHalfFx8___80);\n s.tmp_8 = r0;\n r0 = (s.tileScale___10636 + 8);\n s.tmp_13 = r0;\n r0 = (s.tmp_8 >> s.tmp_13);\n s.y0___10692 = (r0);\n s.tmp_1 = tiles_TileMap_isObstacle__P883_mk(s);\n s.tmp_1.arg0 = s.arg2;\n s.tmp_1.arg1 = s.x0___10660;\n s.tmp_1.arg2 = s.y0___10692;\n s.pc = 79; return s.tmp_1;\n case 79:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 10; continue; }\n s.tmp_2 = tiles_TileMap_getObstacle__P884_mk(s);\n s.tmp_2.arg0 = s.arg2;\n s.tmp_2.arg1 = s.x0___10660;\n s.tmp_2.arg2 = s.y0___10692;\n s.pc = 80; return s.tmp_2;\n case 80:\n r0 = s.retval;\n s.obstacle___10708 = (r0);\n r0 = pxsim_pxtcore_mkAction(1, inline__P10717);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.obstacle___10708);\n s.tmp_4 = helpers_arraySome__P45_mk(s);\n s.tmp_4.arg0 = s.collidedTiles___10675;\n s.tmp_4.arg1 = s.tmp_0;\n s.pc = 81; return s.tmp_4;\n case 81:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 8; continue; }\n r0 = pxsim_Array__push(s.collidedTiles___10675, s.obstacle___10708);\n case 8:\n case 9:\n case 10:\n case 11:\n r0 = (s.tileSize___10640 << 8);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 + s.y___10677);\n s.y___10677 = (r0);\n { step = 7; continue; }\n case 12:\n r0 = pxsim_Array__length(s.collidedTiles___10675);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 35; continue; }\n r0 = pxsim_numops_toBoolDecr(s.right___10657);\n if (!r0) { step = 13; continue; }\n r0 = 2;\n { step = 14; continue; }\n case 13:\n r0 = 0;\n case 14:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n s.collisionDirection___10734 = (s.tmp_1);\n r0 = pxsim_numops_toBoolDecr(s.right___10657);\n if (!r0) { step = 15; continue; }\n r0 = (s.x0___10660 << s.tileScale___10636);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 * 256);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_0 = r0;\n r0 = s.sprite___10632.fields[\"_hitbox\"];\n r0 = r0.fields[\"width\"];\n s.tmp_4 = r0;\n r0 = (s.tmp_4 * 256);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 | 0);\n s.tmp_3 = r0;\n r0 = (s.tmp_0 - s.tmp_3);\n { step = 16; continue; }\n case 15:\n r0 = (s.x0___10660 + 1);\n s.tmp_7 = r0;\n r0 = (s.tmp_7 << s.tileScale___10636);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 * 256);\n s.tmp_8 = r0;\n r0 = (s.tmp_8 | 0);\n case 16:\n // jmp value (already in r0)\n s.tmp_9 = r0;\n s.tmp_10 = r0 = s.sprite___10632;\n r0 = s.sprite___10632.fields[\"_hitbox\"];\n r0 = r0.fields[\"ox\"];\n s.tmp_13 = r0;\n r0 = (0 - s.tmp_13);\n s.tmp_12 = r0;\n r0 = (s.tmp_12 << 8);\n s.tmp_14 = r0;\n r0 = (s.tmp_14 + s.tmp_9);\n s.tmp_11 = r0;\n r0 = (s.tmp_10).fields[\"_x\"] = (s.tmp_11);\n s.tile___10760 = (undefined);\n s.tile___10760 = (undefined);\n s.unnamed62___U13 = (s.collidedTiles___10675);\n s.unnamed63___U14 = (0);\n case 17:\n s.tmp_0 = r0 = s.unnamed63___U14;\n r0 = pxsim_Array__length(s.unnamed62___U13);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 18; continue; }\n r0 = pxsim_Array__getAt(s.unnamed62___U13, s.unnamed63___U14);\n s.tile___10760 = (r0);\n s.tmp_2 = Sprite_registerObstacle__P651_mk(s);\n s.tmp_2.arg0 = s.sprite___10632;\n s.tmp_2.arg1 = s.collisionDirection___10734;\n s.tmp_2.arg2 = s.tile___10760;\n s.pc = 82; return s.tmp_2;\n case 82:\n r0 = s.retval;\n r0 = (s.unnamed63___U14 + 1);\n s.unnamed63___U14 = (r0);\n { step = 17; continue; }\n case 18:\n s.unnamed62___U13 = (undefined);\n r0 = s.sprite___10632.fields[\"flags\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 & 16);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 19; continue; }\n s.tmp_2 = Sprite_destroy__P653_mk(s);\n s.tmp_2.arg0 = s.sprite___10632;\n s.tmp_2.arg1 = undefined;\n s.tmp_2.arg2 = undefined;\n s.pc = 83; return s.tmp_2;\n case 83:\n r0 = s.retval;\n { step = 34; continue; }\n case 19:\n r0 = s.sprite___10632.fields[\"_vx\"];\n s.tmp_1 = r0;\n r0 = s.arg1.fields[\"cachedVx\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_1 === s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 30; continue; }\n r0 = s.sprite___10632.fields[\"flags\"];\n s.tmp_4 = r0;\n r0 = (s.tmp_4 & 32);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 28; continue; }\n r0 = pxsim_numops_toBoolDecr(s.right___10657);\n s.tmp_6 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_6);\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBool(s.tmp_5);\n if (r0) { step = 20; continue; }\n r0 = s.tmp_5;\n { step = 21; continue; }\n case 20:\n s.tmp_8 = Sprite_vx__P613_mk(s);\n s.tmp_8.arg0 = s.sprite___10632;\n s.pc = 84; return s.tmp_8;\n case 84:\n r0 = s.retval;\n s.tmp_7 = r0;\n r0 = (s.tmp_7 < 0);\n case 21:\n // jmp value (already in r0)\n s.tmp_9 = r0;\n r0 = pxsim_numops_toBool(s.tmp_9);\n if (!r0) { step = 22; continue; }\n r0 = s.tmp_9;\n { step = 25; continue; }\n case 22:\n s.tmp_10 = r0 = s.right___10657;\n r0 = pxsim_numops_toBool(s.tmp_10);\n if (r0) { step = 23; continue; }\n r0 = s.tmp_10;\n { step = 24; continue; }\n case 23:\n s.tmp_12 = Sprite_vx__P613_mk(s);\n s.tmp_12.arg0 = s.sprite___10632;\n s.pc = 85; return s.tmp_12;\n case 85:\n r0 = s.retval;\n s.tmp_11 = r0;\n r0 = (s.tmp_11 > 0);\n case 24:\n // jmp value (already in r0)\n s.tmp_13 = r0;\n r0 = s.tmp_13;\n case 25:\n // jmp value (already in r0)\n s.tmp_14 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_14);\n if (!r0) { step = 26; continue; }\n s.tmp_15 = r0 = s.sprite___10632;\n r0 = s.sprite___10632.fields[\"_vx\"];\n s.tmp_17 = r0;\n r0 = (0 - s.tmp_17);\n s.tmp_16 = r0;\n r0 = (s.tmp_15).fields[\"_vx\"] = (s.tmp_16);\n s.tmp_0 = r0 = s.arg1;\n r0 = s.arg1.fields[\"xStep\"];\n s.tmp_2 = r0;\n r0 = (0 - s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"xStep\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg1;\n r0 = s.arg1.fields[\"dx\"];\n s.tmp_2 = r0;\n r0 = (0 - s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"dx\"] = (s.tmp_1);\n case 26:\n case 27:\n { step = 29; continue; }\n case 28:\n r0 = (s.arg1).fields[\"dx\"] = (globals.zeroFx8___79);\n r0 = (s.sprite___10632).fields[\"_vx\"] = (globals.zeroFx8___79);\n case 29:\n { step = 33; continue; }\n case 30:\n s.tmp_2 = Math_sign__P60_mk(s);\n r0 = s.sprite___10632.fields[\"_vx\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 + 128);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 >> 8);\n s.tmp_2.arg0 = r0;\n s.pc = 86; return s.tmp_2;\n case 86:\n r0 = s.retval;\n s.tmp_1 = r0;\n s.tmp_6 = Math_sign__P60_mk(s);\n r0 = s.arg1.fields[\"cachedVx\"];\n s.tmp_7 = r0;\n r0 = (s.tmp_7 + 128);\n s.tmp_8 = r0;\n r0 = (s.tmp_8 >> 8);\n s.tmp_6.arg0 = r0;\n s.pc = 87; return s.tmp_6;\n case 87:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = (s.tmp_1 === s.tmp_5);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 31; continue; }\n r0 = (s.arg1).fields[\"dx\"] = (globals.zeroFx8___79);\n case 31:\n case 32:\n case 33:\n case 34:\n case 35:\n case 36:\n case 37:\n case 38:\n r0 = (s.yDiff___10649 !== globals.zeroFx8___79);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 71; continue; }\n r0 = (s.yDiff___10649 > globals.zeroFx8___79);\n s.down___10826 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.down___10826);\n if (!r0) { step = 39; continue; }\n s.tmp_1 = game_Hitbox_bottom__P597_mk(s);\n r0 = s.sprite___10632.fields[\"_hitbox\"];\n s.tmp_1.arg0 = r0;\n s.pc = 88; return s.tmp_1;\n case 88:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = (1 << 8);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.tmp_0);\n { step = 40; continue; }\n case 39:\n s.tmp_4 = game_Hitbox_top__P595_mk(s);\n r0 = s.sprite___10632.fields[\"_hitbox\"];\n s.tmp_4.arg0 = r0;\n s.pc = 89; return s.tmp_4;\n case 89:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (-1 << 8);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 + s.tmp_3);\n case 40:\n // jmp value (already in r0)\n s.tmp_6 = r0;\n r0 = (s.tmp_6 + globals.oneHalfFx8___80);\n s.tmp_7 = r0;\n r0 = (s.tileScale___10636 + 8);\n s.tmp_8 = r0;\n r0 = (s.tmp_7 >> s.tmp_8);\n s.y0___10829 = (r0);\n r0 = pxsim_Array__mk();\n s.collidedTiles___10844 = (r0);\n s.tmp_0 = game_Hitbox_left__P594_mk(s);\n r0 = s.sprite___10632.fields[\"_hitbox\"];\n s.tmp_0.arg0 = r0;\n s.pc = 90; return s.tmp_0;\n case 90:\n r0 = s.retval;\n s.x___10846 = (r0);\n case 41:\n s.tmp_1 = r0 = s.x___10846;\n s.tmp_3 = r0 = s.tileSize___10640;\n s.tmp_5 = game_Hitbox_right__P596_mk(s);\n r0 = s.sprite___10632.fields[\"_hitbox\"];\n s.tmp_5.arg0 = r0;\n s.pc = 91; return s.tmp_5;\n case 91:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = (s.tmp_3 << 8);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 + s.tmp_4);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 46; continue; }\n s.tmp_9 = Fx_min__P94_mk(s);\n s.tmp_9.arg0 = s.x___10846;\n s.tmp_10 = game_Hitbox_right__P596_mk(s);\n r0 = s.sprite___10632.fields[\"_hitbox\"];\n s.tmp_10.arg0 = r0;\n s.pc = 93; return s.tmp_10;\n case 93:\n r0 = s.retval;\n s.tmp_9.arg1 = r0;\n s.pc = 92; return s.tmp_9;\n case 92:\n r0 = s.retval;\n s.tmp_8 = r0;\n r0 = (s.tmp_8 + globals.oneHalfFx8___80);\n s.tmp_7 = r0;\n r0 = (s.tileScale___10636 + 8);\n s.tmp_11 = r0;\n r0 = (s.tmp_7 >> s.tmp_11);\n s.x0___10857 = (r0);\n s.tmp_1 = tiles_TileMap_isObstacle__P883_mk(s);\n s.tmp_1.arg0 = s.arg2;\n s.tmp_1.arg1 = s.x0___10857;\n s.tmp_1.arg2 = s.y0___10829;\n s.pc = 94; return s.tmp_1;\n case 94:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 44; continue; }\n s.tmp_2 = tiles_TileMap_getObstacle__P884_mk(s);\n s.tmp_2.arg0 = s.arg2;\n s.tmp_2.arg1 = s.x0___10857;\n s.tmp_2.arg2 = s.y0___10829;\n s.pc = 95; return s.tmp_2;\n case 95:\n r0 = s.retval;\n s.obstacle___10871 = (r0);\n r0 = pxsim_pxtcore_mkAction(1, inline__P10879);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.obstacle___10871);\n s.tmp_4 = helpers_arraySome__P45_mk(s);\n s.tmp_4.arg0 = s.collidedTiles___10844;\n s.tmp_4.arg1 = s.tmp_0;\n s.pc = 96; return s.tmp_4;\n case 96:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 42; continue; }\n r0 = pxsim_Array__push(s.collidedTiles___10844, s.obstacle___10871);\n case 42:\n case 43:\n case 44:\n case 45:\n r0 = (s.tileSize___10640 << 8);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 + s.x___10846);\n s.x___10846 = (r0);\n { step = 41; continue; }\n case 46:\n r0 = pxsim_Array__length(s.collidedTiles___10844);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 69; continue; }\n r0 = pxsim_numops_toBoolDecr(s.down___10826);\n if (!r0) { step = 47; continue; }\n r0 = 3;\n { step = 48; continue; }\n case 47:\n r0 = 1;\n case 48:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n s.collisionDirection___10895 = (s.tmp_1);\n r0 = pxsim_numops_toBoolDecr(s.down___10826);\n if (!r0) { step = 49; continue; }\n r0 = (s.y0___10829 << s.tileScale___10636);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 * 256);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_0 = r0;\n r0 = s.sprite___10632.fields[\"_hitbox\"];\n r0 = r0.fields[\"height\"];\n s.tmp_4 = r0;\n r0 = (s.tmp_4 * 256);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 | 0);\n s.tmp_3 = r0;\n r0 = (s.tmp_0 - s.tmp_3);\n { step = 50; continue; }\n case 49:\n r0 = (s.y0___10829 + 1);\n s.tmp_7 = r0;\n r0 = (s.tmp_7 << s.tileScale___10636);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 * 256);\n s.tmp_8 = r0;\n r0 = (s.tmp_8 | 0);\n case 50:\n // jmp value (already in r0)\n s.tmp_9 = r0;\n s.tmp_10 = r0 = s.sprite___10632;\n r0 = s.sprite___10632.fields[\"_hitbox\"];\n r0 = r0.fields[\"oy\"];\n s.tmp_13 = r0;\n r0 = (0 - s.tmp_13);\n s.tmp_12 = r0;\n r0 = (s.tmp_12 << 8);\n s.tmp_14 = r0;\n r0 = (s.tmp_14 + s.tmp_9);\n s.tmp_11 = r0;\n r0 = (s.tmp_10).fields[\"_y\"] = (s.tmp_11);\n s.tile___10921 = (undefined);\n s.tile___10921 = (undefined);\n s.unnamed64___U23 = (s.collidedTiles___10844);\n s.unnamed65___U24 = (0);\n case 51:\n s.tmp_0 = r0 = s.unnamed65___U24;\n r0 = pxsim_Array__length(s.unnamed64___U23);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 52; continue; }\n r0 = pxsim_Array__getAt(s.unnamed64___U23, s.unnamed65___U24);\n s.tile___10921 = (r0);\n s.tmp_2 = Sprite_registerObstacle__P651_mk(s);\n s.tmp_2.arg0 = s.sprite___10632;\n s.tmp_2.arg1 = s.collisionDirection___10895;\n s.tmp_2.arg2 = s.tile___10921;\n s.pc = 97; return s.tmp_2;\n case 97:\n r0 = s.retval;\n r0 = (s.unnamed65___U24 + 1);\n s.unnamed65___U24 = (r0);\n { step = 51; continue; }\n case 52:\n s.unnamed64___U23 = (undefined);\n r0 = s.sprite___10632.fields[\"flags\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 & 16);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 53; continue; }\n s.tmp_2 = Sprite_destroy__P653_mk(s);\n s.tmp_2.arg0 = s.sprite___10632;\n s.tmp_2.arg1 = undefined;\n s.tmp_2.arg2 = undefined;\n s.pc = 98; return s.tmp_2;\n case 98:\n r0 = s.retval;\n { step = 68; continue; }\n case 53:\n r0 = s.sprite___10632.fields[\"_vy\"];\n s.tmp_1 = r0;\n r0 = s.arg1.fields[\"cachedVy\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_1 === s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 64; continue; }\n r0 = s.sprite___10632.fields[\"flags\"];\n s.tmp_4 = r0;\n r0 = (s.tmp_4 & 32);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 62; continue; }\n r0 = pxsim_numops_toBoolDecr(s.down___10826);\n s.tmp_6 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_6);\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBool(s.tmp_5);\n if (r0) { step = 54; continue; }\n r0 = s.tmp_5;\n { step = 55; continue; }\n case 54:\n s.tmp_8 = Sprite_vy__P615_mk(s);\n s.tmp_8.arg0 = s.sprite___10632;\n s.pc = 99; return s.tmp_8;\n case 99:\n r0 = s.retval;\n s.tmp_7 = r0;\n r0 = (s.tmp_7 < 0);\n case 55:\n // jmp value (already in r0)\n s.tmp_9 = r0;\n r0 = pxsim_numops_toBool(s.tmp_9);\n if (!r0) { step = 56; continue; }\n r0 = s.tmp_9;\n { step = 59; continue; }\n case 56:\n s.tmp_10 = r0 = s.down___10826;\n r0 = pxsim_numops_toBool(s.tmp_10);\n if (r0) { step = 57; continue; }\n r0 = s.tmp_10;\n { step = 58; continue; }\n case 57:\n s.tmp_12 = Sprite_vy__P615_mk(s);\n s.tmp_12.arg0 = s.sprite___10632;\n s.pc = 100; return s.tmp_12;\n case 100:\n r0 = s.retval;\n s.tmp_11 = r0;\n r0 = (s.tmp_11 > 0);\n case 58:\n // jmp value (already in r0)\n s.tmp_13 = r0;\n r0 = s.tmp_13;\n case 59:\n // jmp value (already in r0)\n s.tmp_14 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_14);\n if (!r0) { step = 60; continue; }\n s.tmp_15 = r0 = s.sprite___10632;\n r0 = s.sprite___10632.fields[\"_vy\"];\n s.tmp_17 = r0;\n r0 = (0 - s.tmp_17);\n s.tmp_16 = r0;\n r0 = (s.tmp_15).fields[\"_vy\"] = (s.tmp_16);\n s.tmp_0 = r0 = s.arg1;\n r0 = s.arg1.fields[\"yStep\"];\n s.tmp_2 = r0;\n r0 = (0 - s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"yStep\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg1;\n r0 = s.arg1.fields[\"dy\"];\n s.tmp_2 = r0;\n r0 = (0 - s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"dy\"] = (s.tmp_1);\n case 60:\n case 61:\n { step = 63; continue; }\n case 62:\n r0 = (s.arg1).fields[\"dy\"] = (globals.zeroFx8___79);\n r0 = (s.sprite___10632).fields[\"_vy\"] = (globals.zeroFx8___79);\n case 63:\n { step = 67; continue; }\n case 64:\n s.tmp_2 = Math_sign__P60_mk(s);\n r0 = s.sprite___10632.fields[\"_vy\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 + 128);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 >> 8);\n s.tmp_2.arg0 = r0;\n s.pc = 101; return s.tmp_2;\n case 101:\n r0 = s.retval;\n s.tmp_1 = r0;\n s.tmp_6 = Math_sign__P60_mk(s);\n r0 = s.arg1.fields[\"cachedVy\"];\n s.tmp_7 = r0;\n r0 = (s.tmp_7 + 128);\n s.tmp_8 = r0;\n r0 = (s.tmp_8 >> 8);\n s.tmp_6.arg0 = r0;\n s.pc = 102; return s.tmp_6;\n case 102:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = (s.tmp_1 === s.tmp_5);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 65; continue; }\n r0 = (s.arg1).fields[\"dy\"] = (globals.zeroFx8___79);\n case 65:\n case 66:\n case 67:\n case 68:\n case 69:\n case 70:\n case 71:\n case 72:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nArcadePhysicsEngine_tilemapCollisions__P735.info = {\"start\":9627,\"length\":6961,\"line\":292,\"column\":4,\"endLine\":467,\"endColumn\":5,\"fileName\":\"pxt_modules/game/physics.ts\",\"functionName\":\"tilemapCollisions\",\"argumentNames\":[\"this\",\"movingSprite\",\"tm\"]}\n\nfunction ArcadePhysicsEngine_tilemapCollisions__P735_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: ArcadePhysicsEngine_tilemapCollisions__P735, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n tmp_12: undefined,\n tmp_13: undefined,\n tmp_14: undefined,\n tmp_15: undefined,\n tmp_16: undefined,\n tmp_17: undefined,\n sprite___10632: undefined,\n tileScale___10636: undefined,\n tileSize___10640: undefined,\n xDiff___10643: undefined,\n yDiff___10649: undefined,\n right___10657: undefined,\n x0___10660: undefined,\n collidedTiles___10675: undefined,\n y___10677: undefined,\n y0___10692: undefined,\n obstacle___10708: undefined,\n collisionDirection___10734: undefined,\n tile___10760: undefined,\n unnamed62___U13: undefined,\n unnamed63___U14: undefined,\n down___10826: undefined,\n y0___10829: undefined,\n collidedTiles___10844: undefined,\n x___10846: undefined,\n x0___10857: undefined,\n obstacle___10871: undefined,\n collisionDirection___10895: undefined,\n tile___10921: undefined,\n unnamed64___U23: undefined,\n unnamed65___U24: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction inline__P10717(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0.fields[\"tileIndex\"];\n s.tmp_0 = r0;\n r0 = s.caps[0].fields[\"tileIndex\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_0 === s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\ninline__P10717.info = {\"start\":11372,\"length\":39,\"line\":343,\"column\":44,\"endLine\":343,\"endColumn\":83,\"fileName\":\"pxt_modules/game/physics.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"o\"]}\n\nfunction inline__P10717_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P10717, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P10879(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0.fields[\"tileIndex\"];\n s.tmp_0 = r0;\n r0 = s.caps[0].fields[\"tileIndex\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_0 === s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\ninline__P10879.info = {\"start\":14581,\"length\":39,\"line\":422,\"column\":44,\"endLine\":422,\"endColumn\":83,\"fileName\":\"pxt_modules/game/physics.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"o\"]}\n\nfunction inline__P10879_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P10879, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction tiles_TileMap_getObstacle__P884(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.index___11030 = undefined;\n s.tile___11040 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, tiles_TileMap__C865_VT)) failedCast(r0);\n s.tmp_1 = tiles_TileMap_isOutsideMap__P880_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.tmp_1.arg1 = s.arg1;\n s.tmp_1.arg2 = s.arg2;\n s.pc = 5; return s.tmp_1;\n case 5:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = 0;\n { step = 2; continue; }\n case 1:\n r0 = s.arg0.fields[\"_map\"];\n s.tmp_2 = r0;\n r0 = pxsim_ImageMethods.getPixel(s.tmp_2, s.arg1, s.arg2);\n case 2:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n s.index___11030 = (s.tmp_3);\n r0 = s.arg0.fields[\"_tileSets\"];\n s.tmp_1 = r0;\n r0 = pxsim_Array__getAt(s.tmp_1, s.index___11030);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = s.tmp_0;\n { step = 4; continue; }\n case 3:\n s.tmp_2 = tiles_TileMap_generateTile__P879_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.tmp_2.arg1 = s.index___11030;\n s.pc = 6; return s.tmp_2;\n case 6:\n r0 = s.retval;\n case 4:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n s.tile___11040 = (s.tmp_3);\n r0 = pxsim_pxtcore_mkClassInstance(sprites_StaticObstacle__C700_VT);\n s.tmp_0 = r0;\n s.tmp_1 = sprites_StaticObstacle_constructor__P707_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_2 = tiles_TileSet_image__P857_mk(s);\n s.tmp_2.arg0 = s.tile___11040;\n s.pc = 8; return s.tmp_2;\n case 8:\n r0 = s.retval;\n s.tmp_1.arg1 = r0;\n r0 = s.arg0.fields[\"scale\"];\n s.tmp_3 = r0;\n r0 = (s.arg2 << s.tmp_3);\n s.tmp_1.arg2 = r0;\n r0 = s.arg0.fields[\"scale\"];\n s.tmp_4 = r0;\n r0 = (s.arg1 << s.tmp_4);\n s.tmp_1.arg3 = r0;\n r0 = s.arg0.fields[\"_layer\"];\n s.tmp_1.arg4 = r0;\n s.tmp_1.arg5 = s.index___11030;\n s.pc = 7; return s.tmp_1;\n case 7:\n r0 = s.retval;\n r0 = s.tmp_0;\n return leave(s, r0)\n default: oops()\n} } }\ntiles_TileMap_getObstacle__P884.info = {\"start\":7866,\"length\":432,\"line\":248,\"column\":8,\"endLine\":258,\"endColumn\":9,\"fileName\":\"pxt_modules/game/tilemap.ts\",\"functionName\":\"getObstacle\",\"argumentNames\":[\"this\",\"col\",\"row\"]}\n\nfunction tiles_TileMap_getObstacle__P884_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: tiles_TileMap_getObstacle__P884, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n index___11030: undefined,\n tile___11040: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction tiles_TileMap_isOutsideMap__P880(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, tiles_TileMap__C865_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_map\"];\n s.tmp_6 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_6);\n s.tmp_5 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_5);\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n s.tmp_3 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = (s.arg1 < 0);\n case 2:\n // jmp value (already in r0)\n s.tmp_7 = r0;\n r0 = pxsim_numops_toBool(s.tmp_7);\n if (!r0) { step = 3; continue; }\n r0 = s.tmp_7;\n { step = 4; continue; }\n case 3:\n s.tmp_8 = r0 = s.arg1;\n r0 = s.arg0.fields[\"_map\"];\n s.tmp_10 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_10);\n s.tmp_9 = r0;\n r0 = (s.tmp_8 >= s.tmp_9);\n case 4:\n // jmp value (already in r0)\n s.tmp_11 = r0;\n r0 = pxsim_numops_toBool(s.tmp_11);\n if (!r0) { step = 5; continue; }\n r0 = s.tmp_11;\n { step = 6; continue; }\n case 5:\n r0 = (s.arg2 < 0);\n case 6:\n // jmp value (already in r0)\n s.tmp_12 = r0;\n r0 = pxsim_numops_toBool(s.tmp_12);\n if (!r0) { step = 7; continue; }\n r0 = s.tmp_12;\n { step = 8; continue; }\n case 7:\n s.tmp_13 = r0 = s.arg2;\n r0 = s.arg0.fields[\"_map\"];\n s.tmp_15 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_15);\n s.tmp_14 = r0;\n r0 = (s.tmp_13 >= s.tmp_14);\n case 8:\n // jmp value (already in r0)\n s.tmp_16 = r0;\n r0 = s.tmp_16;\n return leave(s, r0)\n default: oops()\n} } }\ntiles_TileMap_isOutsideMap__P880.info = {\"start\":5019,\"length\":192,\"line\":174,\"column\":8,\"endLine\":177,\"endColumn\":9,\"fileName\":\"pxt_modules/game/tilemap.ts\",\"functionName\":\"isOutsideMap\",\"argumentNames\":[\"this\",\"col\",\"row\"]}\n\nfunction tiles_TileMap_isOutsideMap__P880_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: tiles_TileMap_isOutsideMap__P880, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n tmp_12: undefined,\n tmp_13: undefined,\n tmp_14: undefined,\n tmp_15: undefined,\n tmp_16: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction tiles_TileMap_layer__P871(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, tiles_TileMap__C865_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_layer\"];\n return leave(s, r0)\n default: oops()\n} } }\ntiles_TileMap_layer__P871.info = {\"start\":3319,\"length\":63,\"line\":119,\"column\":8,\"endLine\":121,\"endColumn\":9,\"fileName\":\"pxt_modules/game/tilemap.ts\",\"functionName\":\"layer\",\"argumentNames\":[\"this\"]}\n\nfunction tiles_TileMap_layer__P871_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: tiles_TileMap_layer__P871, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction sprites_StaticObstacle_constructor__P707(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.arg5 = (s.lambdaArgs[5]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_StaticObstacle__C700_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"image\"] = (s.arg1);\n r0 = (s.arg0).fields[\"layer\"] = (s.arg4);\n r0 = (s.arg0).fields[\"top\"] = (s.arg2);\n r0 = (s.arg0).fields[\"left\"] = (s.arg3);\n r0 = (s.arg0).fields[\"tileIndex\"] = (s.arg5);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_StaticObstacle_constructor__P707.info = {\"start\":563,\"length\":261,\"line\":28,\"column\":8,\"endLine\":34,\"endColumn\":9,\"fileName\":\"pxt_modules/game/obstacle.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"image\",\"top\",\"left\",\"layer\",\"tileIndex\"]}\n\nfunction sprites_StaticObstacle_constructor__P707_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_StaticObstacle_constructor__P707, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n arg5: undefined,\n} }\n\n\n\n\n\nfunction tiles_TileMap_isObstacle__P883(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.t___11196 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, tiles_TileMap__C865_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_map\"];\n s.tmp_6 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_6);\n s.tmp_5 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_5);\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n s.tmp_3 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = false;\n { step = 7; continue; }\n case 1:\n case 2:\n s.tmp_8 = tiles_TileMap_isOutsideMap__P880_mk(s);\n s.tmp_8.arg0 = s.arg0;\n s.tmp_8.arg1 = s.arg1;\n s.tmp_8.arg2 = s.arg2;\n s.pc = 8; return s.tmp_8;\n case 8:\n r0 = s.retval;\n s.tmp_7 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_7);\n if (!r0) { step = 3; continue; }\n r0 = true;\n { step = 7; continue; }\n case 3:\n case 4:\n r0 = s.arg0.fields[\"_tileSets\"];\n s.tmp_9 = r0;\n r0 = s.arg0.fields[\"_map\"];\n s.tmp_11 = r0;\n r0 = pxsim_ImageMethods.getPixel(s.tmp_11, s.arg1, s.arg2);\n s.tmp_10 = r0;\n r0 = pxsim_Array__getAt(s.tmp_9, s.tmp_10);\n s.t___11196 = (r0);\n s.tmp_0 = r0 = s.t___11196;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 5; continue; }\n r0 = s.tmp_0;\n { step = 6; continue; }\n case 5:\n r0 = s.t___11196.fields[\"obstacle\"];\n case 6:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = s.tmp_1;\n case 7:\n return leave(s, r0)\n default: oops()\n} } }\ntiles_TileMap_isObstacle__P883.info = {\"start\":7595,\"length\":261,\"line\":240,\"column\":8,\"endLine\":246,\"endColumn\":9,\"fileName\":\"pxt_modules/game/tilemap.ts\",\"functionName\":\"isObstacle\",\"argumentNames\":[\"this\",\"col\",\"row\"]}\n\nfunction tiles_TileMap_isObstacle__P883_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: tiles_TileMap_isObstacle__P883, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n t___11196: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction Sprite_registerObstacle__P651(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.collisionHandlers___10992 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_obstacles\"];\n s.tmp_0 = r0;\n r0 = pxsim_Array_.setAt(s.tmp_0, s.arg1, s.arg2);\n s.tmp_1 = game_currentScene__P769_mk(s);\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n r0 = r0.fields[\"collisionHandlers\"];\n s.tmp_0 = r0;\n s.tmp_3 = if_tileIndex_1_mk(s);\n s.tmp_3.arg0 = s.arg2;\n if (!s.tmp_3.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, \"tileIndex\");\n } else {\n s.tmp_3.fn = s.tmp_3.arg0.vtable.iface[\"tileIndex\"];\n if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields[\"tileIndex\"]; }\n else { s.pc = 4; return s.tmp_3; }\n }\n case 4:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = pxsim_Array__getAt(s.tmp_0, s.tmp_2);\n s.collisionHandlers___10992 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.collisionHandlers___10992);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_pxtcore_mkAction(1, inline__P11003);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n r0 = pxsim_pxtcore_mkAction(1, inline__P11008);\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_1, 0, s.arg0);\n s.tmp_2 = helpers_arrayForEach__P47_mk(s);\n s.tmp_3 = helpers_arrayFilter__P48_mk(s);\n s.tmp_3.arg0 = s.collisionHandlers___10992;\n s.tmp_3.arg1 = s.tmp_0;\n s.pc = 6; return s.tmp_3;\n case 6:\n r0 = s.retval;\n s.tmp_2.arg0 = r0;\n s.tmp_2.arg1 = s.tmp_1;\n s.pc = 5; return s.tmp_2;\n case 5:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_registerObstacle__P651.info = {\"start\":23704,\"length\":388,\"line\":722,\"column\":4,\"endLine\":731,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"registerObstacle\",\"argumentNames\":[\"this\",\"direction\",\"other\"]}\n\nfunction Sprite_registerObstacle__P651_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_registerObstacle__P651, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n collisionHandlers___10992: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction inline__P11003(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0.fields[\"kind\"];\n s.tmp_0 = r0;\n r0 = s.caps[0].fields[\"_kind\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_0 == s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\ninline__P11003.info = {\"start\":24001,\"length\":26,\"line\":728,\"column\":24,\"endLine\":728,\"endColumn\":50,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"h\"]}\n\nfunction inline__P11003_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P11003, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P11008(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = lambda_2_mk(s);\n r0 = s.arg0.fields[\"handler\"];\n s.tmp_0.argL = r0;\n s.tmp_0.arg0 = s.caps[0];\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P11008.info = {\"start\":24054,\"length\":20,\"line\":729,\"column\":25,\"endLine\":729,\"endColumn\":45,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"h\"]}\n\nfunction inline__P11008_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P11008, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_Hitbox_bottom__P597(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_Hitbox__C593_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"height\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - 1);\n s.tmp_0 = r0;\n s.tmp_3 = game_Hitbox_top__P595_mk(s);\n s.tmp_3.arg0 = s.arg0;\n s.pc = 1; return s.tmp_3;\n case 1:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (s.tmp_0 << 8);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 + s.tmp_2);\n return leave(s, r0)\n default: oops()\n} } }\ngame_Hitbox_bottom__P597.info = {\"start\":673,\"length\":78,\"line\":28,\"column\":8,\"endLine\":30,\"endColumn\":9,\"fileName\":\"pxt_modules/game/hitbox.ts\",\"functionName\":\"bottom\",\"argumentNames\":[\"this\"]}\n\nfunction game_Hitbox_bottom__P597_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_Hitbox_bottom__P597, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_Hitbox_right__P596(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_Hitbox__C593_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"width\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - 1);\n s.tmp_0 = r0;\n s.tmp_3 = game_Hitbox_left__P594_mk(s);\n s.tmp_3.arg0 = s.arg0;\n s.pc = 1; return s.tmp_3;\n case 1:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (s.tmp_0 << 8);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 + s.tmp_2);\n return leave(s, r0)\n default: oops()\n} } }\ngame_Hitbox_right__P596.info = {\"start\":586,\"length\":77,\"line\":24,\"column\":8,\"endLine\":26,\"endColumn\":9,\"fileName\":\"pxt_modules/game/hitbox.ts\",\"functionName\":\"right\",\"argumentNames\":[\"this\"]}\n\nfunction game_Hitbox_right__P596_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_Hitbox_right__P596, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_Hitbox_top__P595(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_Hitbox__C593_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"oy\"];\n s.tmp_0 = r0;\n r0 = s.arg0.fields[\"parent\"];\n r0 = r0.fields[\"_y\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_0 << 8);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\ngame_Hitbox_top__P595.info = {\"start\":503,\"length\":73,\"line\":20,\"column\":8,\"endLine\":22,\"endColumn\":9,\"fileName\":\"pxt_modules/game/hitbox.ts\",\"functionName\":\"top\",\"argumentNames\":[\"this\"]}\n\nfunction game_Hitbox_top__P595_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_Hitbox_top__P595, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_Hitbox_left__P594(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_Hitbox__C593_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"ox\"];\n s.tmp_0 = r0;\n r0 = s.arg0.fields[\"parent\"];\n r0 = r0.fields[\"_x\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_0 << 8);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\ngame_Hitbox_left__P594.info = {\"start\":419,\"length\":74,\"line\":16,\"column\":8,\"endLine\":18,\"endColumn\":9,\"fileName\":\"pxt_modules/game/hitbox.ts\",\"functionName\":\"left\",\"argumentNames\":[\"this\"]}\n\nfunction game_Hitbox_left__P594_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_Hitbox_left__P594, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Fx_min__P94(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 < s.arg1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.arg0;\n { step = 3; continue; }\n { step = 2; continue; }\n case 1:\n r0 = s.arg1;\n { step = 3; continue; }\n case 2:\n r0 = undefined;\n case 3:\n return leave(s, r0)\n default: oops()\n} } }\nFx_min__P94.info = {\"start\":1527,\"length\":117,\"line\":47,\"column\":4,\"endLine\":52,\"endColumn\":5,\"fileName\":\"pxt_modules/base/fixed.ts\",\"functionName\":\"min\",\"argumentNames\":[\"a\",\"b\"]}\n\nfunction Fx_min__P94_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Fx_min__P94, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Fx_iadd__P87(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 << 8);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 + s.arg1);\n return leave(s, r0)\n default: oops()\n} } }\nFx_iadd__P87.info = {\"start\":621,\"length\":110,\"line\":23,\"column\":4,\"endLine\":25,\"endColumn\":5,\"fileName\":\"pxt_modules/base/fixed.ts\",\"functionName\":\"iadd\",\"argumentNames\":[\"a\",\"b\"]}\n\nfunction Fx_iadd__P87_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Fx_iadd__P87, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Fx_toIntShifted__P85(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg1 + 8);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 >> s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\nFx_toIntShifted__P85.info = {\"start\":391,\"length\":102,\"line\":17,\"column\":4,\"endLine\":19,\"endColumn\":5,\"fileName\":\"pxt_modules/base/fixed.ts\",\"functionName\":\"toIntShifted\",\"argumentNames\":[\"a\",\"n\"]}\n\nfunction Fx_toIntShifted__P85_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Fx_toIntShifted__P85, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction helpers_arraySome__P45(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.len___11014 = undefined;\n s.i___11017 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_Array__length(s.arg0);\n s.len___11014 = (r0);\n s.i___11017 = (0);\n case 1:\n r0 = (s.i___11017 < s.len___11014);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 4; continue; }\n s.tmp_2 = lambda_3_mk(s);\n s.tmp_2.argL = s.arg1;\n r0 = pxsim_Array__getAt(s.arg0, s.i___11017);\n s.tmp_2.arg0 = r0;\n s.tmp_2.arg1 = s.i___11017;\n setupLambda(s.tmp_2, s.tmp_2.argL);\n s.pc = 6; return s.tmp_2;\n case 6:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 2; continue; }\n r0 = true;\n { step = 5; continue; }\n case 2:\n case 3:\n r0 = (s.i___11017 + 1);\n s.i___11017 = (r0);\n { step = 1; continue; }\n case 4:\n r0 = false;\n case 5:\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_arraySome__P45.info = {\"start\":4550,\"length\":296,\"line\":154,\"column\":4,\"endLine\":160,\"endColumn\":5,\"fileName\":\"pxt_modules/base/pxt-helpers.ts\",\"functionName\":\"arraySome\",\"argumentNames\":[\"arr\",\"callbackfn\"]}\n\nfunction helpers_arraySome__P45_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_arraySome__P45, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n len___11014: undefined,\n i___11017: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction MovingSprite_constructor__P726(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.arg5 = (s.lambdaArgs[5]);\n s.arg6 = (s.lambdaArgs[6]);\n s.arg7 = (s.lambdaArgs[7]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, MovingSprite__C725_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"sprite\"] = (s.arg1);\n r0 = (s.arg0).fields[\"cachedVx\"] = (s.arg2);\n r0 = (s.arg0).fields[\"cachedVy\"] = (s.arg3);\n r0 = (s.arg0).fields[\"dx\"] = (s.arg4);\n r0 = (s.arg0).fields[\"dy\"] = (s.arg5);\n r0 = (s.arg0).fields[\"xStep\"] = (s.arg6);\n r0 = (s.arg0).fields[\"yStep\"] = (s.arg7);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nMovingSprite_constructor__P726.info = {\"start\":610,\"length\":313,\"line\":28,\"column\":4,\"endLine\":39,\"endColumn\":9,\"fileName\":\"pxt_modules/game/physics.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"sprite\",\"cachedVx\",\"cachedVy\",\"dx\",\"dy\",\"xStep\",\"yStep\"]}\n\nfunction MovingSprite_constructor__P726_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: MovingSprite_constructor__P726, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n arg5: undefined,\n arg6: undefined,\n arg7: undefined,\n} }\n\n\n\n\n\nfunction ArcadePhysicsEngine_move__P732(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.dtf___11246 = undefined;\n s.dtSec___11251 = undefined;\n s.dt2___11254 = undefined;\n s.scene___11257 = undefined;\n s.movingSprites___11259 = undefined;\n s.tileMap___11270 = undefined;\n s.MAX_STEP_COUNT___11292 = undefined;\n s.overlapHandlers___11301 = undefined;\n s.selected___11307 = undefined;\n s.buffers___11308 = undefined;\n s.count___11312 = undefined;\n s.currMovers___11320 = undefined;\n s.remainingMovers___11325 = undefined;\n s.ms___11329 = undefined;\n s.unnamed56___U14 = undefined;\n s.unnamed57___U15 = undefined;\n s.s___11331 = undefined;\n s.stepX___11412 = undefined;\n s.stepY___11423 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, ArcadePhysicsEngine__C727_VT)) failedCast(r0);\n s.tmp_0 = Fx_min__P94_mk(s);\n s.tmp_0.arg0 = globals.MAX_TIME_STEP___716;\n r0 = (s.arg1 * 1000);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 * 256);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_0.arg1 = r0;\n s.pc = 47; return s.tmp_0;\n case 47:\n r0 = s.retval;\n s.dtf___11246 = (r0);\n r0 = pxsim.Math_.idiv(s.dtf___11246, 1000);\n s.dtSec___11251 = (r0);\n r0 = pxsim.Math_.idiv(s.dtf___11246, 2);\n s.dt2___11254 = (r0);\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 48; return s.tmp_0;\n case 48:\n r0 = s.retval;\n s.scene___11257 = (r0);\n r0 = pxsim_pxtcore_mkAction(3, inline__P11264);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.dtSec___11251);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 2, s.dt2___11254);\n s.tmp_1 = helpers_arrayMap__P44_mk(s);\n r0 = s.arg0.fields[\"sprites\"];\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = s.tmp_0;\n s.pc = 49; return s.tmp_1;\n case 49:\n r0 = s.retval;\n s.movingSprites___11259 = (r0);\n r0 = s.scene___11257.fields[\"tileMap\"];\n s.tileMap___11270 = (r0);\n s.tmp_0 = helpers_arrayForEach__P47_mk(s);\n r0 = s.arg0.fields[\"sprites\"];\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = inline__P11276;\n s.pc = 50; return s.tmp_0;\n case 50:\n r0 = s.retval;\n s.tmp_0 = sprites_SpriteMap_clear__P664_mk(s);\n r0 = s.arg0.fields[\"map\"];\n s.tmp_0.arg0 = r0;\n s.pc = 51; return s.tmp_0;\n case 51:\n r0 = s.retval;\n s.tmp_0 = sprites_SpriteMap_resizeBuckets__P663_mk(s);\n r0 = s.arg0.fields[\"map\"];\n s.tmp_0.arg0 = r0;\n r0 = s.arg0.fields[\"sprites\"];\n s.tmp_0.arg1 = r0;\n s.pc = 52; return s.tmp_0;\n case 52:\n r0 = s.retval;\n r0 = s.arg0.fields[\"maxVelocity\"];\n s.tmp_2 = r0;\n r0 = s.arg0.fields[\"minSingleStep\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_2 << 8);\n s.tmp_4 = r0;\n r0 = pxsim.Math_.idiv(s.tmp_4, s.tmp_3);\n s.tmp_1 = r0;\n r0 = pxsim.Math_.imul(s.tmp_1, s.dtSec___11251);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 >> 8);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 + 128);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 >> 8);\n s.MAX_STEP_COUNT___11292 = (r0);\n s.tmp_0 = helpers_arraySlice__P52_mk(s);\n r0 = s.scene___11257.fields[\"overlapHandlers\"];\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = undefined;\n s.tmp_0.arg2 = undefined;\n s.pc = 53; return s.tmp_0;\n case 53:\n r0 = s.retval;\n s.overlapHandlers___11301 = (r0);\n s.selected___11307 = (0);\n r0 = pxsim_Array__mk();\n s.tmp_0 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.movingSprites___11259);\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_1);\n s.buffers___11308 = (s.tmp_0);\n s.count___11312 = (0);\n case 1:\n r0 = (s.count___11312 < s.MAX_STEP_COUNT___11292);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 2; continue; }\n r0 = s.tmp_0;\n { step = 3; continue; }\n case 2:\n r0 = pxsim_Array__getAt(s.buffers___11308, s.selected___11307);\n s.tmp_2 = r0;\n r0 = pxsim_Array__length(s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 !== 0);\n case 3:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 46; continue; }\n r0 = pxsim_Array__getAt(s.buffers___11308, s.selected___11307);\n s.currMovers___11320 = (r0);\n r0 = (s.selected___11307 ^ 1);\n s.selected___11307 = (r0);\n r0 = pxsim_Array__getAt(s.buffers___11308, s.selected___11307);\n s.remainingMovers___11325 = (r0);\n s.ms___11329 = (undefined);\n s.ms___11329 = (undefined);\n s.unnamed56___U14 = (s.currMovers___11320);\n s.unnamed57___U15 = (0);\n case 4:\n s.tmp_0 = r0 = s.unnamed57___U15;\n r0 = pxsim_Array__length(s.unnamed56___U14);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 43; continue; }\n r0 = pxsim_Array__getAt(s.unnamed56___U14, s.unnamed57___U15);\n s.ms___11329 = (r0);\n r0 = s.ms___11329.fields[\"sprite\"];\n s.s___11331 = (r0);\n r0 = s.ms___11329.fields[\"cachedVx\"];\n s.tmp_1 = r0;\n r0 = s.s___11331.fields[\"_vx\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_1 !== s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 15; continue; }\n r0 = s.s___11331.fields[\"_vx\"];\n s.tmp_4 = r0;\n r0 = (s.tmp_4 == globals.zeroFx8___79);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 5; continue; }\n r0 = (s.ms___11329).fields[\"dx\"] = (globals.zeroFx8___79);\n { step = 14; continue; }\n case 5:\n r0 = s.s___11331.fields[\"_vx\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 < globals.zeroFx8___79);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 6; continue; }\n r0 = s.tmp_0;\n { step = 7; continue; }\n case 6:\n r0 = s.ms___11329.fields[\"cachedVx\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 > globals.zeroFx8___79);\n case 7:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBool(s.tmp_3);\n if (!r0) { step = 8; continue; }\n r0 = s.tmp_3;\n { step = 11; continue; }\n case 8:\n r0 = s.s___11331.fields[\"_vx\"];\n s.tmp_5 = r0;\n r0 = (s.tmp_5 > globals.zeroFx8___79);\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBool(s.tmp_4);\n if (r0) { step = 9; continue; }\n r0 = s.tmp_4;\n { step = 10; continue; }\n case 9:\n r0 = s.ms___11329.fields[\"cachedVx\"];\n s.tmp_6 = r0;\n r0 = (s.tmp_6 < globals.zeroFx8___79);\n case 10:\n // jmp value (already in r0)\n s.tmp_7 = r0;\n r0 = s.tmp_7;\n case 11:\n // jmp value (already in r0)\n s.tmp_8 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_8);\n if (!r0) { step = 12; continue; }\n s.tmp_9 = r0 = s.ms___11329;\n r0 = s.ms___11329.fields[\"dx\"];\n s.tmp_11 = r0;\n r0 = (0 - s.tmp_11);\n s.tmp_10 = r0;\n r0 = (s.tmp_9).fields[\"dx\"] = (s.tmp_10);\n s.tmp_0 = r0 = s.ms___11329;\n r0 = s.ms___11329.fields[\"xStep\"];\n s.tmp_2 = r0;\n r0 = (0 - s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"xStep\"] = (s.tmp_1);\n case 12:\n case 13:\n case 14:\n r0 = s.s___11331.fields[\"_vx\"];\n s.tmp_0 = r0;\n r0 = (s.ms___11329).fields[\"cachedVx\"] = (s.tmp_0);\n case 15:\n case 16:\n r0 = s.ms___11329.fields[\"cachedVy\"];\n s.tmp_1 = r0;\n r0 = s.s___11331.fields[\"_vy\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_1 !== s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 27; continue; }\n r0 = s.s___11331.fields[\"_vy\"];\n s.tmp_4 = r0;\n r0 = (s.tmp_4 == globals.zeroFx8___79);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 17; continue; }\n r0 = (s.ms___11329).fields[\"dy\"] = (globals.zeroFx8___79);\n { step = 26; continue; }\n case 17:\n r0 = s.s___11331.fields[\"_vy\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 < globals.zeroFx8___79);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 18; continue; }\n r0 = s.tmp_0;\n { step = 19; continue; }\n case 18:\n r0 = s.ms___11329.fields[\"cachedVy\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 > globals.zeroFx8___79);\n case 19:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBool(s.tmp_3);\n if (!r0) { step = 20; continue; }\n r0 = s.tmp_3;\n { step = 23; continue; }\n case 20:\n r0 = s.s___11331.fields[\"_vy\"];\n s.tmp_5 = r0;\n r0 = (s.tmp_5 > globals.zeroFx8___79);\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBool(s.tmp_4);\n if (r0) { step = 21; continue; }\n r0 = s.tmp_4;\n { step = 22; continue; }\n case 21:\n r0 = s.ms___11329.fields[\"cachedVy\"];\n s.tmp_6 = r0;\n r0 = (s.tmp_6 < globals.zeroFx8___79);\n case 22:\n // jmp value (already in r0)\n s.tmp_7 = r0;\n r0 = s.tmp_7;\n case 23:\n // jmp value (already in r0)\n s.tmp_8 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_8);\n if (!r0) { step = 24; continue; }\n s.tmp_9 = r0 = s.ms___11329;\n r0 = s.ms___11329.fields[\"dy\"];\n s.tmp_11 = r0;\n r0 = (0 - s.tmp_11);\n s.tmp_10 = r0;\n r0 = (s.tmp_9).fields[\"dy\"] = (s.tmp_10);\n s.tmp_0 = r0 = s.ms___11329;\n r0 = s.ms___11329.fields[\"yStep\"];\n s.tmp_2 = r0;\n r0 = (0 - s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"yStep\"] = (s.tmp_1);\n case 24:\n case 25:\n case 26:\n r0 = s.s___11331.fields[\"_vy\"];\n s.tmp_0 = r0;\n r0 = (s.ms___11329).fields[\"cachedVy\"] = (s.tmp_0);\n case 27:\n case 28:\n s.tmp_2 = Fx_abs__P93_mk(s);\n r0 = s.ms___11329.fields[\"xStep\"];\n s.tmp_2.arg0 = r0;\n s.pc = 54; return s.tmp_2;\n case 54:\n r0 = s.retval;\n s.tmp_1 = r0;\n s.tmp_4 = Fx_abs__P93_mk(s);\n r0 = s.ms___11329.fields[\"dx\"];\n s.tmp_4.arg0 = r0;\n s.pc = 55; return s.tmp_4;\n case 55:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_1 > s.tmp_3);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 29; continue; }\n r0 = s.ms___11329.fields[\"dx\"];\n { step = 30; continue; }\n case 29:\n r0 = s.ms___11329.fields[\"xStep\"];\n case 30:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n s.stepX___11412 = (s.tmp_5);\n s.tmp_2 = Fx_abs__P93_mk(s);\n r0 = s.ms___11329.fields[\"yStep\"];\n s.tmp_2.arg0 = r0;\n s.pc = 56; return s.tmp_2;\n case 56:\n r0 = s.retval;\n s.tmp_1 = r0;\n s.tmp_4 = Fx_abs__P93_mk(s);\n r0 = s.ms___11329.fields[\"dy\"];\n s.tmp_4.arg0 = r0;\n s.pc = 57; return s.tmp_4;\n case 57:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_1 > s.tmp_3);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 31; continue; }\n r0 = s.ms___11329.fields[\"dy\"];\n { step = 32; continue; }\n case 31:\n r0 = s.ms___11329.fields[\"yStep\"];\n case 32:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n s.stepY___11423 = (s.tmp_5);\n s.tmp_0 = r0 = s.ms___11329;\n r0 = s.ms___11329.fields[\"dx\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - s.stepX___11412);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"dx\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.ms___11329;\n r0 = s.ms___11329.fields[\"dy\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - s.stepY___11423);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"dy\"] = (s.tmp_1);\n r0 = s.s___11331.fields[\"_x\"];\n s.tmp_0 = r0;\n r0 = (s.s___11331).fields[\"_lastX\"] = (s.tmp_0);\n r0 = s.s___11331.fields[\"_y\"];\n s.tmp_0 = r0;\n r0 = (s.s___11331).fields[\"_lastY\"] = (s.tmp_0);\n s.tmp_0 = r0 = s.s___11331;\n r0 = s.s___11331.fields[\"_x\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.stepX___11412);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"_x\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.s___11331;\n r0 = s.s___11331.fields[\"_y\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.stepY___11423);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"_y\"] = (s.tmp_1);\n r0 = s.s___11331.fields[\"flags\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 & globals.SPRITE_CANNOT_COLLIDE___718);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 37; continue; }\n s.tmp_4 = sprites_SpriteMap_insertAABB__P668_mk(s);\n r0 = s.arg0.fields[\"map\"];\n s.tmp_4.arg0 = r0;\n s.tmp_4.arg1 = s.s___11331;\n s.pc = 58; return s.tmp_4;\n case 58:\n r0 = s.retval;\n s.tmp_0 = r0 = s.tileMap___11270;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 33; continue; }\n r0 = s.tmp_0;\n { step = 34; continue; }\n case 33:\n r0 = s.tileMap___11270.fields[\"_map\"];\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n s.tmp_3 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n case 34:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_5);\n if (!r0) { step = 35; continue; }\n s.tmp_6 = ArcadePhysicsEngine_tilemapCollisions__P735_mk(s);\n s.tmp_6.arg0 = s.arg0;\n s.tmp_6.arg1 = s.ms___11329;\n s.tmp_6.arg2 = s.tileMap___11270;\n s.pc = 59; return s.tmp_6;\n case 59:\n r0 = s.retval;\n case 35:\n case 36:\n case 37:\n case 38:\n s.tmp_2 = Fx_abs__P93_mk(s);\n r0 = s.ms___11329.fields[\"dx\"];\n s.tmp_2.arg0 = r0;\n s.pc = 60; return s.tmp_2;\n case 60:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > globals.MIN_MOVE_GAP___723);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 39; continue; }\n r0 = s.tmp_0;\n { step = 40; continue; }\n case 39:\n s.tmp_4 = Fx_abs__P93_mk(s);\n r0 = s.ms___11329.fields[\"dy\"];\n s.tmp_4.arg0 = r0;\n s.pc = 61; return s.tmp_4;\n case 61:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_3 > globals.MIN_MOVE_GAP___723);\n case 40:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_5);\n if (!r0) { step = 41; continue; }\n r0 = pxsim_Array__push(s.remainingMovers___11325, s.ms___11329);\n case 41:\n case 42:\n r0 = (s.unnamed57___U15 + 1);\n s.unnamed57___U15 = (r0);\n { step = 4; continue; }\n case 43:\n s.unnamed56___U14 = (undefined);\n s.tmp_0 = ArcadePhysicsEngine_spriteCollisions__P734_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.currMovers___11320;\n s.tmp_0.arg2 = s.overlapHandlers___11301;\n s.pc = 62; return s.tmp_0;\n case 62:\n r0 = s.retval;\n case 44:\n r0 = pxsim_Array__length(s.currMovers___11320);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 45; continue; }\n r0 = pxsim_Array_.pop(s.currMovers___11320);\n { step = 44; continue; }\n case 45:\n r0 = (s.count___11312 + 1);\n s.count___11312 = (r0);\n { step = 1; continue; }\n case 46:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nArcadePhysicsEngine_move__P732.info = {\"start\":1841,\"length\":3940,\"line\":75,\"column\":4,\"endLine\":175,\"endColumn\":5,\"fileName\":\"pxt_modules/game/physics.ts\",\"functionName\":\"move\",\"argumentNames\":[\"this\",\"dt\"]}\n\nfunction ArcadePhysicsEngine_move__P732_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: ArcadePhysicsEngine_move__P732, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n dtf___11246: undefined,\n dtSec___11251: undefined,\n dt2___11254: undefined,\n scene___11257: undefined,\n movingSprites___11259: undefined,\n tileMap___11270: undefined,\n MAX_STEP_COUNT___11292: undefined,\n overlapHandlers___11301: undefined,\n selected___11307: undefined,\n buffers___11308: undefined,\n count___11312: undefined,\n currMovers___11320: undefined,\n remainingMovers___11325: undefined,\n ms___11329: undefined,\n unnamed56___U14: undefined,\n unnamed57___U15: undefined,\n s___11331: undefined,\n stepX___11412: undefined,\n stepY___11423: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction inline__P11264(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = ArcadePhysicsEngine_createMovingSprite__P733_mk(s);\n s.tmp_0.arg0 = s.caps[0];\n s.tmp_0.arg1 = s.arg0;\n s.tmp_0.arg2 = s.caps[1];\n s.tmp_0.arg3 = s.caps[2];\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P11264.info = {\"start\":2236,\"length\":53,\"line\":87,\"column\":17,\"endLine\":87,\"endColumn\":70,\"fileName\":\"pxt_modules/game/physics.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"sprite\"]}\n\nfunction inline__P11264_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P11264, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P11276(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_1 = Sprite_vx__P613_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.pc = 5; return s.tmp_1;\n case 5:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n s.tmp_2 = Sprite_vy__P615_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 6; return s.tmp_2;\n case 6:\n r0 = s.retval;\n case 2:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 3; continue; }\n s.tmp_4 = Sprite_clearObstacles__P650_mk(s);\n s.tmp_4.arg0 = s.arg0;\n s.pc = 7; return s.tmp_4;\n case 7:\n r0 = s.retval;\n case 3:\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P11276.info = {\"start\":2411,\"length\":66,\"line\":91,\"column\":29,\"endLine\":93,\"endColumn\":9,\"fileName\":\"pxt_modules/game/physics.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"s\"]}\n\nfunction inline__P11276_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P11276, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction ArcadePhysicsEngine_spriteCollisions__P734(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.ms___11512 = undefined;\n s.unnamed58___U1 = undefined;\n s.unnamed59___U2 = undefined;\n s.sprite___11514 = undefined;\n s.overSprites___11520 = undefined;\n s.overlapper___11527 = undefined;\n s.unnamed60___U6 = undefined;\n s.unnamed61___U7 = undefined;\n s.thisKind___11532 = undefined;\n s.otherKind___11535 = undefined;\n s.higher___11545 = undefined;\n s.lower___11552 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, ArcadePhysicsEngine__C727_VT)) failedCast(r0);\n r0 = pxsim_Array__length(s.arg2);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 21; continue; }\n case 1:\n case 2:\n s.ms___11512 = (undefined);\n s.ms___11512 = (undefined);\n s.unnamed58___U1 = (s.arg1);\n s.unnamed59___U2 = (0);\n case 3:\n s.tmp_0 = r0 = s.unnamed59___U2;\n r0 = pxsim_Array__length(s.unnamed58___U1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 20; continue; }\n r0 = pxsim_Array__getAt(s.unnamed58___U1, s.unnamed59___U2);\n s.ms___11512 = (r0);\n r0 = s.ms___11512.fields[\"sprite\"];\n s.sprite___11514 = (r0);\n r0 = s.sprite___11514.fields[\"flags\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 & globals.SPRITE_CANNOT_COLLIDE___718);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 4; continue; }\n { step = 19; continue; }\n case 4:\n case 5:\n s.tmp_2 = sprites_SpriteMap_overlaps__P661_mk(s);\n r0 = s.arg0.fields[\"map\"];\n s.tmp_2.arg0 = r0;\n r0 = s.ms___11512.fields[\"sprite\"];\n s.tmp_2.arg1 = r0;\n s.pc = 22; return s.tmp_2;\n case 22:\n r0 = s.retval;\n s.overSprites___11520 = (r0);\n s.overlapper___11527 = (undefined);\n s.overlapper___11527 = (undefined);\n s.unnamed60___U6 = (s.overSprites___11520);\n s.unnamed61___U7 = (0);\n case 6:\n s.tmp_0 = r0 = s.unnamed61___U7;\n r0 = pxsim_Array__length(s.unnamed60___U6);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 18; continue; }\n r0 = pxsim_Array__getAt(s.unnamed60___U6, s.unnamed61___U7);\n s.overlapper___11527 = (r0);\n r0 = s.overlapper___11527.fields[\"flags\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 & globals.SPRITE_CANNOT_COLLIDE___718);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 7; continue; }\n { step = 17; continue; }\n case 7:\n case 8:\n r0 = s.sprite___11514.fields[\"_kind\"];\n s.thisKind___11532 = (r0);\n r0 = s.overlapper___11527.fields[\"_kind\"];\n s.otherKind___11535 = (r0);\n r0 = s.sprite___11514.fields[\"_kindsOverlappedWith\"];\n s.tmp_2 = r0;\n r0 = pxsim_Array_.indexOf(s.tmp_2, s.otherKind___11535, undefined);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 === -1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 9; continue; }\n { step = 17; continue; }\n case 9:\n case 10:\n r0 = s.sprite___11514.fields[\"id\"];\n s.tmp_4 = r0;\n r0 = s.overlapper___11527.fields[\"id\"];\n s.tmp_5 = r0;\n r0 = (s.tmp_4 > s.tmp_5);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 11; continue; }\n r0 = s.sprite___11514;\n { step = 12; continue; }\n case 11:\n r0 = s.overlapper___11527;\n case 12:\n // jmp value (already in r0)\n s.tmp_6 = r0;\n s.higher___11545 = (s.tmp_6);\n r0 = (s.higher___11545 === s.sprite___11514);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 13; continue; }\n r0 = s.overlapper___11527;\n { step = 14; continue; }\n case 13:\n r0 = s.sprite___11514;\n case 14:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n s.lower___11552 = (s.tmp_1);\n r0 = s.higher___11545.fields[\"_overlappers\"];\n s.tmp_2 = r0;\n r0 = s.lower___11552.fields[\"id\"];\n s.tmp_3 = r0;\n r0 = pxsim_Array_.indexOf(s.tmp_2, s.tmp_3, undefined);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 === -1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 15; continue; }\n r0 = pxsim_pxtcore_mkAction(2, inline__P11568);\n s.tmp_4 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_4, 0, s.thisKind___11532);\n r0 = pxsim_pxtrt_stclo(s.tmp_4, 1, s.otherKind___11535);\n r0 = pxsim_pxtcore_mkAction(5, inline__P11585);\n s.tmp_5 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_5, 0, s.higher___11545);\n r0 = pxsim_pxtrt_stclo(s.tmp_5, 1, s.lower___11552);\n r0 = pxsim_pxtrt_stclo(s.tmp_5, 2, s.thisKind___11532);\n r0 = pxsim_pxtrt_stclo(s.tmp_5, 3, s.sprite___11514);\n r0 = pxsim_pxtrt_stclo(s.tmp_5, 4, s.overlapper___11527);\n s.tmp_6 = helpers_arrayForEach__P47_mk(s);\n s.tmp_7 = helpers_arrayFilter__P48_mk(s);\n s.tmp_7.arg0 = s.arg2;\n s.tmp_7.arg1 = s.tmp_4;\n s.pc = 24; return s.tmp_7;\n case 24:\n r0 = s.retval;\n s.tmp_6.arg0 = r0;\n s.tmp_6.arg1 = s.tmp_5;\n s.pc = 23; return s.tmp_6;\n case 23:\n r0 = s.retval;\n case 15:\n case 16:\n case 17:\n r0 = (s.unnamed61___U7 + 1);\n s.unnamed61___U7 = (r0);\n { step = 6; continue; }\n case 18:\n s.unnamed60___U6 = (undefined);\n case 19:\n r0 = (s.unnamed59___U2 + 1);\n s.unnamed59___U2 = (r0);\n { step = 3; continue; }\n case 20:\n s.unnamed58___U1 = (undefined);\n case 21:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nArcadePhysicsEngine_spriteCollisions__P734.info = {\"start\":7509,\"length\":2112,\"line\":248,\"column\":4,\"endLine\":290,\"endColumn\":5,\"fileName\":\"pxt_modules/game/physics.ts\",\"functionName\":\"spriteCollisions\",\"argumentNames\":[\"this\",\"movedSprites\",\"handlers\"]}\n\nfunction ArcadePhysicsEngine_spriteCollisions__P734_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: ArcadePhysicsEngine_spriteCollisions__P734, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n ms___11512: undefined,\n unnamed58___U1: undefined,\n unnamed59___U2: undefined,\n sprite___11514: undefined,\n overSprites___11520: undefined,\n overlapper___11527: undefined,\n unnamed60___U6: undefined,\n unnamed61___U7: undefined,\n thisKind___11532: undefined,\n otherKind___11535: undefined,\n higher___11545: undefined,\n lower___11552: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction inline__P11568(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0.fields[\"kind\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 === s.caps[0]);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = s.arg0.fields[\"otherKind\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 === s.caps[1]);\n case 2:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBool(s.tmp_3);\n if (!r0) { step = 3; continue; }\n r0 = s.tmp_3;\n { step = 6; continue; }\n case 3:\n r0 = s.arg0.fields[\"kind\"];\n s.tmp_5 = r0;\n r0 = (s.tmp_5 === s.caps[1]);\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBool(s.tmp_4);\n if (r0) { step = 4; continue; }\n r0 = s.tmp_4;\n { step = 5; continue; }\n case 4:\n r0 = s.arg0.fields[\"otherKind\"];\n s.tmp_6 = r0;\n r0 = (s.tmp_6 === s.caps[0]);\n case 5:\n // jmp value (already in r0)\n s.tmp_7 = r0;\n r0 = s.tmp_7;\n case 6:\n // jmp value (already in r0)\n s.tmp_8 = r0;\n r0 = s.tmp_8;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P11568.info = {\"start\":8868,\"length\":145,\"line\":274,\"column\":32,\"endLine\":275,\"endColumn\":89,\"fileName\":\"pxt_modules/game/physics.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"h\"]}\n\nfunction inline__P11568_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P11568, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P11585(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.caps[0].fields[\"_overlappers\"];\n s.tmp_0 = r0;\n r0 = s.caps[1].fields[\"id\"];\n s.tmp_1 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_1);\n r0 = pxsim_pxtcore_mkAction(6, inline__P11595);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.caps[2]);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 2, s.caps[3]);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 3, s.caps[4]);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 4, s.caps[0]);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 5, s.caps[1]);\n r0 = pxsim.control.runInParallel(s.tmp_0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P11585.info = {\"start\":9073,\"length\":498,\"line\":277,\"column\":33,\"endLine\":286,\"endColumn\":25,\"fileName\":\"pxt_modules/game/physics.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"h\"]}\n\nfunction inline__P11585_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P11585, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P11595(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = s.caps[0].fields[\"kind\"];\n s.tmp_1 = r0;\n r0 = (s.caps[1] === s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.caps[2];\n { step = 2; continue; }\n case 1:\n r0 = s.caps[3];\n case 2:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = s.caps[0].fields[\"kind\"];\n s.tmp_4 = r0;\n r0 = (s.caps[1] === s.tmp_4);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 3; continue; }\n r0 = s.caps[3];\n { step = 4; continue; }\n case 3:\n r0 = s.caps[2];\n case 4:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n s.tmp_6 = lambda_3_mk(s);\n r0 = s.caps[0].fields[\"handler\"];\n s.tmp_6.argL = r0;\n s.tmp_6.arg0 = s.tmp_2;\n s.tmp_6.arg1 = s.tmp_5;\n setupLambda(s.tmp_6, s.tmp_6.argL);\n s.pc = 5; return s.tmp_6;\n case 5:\n r0 = s.retval;\n r0 = s.caps[4].fields[\"_overlappers\"];\n s.tmp_0 = r0;\n r0 = s.caps[5].fields[\"id\"];\n s.tmp_1 = r0;\n r0 = pxsim_Array_.removeElement(s.tmp_0, s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P11595.info = {\"start\":9194,\"length\":349,\"line\":279,\"column\":50,\"endLine\":285,\"endColumn\":29,\"fileName\":\"pxt_modules/game/physics.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P11595_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P11595, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n} }\n\n\n\n\n\nfunction sprites_SpriteMap_overlaps__P661(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.n___11616 = undefined;\n s.o___11619 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_SpriteMap__C659_VT)) failedCast(r0);\n s.tmp_0 = sprites_SpriteMap_neighbors__P660_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.n___11616 = (r0);\n r0 = pxsim_pxtcore_mkAction(1, inline__P11622);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg1);\n s.tmp_1 = helpers_arrayFilter__P48_mk(s);\n s.tmp_1.arg0 = s.n___11616;\n s.tmp_1.arg1 = s.tmp_0;\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n s.o___11619 = (r0);\n r0 = s.o___11619;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_SpriteMap_overlaps__P661.info = {\"start\":971,\"length\":189,\"line\":32,\"column\":8,\"endLine\":36,\"endColumn\":9,\"fileName\":\"pxt_modules/game/spritemap.ts\",\"functionName\":\"overlaps\",\"argumentNames\":[\"this\",\"sprite\"]}\n\nfunction sprites_SpriteMap_overlaps__P661_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_SpriteMap_overlaps__P661, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n n___11616: undefined,\n o___11619: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction inline__P11622(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = Sprite_overlapsWith__P647_mk(s);\n s.tmp_0.arg0 = s.caps[0];\n s.tmp_0.arg1 = s.arg0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P11622.info = {\"start\":1085,\"length\":41,\"line\":34,\"column\":31,\"endLine\":34,\"endColumn\":72,\"fileName\":\"pxt_modules/game/spritemap.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"neighbor\"]}\n\nfunction inline__P11622_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P11622, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction sprites_SpriteMap_neighbors__P660(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.n___11657 = undefined;\n s.layer___11659 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_SpriteMap__C659_VT)) failedCast(r0);\n s.tmp_1 = sprites_SpriteMap_isOob__P667_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.tmp_1.arg1 = s.arg1;\n s.pc = 4; return s.tmp_1;\n case 4:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_Array__mk();\n { step = 3; continue; }\n case 1:\n case 2:\n r0 = pxsim_Array__mk();\n s.n___11657 = (r0);\n r0 = s.arg1.fields[\"layer\"];\n s.layer___11659 = (r0);\n s.tmp_0 = sprites_SpriteMap_mergeAtKey__P669_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_1 = Sprite_left__P629_mk(s);\n s.tmp_1.arg0 = s.arg1;\n s.pc = 6; return s.tmp_1;\n case 6:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.tmp_2 = Sprite_top__P633_mk(s);\n s.tmp_2.arg0 = s.arg1;\n s.pc = 7; return s.tmp_2;\n case 7:\n r0 = s.retval;\n s.tmp_0.arg2 = r0;\n s.tmp_0.arg3 = s.layer___11659;\n s.tmp_0.arg4 = s.n___11657;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n s.tmp_0 = sprites_SpriteMap_mergeAtKey__P669_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_1 = Sprite_left__P629_mk(s);\n s.tmp_1.arg0 = s.arg1;\n s.pc = 9; return s.tmp_1;\n case 9:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.tmp_2 = Sprite_bottom__P635_mk(s);\n s.tmp_2.arg0 = s.arg1;\n s.pc = 10; return s.tmp_2;\n case 10:\n r0 = s.retval;\n s.tmp_0.arg2 = r0;\n s.tmp_0.arg3 = s.layer___11659;\n s.tmp_0.arg4 = s.n___11657;\n s.pc = 8; return s.tmp_0;\n case 8:\n r0 = s.retval;\n s.tmp_0 = sprites_SpriteMap_mergeAtKey__P669_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_1 = Sprite_right__P631_mk(s);\n s.tmp_1.arg0 = s.arg1;\n s.pc = 12; return s.tmp_1;\n case 12:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.tmp_2 = Sprite_top__P633_mk(s);\n s.tmp_2.arg0 = s.arg1;\n s.pc = 13; return s.tmp_2;\n case 13:\n r0 = s.retval;\n s.tmp_0.arg2 = r0;\n s.tmp_0.arg3 = s.layer___11659;\n s.tmp_0.arg4 = s.n___11657;\n s.pc = 11; return s.tmp_0;\n case 11:\n r0 = s.retval;\n s.tmp_0 = sprites_SpriteMap_mergeAtKey__P669_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_1 = Sprite_right__P631_mk(s);\n s.tmp_1.arg0 = s.arg1;\n s.pc = 15; return s.tmp_1;\n case 15:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.tmp_2 = Sprite_bottom__P635_mk(s);\n s.tmp_2.arg0 = s.arg1;\n s.pc = 16; return s.tmp_2;\n case 16:\n r0 = s.retval;\n s.tmp_0.arg2 = r0;\n s.tmp_0.arg3 = s.layer___11659;\n s.tmp_0.arg4 = s.n___11657;\n s.pc = 14; return s.tmp_0;\n case 14:\n r0 = s.retval;\n r0 = pxsim_Array_.removeElement(s.n___11657, s.arg1);\n r0 = s.n___11657;\n case 3:\n return leave(s, r0)\n default: oops()\n} } }\nsprites_SpriteMap_neighbors__P660.info = {\"start\":376,\"length\":490,\"line\":15,\"column\":8,\"endLine\":26,\"endColumn\":9,\"fileName\":\"pxt_modules/game/spritemap.ts\",\"functionName\":\"neighbors\",\"argumentNames\":[\"this\",\"sprite\"]}\n\nfunction sprites_SpriteMap_neighbors__P660_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_SpriteMap_neighbors__P660, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n n___11657: undefined,\n layer___11659: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction sprites_SpriteMap_mergeAtKey__P669(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.k___11703 = undefined;\n s.bucket___11707 = undefined;\n s.sprite___11713 = undefined;\n s.unnamed54___U3 = undefined;\n s.unnamed55___U4 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_SpriteMap__C659_VT)) failedCast(r0);\n s.tmp_0 = sprites_SpriteMap_key__P665_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.tmp_0.arg2 = s.arg2;\n s.pc = 9; return s.tmp_0;\n case 9:\n r0 = s.retval;\n s.k___11703 = (r0);\n r0 = s.arg0.fields[\"buckets\"];\n s.tmp_0 = r0;\n r0 = pxsim_Array__getAt(s.tmp_0, s.k___11703);\n s.bucket___11707 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.bucket___11707);\n if (!r0) { step = 7; continue; }\n s.sprite___11713 = (undefined);\n s.sprite___11713 = (undefined);\n s.unnamed54___U3 = (s.bucket___11707);\n s.unnamed55___U4 = (0);\n case 1:\n s.tmp_0 = r0 = s.unnamed55___U4;\n r0 = pxsim_Array__length(s.unnamed54___U3);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 6; continue; }\n r0 = pxsim_Array__getAt(s.unnamed54___U3, s.unnamed55___U4);\n s.sprite___11713 = (r0);\n r0 = s.sprite___11713.fields[\"layer\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 & s.arg3);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBool(s.tmp_2);\n if (r0) { step = 2; continue; }\n r0 = s.tmp_2;\n { step = 3; continue; }\n case 2:\n r0 = pxsim_Array_.indexOf(s.arg4, s.sprite___11713, undefined);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 < 0);\n case 3:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_5);\n if (!r0) { step = 4; continue; }\n r0 = pxsim_Array__push(s.arg4, s.sprite___11713);\n case 4:\n case 5:\n r0 = (s.unnamed55___U4 + 1);\n s.unnamed55___U4 = (r0);\n { step = 1; continue; }\n case 6:\n s.unnamed54___U3 = (undefined);\n case 7:\n case 8:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_SpriteMap_mergeAtKey__P669.info = {\"start\":4235,\"length\":384,\"line\":115,\"column\":8,\"endLine\":124,\"endColumn\":9,\"fileName\":\"pxt_modules/game/spritemap.ts\",\"functionName\":\"mergeAtKey\",\"argumentNames\":[\"this\",\"x\",\"y\",\"layer\",\"n\"]}\n\nfunction sprites_SpriteMap_mergeAtKey__P669_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_SpriteMap_mergeAtKey__P669, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n k___11703: undefined,\n bucket___11707: undefined,\n sprite___11713: undefined,\n unnamed54___U3: undefined,\n unnamed55___U4: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n} }\n\n\n\n\n\nfunction sprites_SpriteMap_key__P665(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.xi___11731 = undefined;\n s.yi___11742 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_SpriteMap__C659_VT)) failedCast(r0);\n s.tmp_0 = Math_clamp__P58_mk(s);\n s.tmp_0.arg0 = 0;\n r0 = s.arg0.fields[\"columnCount\"];\n s.tmp_0.arg1 = r0;\n r0 = s.arg0.fields[\"cellWidth\"];\n s.tmp_1 = r0;\n r0 = pxsim.Math_.idiv(s.arg1, s.tmp_1);\n s.tmp_0.arg2 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.xi___11731 = (r0);\n s.tmp_0 = Math_clamp__P58_mk(s);\n s.tmp_0.arg0 = 0;\n r0 = s.arg0.fields[\"rowCount\"];\n s.tmp_0.arg1 = r0;\n r0 = s.arg0.fields[\"cellHeight\"];\n s.tmp_1 = r0;\n r0 = pxsim.Math_.idiv(s.arg2, s.tmp_1);\n s.tmp_0.arg2 = r0;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n s.yi___11742 = (r0);\n s.tmp_0 = r0 = s.xi___11731;\n r0 = s.arg0.fields[\"columnCount\"];\n s.tmp_2 = r0;\n r0 = (s.yi___11742 * s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\nsprites_SpriteMap_key__P665.info = {\"start\":2640,\"length\":270,\"line\":78,\"column\":8,\"endLine\":82,\"endColumn\":9,\"fileName\":\"pxt_modules/game/spritemap.ts\",\"functionName\":\"key\",\"argumentNames\":[\"this\",\"x\",\"y\"]}\n\nfunction sprites_SpriteMap_key__P665_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_SpriteMap_key__P665, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n xi___11731: undefined,\n yi___11742: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction sprites_SpriteMap_isOob__P667(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tMap___11760 = undefined;\n s.areaWidth___11764 = undefined;\n s.areaHeight___11770 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_SpriteMap__C659_VT)) failedCast(r0);\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 11; return s.tmp_0;\n case 11:\n r0 = s.retval;\n r0 = r0.fields[\"tileMap\"];\n s.tMap___11760 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.tMap___11760);\n if (!r0) { step = 1; continue; }\n s.tmp_0 = tiles_TileMap_areaWidth__P869_mk(s);\n s.tmp_0.arg0 = s.tMap___11760;\n s.pc = 12; return s.tmp_0;\n case 12:\n r0 = s.retval;\n { step = 2; continue; }\n case 1:\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n s.areaWidth___11764 = (s.tmp_1);\n r0 = pxsim_numops_toBoolDecr(s.tMap___11760);\n if (!r0) { step = 3; continue; }\n s.tmp_0 = tiles_TileMap_areaHeight__P870_mk(s);\n s.tmp_0.arg0 = s.tMap___11760;\n s.pc = 13; return s.tmp_0;\n case 13:\n r0 = s.retval;\n { step = 4; continue; }\n case 3:\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n case 4:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n s.areaHeight___11770 = (s.tmp_1);\n s.tmp_2 = Sprite_right__P631_mk(s);\n s.tmp_2.arg0 = s.arg1;\n s.pc = 14; return s.tmp_2;\n case 14:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = s.tmp_0;\n { step = 6; continue; }\n case 5:\n s.tmp_4 = Sprite_left__P629_mk(s);\n s.tmp_4.arg0 = s.arg1;\n s.pc = 15; return s.tmp_4;\n case 15:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_3 > s.areaWidth___11764);\n case 6:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBool(s.tmp_5);\n if (!r0) { step = 7; continue; }\n r0 = s.tmp_5;\n { step = 8; continue; }\n case 7:\n s.tmp_7 = Sprite_bottom__P635_mk(s);\n s.tmp_7.arg0 = s.arg1;\n s.pc = 16; return s.tmp_7;\n case 16:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = (s.tmp_6 < 0);\n case 8:\n // jmp value (already in r0)\n s.tmp_8 = r0;\n r0 = pxsim_numops_toBool(s.tmp_8);\n if (!r0) { step = 9; continue; }\n r0 = s.tmp_8;\n { step = 10; continue; }\n case 9:\n s.tmp_10 = Sprite_top__P633_mk(s);\n s.tmp_10.arg0 = s.arg1;\n s.pc = 17; return s.tmp_10;\n case 17:\n r0 = s.retval;\n s.tmp_9 = r0;\n r0 = (s.tmp_9 > s.areaHeight___11770);\n case 10:\n // jmp value (already in r0)\n s.tmp_11 = r0;\n r0 = s.tmp_11;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_SpriteMap_isOob__P667.info = {\"start\":3232,\"length\":360,\"line\":93,\"column\":8,\"endLine\":99,\"endColumn\":9,\"fileName\":\"pxt_modules/game/spritemap.ts\",\"functionName\":\"isOob\",\"argumentNames\":[\"this\",\"sprite\"]}\n\nfunction sprites_SpriteMap_isOob__P667_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_SpriteMap_isOob__P667, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n tMap___11760: undefined,\n areaWidth___11764: undefined,\n areaHeight___11770: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_right__P631(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_1 = Sprite_left__P629_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.pc = 1; return s.tmp_1;\n case 1:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = s.arg0.fields[\"_image\"];\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_0 + s.tmp_2);\n return leave(s, r0)\n default: oops()\n} } }\nSprite_right__P631.info = {\"start\":8099,\"length\":57,\"line\":290,\"column\":4,\"endLine\":292,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"right\",\"argumentNames\":[\"this\"]}\n\nfunction Sprite_right__P631_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_right__P631, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Sprite_overlapsWith__P647(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = (s.arg1 == s.arg0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = false;\n { step = 7; continue; }\n case 1:\n case 2:\n r0 = s.arg0.fields[\"flags\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 & 1);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 3; continue; }\n r0 = false;\n { step = 7; continue; }\n case 3:\n case 4:\n r0 = s.arg1.fields[\"flags\"];\n s.tmp_4 = r0;\n r0 = (s.tmp_4 & 1);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 5; continue; }\n r0 = false;\n { step = 7; continue; }\n case 5:\n case 6:\n r0 = s.arg1.fields[\"_image\"];\n s.tmp_5 = r0;\n r0 = s.arg0.fields[\"_image\"];\n s.tmp_6 = r0;\n s.tmp_9 = Sprite_left__P629_mk(s);\n s.tmp_9.arg0 = s.arg0;\n s.pc = 8; return s.tmp_9;\n case 8:\n r0 = s.retval;\n s.tmp_8 = r0;\n s.tmp_11 = Sprite_left__P629_mk(s);\n s.tmp_11.arg0 = s.arg1;\n s.pc = 9; return s.tmp_11;\n case 9:\n r0 = s.retval;\n s.tmp_10 = r0;\n r0 = (s.tmp_8 - s.tmp_10);\n s.tmp_7 = r0;\n s.tmp_14 = Sprite_top__P633_mk(s);\n s.tmp_14.arg0 = s.arg0;\n s.pc = 10; return s.tmp_14;\n case 10:\n r0 = s.retval;\n s.tmp_13 = r0;\n s.tmp_16 = Sprite_top__P633_mk(s);\n s.tmp_16.arg0 = s.arg1;\n s.pc = 11; return s.tmp_16;\n case 11:\n r0 = s.retval;\n s.tmp_15 = r0;\n r0 = (s.tmp_13 - s.tmp_15);\n s.tmp_12 = r0;\n r0 = pxsim_ImageMethods.overlapsWith(s.tmp_5, s.tmp_6, s.tmp_7, s.tmp_12);\n case 7:\n return leave(s, r0)\n default: oops()\n} } }\nSprite_overlapsWith__P647.info = {\"start\":22417,\"length\":366,\"line\":686,\"column\":4,\"endLine\":694,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"overlapsWith\",\"argumentNames\":[\"this\",\"other\"]}\n\nfunction Sprite_overlapsWith__P647_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_overlapsWith__P647, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n tmp_12: undefined,\n tmp_13: undefined,\n tmp_14: undefined,\n tmp_15: undefined,\n tmp_16: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction ArcadePhysicsEngine_createMovingSprite__P733(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.ovx___11957 = undefined;\n s.ovy___11961 = undefined;\n s.dx___11993 = undefined;\n s.dy___12001 = undefined;\n s.xStep___12009 = undefined;\n s.yStep___12011 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, ArcadePhysicsEngine__C727_VT)) failedCast(r0);\n s.tmp_0 = ArcadePhysicsEngine_constrain__P738_mk(s);\n s.tmp_0.arg0 = s.arg0;\n r0 = s.arg1.fields[\"_vx\"];\n s.tmp_0.arg1 = r0;\n s.pc = 9; return s.tmp_0;\n case 9:\n r0 = s.retval;\n s.ovx___11957 = (r0);\n s.tmp_0 = ArcadePhysicsEngine_constrain__P738_mk(s);\n s.tmp_0.arg0 = s.arg0;\n r0 = s.arg1.fields[\"_vy\"];\n s.tmp_0.arg1 = r0;\n s.pc = 10; return s.tmp_0;\n case 10:\n r0 = s.retval;\n s.ovy___11961 = (r0);\n r0 = s.arg1.fields[\"_x\"];\n s.tmp_0 = r0;\n r0 = (s.arg1).fields[\"_lastX\"] = (s.tmp_0);\n r0 = s.arg1.fields[\"_y\"];\n s.tmp_0 = r0;\n r0 = (s.arg1).fields[\"_lastY\"] = (s.tmp_0);\n s.tmp_0 = r0 = s.arg1;\n s.tmp_2 = ArcadePhysicsEngine_constrain__P738_mk(s);\n s.tmp_2.arg0 = s.arg0;\n r0 = s.arg1.fields[\"_vx\"];\n s.tmp_3 = r0;\n r0 = s.arg1.fields[\"_ax\"];\n s.tmp_5 = r0;\n r0 = pxsim.Math_.imul(s.tmp_5, s.arg2);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 >> 8);\n s.tmp_4 = r0;\n r0 = (s.tmp_3 + s.tmp_4);\n s.tmp_2.arg1 = r0;\n s.pc = 11; return s.tmp_2;\n case 11:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"_vx\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg1;\n s.tmp_2 = ArcadePhysicsEngine_constrain__P738_mk(s);\n s.tmp_2.arg0 = s.arg0;\n r0 = s.arg1.fields[\"_vy\"];\n s.tmp_3 = r0;\n r0 = s.arg1.fields[\"_ay\"];\n s.tmp_5 = r0;\n r0 = pxsim.Math_.imul(s.tmp_5, s.arg2);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 >> 8);\n s.tmp_4 = r0;\n r0 = (s.tmp_3 + s.tmp_4);\n s.tmp_2.arg1 = r0;\n s.pc = 12; return s.tmp_2;\n case 12:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"_vy\"] = (s.tmp_1);\n r0 = s.arg1.fields[\"_vx\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.ovx___11957);\n s.tmp_1 = r0;\n r0 = pxsim.Math_.imul(s.tmp_1, s.arg3);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 >> 8);\n s.tmp_0 = r0;\n r0 = pxsim.Math_.idiv(s.tmp_0, 1000);\n s.dx___11993 = (r0);\n r0 = s.arg1.fields[\"_vy\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.ovy___11961);\n s.tmp_1 = r0;\n r0 = pxsim.Math_.imul(s.tmp_1, s.arg3);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 >> 8);\n s.tmp_0 = r0;\n r0 = pxsim.Math_.idiv(s.tmp_0, 1000);\n s.dy___12001 = (r0);\n s.xStep___12009 = (s.dx___11993);\n s.yStep___12011 = (s.dy___12001);\n case 1:\n s.tmp_2 = Fx_abs__P93_mk(s);\n s.tmp_2.arg0 = s.xStep___12009;\n s.pc = 13; return s.tmp_2;\n case 13:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = s.arg0.fields[\"maxSingleStep\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_1 > s.tmp_3);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 2; continue; }\n r0 = s.tmp_0;\n { step = 3; continue; }\n case 2:\n s.tmp_5 = Fx_abs__P93_mk(s);\n s.tmp_5.arg0 = s.yStep___12011;\n s.pc = 14; return s.tmp_5;\n case 14:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = s.arg0.fields[\"maxSingleStep\"];\n s.tmp_6 = r0;\n r0 = (s.tmp_4 > s.tmp_6);\n case 3:\n // jmp value (already in r0)\n s.tmp_7 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_7);\n if (!r0) { step = 8; continue; }\n s.tmp_10 = Fx_abs__P93_mk(s);\n s.tmp_10.arg0 = s.xStep___12009;\n s.pc = 15; return s.tmp_10;\n case 15:\n r0 = s.retval;\n s.tmp_9 = r0;\n r0 = s.arg0.fields[\"minSingleStep\"];\n s.tmp_11 = r0;\n r0 = (s.tmp_9 > s.tmp_11);\n s.tmp_8 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_8);\n if (!r0) { step = 4; continue; }\n r0 = pxsim.Math_.idiv(s.xStep___12009, 2);\n s.xStep___12009 = (r0);\n case 4:\n case 5:\n s.tmp_2 = Fx_abs__P93_mk(s);\n s.tmp_2.arg0 = s.yStep___12011;\n s.pc = 16; return s.tmp_2;\n case 16:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = s.arg0.fields[\"minSingleStep\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_1 > s.tmp_3);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 6; continue; }\n r0 = pxsim.Math_.idiv(s.yStep___12011, 2);\n s.yStep___12011 = (r0);\n case 6:\n case 7:\n { step = 1; continue; }\n case 8:\n r0 = pxsim_pxtcore_mkClassInstance(MovingSprite__C725_VT);\n s.tmp_0 = r0;\n s.tmp_1 = MovingSprite_constructor__P726_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = s.arg1;\n r0 = s.arg1.fields[\"_vx\"];\n s.tmp_1.arg2 = r0;\n r0 = s.arg1.fields[\"_vy\"];\n s.tmp_1.arg3 = r0;\n s.tmp_1.arg4 = s.dx___11993;\n s.tmp_1.arg5 = s.dy___12001;\n s.tmp_1.arg6 = s.xStep___12009;\n s.tmp_1.arg7 = s.yStep___12011;\n s.pc = 17; return s.tmp_1;\n case 17:\n r0 = s.retval;\n r0 = s.tmp_0;\n return leave(s, r0)\n default: oops()\n} } }\nArcadePhysicsEngine_createMovingSprite__P733.info = {\"start\":5787,\"length\":1716,\"line\":177,\"column\":4,\"endLine\":246,\"endColumn\":5,\"fileName\":\"pxt_modules/game/physics.ts\",\"functionName\":\"createMovingSprite\",\"argumentNames\":[\"this\",\"sprite\",\"dtSec\",\"dt2\"]}\n\nfunction ArcadePhysicsEngine_createMovingSprite__P733_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: ArcadePhysicsEngine_createMovingSprite__P733, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n ovx___11957: undefined,\n ovy___11961: undefined,\n dx___11993: undefined,\n dy___12001: undefined,\n xStep___12009: undefined,\n yStep___12011: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction ArcadePhysicsEngine_constrain__P738(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, ArcadePhysicsEngine__C727_VT)) failedCast(r0);\n s.tmp_0 = Fx_max__P95_mk(s);\n s.tmp_1 = Fx_min__P94_mk(s);\n r0 = s.arg0.fields[\"maxVelocity\"];\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = s.arg1;\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n s.tmp_0.arg0 = r0;\n r0 = s.arg0.fields[\"maxNegativeVelocity\"];\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n return leave(s, r0)\n default: oops()\n} } }\nArcadePhysicsEngine_constrain__P738.info = {\"start\":17817,\"length\":191,\"line\":507,\"column\":4,\"endLine\":515,\"endColumn\":5,\"fileName\":\"pxt_modules/game/physics.ts\",\"functionName\":\"constrain\",\"argumentNames\":[\"this\",\"v\"]}\n\nfunction ArcadePhysicsEngine_constrain__P738_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: ArcadePhysicsEngine_constrain__P738, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Fx_max__P95(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 > s.arg1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.arg0;\n { step = 3; continue; }\n { step = 2; continue; }\n case 1:\n r0 = s.arg1;\n { step = 3; continue; }\n case 2:\n r0 = undefined;\n case 3:\n return leave(s, r0)\n default: oops()\n} } }\nFx_max__P95.info = {\"start\":1649,\"length\":117,\"line\":53,\"column\":4,\"endLine\":58,\"endColumn\":5,\"fileName\":\"pxt_modules/base/fixed.ts\",\"functionName\":\"max\",\"argumentNames\":[\"a\",\"b\"]}\n\nfunction Fx_max__P95_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Fx_max__P95, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction sprites_SpriteMap_insertAABB__P668(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.left___11793 = undefined;\n s.top___11796 = undefined;\n s.xn___11799 = undefined;\n s.yn___11808 = undefined;\n s.x___11817 = undefined;\n s.y___11821 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_SpriteMap__C659_VT)) failedCast(r0);\n s.tmp_1 = sprites_SpriteMap_isOob__P667_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.tmp_1.arg1 = s.arg1;\n s.pc = 8; return s.tmp_1;\n case 8:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 7; continue; }\n case 1:\n case 2:\n s.tmp_2 = Sprite_left__P629_mk(s);\n s.tmp_2.arg0 = s.arg1;\n s.pc = 9; return s.tmp_2;\n case 9:\n r0 = s.retval;\n s.left___11793 = (r0);\n s.tmp_0 = Sprite_top__P633_mk(s);\n s.tmp_0.arg0 = s.arg1;\n s.pc = 10; return s.tmp_0;\n case 10:\n r0 = s.retval;\n s.top___11796 = (r0);\n r0 = s.arg1.fields[\"_image\"];\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_3);\n s.tmp_2 = r0;\n r0 = s.arg0.fields[\"cellWidth\"];\n s.tmp_4 = r0;\n r0 = (s.tmp_2 + s.tmp_4);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - 1);\n s.tmp_0 = r0;\n r0 = s.arg0.fields[\"cellWidth\"];\n s.tmp_5 = r0;\n r0 = pxsim.Math_.idiv(s.tmp_0, s.tmp_5);\n s.xn___11799 = (r0);\n r0 = s.arg1.fields[\"_image\"];\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_3);\n s.tmp_2 = r0;\n r0 = s.arg0.fields[\"cellHeight\"];\n s.tmp_4 = r0;\n r0 = (s.tmp_2 + s.tmp_4);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - 1);\n s.tmp_0 = r0;\n r0 = s.arg0.fields[\"cellHeight\"];\n s.tmp_5 = r0;\n r0 = pxsim.Math_.idiv(s.tmp_0, s.tmp_5);\n s.yn___11808 = (r0);\n s.x___11817 = (0);\n case 3:\n r0 = (s.x___11817 <= s.xn___11799);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 6; continue; }\n s.y___11821 = (0);\n case 4:\n r0 = (s.y___11821 <= s.yn___11808);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n s.tmp_1 = sprites_SpriteMap_insertAtKey__P666_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.tmp_2 = r0 = s.left___11793;\n s.tmp_4 = Math_min__P62_mk(s);\n r0 = s.arg1.fields[\"_image\"];\n s.tmp_5 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_5);\n s.tmp_4.arg0 = r0;\n r0 = s.arg0.fields[\"cellWidth\"];\n s.tmp_6 = r0;\n r0 = (s.x___11817 * s.tmp_6);\n s.tmp_4.arg1 = r0;\n s.pc = 12; return s.tmp_4;\n case 12:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_2 + s.tmp_3);\n s.tmp_1.arg1 = r0;\n s.tmp_7 = r0 = s.top___11796;\n s.tmp_9 = Math_min__P62_mk(s);\n r0 = s.arg1.fields[\"_image\"];\n s.tmp_10 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_10);\n s.tmp_9.arg0 = r0;\n r0 = s.arg0.fields[\"cellHeight\"];\n s.tmp_11 = r0;\n r0 = (s.y___11821 * s.tmp_11);\n s.tmp_9.arg1 = r0;\n s.pc = 13; return s.tmp_9;\n case 13:\n r0 = s.retval;\n s.tmp_8 = r0;\n r0 = (s.tmp_7 + s.tmp_8);\n s.tmp_1.arg2 = r0;\n s.tmp_1.arg3 = s.arg1;\n s.pc = 11; return s.tmp_1;\n case 11:\n r0 = s.retval;\n r0 = (s.y___11821 + 1);\n s.y___11821 = (r0);\n { step = 4; continue; }\n case 5:\n r0 = (s.x___11817 + 1);\n s.x___11817 = (r0);\n { step = 3; continue; }\n case 6:\n case 7:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_SpriteMap_insertAABB__P668.info = {\"start\":3602,\"length\":623,\"line\":101,\"column\":8,\"endLine\":113,\"endColumn\":9,\"fileName\":\"pxt_modules/game/spritemap.ts\",\"functionName\":\"insertAABB\",\"argumentNames\":[\"this\",\"sprite\"]}\n\nfunction sprites_SpriteMap_insertAABB__P668_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_SpriteMap_insertAABB__P668, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n left___11793: undefined,\n top___11796: undefined,\n xn___11799: undefined,\n yn___11808: undefined,\n x___11817: undefined,\n y___11821: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction sprites_SpriteMap_insertAtKey__P666(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.k___11851 = undefined;\n s.bucket___11855 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_SpriteMap__C659_VT)) failedCast(r0);\n s.tmp_0 = sprites_SpriteMap_key__P665_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.tmp_0.arg2 = s.arg2;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n s.k___11851 = (r0);\n r0 = s.arg0.fields[\"buckets\"];\n s.tmp_0 = r0;\n r0 = pxsim_Array__getAt(s.tmp_0, s.k___11851);\n s.bucket___11855 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.bucket___11855);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.arg0.fields[\"buckets\"];\n s.tmp_2 = r0;\n s.tmp_3 = r0 = s.k___11851;\n r0 = pxsim_Array__mk();\n s.tmp_4 = r0;\n r0 = pxsim_Array_.setAt(s.tmp_2, s.tmp_3, s.tmp_4);\n s.bucket___11855 = (s.tmp_4);\n case 1:\n case 2:\n r0 = pxsim_Array_.indexOf(s.bucket___11855, s.arg3, undefined);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = pxsim_Array__push(s.bucket___11855, s.arg3);\n case 3:\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_SpriteMap_insertAtKey__P666.info = {\"start\":2920,\"length\":302,\"line\":84,\"column\":8,\"endLine\":91,\"endColumn\":9,\"fileName\":\"pxt_modules/game/spritemap.ts\",\"functionName\":\"insertAtKey\",\"argumentNames\":[\"this\",\"x\",\"y\",\"sprite\"]}\n\nfunction sprites_SpriteMap_insertAtKey__P666_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_SpriteMap_insertAtKey__P666, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n k___11851: undefined,\n bucket___11855: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction sprites_SpriteMap_clear__P664(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_SpriteMap__C659_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"buckets\"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_SpriteMap_clear__P664.info = {\"start\":2580,\"length\":50,\"line\":74,\"column\":8,\"endLine\":76,\"endColumn\":9,\"fileName\":\"pxt_modules/game/spritemap.ts\",\"functionName\":\"clear\",\"argumentNames\":[\"this\"]}\n\nfunction sprites_SpriteMap_clear__P664_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_SpriteMap_clear__P664, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction sprites_SpriteMap_resizeBuckets__P663(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.maxWidth___11888 = undefined;\n s.maxHeight___11889 = undefined;\n s.sprite___11891 = undefined;\n s.unnamed52___U3 = undefined;\n s.unnamed53___U4 = undefined;\n s.tMap___11905 = undefined;\n s.areaWidth___11909 = undefined;\n s.areaHeight___11915 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_SpriteMap__C659_VT)) failedCast(r0);\n s.maxWidth___11888 = (0);\n s.maxHeight___11889 = (0);\n s.sprite___11891 = (undefined);\n s.sprite___11891 = (undefined);\n s.unnamed52___U3 = (s.arg1);\n s.unnamed53___U4 = (0);\n case 1:\n s.tmp_0 = r0 = s.unnamed53___U4;\n r0 = pxsim_Array__length(s.unnamed52___U3);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 6; continue; }\n r0 = pxsim_Array__getAt(s.unnamed52___U3, s.unnamed53___U4);\n s.sprite___11891 = (r0);\n r0 = s.sprite___11891.fields[\"_image\"];\n s.tmp_4 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_4);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 > s.maxWidth___11888);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 2; continue; }\n r0 = s.sprite___11891.fields[\"_image\"];\n s.tmp_5 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_5);\n s.maxWidth___11888 = (r0);\n case 2:\n case 3:\n r0 = s.sprite___11891.fields[\"_image\"];\n s.tmp_2 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > s.maxHeight___11889);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 4; continue; }\n r0 = s.sprite___11891.fields[\"_image\"];\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_3);\n s.maxHeight___11889 = (r0);\n case 4:\n case 5:\n r0 = (s.unnamed53___U4 + 1);\n s.unnamed53___U4 = (r0);\n { step = 1; continue; }\n case 6:\n s.unnamed52___U3 = (undefined);\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 11; return s.tmp_0;\n case 11:\n r0 = s.retval;\n r0 = r0.fields[\"tileMap\"];\n s.tMap___11905 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.tMap___11905);\n if (!r0) { step = 7; continue; }\n s.tmp_0 = tiles_TileMap_areaWidth__P869_mk(s);\n s.tmp_0.arg0 = s.tMap___11905;\n s.pc = 12; return s.tmp_0;\n case 12:\n r0 = s.retval;\n { step = 8; continue; }\n case 7:\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n case 8:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n s.areaWidth___11909 = (s.tmp_1);\n r0 = pxsim_numops_toBoolDecr(s.tMap___11905);\n if (!r0) { step = 9; continue; }\n s.tmp_0 = tiles_TileMap_areaHeight__P870_mk(s);\n s.tmp_0.arg0 = s.tMap___11905;\n s.pc = 13; return s.tmp_0;\n case 13:\n r0 = s.retval;\n { step = 10; continue; }\n case 9:\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n case 10:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n s.areaHeight___11915 = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_2 = Math_clamp__P58_mk(s);\n s.tmp_2.arg0 = 8;\n r0 = (s.areaWidth___11909 >> 2);\n s.tmp_2.arg1 = r0;\n r0 = (s.maxWidth___11888 * 2);\n s.tmp_2.arg2 = r0;\n s.pc = 14; return s.tmp_2;\n case 14:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"cellWidth\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_2 = Math_clamp__P58_mk(s);\n s.tmp_2.arg0 = 8;\n r0 = (s.areaHeight___11915 >> 2);\n s.tmp_2.arg1 = r0;\n r0 = (s.maxHeight___11889 * 2);\n s.tmp_2.arg2 = r0;\n s.pc = 15; return s.tmp_2;\n case 15:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"cellHeight\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.arg0.fields[\"cellHeight\"];\n s.tmp_2 = r0;\n r0 = pxsim.Math_.idiv(s.areaHeight___11915, s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"rowCount\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.arg0.fields[\"cellWidth\"];\n s.tmp_2 = r0;\n r0 = pxsim.Math_.idiv(s.areaWidth___11909, s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"columnCount\"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_SpriteMap_resizeBuckets__P663.info = {\"start\":1744,\"length\":826,\"line\":54,\"column\":8,\"endLine\":72,\"endColumn\":9,\"fileName\":\"pxt_modules/game/spritemap.ts\",\"functionName\":\"resizeBuckets\",\"argumentNames\":[\"this\",\"sprites\"]}\n\nfunction sprites_SpriteMap_resizeBuckets__P663_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_SpriteMap_resizeBuckets__P663, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n maxWidth___11888: undefined,\n maxHeight___11889: undefined,\n sprite___11891: undefined,\n unnamed52___U3: undefined,\n unnamed53___U4: undefined,\n tMap___11905: undefined,\n areaWidth___11909: undefined,\n areaHeight___11915: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_clearObstacles__P650(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"_obstacles\"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_clearObstacles__P650.info = {\"start\":23644,\"length\":54,\"line\":718,\"column\":4,\"endLine\":720,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"clearObstacles\",\"argumentNames\":[\"this\"]}\n\nfunction Sprite_clearObstacles__P650_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_clearObstacles__P650, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Fx_abs__P93(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = (0 - s.arg0);\n { step = 3; continue; }\n { step = 2; continue; }\n case 1:\n r0 = s.arg0;\n { step = 3; continue; }\n case 2:\n r0 = undefined;\n case 3:\n return leave(s, r0)\n default: oops()\n} } }\nFx_abs__P93.info = {\"start\":1358,\"length\":164,\"line\":41,\"column\":4,\"endLine\":46,\"endColumn\":5,\"fileName\":\"pxt_modules/base/fixed.ts\",\"functionName\":\"abs\",\"argumentNames\":[\"a\"]}\n\nfunction Fx_abs__P93_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Fx_abs__P93, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Fx_idiv__P91(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim.Math_.idiv(s.arg0, s.arg1);\n return leave(s, r0)\n default: oops()\n} } }\nFx_idiv__P91.info = {\"start\":1131,\"length\":111,\"line\":35,\"column\":4,\"endLine\":37,\"endColumn\":5,\"fileName\":\"pxt_modules/base/fixed.ts\",\"functionName\":\"idiv\",\"argumentNames\":[\"a\",\"b\"]}\n\nfunction Fx_idiv__P91_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Fx_idiv__P91, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Fx_div__P90(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 << 8);\n s.tmp_0 = r0;\n r0 = pxsim.Math_.idiv(s.tmp_0, s.arg1);\n return leave(s, r0)\n default: oops()\n} } }\nFx_div__P90.info = {\"start\":997,\"length\":129,\"line\":32,\"column\":4,\"endLine\":34,\"endColumn\":5,\"fileName\":\"pxt_modules/base/fixed.ts\",\"functionName\":\"div\",\"argumentNames\":[\"a\",\"b\"]}\n\nfunction Fx_div__P90_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Fx_div__P90, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction helpers_arrayMap__P44(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.res___12065 = undefined;\n s.len___12067 = undefined;\n s.i___12070 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_Array__mk();\n s.res___12065 = (r0);\n r0 = pxsim_Array__length(s.arg0);\n s.len___12067 = (r0);\n s.i___12070 = (0);\n case 1:\n r0 = (s.i___12070 < s.len___12067);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n s.tmp_1 = r0 = s.res___12065;\n s.tmp_3 = lambda_3_mk(s);\n s.tmp_3.argL = s.arg1;\n r0 = pxsim_Array__getAt(s.arg0, s.i___12070);\n s.tmp_3.arg0 = r0;\n s.tmp_3.arg1 = s.i___12070;\n setupLambda(s.tmp_3, s.tmp_3.argL);\n s.pc = 3; return s.tmp_3;\n case 3:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = pxsim_Array__push(s.tmp_1, s.tmp_2);\n r0 = (s.i___12070 + 1);\n s.i___12070 = (r0);\n { step = 1; continue; }\n case 2:\n r0 = s.res___12065;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_arrayMap__P44.info = {\"start\":4245,\"length\":299,\"line\":145,\"column\":4,\"endLine\":152,\"endColumn\":5,\"fileName\":\"pxt_modules/base/pxt-helpers.ts\",\"functionName\":\"arrayMap\",\"argumentNames\":[\"arr\",\"callbackfn\"]}\n\nfunction helpers_arrayMap__P44_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_arrayMap__P44, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n res___12065: undefined,\n len___12067: undefined,\n i___12070: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction ArcadePhysicsEngine_draw__P731(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, ArcadePhysicsEngine__C727_VT)) failedCast(r0);\n s.tmp_0 = sprites_SpriteMap_draw__P662_mk(s);\n r0 = s.arg0.fields[\"map\"];\n s.tmp_0.arg0 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nArcadePhysicsEngine_draw__P731.info = {\"start\":1796,\"length\":39,\"line\":71,\"column\":4,\"endLine\":73,\"endColumn\":5,\"fileName\":\"pxt_modules/game/physics.ts\",\"functionName\":\"draw\",\"argumentNames\":[\"this\"]}\n\nfunction ArcadePhysicsEngine_draw__P731_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: ArcadePhysicsEngine_draw__P731, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction sprites_SpriteMap_draw__P662(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.x___12095 = undefined;\n s.y___12100 = undefined;\n s.left___12105 = undefined;\n s.top___12109 = undefined;\n s.k___12113 = undefined;\n s.b___12117 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_SpriteMap__C659_VT)) failedCast(r0);\n s.x___12095 = (0);\n case 1:\n r0 = s.arg0.fields[\"columnCount\"];\n s.tmp_1 = r0;\n r0 = (s.x___12095 < s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 8; continue; }\n s.y___12100 = (0);\n case 2:\n r0 = s.arg0.fields[\"rowCount\"];\n s.tmp_1 = r0;\n r0 = (s.y___12100 < s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 7; continue; }\n r0 = s.arg0.fields[\"cellWidth\"];\n s.tmp_2 = r0;\n r0 = (s.x___12095 * s.tmp_2);\n s.left___12105 = (r0);\n r0 = s.arg0.fields[\"cellHeight\"];\n s.tmp_0 = r0;\n r0 = (s.y___12100 * s.tmp_0);\n s.top___12109 = (r0);\n s.tmp_0 = sprites_SpriteMap_key__P665_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.left___12105;\n s.tmp_0.arg2 = s.top___12109;\n s.pc = 9; return s.tmp_0;\n case 9:\n r0 = s.retval;\n s.k___12113 = (r0);\n r0 = s.arg0.fields[\"buckets\"];\n s.tmp_0 = r0;\n r0 = pxsim_Array__getAt(s.tmp_0, s.k___12113);\n s.b___12117 = (r0);\n s.tmp_0 = r0 = s.b___12117;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 3; continue; }\n r0 = s.tmp_0;\n { step = 4; continue; }\n case 3:\n r0 = pxsim_Array__length(s.b___12117);\n case 4:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 5; continue; }\n s.tmp_2 = helpers_imageDrawRect__P414_mk(s);\n s.tmp_2.arg0 = globals.screen___464;\n s.tmp_2.arg1 = s.left___12105;\n s.tmp_2.arg2 = s.top___12109;\n r0 = s.arg0.fields[\"cellWidth\"];\n s.tmp_2.arg3 = r0;\n r0 = s.arg0.fields[\"cellHeight\"];\n s.tmp_2.arg4 = r0;\n s.tmp_2.arg5 = 5;\n s.pc = 10; return s.tmp_2;\n case 10:\n r0 = s.retval;\n case 5:\n case 6:\n r0 = (s.y___12100 + 1);\n s.y___12100 = (r0);\n { step = 2; continue; }\n case 7:\n r0 = (s.x___12095 + 1);\n s.x___12095 = (r0);\n { step = 1; continue; }\n case 8:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_SpriteMap_draw__P662.info = {\"start\":1170,\"length\":496,\"line\":38,\"column\":8,\"endLine\":49,\"endColumn\":9,\"fileName\":\"pxt_modules/game/spritemap.ts\",\"functionName\":\"draw\",\"argumentNames\":[\"this\"]}\n\nfunction sprites_SpriteMap_draw__P662_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_SpriteMap_draw__P662, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n x___12095: undefined,\n y___12100: undefined,\n left___12105: undefined,\n top___12109: undefined,\n k___12113: undefined,\n b___12117: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction ArcadePhysicsEngine_removeSprite__P730(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, ArcadePhysicsEngine__C727_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"sprites\"];\n s.tmp_0 = r0;\n r0 = pxsim_Array_.removeElement(s.tmp_0, s.arg1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nArcadePhysicsEngine_removeSprite__P730.info = {\"start\":1710,\"length\":80,\"line\":67,\"column\":4,\"endLine\":69,\"endColumn\":5,\"fileName\":\"pxt_modules/game/physics.ts\",\"functionName\":\"removeSprite\",\"argumentNames\":[\"this\",\"sprite\"]}\n\nfunction ArcadePhysicsEngine_removeSprite__P730_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: ArcadePhysicsEngine_removeSprite__P730, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction ArcadePhysicsEngine_addSprite__P729(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, ArcadePhysicsEngine__C727_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"sprites\"];\n s.tmp_0 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.arg1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nArcadePhysicsEngine_addSprite__P729.info = {\"start\":1636,\"length\":68,\"line\":63,\"column\":4,\"endLine\":65,\"endColumn\":5,\"fileName\":\"pxt_modules/game/physics.ts\",\"functionName\":\"addSprite\",\"argumentNames\":[\"this\",\"sprite\"]}\n\nfunction ArcadePhysicsEngine_addSprite__P729_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: ArcadePhysicsEngine_addSprite__P729, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction effects_ImageEffect_startScreenEffect__P1441(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.wasRunning___12430 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, effects_ImageEffect__C1438_VT)) failedCast(r0);\n s.tmp_4 = game_currentScene__P769_mk(s);\n s.pc = 8; return s.tmp_4;\n case 8:\n r0 = s.retval;\n r0 = r0.fields[\"background\"];\n s.tmp_3 = r0;\n r0 = s.tmp_3.fields[\"_image\"];\n s.tmp_8 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_8);\n s.tmp_7 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_7);\n s.tmp_6 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_6);\n s.tmp_5 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_5);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 7; continue; }\n case 1:\n case 2:\n r0 = s.arg0.fields[\"times\"];\n s.tmp_9 = r0;\n r0 = (s.tmp_9 != undefined);\n s.wasRunning___12430 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n if (!r0) { step = 3; continue; }\n r0 = s.arg1;\n { step = 4; continue; }\n case 3:\n r0 = 15;\n case 4:\n // jmp value (already in r0)\n s.tmp_0 = r0;\n r0 = (s.arg0).fields[\"times\"] = (s.tmp_0);\n r0 = pxsim_numops_toBoolDecr(s.wasRunning___12430);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = pxsim_pxtcore_mkAction(2, inline__P12441);\n s.tmp_2 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_2, 0, s.arg0);\n r0 = pxsim_pxtrt_stclo(s.tmp_2, 1, s.arg2);\n r0 = pxsim.control.runInParallel(s.tmp_2);\n case 5:\n case 6:\n case 7:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\neffects_ImageEffect_startScreenEffect__P1441.info = {\"start\":1457,\"length\":637,\"line\":41,\"column\":8,\"endLine\":56,\"endColumn\":9,\"fileName\":\"pxt_modules/game/effects.ts\",\"functionName\":\"startScreenEffect\",\"argumentNames\":[\"this\",\"times\",\"delay\"]}\n\nfunction effects_ImageEffect_startScreenEffect__P1441_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: effects_ImageEffect_startScreenEffect__P1441, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n wasRunning___12430: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction inline__P12441(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n case 1:\n r0 = s.caps[0].fields[\"times\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 4; continue; }\n s.tmp_2 = effects_ImageEffect_change__P1440_mk(s);\n s.tmp_2.arg0 = s.caps[0];\n s.tmp_3 = scene_backgroundImage__P938_mk(s);\n s.pc = 6; return s.tmp_3;\n case 6:\n r0 = s.retval;\n s.tmp_2.arg1 = r0;\n s.pc = 5; return s.tmp_2;\n case 5:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(s.caps[1]);\n if (!r0) { step = 2; continue; }\n r0 = s.caps[1];\n { step = 3; continue; }\n case 2:\n r0 = s.caps[0].fields[\"preferredDelay\"];\n case 3:\n // jmp value (already in r0)\n s.tmp_0 = r0;\n s.tmp_1 = pause__P241_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.pc = 7; return s.tmp_1;\n case 7:\n r0 = s.retval;\n s.tmp_0 = r0 = s.caps[0];\n r0 = s.tmp_0.fields[\"times\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - 1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"times\"] = (s.tmp_1);\n { step = 1; continue; }\n case 4:\n r0 = (s.caps[0]).fields[\"times\"] = (undefined);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P12441.info = {\"start\":1764,\"length\":304,\"line\":47,\"column\":38,\"endLine\":54,\"endColumn\":17,\"fileName\":\"pxt_modules/game/effects.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P12441_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P12441, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n} }\n\n\n\n\n\nfunction scene_backgroundImage__P938(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.scene___12458 = undefined;\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.scene___12458 = (r0);\n s.tmp_0 = scene_Background_image__P848_mk(s);\n r0 = s.scene___12458.fields[\"background\"];\n s.tmp_0.arg0 = r0;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n return leave(s, r0)\n default: oops()\n} } }\nscene_backgroundImage__P938.info = {\"start\":2070,\"length\":130,\"line\":74,\"column\":4,\"endLine\":77,\"endColumn\":5,\"fileName\":\"pxt_modules/game/scenes.ts\",\"functionName\":\"backgroundImage\",\"argumentNames\":[]}\n\nfunction scene_backgroundImage__P938_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_backgroundImage__P938, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n scene___12458: undefined,\n} }\n\n\n\n\n\nfunction scene_Background_hasBackgroundImage__P850(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Background__C846_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_image\"];\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\nscene_Background_hasBackgroundImage__P850.info = {\"start\":1081,\"length\":75,\"line\":44,\"column\":8,\"endLine\":46,\"endColumn\":9,\"fileName\":\"pxt_modules/game/background.ts\",\"functionName\":\"hasBackgroundImage\",\"argumentNames\":[\"this\"]}\n\nfunction scene_Background_hasBackgroundImage__P850_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Background_hasBackgroundImage__P850, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_BaseDialog_drawTextCore__P955(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_BaseDialog__C952_VT)) failedCast(r0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_BaseDialog_drawTextCore__P955.info = {\"start\":1757,\"length\":65,\"line\":70,\"column\":8,\"endLine\":72,\"endColumn\":9,\"fileName\":\"pxt_modules/game/textDialogs.ts\",\"functionName\":\"drawTextCore\",\"argumentNames\":[\"this\"]}\n\nfunction game_BaseDialog_drawTextCore__P955_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_BaseDialog_drawTextCore__P955, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_BaseDialog_update__P953(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_BaseDialog__C952_VT)) failedCast(r0);\n s.tmp_0 = game_BaseDialog_clearInterior__P958_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.tmp_0 = game_BaseDialog__C952_v1_1_mk(s);\n s.tmp_0.arg0 = s.arg0;\n if (!checkSubtype(s.tmp_0.arg0, game_BaseDialog__C952_VT)) failedCast(s.tmp_0.arg0);\n s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.drawTextCore;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n s.tmp_0 = game_BaseDialog_drawCursorRow__P956_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_BaseDialog_update__P953.info = {\"start\":1539,\"length\":121,\"line\":60,\"column\":8,\"endLine\":64,\"endColumn\":9,\"fileName\":\"pxt_modules/game/textDialogs.ts\",\"functionName\":\"update\",\"argumentNames\":[\"this\"]}\n\nfunction game_BaseDialog_update__P953_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_BaseDialog_update__P953, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction music_Melody_toString__P359(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, music_Melody__C349_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_text\"];\n return leave(s, r0)\n default: oops()\n} } }\nmusic_Melody_toString__P359.info = {\"start\":9607,\"length\":53,\"line\":302,\"column\":8,\"endLine\":304,\"endColumn\":9,\"fileName\":\"pxt_modules/mixer/melody.ts\",\"functionName\":\"toString\",\"argumentNames\":[\"this\"]}\n\nfunction music_Melody_toString__P359_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_Melody_toString__P359, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction info_PlayerInfo_id__P826(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, info_PlayerInfo__C823_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_player\"];\n return leave(s, r0)\n default: oops()\n} } }\ninfo_PlayerInfo_id__P826.info = {\"start\":17272,\"length\":57,\"line\":569,\"column\":8,\"endLine\":571,\"endColumn\":9,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"id\",\"argumentNames\":[\"this\"]}\n\nfunction info_PlayerInfo_id__P826_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_PlayerInfo_id__P826, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction effects_SceneAnchor_width__P1411(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, effects_SceneAnchor__C1408_VT)) failedCast(r0);\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n return leave(s, r0)\n default: oops()\n} } }\neffects_SceneAnchor_width__P1411.info = {\"start\":2428,\"length\":56,\"line\":66,\"column\":8,\"endLine\":68,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particleeffects.ts\",\"functionName\":\"width\",\"argumentNames\":[\"this\"]}\n\nfunction effects_SceneAnchor_width__P1411_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: effects_SceneAnchor_width__P1411, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction effects_SceneAnchor_y__P1410(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, effects_SceneAnchor__C1408_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"camera\"];\n r0 = r0.fields[\"offsetY\"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 >> 1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\neffects_SceneAnchor_y__P1410.info = {\"start\":2336,\"length\":82,\"line\":62,\"column\":8,\"endLine\":64,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particleeffects.ts\",\"functionName\":\"y\",\"argumentNames\":[\"this\"]}\n\nfunction effects_SceneAnchor_y__P1410_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: effects_SceneAnchor_y__P1410, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction effects_SceneAnchor_x__P1409(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, effects_SceneAnchor__C1408_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"camera\"];\n r0 = r0.fields[\"offsetX\"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 >> 1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\neffects_SceneAnchor_x__P1409.info = {\"start\":2245,\"length\":81,\"line\":58,\"column\":8,\"endLine\":60,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particleeffects.ts\",\"functionName\":\"x\",\"argumentNames\":[\"this\"]}\n\nfunction effects_SceneAnchor_x__P1409_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: effects_SceneAnchor_x__P1409, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction particles_ShapeFactory_createParticle__P1362(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.p___10458 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ShapeFactory__C1358_VT)) failedCast(r0);\n s.tmp_0 = particles_AreaFactory_createParticle__P1350_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.p___10458 = (r0);\n s.tmp_0 = r0 = s.p___10458;\n s.tmp_2 = Math_FastRandom_randomRange__P1158_mk(s);\n r0 = s.arg0.fields[\"galois\"];\n s.tmp_2.arg0 = r0;\n s.tmp_2.arg1 = 1;\n s.tmp_2.arg2 = 14;\n s.pc = 2; return s.tmp_2;\n case 2:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"color\"] = (s.tmp_1);\n r0 = s.p___10458;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ShapeFactory_createParticle__P1362.info = {\"start\":7505,\"length\":178,\"line\":239,\"column\":8,\"endLine\":243,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particlefactories.ts\",\"functionName\":\"createParticle\",\"argumentNames\":[\"this\",\"anchor\"]}\n\nfunction particles_ShapeFactory_createParticle__P1362_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ShapeFactory_createParticle__P1362, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n p___10458: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction particles_AreaFactory_createParticle__P1350(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.p___10470 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_AreaFactory__C1348_VT)) failedCast(r0);\n s.tmp_0 = particles_SprayFactory_createParticle__P1343_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.p___10470 = (r0);\n s.tmp_0 = r0 = s.p___10470;\n s.tmp_2 = Math_FastRandom_randomRange__P1158_mk(s);\n r0 = s.arg0.fields[\"galois\"];\n s.tmp_2.arg0 = r0;\n r0 = s.arg0.fields[\"minLifespan\"];\n s.tmp_2.arg1 = r0;\n r0 = s.arg0.fields[\"maxLifespan\"];\n s.tmp_2.arg2 = r0;\n s.pc = 4; return s.tmp_2;\n case 4:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"lifespan\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.p___10470;\n s.tmp_4 = Math_FastRandom_randomRange__P1158_mk(s);\n r0 = s.arg0.fields[\"galois\"];\n s.tmp_4.arg0 = r0;\n s.tmp_4.arg1 = 0;\n r0 = s.arg0.fields[\"xRange\"];\n s.tmp_4.arg2 = r0;\n s.pc = 5; return s.tmp_4;\n case 5:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = s.arg0.fields[\"xRange\"];\n s.tmp_6 = r0;\n r0 = (s.tmp_6 >> 1);\n s.tmp_5 = r0;\n r0 = (s.tmp_3 - s.tmp_5);\n s.tmp_2 = r0;\n r0 = s.p___10470.fields[\"_x\"];\n s.tmp_7 = r0;\n r0 = (s.tmp_2 << 8);\n s.tmp_8 = r0;\n r0 = (s.tmp_8 + s.tmp_7);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"_x\"] = (s.tmp_1);\n s.tmp_1 = if_height_1_mk(s);\n s.tmp_1.arg0 = s.arg1;\n if (!s.tmp_1.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, \"height\");\n } else {\n s.tmp_1.fn = s.tmp_1.arg0.vtable.iface[\"height\"];\n if (s.tmp_1.fn == null) { s.retval = s.tmp_1.arg0.fields[\"height\"]; }\n else { s.pc = 6; return s.tmp_1; }\n }\n case 6:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_3 = if_height_1_mk(s);\n s.tmp_3.arg0 = s.arg1;\n if (!s.tmp_3.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, \"height\");\n } else {\n s.tmp_3.fn = s.tmp_3.arg0.vtable.iface[\"height\"];\n if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields[\"height\"]; }\n else { s.pc = 7; return s.tmp_3; }\n }\n case 7:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (s.tmp_2 >> 1);\n { step = 2; continue; }\n case 1:\n r0 = 0;\n case 2:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n s.tmp_5 = r0 = s.p___10470;\n s.tmp_9 = Math_FastRandom_randomRange__P1158_mk(s);\n r0 = s.arg0.fields[\"galois\"];\n s.tmp_9.arg0 = r0;\n s.tmp_9.arg1 = 0;\n r0 = s.arg0.fields[\"yRange\"];\n s.tmp_9.arg2 = r0;\n s.pc = 8; return s.tmp_9;\n case 8:\n r0 = s.retval;\n s.tmp_8 = r0;\n r0 = (s.tmp_8 - s.tmp_4);\n s.tmp_7 = r0;\n r0 = s.p___10470.fields[\"_y\"];\n s.tmp_10 = r0;\n r0 = (s.tmp_7 << 8);\n s.tmp_11 = r0;\n r0 = (s.tmp_11 + s.tmp_10);\n s.tmp_6 = r0;\n r0 = (s.tmp_5).fields[\"_y\"] = (s.tmp_6);\n r0 = s.p___10470;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_AreaFactory_createParticle__P1350.info = {\"start\":4334,\"length\":426,\"line\":148,\"column\":8,\"endLine\":156,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particlefactories.ts\",\"functionName\":\"createParticle\",\"argumentNames\":[\"this\",\"anchor\"]}\n\nfunction particles_AreaFactory_createParticle__P1350_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_AreaFactory_createParticle__P1350, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n p___10470: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction particles_SprayFactory_createParticle__P1343(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.p___10518 = undefined;\n s.angle___10521 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_SprayFactory__C1341_VT)) failedCast(r0);\n s.tmp_0 = particles_ParticleFactory_createParticle__P1338_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.p___10518 = (r0);\n r0 = s.arg0.fields[\"minAngle\"];\n s.tmp_1 = r0;\n s.tmp_3 = Math_FastRandom_randomRange__P1158_mk(s);\n s.tmp_3.arg0 = globals.galois___1324;\n s.tmp_3.arg1 = 0;\n r0 = s.arg0.fields[\"spread\"];\n s.tmp_3.arg2 = r0;\n s.pc = 2; return s.tmp_3;\n case 2:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (s.tmp_1 + s.tmp_2);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 % 100);\n s.angle___10521 = (r0);\n s.tmp_0 = r0 = s.p___10518;\n r0 = pxsim_Array__getAt(globals.cachedSin___1321, s.angle___10521);\n s.tmp_2 = r0;\n r0 = s.arg0.fields[\"speed\"];\n s.tmp_3 = r0;\n r0 = pxsim.Math_.imul(s.tmp_2, s.tmp_3);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 >> 8);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"vx\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.p___10518;\n r0 = pxsim_Array__getAt(globals.cachedCos___1322, s.angle___10521);\n s.tmp_2 = r0;\n r0 = s.arg0.fields[\"speed\"];\n s.tmp_3 = r0;\n r0 = pxsim.Math_.imul(s.tmp_2, s.tmp_3);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 >> 8);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"vy\"] = (s.tmp_1);\n r0 = s.p___10518;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_SprayFactory_createParticle__P1343.info = {\"start\":2851,\"length\":333,\"line\":105,\"column\":8,\"endLine\":113,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particlefactories.ts\",\"functionName\":\"createParticle\",\"argumentNames\":[\"this\",\"anchor\"]}\n\nfunction particles_SprayFactory_createParticle__P1343_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_SprayFactory_createParticle__P1343, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n p___10518: undefined,\n angle___10521: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleSource___draw__P1287(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.current___12368 = undefined;\n s.left___12371 = undefined;\n s.top___12375 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleSource__C1285_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"head\"];\n s.current___12368 = (r0);\n r0 = s.arg1.fields[\"drawOffsetX\"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 * 256);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 | 0);\n s.left___12371 = (r0);\n r0 = s.arg1.fields[\"drawOffsetY\"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 * 256);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 | 0);\n s.top___12375 = (r0);\n case 1:\n r0 = pxsim_numops_toBoolDecr(s.current___12368);\n if (!r0) { step = 4; continue; }\n r0 = s.current___12368.fields[\"lifespan\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n s.tmp_2 = particles_ParticleSource_drawParticle__P1301_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.tmp_2.arg1 = s.current___12368;\n s.tmp_2.arg2 = s.left___12371;\n s.tmp_2.arg3 = s.top___12375;\n s.pc = 5; return s.tmp_2;\n case 5:\n r0 = s.retval;\n case 2:\n case 3:\n r0 = s.current___12368.fields[\"next\"];\n s.current___12368 = (r0);\n { step = 1; continue; }\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleSource___draw__P1287.info = {\"start\":3139,\"length\":362,\"line\":109,\"column\":8,\"endLine\":119,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particles.ts\",\"functionName\":\"__draw\",\"argumentNames\":[\"this\",\"camera\"]}\n\nfunction particles_ParticleSource___draw__P1287_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleSource___draw__P1287, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n current___12368: undefined,\n left___12371: undefined,\n top___12375: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleSource_drawParticle__P1301(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleSource__C1285_VT)) failedCast(r0);\n s.tmp_0 = particles_ParticleFactory__C1337_v1_4_mk(s);\n r0 = s.arg0.fields[\"_factory\"];\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = s.arg1;\n r0 = s.arg1.fields[\"_x\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - s.arg2);\n s.tmp_0.arg2 = r0;\n r0 = s.arg1.fields[\"_y\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - s.arg3);\n s.tmp_0.arg3 = r0;\n if (!checkSubtype(s.tmp_0.arg0, particles_ParticleFactory__C1337_VT)) failedCast(s.tmp_0.arg0);\n s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.drawParticle;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleSource_drawParticle__P1301.info = {\"start\":8123,\"length\":174,\"line\":275,\"column\":8,\"endLine\":277,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particles.ts\",\"functionName\":\"drawParticle\",\"argumentNames\":[\"this\",\"p\",\"screenLeft\",\"screenTop\"]}\n\nfunction particles_ParticleSource_drawParticle__P1301_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleSource_drawParticle__P1301, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleFactory_drawParticle__P1339(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleFactory__C1337_VT)) failedCast(r0);\n s.tmp_0 = r0 = globals.screen___464;\n r0 = (s.arg2 + 128);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 >> 8);\n s.tmp_1 = r0;\n r0 = (s.arg3 + 128);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 >> 8);\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.setPixel(s.tmp_0, s.tmp_1, s.tmp_3, 1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleFactory_drawParticle__P1339.info = {\"start\":2265,\"length\":118,\"line\":85,\"column\":8,\"endLine\":87,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particlefactories.ts\",\"functionName\":\"drawParticle\",\"argumentNames\":[\"this\",\"particle\",\"x\",\"y\"]}\n\nfunction particles_ParticleFactory_drawParticle__P1339_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleFactory_drawParticle__P1339, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction Sprite_toString__P656(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = pxsim_String_.mkEmpty();\n s.tmp_9 = r0;\n r0 = s.arg0.fields[\"id\"];\n s.tmp_11 = r0;\n if ((s.tmp_11) && (s.tmp_11).vtable) {\n setupResume(s, 1);\n pxsim_String__stringConv(s.tmp_11);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_11) + \"\"; }\n case 1:\n r0 = s.retval;\n s.tmp_10 = r0;\n r0 = pxsim_String__concat(s.tmp_9, s.tmp_10);\n s.tmp_8 = r0;\n r0 = pxsim_String__concat(s.tmp_8, \"(\");\n s.tmp_7 = r0;\n s.tmp_14 = Sprite_x__P609_mk(s);\n s.tmp_14.arg0 = s.arg0;\n s.pc = 2; return s.tmp_14;\n case 2:\n r0 = s.retval;\n s.tmp_13 = r0;\n if ((s.tmp_13) && (s.tmp_13).vtable) {\n setupResume(s, 3);\n pxsim_String__stringConv(s.tmp_13);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_13) + \"\"; }\n case 3:\n r0 = s.retval;\n s.tmp_12 = r0;\n r0 = pxsim_String__concat(s.tmp_7, s.tmp_12);\n s.tmp_6 = r0;\n r0 = pxsim_String__concat(s.tmp_6, \",\");\n s.tmp_5 = r0;\n s.tmp_17 = Sprite_y__P611_mk(s);\n s.tmp_17.arg0 = s.arg0;\n s.pc = 4; return s.tmp_17;\n case 4:\n r0 = s.retval;\n s.tmp_16 = r0;\n if ((s.tmp_16) && (s.tmp_16).vtable) {\n setupResume(s, 5);\n pxsim_String__stringConv(s.tmp_16);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_16) + \"\"; }\n case 5:\n r0 = s.retval;\n s.tmp_15 = r0;\n r0 = pxsim_String__concat(s.tmp_5, s.tmp_15);\n s.tmp_4 = r0;\n r0 = pxsim_String__concat(s.tmp_4, \")->(\");\n s.tmp_3 = r0;\n s.tmp_20 = Sprite_vx__P613_mk(s);\n s.tmp_20.arg0 = s.arg0;\n s.pc = 6; return s.tmp_20;\n case 6:\n r0 = s.retval;\n s.tmp_19 = r0;\n if ((s.tmp_19) && (s.tmp_19).vtable) {\n setupResume(s, 7);\n pxsim_String__stringConv(s.tmp_19);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_19) + \"\"; }\n case 7:\n r0 = s.retval;\n s.tmp_18 = r0;\n r0 = pxsim_String__concat(s.tmp_3, s.tmp_18);\n s.tmp_2 = r0;\n r0 = pxsim_String__concat(s.tmp_2, \",\");\n s.tmp_1 = r0;\n s.tmp_23 = Sprite_vy__P615_mk(s);\n s.tmp_23.arg0 = s.arg0;\n s.pc = 8; return s.tmp_23;\n case 8:\n r0 = s.retval;\n s.tmp_22 = r0;\n if ((s.tmp_22) && (s.tmp_22).vtable) {\n setupResume(s, 9);\n pxsim_String__stringConv(s.tmp_22);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_22) + \"\"; }\n case 9:\n r0 = s.retval;\n s.tmp_21 = r0;\n r0 = pxsim_String__concat(s.tmp_1, s.tmp_21);\n s.tmp_0 = r0;\n r0 = pxsim_String__concat(s.tmp_0, \")\");\n return leave(s, r0)\n default: oops()\n} } }\nSprite_toString__P656.info = {\"start\":28515,\"length\":93,\"line\":857,\"column\":4,\"endLine\":859,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"toString\",\"argumentNames\":[\"this\"]}\n\nfunction Sprite_toString__P656_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_toString__P656, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n tmp_12: undefined,\n tmp_13: undefined,\n tmp_14: undefined,\n tmp_15: undefined,\n tmp_16: undefined,\n tmp_17: undefined,\n tmp_18: undefined,\n tmp_19: undefined,\n tmp_20: undefined,\n tmp_21: undefined,\n tmp_22: undefined,\n tmp_23: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Sprite___update__P645(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.bounce___12537 = undefined;\n s.tm___12541 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"lifespan\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 !== undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.tmp_2 = r0 = s.arg0;\n r0 = s.tmp_2.fields[\"lifespan\"];\n s.tmp_4 = r0;\n r0 = (s.arg2 * 1000);\n s.tmp_5 = r0;\n r0 = (s.tmp_4 - s.tmp_5);\n s.tmp_3 = r0;\n r0 = (s.tmp_2).fields[\"lifespan\"] = (s.tmp_3);\n r0 = s.arg0.fields[\"lifespan\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 <= 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = (s.arg0).fields[\"lifespan\"] = (undefined);\n s.tmp_0 = Sprite__destroyCore__P654_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 33; return s.tmp_0;\n case 33:\n r0 = s.retval;\n case 1:\n case 2:\n case 3:\n case 4:\n r0 = s.arg0.fields[\"flags\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 & 4);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 5; continue; }\n r0 = s.tmp_0;\n { step = 6; continue; }\n case 5:\n s.tmp_2 = Sprite_isOutOfScreen__P643_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.tmp_2.arg1 = s.arg1;\n s.pc = 34; return s.tmp_2;\n case 34:\n r0 = s.retval;\n case 6:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 7; continue; }\n s.tmp_4 = Sprite_destroy__P653_mk(s);\n s.tmp_4.arg0 = s.arg0;\n s.tmp_4.arg1 = undefined;\n s.tmp_4.arg2 = undefined;\n s.pc = 35; return s.tmp_4;\n case 35:\n r0 = s.retval;\n case 7:\n case 8:\n r0 = s.arg0.fields[\"flags\"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 & 32);\n s.bounce___12537 = (r0);\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 36; return s.tmp_0;\n case 36:\n r0 = s.retval;\n r0 = r0.fields[\"tileMap\"];\n s.tm___12541 = (r0);\n r0 = s.arg0.fields[\"flags\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 & 8);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 9; continue; }\n r0 = s.tmp_0;\n { step = 12; continue; }\n case 9:\n s.tmp_2 = r0 = s.bounce___12537;\n r0 = pxsim_numops_toBool(s.tmp_2);\n if (r0) { step = 10; continue; }\n r0 = s.tmp_2;\n { step = 11; continue; }\n case 10:\n r0 = pxsim_numops_toBoolDecr(s.tm___12541);\n s.tmp_3 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_3);\n case 11:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n r0 = s.tmp_4;\n case 12:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_5);\n if (!r0) { step = 29; continue; }\n s.tmp_8 = Sprite_left__P629_mk(s);\n s.tmp_8.arg0 = s.arg0;\n s.pc = 37; return s.tmp_8;\n case 37:\n r0 = s.retval;\n s.tmp_7 = r0;\n r0 = s.arg1.fields[\"offsetX\"];\n s.tmp_9 = r0;\n r0 = (s.tmp_7 < s.tmp_9);\n s.tmp_6 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_6);\n if (!r0) { step = 15; continue; }\n s.tmp_10 = Sprite_left__P630_mk(s);\n s.tmp_10.arg0 = s.arg0;\n r0 = s.arg1.fields[\"offsetX\"];\n s.tmp_10.arg1 = r0;\n s.pc = 38; return s.tmp_10;\n case 38:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(s.bounce___12537);\n if (!r0) { step = 13; continue; }\n s.tmp_0 = Sprite_vx__P614_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_2 = Sprite_vx__P613_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 40; return s.tmp_2;\n case 40:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (0 - s.tmp_1);\n s.tmp_0.arg1 = r0;\n s.pc = 39; return s.tmp_0;\n case 39:\n r0 = s.retval;\n case 13:\n case 14:\n { step = 20; continue; }\n case 15:\n s.tmp_2 = Sprite_right__P631_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 41; return s.tmp_2;\n case 41:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = s.arg1.fields[\"offsetX\"];\n s.tmp_4 = r0;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_5 = r0;\n r0 = (s.tmp_4 + s.tmp_5);\n s.tmp_3 = r0;\n r0 = (s.tmp_1 > s.tmp_3);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 18; continue; }\n s.tmp_6 = Sprite_right__P632_mk(s);\n s.tmp_6.arg0 = s.arg0;\n r0 = s.arg1.fields[\"offsetX\"];\n s.tmp_7 = r0;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_8 = r0;\n r0 = (s.tmp_7 + s.tmp_8);\n s.tmp_6.arg1 = r0;\n s.pc = 42; return s.tmp_6;\n case 42:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(s.bounce___12537);\n if (!r0) { step = 16; continue; }\n s.tmp_0 = Sprite_vx__P614_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_2 = Sprite_vx__P613_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 44; return s.tmp_2;\n case 44:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (0 - s.tmp_1);\n s.tmp_0.arg1 = r0;\n s.pc = 43; return s.tmp_0;\n case 43:\n r0 = s.retval;\n case 16:\n case 17:\n case 18:\n case 19:\n case 20:\n s.tmp_2 = Sprite_top__P633_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 45; return s.tmp_2;\n case 45:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = s.arg1.fields[\"offsetY\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_1 < s.tmp_3);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 23; continue; }\n s.tmp_4 = Sprite_top__P634_mk(s);\n s.tmp_4.arg0 = s.arg0;\n r0 = s.arg1.fields[\"offsetY\"];\n s.tmp_4.arg1 = r0;\n s.pc = 46; return s.tmp_4;\n case 46:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(s.bounce___12537);\n if (!r0) { step = 21; continue; }\n s.tmp_0 = Sprite_vy__P616_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_2 = Sprite_vy__P615_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 48; return s.tmp_2;\n case 48:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (0 - s.tmp_1);\n s.tmp_0.arg1 = r0;\n s.pc = 47; return s.tmp_0;\n case 47:\n r0 = s.retval;\n case 21:\n case 22:\n { step = 28; continue; }\n case 23:\n s.tmp_2 = Sprite_bottom__P635_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 49; return s.tmp_2;\n case 49:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = s.arg1.fields[\"offsetY\"];\n s.tmp_4 = r0;\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n s.tmp_5 = r0;\n r0 = (s.tmp_4 + s.tmp_5);\n s.tmp_3 = r0;\n r0 = (s.tmp_1 > s.tmp_3);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 26; continue; }\n s.tmp_6 = Sprite_bottom__P636_mk(s);\n s.tmp_6.arg0 = s.arg0;\n r0 = s.arg1.fields[\"offsetY\"];\n s.tmp_7 = r0;\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n s.tmp_8 = r0;\n r0 = (s.tmp_7 + s.tmp_8);\n s.tmp_6.arg1 = r0;\n s.pc = 50; return s.tmp_6;\n case 50:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(s.bounce___12537);\n if (!r0) { step = 24; continue; }\n s.tmp_0 = Sprite_vy__P616_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_2 = Sprite_vy__P615_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 52; return s.tmp_2;\n case 52:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (0 - s.tmp_1);\n s.tmp_0.arg1 = r0;\n s.pc = 51; return s.tmp_0;\n case 51:\n r0 = s.retval;\n case 24:\n case 25:\n case 26:\n case 27:\n case 28:\n case 29:\n case 30:\n r0 = s.arg0.fields[\"updateSay\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 31; continue; }\n s.tmp_1 = lambda_3_mk(s);\n r0 = s.arg0.fields[\"updateSay\"];\n s.tmp_1.argL = r0;\n s.tmp_1.arg0 = s.arg2;\n s.tmp_1.arg1 = s.arg1;\n setupLambda(s.tmp_1, s.tmp_1.argL);\n s.pc = 53; return s.tmp_1;\n case 53:\n r0 = s.retval;\n case 31:\n case 32:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite___update__P645.info = {\"start\":20356,\"length\":1390,\"line\":624,\"column\":4,\"endLine\":663,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"__update\",\"argumentNames\":[\"this\",\"camera\",\"dt\"]}\n\nfunction Sprite___update__P645_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite___update__P645, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n bounce___12537: undefined,\n tm___12541: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction Sprite_isOutOfScreen__P643(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.ox___12610 = undefined;\n s.oy___12613 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg1.fields[\"offsetX\"];\n s.ox___12610 = (r0);\n r0 = s.arg1.fields[\"offsetY\"];\n s.oy___12613 = (r0);\n s.tmp_3 = Sprite_right__P631_mk(s);\n s.tmp_3.arg0 = s.arg0;\n s.pc = 7; return s.tmp_3;\n case 7:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - s.ox___12610);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n s.tmp_6 = Sprite_bottom__P635_mk(s);\n s.tmp_6.arg0 = s.arg0;\n s.pc = 8; return s.tmp_6;\n case 8:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = (s.tmp_5 - s.oy___12613);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 < 0);\n case 2:\n // jmp value (already in r0)\n s.tmp_7 = r0;\n r0 = pxsim_numops_toBool(s.tmp_7);\n if (!r0) { step = 3; continue; }\n r0 = s.tmp_7;\n { step = 4; continue; }\n case 3:\n s.tmp_10 = Sprite_left__P629_mk(s);\n s.tmp_10.arg0 = s.arg0;\n s.pc = 9; return s.tmp_10;\n case 9:\n r0 = s.retval;\n s.tmp_9 = r0;\n r0 = (s.tmp_9 - s.ox___12610);\n s.tmp_8 = r0;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_11 = r0;\n r0 = (s.tmp_8 > s.tmp_11);\n case 4:\n // jmp value (already in r0)\n s.tmp_12 = r0;\n r0 = pxsim_numops_toBool(s.tmp_12);\n if (!r0) { step = 5; continue; }\n r0 = s.tmp_12;\n { step = 6; continue; }\n case 5:\n s.tmp_15 = Sprite_top__P633_mk(s);\n s.tmp_15.arg0 = s.arg0;\n s.pc = 10; return s.tmp_15;\n case 10:\n r0 = s.retval;\n s.tmp_14 = r0;\n r0 = (s.tmp_14 - s.oy___12613);\n s.tmp_13 = r0;\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n s.tmp_16 = r0;\n r0 = (s.tmp_13 > s.tmp_16);\n case 6:\n // jmp value (already in r0)\n s.tmp_17 = r0;\n r0 = s.tmp_17;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_isOutOfScreen__P643.info = {\"start\":18834,\"length\":248,\"line\":582,\"column\":4,\"endLine\":586,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"isOutOfScreen\",\"argumentNames\":[\"this\",\"camera\"]}\n\nfunction Sprite_isOutOfScreen__P643_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_isOutOfScreen__P643, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n tmp_12: undefined,\n tmp_13: undefined,\n tmp_14: undefined,\n tmp_15: undefined,\n tmp_16: undefined,\n tmp_17: undefined,\n ox___12610: undefined,\n oy___12613: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_right__P632(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_0 = Sprite_left__P630_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_1 = r0 = s.arg1;\n r0 = s.arg0.fields[\"_image\"];\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 - s.tmp_2);\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_right__P632.info = {\"start\":8248,\"length\":71,\"line\":295,\"column\":4,\"endLine\":297,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"right\",\"argumentNames\":[\"this\",\"value\"]}\n\nfunction Sprite_right__P632_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_right__P632, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_data__P622(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"_data\"] = (s.arg1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_data__P622.info = {\"start\":3261,\"length\":56,\"line\":127,\"column\":4,\"endLine\":129,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"data\",\"argumentNames\":[\"this\",\"value\"]}\n\nfunction Sprite_data__P622_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_data__P622, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_data__P621(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_data\"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_3 = r0 = s.arg0;\n r0 = pxsim_pxtrt.mkMap();\n s.tmp_4 = r0;\n r0 = (s.tmp_3).fields[\"_data\"] = (s.tmp_4);\n case 1:\n case 2:\n r0 = s.arg0.fields[\"_data\"];\n return leave(s, r0)\n default: oops()\n} } }\nSprite_data__P621.info = {\"start\":3163,\"length\":92,\"line\":122,\"column\":4,\"endLine\":125,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"data\",\"argumentNames\":[\"this\"]}\n\nfunction Sprite_data__P621_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_data__P621, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction sprites_BaseSprite___update__P514(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_BaseSprite__C508_VT)) failedCast(r0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_BaseSprite___update__P514.info = {\"start\":1027,\"length\":46,\"line\":45,\"column\":8,\"endLine\":45,\"endColumn\":54,\"fileName\":\"pxt_modules/game/basesprite.ts\",\"functionName\":\"__update\",\"argumentNames\":[\"this\",\"camera\",\"dt\"]}\n\nfunction sprites_BaseSprite___update__P514_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_BaseSprite___update__P514, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction sprites_BaseSprite___draw__P512(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_BaseSprite__C508_VT)) failedCast(r0);\n s.tmp_1 = sprites_BaseSprite__C508_v0_1_mk(s);\n s.tmp_1.arg0 = s.arg0;\n if (!checkSubtype(s.tmp_1.arg0, sprites_BaseSprite__C508_VT)) failedCast(s.tmp_1.arg0);\n s.tmp_1.fn = s.tmp_1.arg0.vtable.methods.__visible;\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_2 = sprites_BaseSprite__C508_v2_2_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.tmp_2.arg1 = s.arg1;\n if (!checkSubtype(s.tmp_2.arg0, sprites_BaseSprite__C508_VT)) failedCast(s.tmp_2.arg0);\n s.tmp_2.fn = s.tmp_2.arg0.vtable.methods.__drawCore;\n s.pc = 4; return s.tmp_2;\n case 4:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_BaseSprite___draw__P512.info = {\"start\":840,\"length\":131,\"line\":37,\"column\":8,\"endLine\":41,\"endColumn\":9,\"fileName\":\"pxt_modules/game/basesprite.ts\",\"functionName\":\"__draw\",\"argumentNames\":[\"this\",\"camera\"]}\n\nfunction sprites_BaseSprite___draw__P512_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_BaseSprite___draw__P512, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction sprites_BaseSprite___drawCore__P513(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_BaseSprite__C508_VT)) failedCast(r0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_BaseSprite___drawCore__P513.info = {\"start\":981,\"length\":36,\"line\":43,\"column\":8,\"endLine\":43,\"endColumn\":44,\"fileName\":\"pxt_modules/game/basesprite.ts\",\"functionName\":\"__drawCore\",\"argumentNames\":[\"this\",\"camera\"]}\n\nfunction sprites_BaseSprite___drawCore__P513_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_BaseSprite___drawCore__P513, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction sprites_BaseSprite___visible__P509(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_BaseSprite__C508_VT)) failedCast(r0);\n r0 = true;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_BaseSprite___visible__P509.info = {\"start\":524,\"length\":57,\"line\":22,\"column\":8,\"endLine\":24,\"endColumn\":9,\"fileName\":\"pxt_modules/game/basesprite.ts\",\"functionName\":\"__visible\",\"argumentNames\":[\"this\"]}\n\nfunction sprites_BaseSprite___visible__P509_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_BaseSprite___visible__P509, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller_Button_toString__P539(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Button__C538_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_pressed\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = \"down\";\n { step = 2; continue; }\n case 1:\n r0 = \"up\";\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = s.arg0.fields[\"id\"];\n s.tmp_7 = r0;\n if ((s.tmp_7) && (s.tmp_7).vtable) {\n setupResume(s, 3);\n pxsim_String__stringConv(s.tmp_7);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_7) + \"\"; }\n case 3:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = pxsim_String__concat(\"btn \", s.tmp_6);\n s.tmp_5 = r0;\n r0 = pxsim_String__concat(s.tmp_5, \" \");\n s.tmp_4 = r0;\n r0 = s.arg0.fields[\"_buttonId\"];\n s.tmp_9 = r0;\n if ((s.tmp_9) && (s.tmp_9).vtable) {\n setupResume(s, 4);\n pxsim_String__stringConv(s.tmp_9);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_9) + \"\"; }\n case 4:\n r0 = s.retval;\n s.tmp_8 = r0;\n r0 = pxsim_String__concat(s.tmp_4, s.tmp_8);\n s.tmp_3 = r0;\n r0 = pxsim_String__concat(s.tmp_3, \" \");\n s.tmp_2 = r0;\n if ((s.tmp_1) && (s.tmp_1).vtable) {\n setupResume(s, 5);\n pxsim_String__stringConv(s.tmp_1);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_1) + \"\"; }\n case 5:\n r0 = s.retval;\n s.tmp_10 = r0;\n r0 = pxsim_String__concat(s.tmp_2, s.tmp_10);\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Button_toString__P539.info = {\"start\":1226,\"length\":118,\"line\":56,\"column\":8,\"endLine\":58,\"endColumn\":9,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"toString\",\"argumentNames\":[\"this\"]}\n\nfunction controller_Button_toString__P539_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Button_toString__P539, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction sprites_StaticObstacle_width__P704(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_StaticObstacle__C700_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"image\"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\nsprites_StaticObstacle_width__P704.info = {\"start\":1084,\"length\":68,\"line\":48,\"column\":8,\"endLine\":50,\"endColumn\":9,\"fileName\":\"pxt_modules/game/obstacle.ts\",\"functionName\":\"width\",\"argumentNames\":[\"this\"]}\n\nfunction sprites_StaticObstacle_width__P704_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_StaticObstacle_width__P704, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction sprites_StaticObstacle_height__P703(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_StaticObstacle__C700_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"image\"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\nsprites_StaticObstacle_height__P703.info = {\"start\":1004,\"length\":70,\"line\":44,\"column\":8,\"endLine\":46,\"endColumn\":9,\"fileName\":\"pxt_modules/game/obstacle.ts\",\"functionName\":\"height\",\"argumentNames\":[\"this\"]}\n\nfunction sprites_StaticObstacle_height__P703_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_StaticObstacle_height__P703, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction sprites_StaticObstacle_y__P702(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_StaticObstacle__C700_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"top\"];\n s.tmp_1 = r0;\n r0 = s.arg0.fields[\"image\"];\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 + s.tmp_2);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 >> 1);\n return leave(s, r0)\n default: oops()\n} } }\nsprites_StaticObstacle_y__P702.info = {\"start\":919,\"length\":75,\"line\":40,\"column\":8,\"endLine\":42,\"endColumn\":9,\"fileName\":\"pxt_modules/game/obstacle.ts\",\"functionName\":\"y\",\"argumentNames\":[\"this\"]}\n\nfunction sprites_StaticObstacle_y__P702_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_StaticObstacle_y__P702, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction sprites_StaticObstacle_x__P701(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_StaticObstacle__C700_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"left\"];\n s.tmp_1 = r0;\n r0 = s.arg0.fields[\"image\"];\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 + s.tmp_2);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 >> 1);\n return leave(s, r0)\n default: oops()\n} } }\nsprites_StaticObstacle_x__P701.info = {\"start\":834,\"length\":75,\"line\":36,\"column\":8,\"endLine\":38,\"endColumn\":9,\"fileName\":\"pxt_modules/game/obstacle.ts\",\"functionName\":\"x\",\"argumentNames\":[\"this\"]}\n\nfunction sprites_StaticObstacle_x__P701_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_StaticObstacle_x__P701, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction animation_PathNode_constructor__P1518(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, animation_PathNode__C1514_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"setStart\"] = (false);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nanimation_PathNode_constructor__P1518.info = {\"start\":13061,\"length\":60,\"line\":306,\"column\":8,\"endLine\":308,\"endColumn\":9,\"fileName\":\"pxt_modules/animation/animation.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\"]}\n\nfunction animation_PathNode_constructor__P1518_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: animation_PathNode_constructor__P1518, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction animation_Path_constructor__P1513(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, animation_Path__C1506_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"nodes\"] = (s.tmp_1);\n r0 = (s.arg0).fields[\"lastNode\"] = (-1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nanimation_Path_constructor__P1513.info = {\"start\":785,\"length\":86,\"line\":32,\"column\":8,\"endLine\":35,\"endColumn\":9,\"fileName\":\"pxt_modules/animation/animation.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\"]}\n\nfunction animation_Path_constructor__P1513_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: animation_Path_constructor__P1513, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_Renderable___drawCore__P893(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Renderable__C890_VT)) failedCast(r0);\n s.tmp_0 = lambda_3_mk(s);\n r0 = s.arg0.fields[\"handler\"];\n s.tmp_0.argL = r0;\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_0.arg1 = s.arg1;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_Renderable___drawCore__P893.info = {\"start\":390,\"length\":86,\"line\":14,\"column\":8,\"endLine\":16,\"endColumn\":9,\"fileName\":\"pxt_modules/game/renderable.ts\",\"functionName\":\"__drawCore\",\"argumentNames\":[\"this\",\"camera\"]}\n\nfunction scene_Renderable___drawCore__P893_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Renderable___drawCore__P893, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction scene_Renderable___visible__P892(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Renderable__C890_VT)) failedCast(r0);\n s.tmp_0 = lambda_1_mk(s);\n r0 = s.arg0.fields[\"shouldBeVisible\"];\n s.tmp_0.argL = r0;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n return leave(s, r0)\n default: oops()\n} } }\nscene_Renderable___visible__P892.info = {\"start\":305,\"length\":75,\"line\":10,\"column\":8,\"endLine\":12,\"endColumn\":9,\"fileName\":\"pxt_modules/game/renderable.ts\",\"functionName\":\"__visible\",\"argumentNames\":[\"this\"]}\n\nfunction scene_Renderable___visible__P892_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Renderable___visible__P892, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction effects_SceneAnchor_height__P1412(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, effects_SceneAnchor__C1408_VT)) failedCast(r0);\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n return leave(s, r0)\n default: oops()\n} } }\neffects_SceneAnchor_height__P1412.info = {\"start\":2494,\"length\":58,\"line\":70,\"column\":8,\"endLine\":72,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particleeffects.ts\",\"functionName\":\"height\",\"argumentNames\":[\"this\"]}\n\nfunction effects_SceneAnchor_height__P1412_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: effects_SceneAnchor_height__P1412, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction particles_ShapeFactory_drawParticle__P1361(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.pImage___12707 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ShapeFactory__C1358_VT)) failedCast(r0);\n s.tmp_1 = Math_FastRandom_pickRandom__P1159_mk(s);\n r0 = s.arg0.fields[\"galois\"];\n s.tmp_1.arg0 = r0;\n r0 = s.arg0.fields[\"sources\"];\n s.tmp_1.arg1 = r0;\n s.pc = 1; return s.tmp_1;\n case 1:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.clone(s.tmp_0);\n s.pImage___12707 = (r0);\n r0 = s.arg1.fields[\"color\"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.replace(s.pImage___12707, 15, s.tmp_0);\n s.tmp_0 = r0 = globals.screen___464;\n s.tmp_1 = r0 = s.pImage___12707;\n r0 = s.arg0.fields[\"ox\"];\n s.tmp_4 = r0;\n r0 = (s.arg2 - s.tmp_4);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 + 128);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 >> 8);\n s.tmp_2 = r0;\n r0 = s.arg0.fields[\"oy\"];\n s.tmp_8 = r0;\n r0 = (s.arg3 - s.tmp_8);\n s.tmp_7 = r0;\n r0 = (s.tmp_7 + 128);\n s.tmp_9 = r0;\n r0 = (s.tmp_9 >> 8);\n s.tmp_6 = r0;\n r0 = pxsim_ImageMethods.drawTransparentImage(s.tmp_0, s.tmp_1, s.tmp_2, s.tmp_6);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ShapeFactory_drawParticle__P1361.info = {\"start\":7172,\"length\":323,\"line\":229,\"column\":8,\"endLine\":237,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particlefactories.ts\",\"functionName\":\"drawParticle\",\"argumentNames\":[\"this\",\"p\",\"x\",\"y\"]}\n\nfunction particles_ShapeFactory_drawParticle__P1361_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ShapeFactory_drawParticle__P1361, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n pImage___12707: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction Math_FastRandom_pickRandom__P1159(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Math_FastRandom__C1156_VT)) failedCast(r0);\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = pxsim_Array__length(s.arg1);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 == 0);\n case 2:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 3; continue; }\n r0 = undefined;\n { step = 5; continue; }\n case 3:\n case 4:\n s.tmp_4 = r0 = s.arg1;\n s.tmp_6 = Math_FastRandom_randomRange__P1158_mk(s);\n s.tmp_6.arg0 = s.arg0;\n s.tmp_6.arg1 = 0;\n r0 = pxsim_Array__length(s.arg1);\n s.tmp_7 = r0;\n r0 = (s.tmp_7 - 1);\n s.tmp_6.arg2 = r0;\n s.pc = 6; return s.tmp_6;\n case 6:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = pxsim_Array__getAt(s.tmp_4, s.tmp_5);\n case 5:\n return leave(s, r0)\n default: oops()\n} } }\nMath_FastRandom_pickRandom__P1159.info = {\"start\":2325,\"length\":192,\"line\":69,\"column\":8,\"endLine\":74,\"endColumn\":9,\"fileName\":\"pxt_modules/game/mathUtil.ts\",\"functionName\":\"pickRandom\",\"argumentNames\":[\"this\",\"list\"]}\n\nfunction Math_FastRandom_pickRandom__P1159_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Math_FastRandom_pickRandom__P1159, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction particles_AreaFactory_drawParticle__P1351(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.col___12750 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_AreaFactory__C1348_VT)) failedCast(r0);\n r0 = s.arg1.fields[\"lifespan\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > 500);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = 4;\n { step = 4; continue; }\n case 1:\n r0 = s.arg1.fields[\"lifespan\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 > 250);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 2; continue; }\n r0 = 5;\n { step = 3; continue; }\n case 2:\n r0 = 1;\n case 3:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n r0 = s.tmp_4;\n case 4:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n s.col___12750 = (s.tmp_5);\n s.tmp_0 = r0 = globals.screen___464;\n r0 = (s.arg2 + 128);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 >> 8);\n s.tmp_1 = r0;\n r0 = (s.arg3 + 128);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 >> 8);\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.setPixel(s.tmp_0, s.tmp_1, s.tmp_3, s.col___12750);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_AreaFactory_drawParticle__P1351.info = {\"start\":4770,\"length\":222,\"line\":158,\"column\":8,\"endLine\":163,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particlefactories.ts\",\"functionName\":\"drawParticle\",\"argumentNames\":[\"this\",\"p\",\"x\",\"y\"]}\n\nfunction particles_AreaFactory_drawParticle__P1351_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_AreaFactory_drawParticle__P1351, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n col___12750: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction particles_SprayFactory_drawParticle__P1344(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_SprayFactory__C1341_VT)) failedCast(r0);\n s.tmp_0 = r0 = globals.screen___464;\n r0 = (s.arg2 + 128);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 >> 8);\n s.tmp_1 = r0;\n r0 = (s.arg3 + 128);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 >> 8);\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.setPixel(s.tmp_0, s.tmp_1, s.tmp_3, 1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_SprayFactory_drawParticle__P1344.info = {\"start\":3194,\"length\":118,\"line\":115,\"column\":8,\"endLine\":117,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particlefactories.ts\",\"functionName\":\"drawParticle\",\"argumentNames\":[\"this\",\"particle\",\"x\",\"y\"]}\n\nfunction particles_SprayFactory_drawParticle__P1344_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_SprayFactory_drawParticle__P1344, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction Sprite___drawCore__P644(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.l___12787 = undefined;\n s.t___12791 = undefined;\n s.font___12806 = undefined;\n s.margin___12808 = undefined;\n s.tx___12809 = undefined;\n s.ty___12811 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_1 = Sprite_isOutOfScreen__P643_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.tmp_1.arg1 = s.arg1;\n s.pc = 16; return s.tmp_1;\n case 16:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 15; continue; }\n case 1:\n case 2:\n s.tmp_3 = Sprite_left__P629_mk(s);\n s.tmp_3.arg0 = s.arg0;\n s.pc = 17; return s.tmp_3;\n case 17:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = s.arg1.fields[\"drawOffsetX\"];\n s.tmp_4 = r0;\n r0 = (s.tmp_2 - s.tmp_4);\n s.l___12787 = (r0);\n s.tmp_1 = Sprite_top__P633_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.pc = 18; return s.tmp_1;\n case 18:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = s.arg1.fields[\"drawOffsetY\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_0 - s.tmp_2);\n s.t___12791 = (r0);\n r0 = s.arg0.fields[\"_image\"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.drawTransparentImage(globals.screen___464, s.tmp_0, s.l___12787, s.t___12791);\n r0 = s.arg0.fields[\"flags\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 & 64);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 11; continue; }\n s.font___12806 = (globals.font5___428);\n s.margin___12808 = (2);\n s.tx___12809 = (s.l___12787);\n s.tmp_2 = Sprite_bottom__P635_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 19; return s.tmp_2;\n case 19:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 + s.margin___12808);\n s.tmp_0 = r0;\n r0 = s.arg1.fields[\"drawOffsetY\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_0 - s.tmp_3);\n s.ty___12811 = (r0);\n s.tmp_0 = helpers_imagePrint__P432_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n r0 = pxsim_String_.mkEmpty();\n s.tmp_3 = r0;\n s.tmp_7 = Sprite_x__P609_mk(s);\n s.tmp_7.arg0 = s.arg0;\n s.pc = 21; return s.tmp_7;\n case 21:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = (s.tmp_6 >> 0);\n s.tmp_5 = r0;\n if ((s.tmp_5) && (s.tmp_5).vtable) {\n setupResume(s, 22);\n pxsim_String__stringConv(s.tmp_5);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_5) + \"\"; }\n case 22:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = pxsim_String__concat(s.tmp_3, s.tmp_4);\n s.tmp_2 = r0;\n r0 = pxsim_String__concat(s.tmp_2, \",\");\n s.tmp_1 = r0;\n s.tmp_11 = Sprite_y__P611_mk(s);\n s.tmp_11.arg0 = s.arg0;\n s.pc = 23; return s.tmp_11;\n case 23:\n r0 = s.retval;\n s.tmp_10 = r0;\n r0 = (s.tmp_10 >> 0);\n s.tmp_9 = r0;\n if ((s.tmp_9) && (s.tmp_9).vtable) {\n setupResume(s, 24);\n pxsim_String__stringConv(s.tmp_9);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_9) + \"\"; }\n case 24:\n r0 = s.retval;\n s.tmp_8 = r0;\n r0 = pxsim_String__concat(s.tmp_1, s.tmp_8);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = s.tx___12809;\n s.tmp_0.arg3 = s.ty___12811;\n s.tmp_0.arg4 = 1;\n s.tmp_0.arg5 = s.font___12806;\n s.tmp_0.arg6 = undefined;\n s.pc = 20; return s.tmp_0;\n case 20:\n r0 = s.retval;\n s.tmp_0 = r0 = s.tx___12809;\n s.tmp_2 = if_charWidth_1_mk(s);\n s.tmp_2.arg0 = s.font___12806;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, \"charWidth\");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface[\"charWidth\"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields[\"charWidth\"]; }\n else { s.pc = 25; return s.tmp_2; }\n }\n case 25:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0 - s.tmp_1);\n s.tx___12809 = (r0);\n s.tmp_1 = Sprite_vx__P613_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.pc = 26; return s.tmp_1;\n case 26:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = s.tmp_0;\n { step = 4; continue; }\n case 3:\n s.tmp_2 = Sprite_vy__P615_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 27; return s.tmp_2;\n case 27:\n r0 = s.retval;\n case 4:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 5; continue; }\n s.tmp_4 = r0 = s.ty___12811;\n s.tmp_7 = if_charHeight_1_mk(s);\n s.tmp_7.arg0 = s.font___12806;\n if (!s.tmp_7.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_7.arg0, \"charHeight\");\n } else {\n s.tmp_7.fn = s.tmp_7.arg0.vtable.iface[\"charHeight\"];\n if (s.tmp_7.fn == null) { s.retval = s.tmp_7.arg0.fields[\"charHeight\"]; }\n else { s.pc = 28; return s.tmp_7; }\n }\n case 28:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = (s.tmp_6 + s.margin___12808);\n s.tmp_5 = r0;\n r0 = (s.tmp_4 + s.tmp_5);\n s.ty___12811 = (r0);\n s.tmp_0 = helpers_imagePrint__P432_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_6 = Sprite_vx__P613_mk(s);\n s.tmp_6.arg0 = s.arg0;\n s.pc = 30; return s.tmp_6;\n case 30:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = (s.tmp_5 >> 0);\n s.tmp_4 = r0;\n if ((s.tmp_4) && (s.tmp_4).vtable) {\n setupResume(s, 31);\n pxsim_String__stringConv(s.tmp_4);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_4) + \"\"; }\n case 31:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = pxsim_String__concat(\"v\", s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_String__concat(s.tmp_2, \",\");\n s.tmp_1 = r0;\n s.tmp_10 = Sprite_vy__P615_mk(s);\n s.tmp_10.arg0 = s.arg0;\n s.pc = 32; return s.tmp_10;\n case 32:\n r0 = s.retval;\n s.tmp_9 = r0;\n r0 = (s.tmp_9 >> 0);\n s.tmp_8 = r0;\n if ((s.tmp_8) && (s.tmp_8).vtable) {\n setupResume(s, 33);\n pxsim_String__stringConv(s.tmp_8);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_8) + \"\"; }\n case 33:\n r0 = s.retval;\n s.tmp_7 = r0;\n r0 = pxsim_String__concat(s.tmp_1, s.tmp_7);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = s.tx___12809;\n s.tmp_0.arg3 = s.ty___12811;\n s.tmp_0.arg4 = 1;\n s.tmp_0.arg5 = s.font___12806;\n s.tmp_0.arg6 = undefined;\n s.pc = 29; return s.tmp_0;\n case 29:\n r0 = s.retval;\n case 5:\n case 6:\n s.tmp_1 = Sprite_ax__P617_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.pc = 34; return s.tmp_1;\n case 34:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 7; continue; }\n r0 = s.tmp_0;\n { step = 8; continue; }\n case 7:\n s.tmp_2 = Sprite_ay__P619_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 35; return s.tmp_2;\n case 35:\n r0 = s.retval;\n case 8:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 9; continue; }\n s.tmp_4 = r0 = s.ty___12811;\n s.tmp_7 = if_charHeight_1_mk(s);\n s.tmp_7.arg0 = s.font___12806;\n if (!s.tmp_7.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_7.arg0, \"charHeight\");\n } else {\n s.tmp_7.fn = s.tmp_7.arg0.vtable.iface[\"charHeight\"];\n if (s.tmp_7.fn == null) { s.retval = s.tmp_7.arg0.fields[\"charHeight\"]; }\n else { s.pc = 36; return s.tmp_7; }\n }\n case 36:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = (s.tmp_6 + s.margin___12808);\n s.tmp_5 = r0;\n r0 = (s.tmp_4 + s.tmp_5);\n s.ty___12811 = (r0);\n s.tmp_0 = helpers_imagePrint__P432_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_6 = Sprite_ax__P617_mk(s);\n s.tmp_6.arg0 = s.arg0;\n s.pc = 38; return s.tmp_6;\n case 38:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = (s.tmp_5 >> 0);\n s.tmp_4 = r0;\n if ((s.tmp_4) && (s.tmp_4).vtable) {\n setupResume(s, 39);\n pxsim_String__stringConv(s.tmp_4);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_4) + \"\"; }\n case 39:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = pxsim_String__concat(\"a\", s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_String__concat(s.tmp_2, \",\");\n s.tmp_1 = r0;\n s.tmp_10 = Sprite_ay__P619_mk(s);\n s.tmp_10.arg0 = s.arg0;\n s.pc = 40; return s.tmp_10;\n case 40:\n r0 = s.retval;\n s.tmp_9 = r0;\n r0 = (s.tmp_9 >> 0);\n s.tmp_8 = r0;\n if ((s.tmp_8) && (s.tmp_8).vtable) {\n setupResume(s, 41);\n pxsim_String__stringConv(s.tmp_8);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_8) + \"\"; }\n case 41:\n r0 = s.retval;\n s.tmp_7 = r0;\n r0 = pxsim_String__concat(s.tmp_1, s.tmp_7);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = s.tx___12809;\n s.tmp_0.arg3 = s.ty___12811;\n s.tmp_0.arg4 = 1;\n s.tmp_0.arg5 = s.font___12806;\n s.tmp_0.arg6 = undefined;\n s.pc = 37; return s.tmp_0;\n case 37:\n r0 = s.retval;\n case 9:\n case 10:\n case 11:\n case 12:\n r0 = pxsim_numops_toBoolDecr(globals.debug___998);\n if (!r0) { step = 13; continue; }\n s.tmp_0 = helpers_imageDrawRect__P414_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_3 = game_Hitbox_left__P594_mk(s);\n r0 = s.arg0.fields[\"_hitbox\"];\n s.tmp_3.arg0 = r0;\n s.pc = 43; return s.tmp_3;\n case 43:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + 128);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 >> 8);\n s.tmp_1 = r0;\n r0 = s.arg1.fields[\"drawOffsetX\"];\n s.tmp_5 = r0;\n r0 = (s.tmp_1 - s.tmp_5);\n s.tmp_0.arg1 = r0;\n s.tmp_8 = game_Hitbox_top__P595_mk(s);\n r0 = s.arg0.fields[\"_hitbox\"];\n s.tmp_8.arg0 = r0;\n s.pc = 44; return s.tmp_8;\n case 44:\n r0 = s.retval;\n s.tmp_7 = r0;\n r0 = (s.tmp_7 + 128);\n s.tmp_9 = r0;\n r0 = (s.tmp_9 >> 8);\n s.tmp_6 = r0;\n r0 = s.arg1.fields[\"drawOffsetY\"];\n s.tmp_10 = r0;\n r0 = (s.tmp_6 - s.tmp_10);\n s.tmp_0.arg2 = r0;\n r0 = s.arg0.fields[\"_hitbox\"];\n r0 = r0.fields[\"width\"];\n s.tmp_0.arg3 = r0;\n r0 = s.arg0.fields[\"_hitbox\"];\n r0 = r0.fields[\"height\"];\n s.tmp_0.arg4 = r0;\n s.tmp_0.arg5 = 1;\n s.pc = 42; return s.tmp_0;\n case 42:\n r0 = s.retval;\n case 13:\n case 14:\n case 15:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite___drawCore__P644.info = {\"start\":19088,\"length\":1262,\"line\":588,\"column\":4,\"endLine\":622,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"__drawCore\",\"argumentNames\":[\"this\",\"camera\"]}\n\nfunction Sprite___drawCore__P644_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite___drawCore__P644, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n l___12787: undefined,\n t___12791: undefined,\n font___12806: undefined,\n margin___12808: undefined,\n tx___12809: undefined,\n ty___12811: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite___visible__P626(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"flags\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 & 128);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\nSprite___visible__P626.info = {\"start\":7151,\"length\":72,\"line\":254,\"column\":4,\"endLine\":256,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"__visible\",\"argumentNames\":[\"this\"]}\n\nfunction Sprite___visible__P626_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite___visible__P626, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\nfunction lambda_3_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\nfunction if_flags_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction particles_ParticleFactory__C1337_v0_2_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\nfunction particles_ParticleSource__C1285_v4_3_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\nfunction if_x_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_y_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_id_2_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\nfunction lambda_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction lambda_2_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\nfunction if_startScreenEffect_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction game_GameOverDialog__C983_v0_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction PhysicsEngine__C708_v4_2_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\nfunction if___update_3_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\nfunction PhysicsEngine__C708_v3_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_charHeight_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_charWidth_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_multiplier_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_data_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_xOffset_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_yOffset_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if___draw_2_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\nfunction if_z_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_id_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction game_GameOverDialog__C983_v1_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction lambda_5_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n} }\n\n\nfunction PhysicsEngine__C708_v2_4_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\nfunction if_animations_2_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\nfunction if_animations_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction animation_SpriteAnimation__C1541_v0_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction PhysicsEngine__C708_v0_2_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\nfunction PhysicsEngine__C708_v1_2_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\nfunction lambda_4_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\nfunction if_padding_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_cardsPerRow_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_cardWidth_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_cardSpacing_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_cardsTop_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_headerText_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_headerFont_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_infoTop_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_infoFont_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_basicCard_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_selectedCard_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_activeCard_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_z_2_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\nfunction animation_PathNode__C1514_v0_4_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\nfunction if_tileIndex_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction game_BaseDialog__C952_v1_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_height_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction particles_ParticleFactory__C1337_v1_4_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\nfunction sprites_BaseSprite__C508_v0_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction sprites_BaseSprite__C508_v2_2_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\nfunction if_scene_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_state_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_up_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_yOffset_2_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\nfunction if_up_2_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\nfunction if_width_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\nconst controller_Button__C538_VT = mkVTable({\n name: \"Button\",\n numFields: 8,\n classNo: 16,\n lastSubtypeNo: 16,\n methods: {\n },\n iface: {\n \"_owner\": null,\n \"set/_owner\": null,\n \"id\": null,\n \"set/id\": null,\n \"repeatDelay\": null,\n \"set/repeatDelay\": null,\n \"repeatInterval\": null,\n \"set/repeatInterval\": null,\n \"_pressed\": null,\n \"set/_pressed\": null,\n \"_pressedElasped\": null,\n \"set/_pressedElasped\": null,\n \"_repeatCount\": null,\n \"set/_repeatCount\": null,\n \"_buttonId\": null,\n \"set/_buttonId\": null,\n \"toString\": controller_Button_toString__P539,\n \"raiseButtonUp\": controller_Button_raiseButtonUp__P540,\n \"raiseButtonDown\": controller_Button_raiseButtonDown__P541,\n \"raiseButtonRepeat\": controller_Button_raiseButtonRepeat__P542,\n \"onEvent\": controller_Button_onEvent__P543,\n \"isPressed\": controller_Button_isPressed__P545,\n \"setPressed\": controller_Button_setPressed__P546,\n \"__update\": controller_Button___update__P547,\n },\n toStringMethod: controller_Button_toString__P539,\n});\nconst Math_FastRandom__C1156_VT = mkVTable({\n name: \"FastRandom\",\n numFields: 2,\n classNo: 17,\n lastSubtypeNo: 17,\n methods: {\n },\n iface: {\n \"lfsr\": null,\n \"set/lfsr\": null,\n \"seed\": null,\n \"set/seed\": null,\n \"next\": Math_FastRandom_next__P1157,\n \"randomRange\": Math_FastRandom_randomRange__P1158,\n \"pickRandom\": Math_FastRandom_pickRandom__P1159,\n },\n});\nconst texteffects_TextEffect__C1448_VT = mkVTable({\n name: \"TextEffect\",\n numFields: 1,\n classNo: 18,\n lastSubtypeNo: 18,\n methods: {\n },\n iface: {\n \"getState\": null,\n \"set/getState\": null,\n },\n});\nconst sprites_BaseSprite__C508_VT = mkVTable({\n name: \"BaseSprite\",\n numFields: 2,\n classNo: 19,\n lastSubtypeNo: 22,\n methods: {\n \"__visible\": sprites_BaseSprite___visible__P509,\n \"__draw\": sprites_BaseSprite___draw__P512,\n \"__drawCore\": sprites_BaseSprite___drawCore__P513,\n \"__update\": sprites_BaseSprite___update__P514,\n },\n iface: {\n \"_z\": null,\n \"set/_z\": null,\n \"id\": null,\n \"set/id\": null,\n \"__visible\": sprites_BaseSprite___visible__P509,\n \"z\": sprites_BaseSprite_z__P510,\n \"set/z\": sprites_BaseSprite_z__P511,\n \"__draw\": sprites_BaseSprite___draw__P512,\n \"__drawCore\": sprites_BaseSprite___drawCore__P513,\n \"__update\": sprites_BaseSprite___update__P514,\n },\n});\nconst Sprite__C607_VT = mkVTable({\n name: \"Sprite\",\n numFields: 24,\n classNo: 20,\n lastSubtypeNo: 20,\n methods: {\n \"__visible\": Sprite___visible__P626,\n \"__draw\": sprites_BaseSprite___draw__P512,\n \"__drawCore\": Sprite___drawCore__P644,\n \"__update\": Sprite___update__P645,\n },\n iface: {\n \"_z\": null,\n \"set/_z\": null,\n \"id\": null,\n \"set/id\": null,\n \"_x\": null,\n \"set/_x\": null,\n \"_y\": null,\n \"set/_y\": null,\n \"_vx\": null,\n \"set/_vx\": null,\n \"_vy\": null,\n \"set/_vy\": null,\n \"_ax\": null,\n \"set/_ax\": null,\n \"_ay\": null,\n \"set/_ay\": null,\n \"_data\": null,\n \"set/_data\": null,\n \"_kind\": null,\n \"set/_kind\": null,\n \"layer\": null,\n \"set/layer\": null,\n \"_lastX\": null,\n \"set/_lastX\": null,\n \"_lastY\": null,\n \"set/_lastY\": null,\n \"_action\": null,\n \"set/_action\": null,\n \"lifespan\": null,\n \"set/lifespan\": null,\n \"_image\": null,\n \"set/_image\": null,\n \"_obstacles\": null,\n \"set/_obstacles\": null,\n \"updateSay\": null,\n \"set/updateSay\": null,\n \"sayBubbleSprite\": null,\n \"set/sayBubbleSprite\": null,\n \"_hitbox\": null,\n \"set/_hitbox\": null,\n \"_overlappers\": null,\n \"set/_overlappers\": null,\n \"_kindsOverlappedWith\": null,\n \"set/_kindsOverlappedWith\": null,\n \"flags\": null,\n \"set/flags\": null,\n \"destroyHandler\": null,\n \"set/destroyHandler\": null,\n \"x\": Sprite_x__P609,\n \"set/x\": Sprite_x__P610,\n \"y\": Sprite_y__P611,\n \"set/y\": Sprite_y__P612,\n \"vx\": Sprite_vx__P613,\n \"set/vx\": Sprite_vx__P614,\n \"vy\": Sprite_vy__P615,\n \"set/vy\": Sprite_vy__P616,\n \"ax\": Sprite_ax__P617,\n \"set/ax\": Sprite_ax__P618,\n \"ay\": Sprite_ay__P619,\n \"set/ay\": Sprite_ay__P620,\n \"data\": Sprite_data__P621,\n \"set/data\": Sprite_data__P622,\n \"image\": Sprite_image__P624,\n \"setImage\": Sprite_setImage__P625,\n \"__visible\": Sprite___visible__P626,\n \"width\": Sprite_width__P627,\n \"height\": Sprite_height__P628,\n \"left\": Sprite_left__P629,\n \"set/left\": Sprite_left__P630,\n \"right\": Sprite_right__P631,\n \"set/right\": Sprite_right__P632,\n \"top\": Sprite_top__P633,\n \"set/top\": Sprite_top__P634,\n \"bottom\": Sprite_bottom__P635,\n \"set/bottom\": Sprite_bottom__P636,\n \"kind\": Sprite_kind__P637,\n \"setKind\": Sprite_setKind__P638,\n \"setPosition\": Sprite_setPosition__P639,\n \"setVelocity\": Sprite_setVelocity__P640,\n \"isOutOfScreen\": Sprite_isOutOfScreen__P643,\n \"__drawCore\": Sprite___drawCore__P644,\n \"__update\": Sprite___update__P645,\n \"setFlag\": Sprite_setFlag__P646,\n \"overlapsWith\": Sprite_overlapsWith__P647,\n \"clearObstacles\": Sprite_clearObstacles__P650,\n \"registerObstacle\": Sprite_registerObstacle__P651,\n \"destroy\": Sprite_destroy__P653,\n \"_destroyCore\": Sprite__destroyCore__P654,\n \"toString\": Sprite_toString__P656,\n \"z\": sprites_BaseSprite_z__P510,\n \"set/z\": sprites_BaseSprite_z__P511,\n \"__draw\": sprites_BaseSprite___draw__P512,\n },\n toStringMethod: Sprite_toString__P656,\n});\nconst effects_ParticleEffect__C1404_VT = mkVTable({\n name: \"ParticleEffect\",\n numFields: 3,\n classNo: 23,\n lastSubtypeNo: 24,\n methods: {\n },\n iface: {\n \"sourceFactory\": null,\n \"set/sourceFactory\": null,\n \"defaultRate\": null,\n \"set/defaultRate\": null,\n \"defaultLifespan\": null,\n \"set/defaultLifespan\": null,\n \"start\": effects_ParticleEffect_start__P1405,\n \"destroy\": effects_ParticleEffect_destroy__P1406,\n },\n});\nconst effects_ScreenEffect__C1414_VT = mkVTable({\n name: \"ScreenEffect\",\n numFields: 5,\n classNo: 24,\n lastSubtypeNo: 24,\n methods: {\n },\n iface: {\n \"sourceFactory\": null,\n \"set/sourceFactory\": null,\n \"defaultRate\": null,\n \"set/defaultRate\": null,\n \"defaultLifespan\": null,\n \"set/defaultLifespan\": null,\n \"source\": null,\n \"set/source\": null,\n \"sceneDefaultRate\": null,\n \"set/sceneDefaultRate\": null,\n \"startScreenEffect\": effects_ScreenEffect_startScreenEffect__P1416,\n \"endScreenEffect\": effects_ScreenEffect_endScreenEffect__P1417,\n \"start\": effects_ParticleEffect_start__P1405,\n \"destroy\": effects_ParticleEffect_destroy__P1406,\n },\n});\nconst particles_ParticleSource__C1285_VT = mkVTable({\n name: \"ParticleSource\",\n numFields: 13,\n classNo: 21,\n lastSubtypeNo: 21,\n methods: {\n \"__visible\": sprites_BaseSprite___visible__P509,\n \"__draw\": particles_ParticleSource___draw__P1287,\n \"__drawCore\": sprites_BaseSprite___drawCore__P513,\n \"__update\": sprites_BaseSprite___update__P514,\n \"updateParticle\": particles_ParticleSource_updateParticle__P1300,\n },\n iface: {\n \"_z\": null,\n \"set/_z\": null,\n \"id\": null,\n \"set/id\": null,\n \"priority\": null,\n \"set/priority\": null,\n \"_dt\": null,\n \"set/_dt\": null,\n \"anchor\": null,\n \"set/anchor\": null,\n \"lifespan\": null,\n \"set/lifespan\": null,\n \"pFlags\": null,\n \"set/pFlags\": null,\n \"head\": null,\n \"set/head\": null,\n \"timer\": null,\n \"set/timer\": null,\n \"period\": null,\n \"set/period\": null,\n \"_factory\": null,\n \"set/_factory\": null,\n \"ax\": null,\n \"set/ax\": null,\n \"ay\": null,\n \"set/ay\": null,\n \"__draw\": particles_ParticleSource___draw__P1287,\n \"_update\": particles_ParticleSource__update__P1288,\n \"_prune\": particles_ParticleSource__prune__P1289,\n \"setAcceleration\": particles_ParticleSource_setAcceleration__P1290,\n \"enabled\": particles_ParticleSource_enabled__P1292,\n \"set/enabled\": particles_ParticleSource_enabled__P1293,\n \"destroy\": particles_ParticleSource_destroy__P1294,\n \"clear\": particles_ParticleSource_clear__P1295,\n \"setAnchor\": particles_ParticleSource_setAnchor__P1296,\n \"setRate\": particles_ParticleSource_setRate__P1297,\n \"setFactory\": particles_ParticleSource_setFactory__P1299,\n \"updateParticle\": particles_ParticleSource_updateParticle__P1300,\n \"drawParticle\": particles_ParticleSource_drawParticle__P1301,\n \"__visible\": sprites_BaseSprite___visible__P509,\n \"z\": sprites_BaseSprite_z__P510,\n \"set/z\": sprites_BaseSprite_z__P511,\n \"__drawCore\": sprites_BaseSprite___drawCore__P513,\n \"__update\": sprites_BaseSprite___update__P514,\n },\n});\nconst particles_ParticleFactory__C1337_VT = mkVTable({\n name: \"ParticleFactory\",\n numFields: 0,\n classNo: 25,\n lastSubtypeNo: 29,\n methods: {\n \"createParticle\": particles_ParticleFactory_createParticle__P1338,\n \"drawParticle\": particles_ParticleFactory_drawParticle__P1339,\n },\n iface: {\n \"createParticle\": particles_ParticleFactory_createParticle__P1338,\n \"drawParticle\": particles_ParticleFactory_drawParticle__P1339,\n },\n});\nconst particles_SprayFactory__C1341_VT = mkVTable({\n name: \"SprayFactory\",\n numFields: 3,\n classNo: 26,\n lastSubtypeNo: 29,\n methods: {\n \"createParticle\": particles_SprayFactory_createParticle__P1343,\n \"drawParticle\": particles_SprayFactory_drawParticle__P1344,\n },\n iface: {\n \"speed\": null,\n \"set/speed\": null,\n \"minAngle\": null,\n \"set/minAngle\": null,\n \"spread\": null,\n \"set/spread\": null,\n \"createParticle\": particles_SprayFactory_createParticle__P1343,\n \"drawParticle\": particles_SprayFactory_drawParticle__P1344,\n \"setSpeed\": particles_SprayFactory_setSpeed__P1345,\n \"setDirection\": particles_SprayFactory_setDirection__P1346,\n },\n});\nconst particles_AreaFactory__C1348_VT = mkVTable({\n name: \"AreaFactory\",\n numFields: 8,\n classNo: 27,\n lastSubtypeNo: 29,\n methods: {\n \"createParticle\": particles_AreaFactory_createParticle__P1350,\n \"drawParticle\": particles_AreaFactory_drawParticle__P1351,\n },\n iface: {\n \"speed\": null,\n \"set/speed\": null,\n \"minAngle\": null,\n \"set/minAngle\": null,\n \"spread\": null,\n \"set/spread\": null,\n \"xRange\": null,\n \"set/xRange\": null,\n \"yRange\": null,\n \"set/yRange\": null,\n \"minLifespan\": null,\n \"set/minLifespan\": null,\n \"maxLifespan\": null,\n \"set/maxLifespan\": null,\n \"galois\": null,\n \"set/galois\": null,\n \"createParticle\": particles_AreaFactory_createParticle__P1350,\n \"drawParticle\": particles_AreaFactory_drawParticle__P1351,\n \"setSpeed\": particles_SprayFactory_setSpeed__P1345,\n \"setDirection\": particles_SprayFactory_setDirection__P1346,\n },\n});\nconst particles_ShapeFactory__C1358_VT = mkVTable({\n name: \"ShapeFactory\",\n numFields: 11,\n classNo: 28,\n lastSubtypeNo: 29,\n methods: {\n \"createParticle\": particles_ShapeFactory_createParticle__P1362,\n \"drawParticle\": particles_ShapeFactory_drawParticle__P1361,\n },\n iface: {\n \"speed\": null,\n \"set/speed\": null,\n \"minAngle\": null,\n \"set/minAngle\": null,\n \"spread\": null,\n \"set/spread\": null,\n \"xRange\": null,\n \"set/xRange\": null,\n \"yRange\": null,\n \"set/yRange\": null,\n \"minLifespan\": null,\n \"set/minLifespan\": null,\n \"maxLifespan\": null,\n \"set/maxLifespan\": null,\n \"galois\": null,\n \"set/galois\": null,\n \"sources\": null,\n \"set/sources\": null,\n \"ox\": null,\n \"set/ox\": null,\n \"oy\": null,\n \"set/oy\": null,\n \"addShape\": particles_ShapeFactory_addShape__P1360,\n \"drawParticle\": particles_ShapeFactory_drawParticle__P1361,\n \"createParticle\": particles_ShapeFactory_createParticle__P1362,\n \"setSpeed\": particles_SprayFactory_setSpeed__P1345,\n \"setDirection\": particles_SprayFactory_setDirection__P1346,\n },\n});\nconst particles_ConfettiFactory__C1364_VT = mkVTable({\n name: \"ConfettiFactory\",\n numFields: 11,\n classNo: 29,\n lastSubtypeNo: 29,\n methods: {\n \"createParticle\": particles_ShapeFactory_createParticle__P1362,\n \"drawParticle\": particles_ShapeFactory_drawParticle__P1361,\n },\n iface: {\n \"speed\": null,\n \"set/speed\": null,\n \"minAngle\": null,\n \"set/minAngle\": null,\n \"spread\": null,\n \"set/spread\": null,\n \"xRange\": null,\n \"set/xRange\": null,\n \"yRange\": null,\n \"set/yRange\": null,\n \"minLifespan\": null,\n \"set/minLifespan\": null,\n \"maxLifespan\": null,\n \"set/maxLifespan\": null,\n \"galois\": null,\n \"set/galois\": null,\n \"sources\": null,\n \"set/sources\": null,\n \"ox\": null,\n \"set/ox\": null,\n \"oy\": null,\n \"set/oy\": null,\n \"addShape\": particles_ShapeFactory_addShape__P1360,\n \"drawParticle\": particles_ShapeFactory_drawParticle__P1361,\n \"createParticle\": particles_ShapeFactory_createParticle__P1362,\n \"setSpeed\": particles_SprayFactory_setSpeed__P1345,\n \"setDirection\": particles_SprayFactory_setDirection__P1346,\n },\n});\nconst particles_Particle__C1283_VT = mkVTable({\n name: \"Particle\",\n numFields: 8,\n classNo: 30,\n lastSubtypeNo: 30,\n methods: {\n },\n iface: {\n \"_x\": null,\n \"set/_x\": null,\n \"_y\": null,\n \"set/_y\": null,\n \"vx\": null,\n \"set/vx\": null,\n \"vy\": null,\n \"set/vy\": null,\n \"lifespan\": null,\n \"set/lifespan\": null,\n \"next\": null,\n \"set/next\": null,\n \"data\": null,\n \"set/data\": null,\n \"color\": null,\n \"set/color\": null,\n },\n});\nconst scene_Scene__C923_VT = mkVTable({\n name: \"Scene\",\n numFields: 21,\n classNo: 31,\n lastSubtypeNo: 31,\n methods: {\n },\n iface: {\n \"eventContext\": null,\n \"set/eventContext\": null,\n \"background\": null,\n \"set/background\": null,\n \"tileMap\": null,\n \"set/tileMap\": null,\n \"allSprites\": null,\n \"set/allSprites\": null,\n \"spriteNextId\": null,\n \"set/spriteNextId\": null,\n \"spritesByKind\": null,\n \"set/spritesByKind\": null,\n \"physicsEngine\": null,\n \"set/physicsEngine\": null,\n \"camera\": null,\n \"set/camera\": null,\n \"flags\": null,\n \"set/flags\": null,\n \"destroyedHandlers\": null,\n \"set/destroyedHandlers\": null,\n \"createdHandlers\": null,\n \"set/createdHandlers\": null,\n \"overlapHandlers\": null,\n \"set/overlapHandlers\": null,\n \"overlapMap\": null,\n \"set/overlapMap\": null,\n \"collisionHandlers\": null,\n \"set/collisionHandlers\": null,\n \"gameForeverHandlers\": null,\n \"set/gameForeverHandlers\": null,\n \"particleSources\": null,\n \"set/particleSources\": null,\n \"controlledSprites\": null,\n \"set/controlledSprites\": null,\n \"followingSprites\": null,\n \"set/followingSprites\": null,\n \"_millis\": null,\n \"set/_millis\": null,\n \"_data\": null,\n \"set/_data\": null,\n \"cachedRender\": null,\n \"set/cachedRender\": null,\n \"init\": scene_Scene_init__P924,\n \"data\": scene_Scene_data__P925,\n \"millis\": scene_Scene_millis__P926,\n \"addSprite\": scene_Scene_addSprite__P927,\n \"destroy\": scene_Scene_destroy__P928,\n \"renderCore\": scene_Scene_renderCore__P930,\n },\n});\nconst effects_SceneAnchor__C1408_VT = mkVTable({\n name: \"SceneAnchor\",\n numFields: 1,\n classNo: 32,\n lastSubtypeNo: 32,\n methods: {\n },\n iface: {\n \"camera\": null,\n \"set/camera\": null,\n \"x\": effects_SceneAnchor_x__P1409,\n \"y\": effects_SceneAnchor_y__P1410,\n \"width\": effects_SceneAnchor_width__P1411,\n \"height\": effects_SceneAnchor_height__P1412,\n },\n});\nconst info_PlayerInfo__C823_VT = mkVTable({\n name: \"PlayerInfo\",\n numFields: 12,\n classNo: 33,\n lastSubtypeNo: 33,\n methods: {\n },\n iface: {\n \"_player\": null,\n \"set/_player\": null,\n \"bg\": null,\n \"set/bg\": null,\n \"border\": null,\n \"set/border\": null,\n \"fc\": null,\n \"set/fc\": null,\n \"showScore\": null,\n \"set/showScore\": null,\n \"showLife\": null,\n \"set/showLife\": null,\n \"visilibity\": null,\n \"set/visilibity\": null,\n \"showPlayer\": null,\n \"set/showPlayer\": null,\n \"x\": null,\n \"set/x\": null,\n \"y\": null,\n \"set/y\": null,\n \"left\": null,\n \"set/left\": null,\n \"up\": null,\n \"set/up\": null,\n \"init\": info_PlayerInfo_init__P824,\n \"getState\": info_PlayerInfo_getState__P825,\n \"id\": info_PlayerInfo_id__P826,\n \"score\": info_PlayerInfo_score__P827,\n \"setScore\": info_PlayerInfo_setScore__P828,\n \"changeScoreBy\": info_PlayerInfo_changeScoreBy__P829,\n \"hasScore\": info_PlayerInfo_hasScore__P830,\n \"hasLife\": info_PlayerInfo_hasLife__P834,\n \"raiseLifeZero\": info_PlayerInfo_raiseLifeZero__P836,\n \"drawPlayer\": info_PlayerInfo_drawPlayer__P837,\n \"drawScore\": info_PlayerInfo_drawScore__P838,\n \"drawLives\": info_PlayerInfo_drawLives__P839,\n },\n});\nconst info_PlayerState__C740_VT = mkVTable({\n name: \"PlayerState\",\n numFields: 3,\n classNo: 34,\n lastSubtypeNo: 34,\n methods: {\n },\n iface: {\n \"score\": null,\n \"set/score\": null,\n \"life\": null,\n \"set/life\": null,\n \"lifeZeroHandler\": null,\n \"set/lifeZeroHandler\": null,\n },\n});\nconst info_InfoState__C742_VT = mkVTable({\n name: \"InfoState\",\n numFields: 10,\n classNo: 35,\n lastSubtypeNo: 35,\n methods: {\n },\n iface: {\n \"playerStates\": null,\n \"set/playerStates\": null,\n \"visibilityFlag\": null,\n \"set/visibilityFlag\": null,\n \"gameEnd\": null,\n \"set/gameEnd\": null,\n \"heartImage\": null,\n \"set/heartImage\": null,\n \"multiplierImage\": null,\n \"set/multiplierImage\": null,\n \"bgColor\": null,\n \"set/bgColor\": null,\n \"borderColor\": null,\n \"set/borderColor\": null,\n \"fontColor\": null,\n \"set/fontColor\": null,\n \"countdownExpired\": null,\n \"set/countdownExpired\": null,\n \"countdownEndHandler\": null,\n \"set/countdownEndHandler\": null,\n },\n});\nconst music_Melody__C349_VT = mkVTable({\n name: \"Melody\",\n numFields: 2,\n classNo: 36,\n lastSubtypeNo: 36,\n methods: {\n },\n iface: {\n \"_text\": null,\n \"set/_text\": null,\n \"_player\": null,\n \"set/_player\": null,\n \"stop\": music_Melody_stop__P352,\n \"registerMelody\": music_Melody_registerMelody__P353,\n \"unregisterMelody\": music_Melody_unregisterMelody__P354,\n \"playCore\": music_Melody_playCore__P355,\n \"play\": music_Melody_play__P357,\n \"toString\": music_Melody_toString__P359,\n },\n toStringMethod: music_Melody_toString__P359,\n});\nconst game_BaseDialog__C952_VT = mkVTable({\n name: \"BaseDialog\",\n numFields: 11,\n classNo: 37,\n lastSubtypeNo: 38,\n methods: {\n \"update\": game_BaseDialog_update__P953,\n \"drawTextCore\": game_BaseDialog_drawTextCore__P955,\n },\n iface: {\n \"image\": null,\n \"set/image\": null,\n \"frame\": null,\n \"set/frame\": null,\n \"cursor\": null,\n \"set/cursor\": null,\n \"columns\": null,\n \"set/columns\": null,\n \"rows\": null,\n \"set/rows\": null,\n \"unit\": null,\n \"set/unit\": null,\n \"innerLeft\": null,\n \"set/innerLeft\": null,\n \"innerTop\": null,\n \"set/innerTop\": null,\n \"cursorCount\": null,\n \"set/cursorCount\": null,\n \"font\": null,\n \"set/font\": null,\n \"textColor\": null,\n \"set/textColor\": null,\n \"update\": game_BaseDialog_update__P953,\n \"drawTextCore\": game_BaseDialog_drawTextCore__P955,\n \"drawCursorRow\": game_BaseDialog_drawCursorRow__P956,\n \"drawBorder\": game_BaseDialog_drawBorder__P957,\n \"clearInterior\": game_BaseDialog_clearInterior__P958,\n \"drawPartial\": game_BaseDialog_drawPartial__P959,\n \"cursorRowHeight\": game_BaseDialog_cursorRowHeight__P960,\n \"textAreaWidth\": game_BaseDialog_textAreaWidth__P962,\n \"textAreaHeight\": game_BaseDialog_textAreaHeight__P963,\n },\n});\nconst game_GameOverDialog__C983_VT = mkVTable({\n name: \"GameOverDialog\",\n numFields: 16,\n classNo: 38,\n lastSubtypeNo: 38,\n methods: {\n \"update\": game_GameOverDialog_update__P986,\n \"drawTextCore\": game_GameOverDialog_drawTextCore__P987,\n },\n iface: {\n \"image\": null,\n \"set/image\": null,\n \"frame\": null,\n \"set/frame\": null,\n \"cursor\": null,\n \"set/cursor\": null,\n \"columns\": null,\n \"set/columns\": null,\n \"rows\": null,\n \"set/rows\": null,\n \"unit\": null,\n \"set/unit\": null,\n \"innerLeft\": null,\n \"set/innerLeft\": null,\n \"innerTop\": null,\n \"set/innerTop\": null,\n \"cursorCount\": null,\n \"set/cursorCount\": null,\n \"font\": null,\n \"set/font\": null,\n \"textColor\": null,\n \"set/textColor\": null,\n \"cursorOn\": null,\n \"set/cursorOn\": null,\n \"isNewHighScore\": null,\n \"set/isNewHighScore\": null,\n \"win\": null,\n \"set/win\": null,\n \"score\": null,\n \"set/score\": null,\n \"highScore\": null,\n \"set/highScore\": null,\n \"displayCursor\": game_GameOverDialog_displayCursor__P985,\n \"update\": game_GameOverDialog_update__P986,\n \"drawTextCore\": game_GameOverDialog_drawTextCore__P987,\n \"drawCursorRow\": game_BaseDialog_drawCursorRow__P956,\n \"drawBorder\": game_BaseDialog_drawBorder__P957,\n \"clearInterior\": game_BaseDialog_clearInterior__P958,\n \"drawPartial\": game_BaseDialog_drawPartial__P959,\n \"cursorRowHeight\": game_BaseDialog_cursorRowHeight__P960,\n \"textAreaWidth\": game_BaseDialog_textAreaWidth__P962,\n \"textAreaHeight\": game_BaseDialog_textAreaHeight__P963,\n },\n});\nconst control_EventContext__C220_VT = mkVTable({\n name: \"EventContext\",\n numFields: 8,\n classNo: 39,\n lastSubtypeNo: 39,\n methods: {\n },\n iface: {\n \"handlers\": null,\n \"set/handlers\": null,\n \"frameCallbacks\": null,\n \"set/frameCallbacks\": null,\n \"frameWorker\": null,\n \"set/frameWorker\": null,\n \"framesInSample\": null,\n \"set/framesInSample\": null,\n \"timeInSample\": null,\n \"set/timeInSample\": null,\n \"deltaTimeMillis\": null,\n \"set/deltaTimeMillis\": null,\n \"prevTimeMillis\": null,\n \"set/prevTimeMillis\": null,\n \"idleCallbacks\": null,\n \"set/idleCallbacks\": null,\n \"deltaTime\": control_EventContext_deltaTime__P221,\n \"runCallbacks\": control_EventContext_runCallbacks__P222,\n \"registerFrameCallbacks\": control_EventContext_registerFrameCallbacks__P223,\n \"register\": control_EventContext_register__P224,\n \"unregister\": control_EventContext_unregister__P225,\n \"registerFrameHandler\": control_EventContext_registerFrameHandler__P226,\n \"registerHandler\": control_EventContext_registerHandler__P227,\n },\n});\nconst control_EventHandler__C215_VT = mkVTable({\n name: \"EventHandler\",\n numFields: 4,\n classNo: 40,\n lastSubtypeNo: 40,\n methods: {\n },\n iface: {\n \"src\": null,\n \"set/src\": null,\n \"value\": null,\n \"set/value\": null,\n \"handler\": null,\n \"set/handler\": null,\n \"flags\": null,\n \"set/flags\": null,\n \"register\": control_EventHandler_register__P216,\n \"unregister\": control_EventHandler_unregister__P217,\n },\n});\nconst effects_ImageEffect__C1438_VT = mkVTable({\n name: \"ImageEffect\",\n numFields: 4,\n classNo: 41,\n lastSubtypeNo: 41,\n methods: {\n },\n iface: {\n \"preferredDelay\": null,\n \"set/preferredDelay\": null,\n \"effect\": null,\n \"set/effect\": null,\n \"fastRandom\": null,\n \"set/fastRandom\": null,\n \"times\": null,\n \"set/times\": null,\n \"applyTo\": effects_ImageEffect_applyTo__P1439,\n \"change\": effects_ImageEffect_change__P1440,\n \"startScreenEffect\": effects_ImageEffect_startScreenEffect__P1441,\n },\n});\nconst PhysicsEngine__C708_VT = mkVTable({\n name: \"PhysicsEngine\",\n numFields: 0,\n classNo: 42,\n lastSubtypeNo: 43,\n methods: {\n \"addSprite\": PhysicsEngine_addSprite__P709,\n \"removeSprite\": PhysicsEngine_removeSprite__P710,\n \"moveSprite\": PhysicsEngine_moveSprite__P711,\n \"draw\": PhysicsEngine_draw__P712,\n \"move\": PhysicsEngine_move__P713,\n },\n iface: {\n \"addSprite\": PhysicsEngine_addSprite__P709,\n \"removeSprite\": PhysicsEngine_removeSprite__P710,\n \"moveSprite\": PhysicsEngine_moveSprite__P711,\n \"draw\": PhysicsEngine_draw__P712,\n \"move\": PhysicsEngine_move__P713,\n },\n});\nconst ArcadePhysicsEngine__C727_VT = mkVTable({\n name: \"ArcadePhysicsEngine\",\n numFields: 6,\n classNo: 43,\n lastSubtypeNo: 43,\n methods: {\n \"addSprite\": ArcadePhysicsEngine_addSprite__P729,\n \"removeSprite\": ArcadePhysicsEngine_removeSprite__P730,\n \"moveSprite\": ArcadePhysicsEngine_moveSprite__P737,\n \"draw\": ArcadePhysicsEngine_draw__P731,\n \"move\": ArcadePhysicsEngine_move__P732,\n },\n iface: {\n \"sprites\": null,\n \"set/sprites\": null,\n \"map\": null,\n \"set/map\": null,\n \"maxVelocity\": null,\n \"set/maxVelocity\": null,\n \"maxNegativeVelocity\": null,\n \"set/maxNegativeVelocity\": null,\n \"minSingleStep\": null,\n \"set/minSingleStep\": null,\n \"maxSingleStep\": null,\n \"set/maxSingleStep\": null,\n \"addSprite\": ArcadePhysicsEngine_addSprite__P729,\n \"removeSprite\": ArcadePhysicsEngine_removeSprite__P730,\n \"draw\": ArcadePhysicsEngine_draw__P731,\n \"move\": ArcadePhysicsEngine_move__P732,\n \"createMovingSprite\": ArcadePhysicsEngine_createMovingSprite__P733,\n \"spriteCollisions\": ArcadePhysicsEngine_spriteCollisions__P734,\n \"tilemapCollisions\": ArcadePhysicsEngine_tilemapCollisions__P735,\n \"moveSprite\": ArcadePhysicsEngine_moveSprite__P737,\n \"constrain\": ArcadePhysicsEngine_constrain__P738,\n },\n});\nconst scene_Background__C846_VT = mkVTable({\n name: \"Background\",\n numFields: 4,\n classNo: 44,\n lastSubtypeNo: 44,\n methods: {\n },\n iface: {\n \"color\": null,\n \"set/color\": null,\n \"_image\": null,\n \"set/_image\": null,\n \"camera\": null,\n \"set/camera\": null,\n \"_layers\": null,\n \"set/_layers\": null,\n \"image\": scene_Background_image__P848,\n \"set/image\": scene_Background_image__P849,\n \"hasBackgroundImage\": scene_Background_hasBackgroundImage__P850,\n \"draw\": scene_Background_draw__P851,\n },\n});\nconst scene_Camera__C886_VT = mkVTable({\n name: \"Camera\",\n numFields: 8,\n classNo: 45,\n lastSubtypeNo: 45,\n methods: {\n },\n iface: {\n \"offsetX\": null,\n \"set/offsetX\": null,\n \"offsetY\": null,\n \"set/offsetY\": null,\n \"drawOffsetX\": null,\n \"set/drawOffsetX\": null,\n \"drawOffsetY\": null,\n \"set/drawOffsetY\": null,\n \"sprite\": null,\n \"set/sprite\": null,\n \"shakeStartTime\": null,\n \"set/shakeStartTime\": null,\n \"shakeDuration\": null,\n \"set/shakeDuration\": null,\n \"shakeAmplitude\": null,\n \"set/shakeAmplitude\": null,\n \"update\": scene_Camera_update__P888,\n },\n});\nconst sprites_SpriteMap__C659_VT = mkVTable({\n name: \"SpriteMap\",\n numFields: 5,\n classNo: 46,\n lastSubtypeNo: 46,\n methods: {\n },\n iface: {\n \"cellWidth\": null,\n \"set/cellWidth\": null,\n \"cellHeight\": null,\n \"set/cellHeight\": null,\n \"rowCount\": null,\n \"set/rowCount\": null,\n \"columnCount\": null,\n \"set/columnCount\": null,\n \"buckets\": null,\n \"set/buckets\": null,\n \"neighbors\": sprites_SpriteMap_neighbors__P660,\n \"overlaps\": sprites_SpriteMap_overlaps__P661,\n \"draw\": sprites_SpriteMap_draw__P662,\n \"resizeBuckets\": sprites_SpriteMap_resizeBuckets__P663,\n \"clear\": sprites_SpriteMap_clear__P664,\n \"key\": sprites_SpriteMap_key__P665,\n \"insertAtKey\": sprites_SpriteMap_insertAtKey__P666,\n \"isOob\": sprites_SpriteMap_isOob__P667,\n \"insertAABB\": sprites_SpriteMap_insertAABB__P668,\n \"mergeAtKey\": sprites_SpriteMap_mergeAtKey__P669,\n \"toString\": sprites_SpriteMap_toString__P670,\n },\n toStringMethod: sprites_SpriteMap_toString__P670,\n});\nconst scene_BackgroundLayer__C853_VT = mkVTable({\n name: \"BackgroundLayer\",\n numFields: 6,\n classNo: 47,\n lastSubtypeNo: 47,\n methods: {\n },\n iface: {\n \"distance\": null,\n \"set/distance\": null,\n \"img\": null,\n \"set/img\": null,\n \"repeatX\": null,\n \"set/repeatX\": null,\n \"repeatY\": null,\n \"set/repeatY\": null,\n \"alignX\": null,\n \"set/alignX\": null,\n \"alignY\": null,\n \"set/alignY\": null,\n \"draw\": scene_BackgroundLayer_draw__P854,\n },\n});\nconst tiles_TileMap__C865_VT = mkVTable({\n name: \"TileMap\",\n numFields: 4,\n classNo: 48,\n lastSubtypeNo: 48,\n methods: {\n },\n iface: {\n \"scale\": null,\n \"set/scale\": null,\n \"_layer\": null,\n \"set/_layer\": null,\n \"_map\": null,\n \"set/_map\": null,\n \"_tileSets\": null,\n \"set/_tileSets\": null,\n \"offsetX\": tiles_TileMap_offsetX__P867,\n \"offsetY\": tiles_TileMap_offsetY__P868,\n \"areaWidth\": tiles_TileMap_areaWidth__P869,\n \"areaHeight\": tiles_TileMap_areaHeight__P870,\n \"layer\": tiles_TileMap_layer__P871,\n \"enabled\": tiles_TileMap_enabled__P873,\n \"generateTile\": tiles_TileMap_generateTile__P879,\n \"isOutsideMap\": tiles_TileMap_isOutsideMap__P880,\n \"draw\": tiles_TileMap_draw__P882,\n \"isObstacle\": tiles_TileMap_isObstacle__P883,\n \"getObstacle\": tiles_TileMap_getObstacle__P884,\n },\n});\nconst controller_Controller__C557_VT = mkVTable({\n name: \"Controller\",\n numFields: 4,\n classNo: 49,\n lastSubtypeNo: 49,\n methods: {\n },\n iface: {\n \"playerIndex\": null,\n \"set/playerIndex\": null,\n \"buttons\": null,\n \"set/buttons\": null,\n \"_id\": null,\n \"set/_id\": null,\n \"_connected\": null,\n \"set/_connected\": null,\n \"_controlledSprites\": controller_Controller__controlledSprites__P558,\n \"set/_controlledSprites\": controller_Controller__controlledSprites__P559,\n \"id\": controller_Controller_id__P560,\n \"left\": controller_Controller_left__P562,\n \"right\": controller_Controller_right__P563,\n \"up\": controller_Controller_up__P564,\n \"down\": controller_Controller_down__P565,\n \"button\": controller_Controller_button__P570,\n \"connected\": controller_Controller_connected__P573,\n \"set/connected\": controller_Controller_connected__P574,\n \"__preUpdate\": controller_Controller___preUpdate__P578,\n \"__update\": controller_Controller___update__P579,\n },\n});\nconst control_FrameCallback__C214_VT = mkVTable({\n name: \"FrameCallback\",\n numFields: 2,\n classNo: 50,\n lastSubtypeNo: 50,\n methods: {\n },\n iface: {\n \"order\": null,\n \"set/order\": null,\n \"handler\": null,\n \"set/handler\": null,\n },\n});\nconst music_MelodyPlayer__C363_VT = mkVTable({\n name: \"MelodyPlayer\",\n numFields: 2,\n classNo: 51,\n lastSubtypeNo: 51,\n methods: {\n },\n iface: {\n \"melody\": null,\n \"set/melody\": null,\n \"onPlayFinished\": null,\n \"set/onPlayFinished\": null,\n \"stop\": music_MelodyPlayer_stop__P364,\n \"play\": music_MelodyPlayer_play__P365,\n },\n});\nconst scene_Renderable__C890_VT = mkVTable({\n name: \"Renderable\",\n numFields: 4,\n classNo: 22,\n lastSubtypeNo: 22,\n methods: {\n \"__visible\": scene_Renderable___visible__P892,\n \"__draw\": sprites_BaseSprite___draw__P512,\n \"__drawCore\": scene_Renderable___drawCore__P893,\n \"__update\": sprites_BaseSprite___update__P514,\n },\n iface: {\n \"_z\": null,\n \"set/_z\": null,\n \"id\": null,\n \"set/id\": null,\n \"handler\": null,\n \"set/handler\": null,\n \"shouldBeVisible\": null,\n \"set/shouldBeVisible\": null,\n \"__visible\": scene_Renderable___visible__P892,\n \"__drawCore\": scene_Renderable___drawCore__P893,\n \"z\": sprites_BaseSprite_z__P510,\n \"set/z\": sprites_BaseSprite_z__P511,\n \"__draw\": sprites_BaseSprite___draw__P512,\n \"__update\": sprites_BaseSprite___update__P514,\n },\n});\nconst SpriteSet__C676_VT = mkVTable({\n name: \"SpriteSet\",\n numFields: 1,\n classNo: 52,\n lastSubtypeNo: 52,\n methods: {\n },\n iface: {\n \"_sprites\": null,\n \"set/_sprites\": null,\n \"length\": SpriteSet_length__P678,\n \"add\": SpriteSet_add__P680,\n \"remove\": SpriteSet_remove__P682,\n \"contains\": SpriteSet_contains__P683,\n \"toString\": SpriteSet_toString__P686,\n },\n toStringMethod: SpriteSet_toString__P686,\n});\nconst scene_GameForeverHandler__C902_VT = mkVTable({\n name: \"GameForeverHandler\",\n numFields: 2,\n classNo: 53,\n lastSubtypeNo: 53,\n methods: {\n },\n iface: {\n \"lock\": null,\n \"set/lock\": null,\n \"handler\": null,\n \"set/handler\": null,\n },\n});\nconst animation_SpriteAnimation__C1541_VT = mkVTable({\n name: \"SpriteAnimation\",\n numFields: 3,\n classNo: 54,\n lastSubtypeNo: 56,\n methods: {\n \"update\": animation_SpriteAnimation_update__P1543,\n },\n iface: {\n \"startedAt\": null,\n \"set/startedAt\": null,\n \"sprite\": null,\n \"set/sprite\": null,\n \"loop\": null,\n \"set/loop\": null,\n \"init\": animation_SpriteAnimation_init__P1542,\n \"update\": animation_SpriteAnimation_update__P1543,\n },\n});\nconst animation_ImageAnimation__C1545_VT = mkVTable({\n name: \"ImageAnimation\",\n numFields: 6,\n classNo: 55,\n lastSubtypeNo: 55,\n methods: {\n \"update\": animation_ImageAnimation_update__P1547,\n },\n iface: {\n \"startedAt\": null,\n \"set/startedAt\": null,\n \"sprite\": null,\n \"set/sprite\": null,\n \"loop\": null,\n \"set/loop\": null,\n \"lastFrame\": null,\n \"set/lastFrame\": null,\n \"frames\": null,\n \"set/frames\": null,\n \"frameInterval\": null,\n \"set/frameInterval\": null,\n \"update\": animation_ImageAnimation_update__P1547,\n \"init\": animation_SpriteAnimation_init__P1542,\n },\n});\nconst animation_MovementAnimation__C1549_VT = mkVTable({\n name: \"MovementAnimation\",\n numFields: 5,\n classNo: 56,\n lastSubtypeNo: 56,\n methods: {\n \"update\": animation_MovementAnimation_update__P1551,\n },\n iface: {\n \"startedAt\": null,\n \"set/startedAt\": null,\n \"sprite\": null,\n \"set/sprite\": null,\n \"loop\": null,\n \"set/loop\": null,\n \"path\": null,\n \"set/path\": null,\n \"nodeInterval\": null,\n \"set/nodeInterval\": null,\n \"update\": animation_MovementAnimation_update__P1551,\n \"init\": animation_SpriteAnimation_init__P1542,\n },\n});\nconst game_Hitbox__C593_VT = mkVTable({\n name: \"Hitbox\",\n numFields: 5,\n classNo: 57,\n lastSubtypeNo: 57,\n methods: {\n },\n iface: {\n \"parent\": null,\n \"set/parent\": null,\n \"ox\": null,\n \"set/ox\": null,\n \"oy\": null,\n \"set/oy\": null,\n \"width\": null,\n \"set/width\": null,\n \"height\": null,\n \"set/height\": null,\n \"left\": game_Hitbox_left__P594,\n \"top\": game_Hitbox_top__P595,\n \"right\": game_Hitbox_right__P596,\n \"bottom\": game_Hitbox_bottom__P597,\n },\n});\nconst scene_OverlapHandler__C900_VT = mkVTable({\n name: \"OverlapHandler\",\n numFields: 3,\n classNo: 58,\n lastSubtypeNo: 58,\n methods: {\n },\n iface: {\n \"kind\": null,\n \"set/kind\": null,\n \"otherKind\": null,\n \"set/otherKind\": null,\n \"handler\": null,\n \"set/handler\": null,\n },\n});\nconst scene_systemMenu_PauseMenu__C1176_VT = mkVTable({\n name: \"PauseMenu\",\n numFields: 7,\n classNo: 59,\n lastSubtypeNo: 59,\n methods: {\n },\n iface: {\n \"options\": null,\n \"set/options\": null,\n \"theme\": null,\n \"set/theme\": null,\n \"selection\": null,\n \"set/selection\": null,\n \"scrollRow\": null,\n \"set/scrollRow\": null,\n \"scrollTarget\": null,\n \"set/scrollTarget\": null,\n \"scrollOffset\": null,\n \"set/scrollOffset\": null,\n \"generator\": null,\n \"set/generator\": null,\n \"show\": scene_systemMenu_PauseMenu_show__P1177,\n \"onUpdate\": scene_systemMenu_PauseMenu_onUpdate__P1178,\n \"setSelection\": scene_systemMenu_PauseMenu_setSelection__P1179,\n \"drawText\": scene_systemMenu_PauseMenu_drawText__P1180,\n \"dispose\": scene_systemMenu_PauseMenu_dispose__P1181,\n \"updateScrollTarget\": scene_systemMenu_PauseMenu_updateScrollTarget__P1182,\n },\n});\nconst scene_systemMenu_MenuOption__C1167_VT = mkVTable({\n name: \"MenuOption\",\n numFields: 8,\n classNo: 60,\n lastSubtypeNo: 60,\n methods: {\n },\n iface: {\n \"card\": null,\n \"set/card\": null,\n \"icon\": null,\n \"set/icon\": null,\n \"top\": null,\n \"set/top\": null,\n \"state\": null,\n \"set/state\": null,\n \"theme\": null,\n \"set/theme\": null,\n \"iconImage\": null,\n \"set/iconImage\": null,\n \"getText\": null,\n \"set/getText\": null,\n \"action\": null,\n \"set/action\": null,\n \"show\": scene_systemMenu_MenuOption_show__P1168,\n \"position\": scene_systemMenu_MenuOption_position__P1169,\n \"setOffset\": scene_systemMenu_MenuOption_setOffset__P1170,\n \"setTheme\": scene_systemMenu_MenuOption_setTheme__P1171,\n \"setState\": scene_systemMenu_MenuOption_setState__P1172,\n \"dispose\": scene_systemMenu_MenuOption_dispose__P1173,\n \"updateCard\": scene_systemMenu_MenuOption_updateCard__P1174,\n },\n});\nconst animation_Path__C1506_VT = mkVTable({\n name: \"Path\",\n numFields: 2,\n classNo: 61,\n lastSubtypeNo: 61,\n methods: {\n },\n iface: {\n \"nodes\": null,\n \"set/nodes\": null,\n \"lastNode\": null,\n \"set/lastNode\": null,\n \"run\": animation_Path_run__P1512,\n },\n});\nconst animation_PathNode__C1514_VT = mkVTable({\n name: \"PathNode\",\n numFields: 1,\n classNo: 62,\n lastSubtypeNo: 62,\n methods: {\n \"apply\": animation_PathNode_apply__P1515,\n },\n iface: {\n \"setStart\": null,\n \"set/setStart\": null,\n \"apply\": animation_PathNode_apply__P1515,\n },\n});\nconst tiles_TileSet__C856_VT = mkVTable({\n name: \"TileSet\",\n numFields: 4,\n classNo: 63,\n lastSubtypeNo: 63,\n methods: {\n },\n iface: {\n \"obstacle\": null,\n \"set/obstacle\": null,\n \"map\": null,\n \"set/map\": null,\n \"originalImage\": null,\n \"set/originalImage\": null,\n \"cachedImage\": null,\n \"set/cachedImage\": null,\n \"image\": tiles_TileSet_image__P857,\n },\n});\nconst MovingSprite__C725_VT = mkVTable({\n name: \"MovingSprite\",\n numFields: 7,\n classNo: 64,\n lastSubtypeNo: 64,\n methods: {\n },\n iface: {\n \"sprite\": null,\n \"set/sprite\": null,\n \"cachedVx\": null,\n \"set/cachedVx\": null,\n \"cachedVy\": null,\n \"set/cachedVy\": null,\n \"dx\": null,\n \"set/dx\": null,\n \"dy\": null,\n \"set/dy\": null,\n \"xStep\": null,\n \"set/xStep\": null,\n \"yStep\": null,\n \"set/yStep\": null,\n },\n});\nconst sprites_StaticObstacle__C700_VT = mkVTable({\n name: \"StaticObstacle\",\n numFields: 5,\n classNo: 65,\n lastSubtypeNo: 65,\n methods: {\n },\n iface: {\n \"layer\": null,\n \"set/layer\": null,\n \"image\": null,\n \"set/image\": null,\n \"tileIndex\": null,\n \"set/tileIndex\": null,\n \"top\": null,\n \"set/top\": null,\n \"left\": null,\n \"set/left\": null,\n \"x\": sprites_StaticObstacle_x__P701,\n \"y\": sprites_StaticObstacle_y__P702,\n \"height\": sprites_StaticObstacle_height__P703,\n \"width\": sprites_StaticObstacle_width__P704,\n },\n});\n\nconst breakpoints = setupDebugger(1, [\"Obstacle___22731\",\"bunny___22740\",\"gravity___22747\",\"bird___22772\",\"difficultyFactor___22764\",\"osbstacleSpeed___22763\",\"numObstacles___22762\",\"newObstacle___22761\",\"obstacles___22770\",\"projectile___22760\",\"grass___22759\",\"grassImages___22768\",\"over___22733\",\"tree___22766\",\"trees___22769\",\"cloud___22765\",\"clouds___22767\",\"birdFrames___22771\"])\n\nreturn _main___P22728\n})\n\n`","export const bunny_hop_main_ts: string = `\nnamespace SpriteKind {\n export const Obstacle = SpriteKind.create()\n}\ncontroller.anyButton.onEvent(ControllerButtonEvent.Pressed, function () {\n if (bunny.ay == 0) {\n bunny.vy = -160\n bunny.ay = gravity\n }\n})\nfunction setupFrames () {\n birdFrames = [img\\`\n . . . . . . . . . . . .\n . . . . . 1 1 1 1 . . .\n . . . . 1 1 1 1 . . . .\n . . . . 1 1 1 . . . . .\n . . . . 1 1 1 . . . . .\n . . . . 1 1 1 . . . . .\n . . 1 1 1 1 1 1 . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n \\`, img\\`\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . 1 1 1 1 1 1 . .\n . . . 1 1 1 1 1 . . . .\n . . . 1 1 1 1 . . . . .\n . . 1 1 1 1 1 1 . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n \\`, img\\`\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . 1 1 1 1 . . . . .\n . . 1 1 1 1 1 1 . . . .\n . . . 1 1 1 1 1 1 1 1 .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n \\`, img\\`\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . 1 1 1 1 1 1 . . . .\n . . . 1 1 1 1 . . . . .\n . . . 1 1 1 1 1 1 . . .\n . . . . 1 1 1 1 1 1 1 .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n \\`, img\\`\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . 1 1 1 1 1 1 . . . .\n . . . 1 1 1 1 . . . . .\n . . . 1 1 1 1 . . . . .\n . . . . 1 1 1 1 1 . . .\n . . . . . 1 1 1 1 1 . .\n . . . . . . . . . . . .\n \\`, img\\`\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . 1 1 1 1 1 1 . . . .\n . . . 1 1 1 1 . . . . .\n . . . 1 1 1 1 . . . . .\n . . . . 1 1 1 1 1 . . .\n . . . . . 1 1 1 1 1 . .\n . . . . . . . . . . . .\n \\`, img\\`\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . 1 1 1 1 1 1 . . . .\n . . . 1 1 1 1 . . . . .\n . . . 1 1 1 1 1 1 . . .\n . . . . 1 1 1 1 1 1 1 .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n \\`, img\\`\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . 1 1 1 1 . . . . .\n . . 1 1 1 1 1 1 . . . .\n . . . 1 1 1 1 1 1 1 1 .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n \\`, img\\`\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . 1 1 1 1 1 1 . .\n . . . 1 1 1 1 1 . . . .\n . . . 1 1 1 1 . . . . .\n . . 1 1 1 1 1 1 . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n \\`, img\\`\n . . . . . . . . . . . .\n . . . . . 1 1 1 1 . . .\n . . . . 1 1 1 1 . . . .\n . . . . 1 1 1 . . . . .\n . . . . 1 1 1 . . . . .\n . . . . 1 1 1 . . . . .\n . . 1 1 1 1 1 1 . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n \\`]\n animation.runImageAnimation(\n bird,\n birdFrames,\n 40,\n true\n )\n obstacles = [img\\`\n . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . 7 . . . . . . . . . . .\n . . . . . . . . . . 7 7 . . . . . . . . . .\n . . . . . . . . . 6 7 7 . . . . . . . . . .\n . . . . . . . . 6 6 7 7 7 . . . . . . . . .\n . . . . . . . . 6 6 7 7 7 . . . . . . . . .\n . . . . . . . . 6 6 7 7 7 7 . . . . . . . .\n . . . . . . . 6 6 7 7 7 7 7 . . . . . . . .\n . . . . . . 6 6 6 7 7 7 7 7 . . . . . . . .\n . . . . . . . . 6 6 6 6 6 . . . . . . . . .\n . . . . . . . . 6 6 6 6 . . . . . . . . . .\n . . . . . . . 6 6 6 6 6 7 7 . . . . . . . .\n . . . . . . 6 6 6 7 7 7 7 7 7 . . . . . . .\n . . . . . . 6 6 6 7 7 7 7 7 7 7 . . . . . .\n . . . . . . 6 6 7 7 7 7 7 7 7 7 7 . . . . .\n . . 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 . . .\n . . . 6 6 6 6 6 7 7 7 7 7 6 6 6 6 6 . . . .\n . . . . . . . . 6 6 6 6 7 7 . . . . . . . .\n . . . . . . . . 6 6 6 7 7 7 . . . . . . . .\n . . . . . . 6 6 7 7 7 7 7 7 7 . . . . . . .\n . . . 6 6 6 7 7 7 7 7 7 7 7 7 7 7 . . . . .\n 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 . . . .\n 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 6\n . . . 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 6 .\n . . . . . 6 6 6 6 e e e e 7 7 7 7 7 6 6 6 .\n . . . . . . . . . e e e e . . . . . . . . .\n . . . . . . . . . e e e e . . . . . . . . .\n . . . . . . . . . e e e e . . . . . . . . .\n . . . . . . . 6 . e e e e . . 6 . . . . . .\n . . . 6 6 6 . . . e e e e . 6 . . . . . . .\n . . . 6 . 6 . . . e e e e . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . .\n \\`, img\\`\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . e e e e e . . . . .\n . . . . e e b b b e e . . . .\n . . . e e b e e e b e e . . .\n . . . e e b e e b b e e . . .\n . . . . e e b b e e e . . . .\n . . . e b e e e e b b e . . .\n . . . e e b b b b e e e . . e\n . . . e e e e e e e e . . e .\n . . . e b e e b e b e . e . e\n . . . e b e e e e b e e . . .\n . . . e e e b e e e e . . . .\n . . e e b e b e b e e e . . .\n . e e e e e e e e e e e e . .\n . . . . . . e e . . . . . . .\n \\`]\n trees = [img\\`\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . b b b b b b b b . . . . . . . . . . . . .\n . . . . . . . . . . . . . . b b . . b b b b b b . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b . . b b b . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . b b b b b . b b . . . . . . . . . . . . .\n . . . . . . . . . . . . . . b b b b b b b b b b . . . . . . . . . . . .\n . . . . . . . . . . . . b b b b . b b b b b b b . . . . . . . . . . . .\n . . . . . . . . . . b b b b b . . b b b b b . b b b b . . . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b b . . . b b b . . . . . . . .\n . . . . . . . . . . . . . . . b b b b b b b b . . . . . . . . . . . . .\n . . . . . . . . . . . . . . b b b b b b . b b . . . . . . . . . . . . .\n . . . . . . . . . . . b b b b b b b b b b b b b . . . . . . . . . . . .\n . . . . . . . . . b b b b b b . . b b b b . b b b . . . . . . . . . . .\n . . . . . . . . . . b b b b b . . b b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b b b . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . b b b b b b b b b . . . . . . . . . . . .\n . . . . . . . . . . . . . b b b b b b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . b b b b b b b b b b b b b b b b b . . . . . . . .\n . . . . . . . . . . b b b b b b b b b b b b b b b b b . . . . . . . . .\n . . . . . . . . . b b b b . b b b b b b b b . . . . . . . . . . . . . .\n . . . . . . . . b b . . . . b b b b b b b b b . . . . . . . . . . . . .\n . . . . . . . . . . . . b b b b b b b b b b b b b . . . . . . . . . . .\n . . . . . . . . b b b b b b b b b b b b b b b b b b b b . . . . . . . .\n . . . . . . . b b b b b b b b b b b b b b b b b b b b b b b . . . . . .\n . . . . . . b b b b b b b b . . . b b b b b b b b b . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n \\`, img\\`\n . . . . . . . . . . . . . . . . . . . b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b b b . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . b b b b . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b b b b . . . . . . . . . . . .\n . . . . . . . . . . . . . . . b b b . b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . b b b b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b b b b . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b . b b b b . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b b b . . . . . . . . . . . . .\n . . . . . . . . . . . . . b b b b b b b . b b b b . . . . . . . . . . .\n . . . . . . . . . . . . b b b b b . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . b b b b b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . . . b b b b b b b b b b . . . . . . . . . . . . .\n . . . . . . . . . . . . b b b . . b b b b b b b b . . . . . . . . . . .\n . . . . . . . . . . . b b b b . b b b b b b b b . b . . . . . . . . . .\n . . . . . . . . . . . . b . . . b b b b b b b b b . . . . . . . . . . .\n . . . . . . . . . . . . . . . b b b b b b b b b b b . . . . . . . . . .\n . . . . . . . . . . . . . . b b b b b b b . b b b b . . . . . . . . . .\n . . . . . . . . . . . . . b b b b b b b b b b b b b b b . . . . . . . .\n . . . . . . . . . . . b b b b . b b b b b b b . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . b b b b b b . b b . . . . . . . . . . . .\n . . . . . . . . . . . . . b b b b b b b b b b b b . . . . . . . . . . .\n . . . . . . . . . . . . b b b b b b b b b b b b b b . . . . . . . . . .\n . . . . . . . . . . . . b b b b b b b b b b . . b b b . . . . . . . . .\n . . . . . . . . . b b b b b b b b b b b b b b . . b b b b . . . . . . .\n . . . . . . . . b b . . . b b b b b b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . b b b b b b b b b b b . . . . . . . . . . .\n . . . . . . . . . . . . b b b b . b b b b b b b b . . . . . . . . . . .\n . . . . . . . . b b b b . b . . . b b b b b b b . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b . . b b b b . . . . . . . . .\n . . . . . . . . . . . . . b b b b b . b b b b b b b b . . . . . . . . .\n . . . . . . . . . b b b b b b . . b b b b . . b b b b b . . . . . . . .\n . . . . . . . . b b . b . . . . b b b b b . . . . . b b b . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n \\`, img\\`\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . b b b b b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b b b . . . . . . . . . . . . .\n . . . . . . . . . . . . . . b b b b b b b b b b . . . . . . . . . . . .\n . . . . . . . . . . . . b b b b . . b b b b b b b . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . b b b b b b b b . . . . . . . . . . . . .\n . . . . . . . . . . . . b b b b b b b b b b b b b . . . . . . . . . . .\n . . . . . . . . b b b b b b b b b b b b b b b b b b b b . . . . . . . .\n . . . . . . . . . . . b b b b b b b b b b b b b b b b . . . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b b b . b . . . . . . . . . . .\n . . . . . . . . . . . . . . b b b b b b b b b b b b b b b b . . . . . .\n . . . . . . . . . . . b b b b b b b b b b b b b b b b b b . . . . . . .\n . . . . . . . . b b b b b b b b b b b b b b b b b b b . . . . . . . . .\n . . . . . . . . . . b b b b b . . . b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b . b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b . b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n \\`]\n grassImages = [img\\`\n . . . . . . . .\n . . . . . . . .\n . . . . . . . .\n . . . . . . . .\n . . . . b . . .\n . . . . b . . .\n . . . b b . . .\n . . . b b . . .\n \\`, img\\`\n . . . . . . . .\n . . . . . . . .\n . . . . . . . .\n . . . . . . . .\n . . . b . . . .\n . . . b . . . .\n . . . b b . b .\n . . . b b . b .\n \\`, img\\`\n . . . . . . . .\n . . . . . . . .\n b . . . . . . .\n b . . b . . . .\n b . . b b . . .\n b . b b b . . .\n b . b b b . b .\n b b b b b . b .\n \\`, img\\`\n . . . . . . . .\n . . . . . . . .\n . . . . . . . .\n . . . . . . . b\n . . . b . . . b\n . . . b . . . b\n . . . b b . b b\n . . . b b . b b\n \\`, img\\`\n . . . . . . . .\n . . . . . . . .\n . . . b . . . .\n . . . b . . . .\n . . b b . . . .\n . . b b b . . .\n . . b b b . . .\n . . b b b . . .\n \\`, img\\`\n . . . . . . . .\n . . . . . . . .\n . . . . . . . .\n . b . . . . . .\n . b . . . . . .\n . b b . . . b .\n . b b . . . b .\n . b b . . . b .\n \\`]\n clouds = [img\\`\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . .\n . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . .\n . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . .\n . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . .\n . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . .\n . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . .\n . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . .\n . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . .\n . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . .\n . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . .\n . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . .\n . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 .\n . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 .\n . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 .\n . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . .\n \\`, img\\`\n . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 1 1 1 . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . .\n . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . .\n . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . .\n . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . .\n . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . .\n . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . .\n . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . .\n . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . .\n . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . .\n . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . .\n . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 .\n . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 .\n . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 .\n 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 . .\n \\`, img\\`\n . . . . . . . . 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . . .\n . . . . . . . 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . .\n . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . .\n . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . .\n . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . .\n . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . .\n . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . .\n . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . .\n 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . .\n 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . .\n . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . .\n . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 .\n . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n \\`, img\\`\n . . . . . . . . . . . . . . . . . . . 1 1 1 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . 1 1 1 1 1 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . 1 1 1 1 1 . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . . . . .\n . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . . .\n . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . .\n . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . .\n . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . .\n . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . .\n . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . .\n . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . .\n . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . .\n . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . .\n . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . .\n . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . .\n 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 .\n 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 .\n 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 .\n . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . 1 1 1 1 1 1 1 1 . . . . . . .\n \\`, img\\`\n . . . . . . . . . . . . . . . . . . . . . . . . 1 1 1 1 . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . 1 1 1 1 . . 1 1 1 1 1 1 . . . . . . . . . .\n . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . .\n . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . .\n . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . .\n . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . .\n . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . .\n . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . .\n . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . .\n . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . .\n . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 .\n . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 .\n . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 .\n 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . .\n 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . . . . . . .\n \\`]\n}\nfunction createTree () {\n tree = sprites.createProjectileFromSide(trees[Math.randomRange(0, trees.length - 1)], (-100 - game.runtime() / 250) / 2, 0)\n tree.bottom = 100\n tree.z = -1\n}\nfunction createCloud () {\n cloud = sprites.createProjectileFromSide(clouds[Math.randomRange(0, clouds.length - 1)], -30, 0)\n cloud.bottom = Math.randomRange(30, 55)\n cloud.z = -2\n}\nsprites.onOverlap(SpriteKind.Player, SpriteKind.Obstacle, function (sprite, otherSprite) {\n game.over(false, effects.melt)\n})\nlet grass: Sprite = null\nlet projectile: Sprite = null\nlet newObstacle: Image = null\nlet numObstacles = 0\nlet osbstacleSpeed = 0\nlet difficultyFactor = 0\nlet cloud: Sprite = null\nlet tree: Sprite = null\nlet clouds: Image[] = []\nlet grassImages: Image[] = []\nlet trees: Image[] = []\nlet obstacles: Image[] = []\nlet birdFrames: Image[] = []\nlet bird: Sprite = null\nlet gravity = 0\nlet bunny: Sprite = null\nlet theScore = 0\nscene.setBackgroundColor(13)\nbunny = sprites.create(img\\`\n . . . . . . . . . . . .\n . . . 1 1 . 1 1 . . . .\n . . . 1 3 . 1 3 . . . .\n . . . . 1 3 . 1 3 . . .\n . . . . 1 3 . 1 3 . . .\n . . . 1 1 1 1 1 1 . . .\n . . 1 1 1 1 1 1 1 1 . .\n . . 1 1 1 f 1 1 f 1 . .\n . . 1 1 1 1 1 1 1 1 . .\n . . 1 1 1 1 f f 1 1 . .\n . . . 1 1 1 1 1 1 . . .\n . 1 1 1 1 1 1 1 1 1 1 .\n . 1 1 1 1 1 1 1 1 1 1 .\n . . . . 1 1 1 1 . . . .\n . . . . 1 1 1 1 . . . .\n . . . . 1 1 1 1 . . . .\n . . . . 1 1 1 1 . . . .\n . . . . . 1 1 . . . . .\n . . . . . . 1 . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n\\`, SpriteKind.Player)\ngravity = 400\nbunny.ay = gravity\nbunny.x = 20\nbird = sprites.create(img\\`\n . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . .\n\\`, SpriteKind.Projectile)\nbird.setPosition(160, 20)\nbird.setVelocity(-120, 0)\nsetupFrames()\ngame.onUpdate(function () {\n if (bunny.bottom > 105) {\n bunny.bottom = 105\n bunny.vy = 0\n bunny.ay = 0\n }\n})\ngame.onUpdate(function () {\n if (bird.x < 0) {\n bird.setPosition(Math.randomRange(160, 240), Math.randomRange(20, 60))\n }\n})\ngame.onUpdateInterval(100, function () {\n bird.x += -1\n})\nforever(function () {\n difficultyFactor = game.runtime() / 250\n osbstacleSpeed = 100 + difficultyFactor\n numObstacles = Math.randomRange(1, 3)\n for (let i = 0; i < numObstacles; i++) {\n newObstacle = obstacles[Math.randomRange(0, obstacles.length - 1)]\n projectile = sprites.createProjectileFromSide(newObstacle, 0 - osbstacleSpeed, 0)\n projectile.bottom = 105\n projectile.setKind(SpriteKind.Obstacle)\n pause(11500 / osbstacleSpeed)\n }\n pause(Math.randomRange(1500, 2500))\n})\ngame.onUpdateInterval(200, function () {\n if (Math.percentChance(40)) {\n grass = sprites.createProjectileFromSide(grassImages[Math.randomRange(0, grassImages.length - 1)], (-100 - game.runtime() / 250) / 2, 0)\n grass.bottom = 100\n grass.z = -1\n }\n})\ngame.onUpdateInterval(100, function () {\n info.changeScoreBy(1)\n if (info.score() > 0 && info.score() % 100 == 0) {\n effects.confetti.startScreenEffect()\n } else if (info.score() > 0 && (info.score() - 10) % 100 == 0) {\n effects.confetti.endScreenEffect()\n }\n})\ngame.onUpdateInterval(1000, function () {\n if (Math.percentChance(20)) {\n createCloud()\n }\n})\nforever(function () {\n if (Math.percentChance(60)) {\n createTree()\n if (Math.percentChance(50)) {\n pause(Math.randomRange(150, 300))\n createTree()\n }\n }\n pause(1500)\n})\n\n`;","export const bunny_hop_main_blocks: string = `\n`;","import { Bitmap } from \"../sprite-editor/bitmap\";\n\nexport interface HttpRequestOptions {\n url: string;\n method?: string; // default to GET\n data?: any;\n headers?: {[index: string]: string};\n allowHttpErrors?: boolean; // don't treat non-200 responses as errors\n allowGzipPost?: boolean;\n responseArrayBuffer?: boolean;\n forceLiveEndpoint?: boolean;\n}\n\nexport interface HttpResponse {\n statusCode: number;\n headers: {[index: string]: string | string[]};\n buffer?: any;\n text?: string;\n json?: any;\n}\n\nexport interface UserProject {\n binJs: string;\n mainTs: string;\n mainBlocks: string;\n screenshot: string;\n}\n\nexport function requestAsync(options: HttpRequestOptions): Promise {\n return httpRequestCoreAsync(options)\n .then(resp => {\n if ((resp.statusCode != 200 && resp.statusCode != 304) && !options.allowHttpErrors) {\n let msg = `Bad HTTP status code: ${resp.statusCode} at ${options.url}; message: ${(resp.text || \"\").slice(0, 500)}`;\n let err: any = new Error(msg)\n err.statusCode = resp.statusCode\n return Promise.reject(err)\n }\n if (resp.text && /application\\/json/.test(resp.headers[\"content-type\"] as string))\n resp.json = JSON.parse(resp.text)\n return resp\n })\n}\n\nexport function httpGetTextAsync(url: string) {\n return requestAsync({ url: url }).then(resp => resp.text)\n}\n\nexport function httpGetJsonAsync(url: string) {\n return requestAsync({ url: url }).then(resp => resp.json)\n}\n\nexport function httpPostJsonAsync(url: string, data: any) {\n return requestAsync({ url: url, data: data || {} }).then(resp => resp.json)\n}\n\nfunction httpRequestCoreAsync(options: HttpRequestOptions) {\n return new Promise((resolve, reject) => {\n let client: XMLHttpRequest;\n let resolved = false\n\n let headers = { ...options.headers }\n\n client = new XMLHttpRequest();\n if (options.responseArrayBuffer)\n client.responseType = \"arraybuffer\";\n client.onreadystatechange = () => {\n if (resolved) return // Safari/iOS likes to call this thing more than once\n\n if (client.readyState == 4) {\n resolved = true\n let res: HttpResponse = {\n statusCode: client.status,\n headers: {},\n buffer: (client as any).responseBody || client.response,\n text: options.responseArrayBuffer ? undefined : client.responseText,\n }\n const allHeaders = client.getAllResponseHeaders();\n allHeaders.split(/\\r?\\n/).forEach(l => {\n let m = /^\\s*([^:]+): (.*)/.exec(l)\n if (m) res.headers[m[1].toLowerCase()] = m[2]\n })\n resolve(res)\n }\n }\n\n let data = options.data\n let method = options.method || (data == null ? \"GET\" : \"POST\");\n\n let buf: any;\n\n if (data == null) {\n buf = null\n } else if (data instanceof Uint8Array) {\n buf = data\n } else if (typeof data == \"object\") {\n buf = JSON.stringify(data)\n headers[\"content-type\"] = \"application/json; charset=utf8\"\n } else if (typeof data == \"string\") {\n buf = data\n } else {\n throw new Error(\"bad data\");\n }\n\n client.open(method, options.url);\n\n Object.keys(headers).forEach(k => {\n client.setRequestHeader(k, headers[k])\n })\n\n if (buf == null)\n client.send();\n else\n client.send(buf);\n })\n}\n\nexport function shareScriptAsync(screenshotUri: string, mainTS: string, mainBlocks: string) {\n let thumbnailBuffer: string;\n let thumbnailMimeType: string;\n\n if (screenshotUri) {\n const m = /^data:(image\\/(png|gif));base64,([a-zA-Z0-9+/]+=*)$/.exec(screenshotUri);\n if (m) {\n thumbnailBuffer = m[3];\n thumbnailMimeType = m[1];\n }\n }\n\n const text = {\n ...scriptText\n }\n\n text[\"main.ts\"] = mainTS;\n text[\"main.blocks\"] = mainBlocks;\n\n const scrReq = {\n name: \"Arcade Game\",\n target: \"arcade\",\n targetVersion: \"0.12.17\",\n description: \"Made with ❤️ in Microsoft MakeCode Arcade.\",\n editor: \"blocksprj\",\n text,\n meta: {\n // versions: pxt.appTarget.versions,\n // blocksHeight: meta.blocksHeight,\n // blocksWidth: meta.blocksWidth\n },\n thumbnailBuffer,\n thumbnailMimeType\n };\n\n const opts: HttpRequestOptions = {\n headers: {},\n url: \"https://arcade.makecode.com/api/scripts\",\n data: scrReq,\n allowGzipPost: true\n }\n\n return requestAsync(opts);\n}\n\nconst scriptText = {\n \"README.md\": \"\",\n \"main.blocks\": \"\",\n \"main.ts\": \"\",\n \"pxt.json\": \"{\\n \\\"name\\\": \\\"My First Game\\\",\\n \\\"dependencies\\\": {\\n \\\"device\\\": \\\"*\\\",\\n \\\"animation\\\": \\\"*\\\"\\n },\\n \\\"description\\\": \\\"\\\",\\n \\\"files\\\": [\\n \\\"main.blocks\\\",\\n \\\"main.ts\\\",\\n \\\"README.md\\\"\\n ],\\n \\\"preferredEditor\\\": \\\"tsprj\\\",\\n \\\"targetVersions\\\": {\\n \\\"branch\\\": \\\"v0.12.17\\\",\\n \\\"tag\\\": \\\"v0.12.17\\\",\\n \\\"commits\\\": \\\"https://github.com/microsoft/pxt-arcade/commits/bbca8732cef11a27ce09394ba07a49d406ab792c\\\",\\n \\\"target\\\": \\\"0.12.17\\\",\\n \\\"pxt\\\": \\\"5.17.29\\\"\\n }\\n}\"\n}","import * as React from \"react\";\nimport { tickEvent } from '../telemetry/appinsights';\n\nexport interface SocialButtonProps {\n platform: \"twitter\" | \"facebook\";\n shareUrl: string;\n}\n\nexport class SocialButton extends React.Component {\n render() {\n const { platform, shareUrl } = this.props;\n return {logClick(platform)}} />\n }\n}\n\nfunction getFacebookUrl(shareUrl: string) {\n return `https://www.facebook.com/sharer/sharer.php?u=${encodeURIComponent(shareUrl)}`;\n}\n\nfunction getTwitterUrl(shareUrl: string) {\n // https://developer.twitter.com/en/docs/twitter-for-websites/tweet-button/overview\n const text = \"Check out what I made with @MSMakeCode!\";\n const hashtags = \"ArcadeMod\"\n\n return `https://twitter.com/intent/tweet?url=${encodeURIComponent(shareUrl)}` +\n `&text=${encodeURIComponent(text)}&hashtags=${encodeURIComponent(hashtags)}`;\n}\n\nfunction logClick(platform: string) {\n tickEvent(\"shareExperiment.share.social\", {\"platform\": platform});\n}","import React from 'react';\n\nimport '../css/Share.css';\nimport '../css/icons.css';\n\nimport * as util from \"./util\";\nimport { SocialButton } from './Social';\nimport { tickEvent } from '../telemetry/appinsights';\n\nconst legalText = \"You need to publish your project to share it. You acknowledge having consent to publish this project.\";\nconst testURL = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAAGuUlEQVR4Xu2dva4UNxSAZ58gBaKhS5EHICURImlSpEPiCVJDk44noIsUgVJQ8AARUrq0AXEvHfAAKVJBqhR5go28XF95vZ7x8fHxjGf22yarrH3m+PN3j392JXYf313sB14QqCRw6+0wDA+/KY6yQ8BiZnRIEEBAtFiUwJGAzy6Pcwkro//s6v9RARedtu08PFkBnWyxfNEyjYDbcWDRkZwIGFW6Q3JhZaQCLjpfm3v46B4wrIKJ91TAzamwzIAQcBnuPPWKwOghJL6a4RCCMy0IcA3TgioxxQQQUIyKhi0IHARUvDiEKKDRxY4AAtqxJJKCAAIqoNHFjgAC2rEkkoIAAiqg0cWOAALasSSSggACKqDRxY4AAtqxJJKCAAIqoNHFjgAC2rEkkoIAAiqg0cWOAALasSSSggACKqDRxY4AAtqxJJKCAAIqoNHFjgAC2rEkkoIAAiqg0cWOAALasSSSggACKqDRxY4AAtqxJJKCAAIqoNHFjgAC2rEkkoIAAiqg0cWOAALasSSSggACKqDRxY4AAtqxJJKCAAIqoNHFjgAC2rEkkoIAAiqg0cWOAALasSSSggACKqDRxY4AAtqxJJKCAAIqoNHFjgAC2rE8iXTr6+N/O+3T++hfEGr47LWERsBGM4V8MrAIKONU3CoUkMo3jg8Bi9WSdUBAGScElHEqboWAMmQIKOMkbhXv/XxHluE0QgQUq0XDFgSqBPR/7e6vO3zfIlFibpNAvYDPLodPd4bPAl693yYqRtWCQJWALqFQPCRsMUXbjomA257f7kdXJSAnvu7nt/sE1QKOyce1Q/dz3lWCJgLudrthv98fBubfc+/V1Tx3m4yJgKnRIWC3c95VYmYCusrnXr4SImBX89xtMmoBr69gEkNbi3x//vHX8N0PX3U7OeeQmErA3AFkLQcRBFxecQSkAi5qoUrAMOO1/vLXVT//YhlezsGzFxD5lpPvcG338d3F5ws85WuNFTCsfm7YSKicfINuZydgLB/LsIFFFSGqBQyvY9Zy/eJy9iJS/SrsMehqIqCXcC0CsgQbmGMUwkxAo3yah2EJbo646AFnJeCYfOwDi5wxbXw2AsZ7PiqhqUfqYGcjYEhobA/I5bTaI3XHsxSQU7DaF/OOVQI+/eLn4dF/P5kn1Togp+DWhOXxqwV0j1qThOz95HLM0VIt4L0Pfw8Pvv39kONaBEzJ5y6iuZSeQ7X0M1QCOvncywu4BglzVzBcxSwj4eYFTO33pmTkq7l5RTQTsLcqOLbchifgEHW4FFMN55OwWMDU8uvTXcNeUHII4T6wUwG9fPH+by0C5vaBLL/zieefVFwBXcdQRB/o9e0v58++4IlTlY9TcAFI46YmAvYqX67ipVhSBY0Ny4QrFjBV/Xq7D8zt83InYyScT8IiAXN7wJ5OwiWnYISbT7j4SeYC9iRhCit3gMvJlnqySsDwG5Cx4fR4JSPZE1IN5xV0UsCp/Z40zR5ERDzpbM3fLlsBpRK+fHX/JPulT8cS8XLIqYg5QnWfZwVMhY+l7O0U7HJGvjox5updLWDNL2JePn58Ms4HT55Ujz13zcL9XzViswBFAk59D+wzku75vHw37v54PZh/37w4vK+RcOxbDUlFZLk180ocaPfL93f3UxMuuftLPW1KxFA+L52L4WS0kDDMRyJenD8iiv2pbpgUcGyPV/q0MQlTAvpKWCugRripcSFj6ayXtU8uwdqqN/Vod0oOT8XxEhxWQu0SbC1fOJ5aEV1utTHKpnYdrYuW4HBIksto3z4lX7jc+nZhFSyVMCdfOPm5ti6fWlli4XIC5j73jKTt5tDPIpcjAV1VGpv4eFl+9NvzozH+8+vNkzGHd4NT1c93TFXBqZymIOfgtP7RKQLK/gSul+DSiY6vUEoqVur65ai6Xl3FlOaUOnz4n9rHFW0OAX0lzf3eMPd5ybhk027TKsw79wc/9sSDgH6iSya8VsBwCfbv/X+dzJqcSiYKAeslNBEwdw0zlqalgOEesPYUXI+VCHMSKLqIdom5vaDbz40J6D+fPBEH34CkDiMly/mcsHiWPYGiU3DqIOFTctKUyBcvu7GISGg/2T1GPAjoEps6/TrxYrk0S3Du8BEDQsIelbHNqXgJtn38cL2UI5s12XXEW1zAdWAiy1YEELAVWeKKCCCgCBONWhFAwFZkiSsigIAiTDRqRQABW5ElrogAAoow0agVAQRsRZa4IgIIKMJEo1YEELAVWeKKCCCgCBONWhFAwFZkiSsigIAiTDRqRQABW5ElrogAAoow0agVgf8BC0s2s6EX6osAAAAASUVORK5CYII=\";\n\ninterface ShareProps {\n changeMode: (mode: \"play\" | \"share\" | \"mod\") => void;\n proj: util.UserProject;\n}\n\ninterface ShareState {\n publishID?: string;\n pending?: boolean;\n}\n\nclass Share extends React.Component {\n\n constructor(props: ShareProps) {\n super(props);\n this.state = {};\n }\n\n render() {\n const { changeMode, proj } = this.props;\n\n const screenshot = proj ? proj.screenshot : testURL;\n return (\n \n
Share your game! \n
\n
\n
\n {(this.state && this.state.publishID) ? this.renderShared() : this.renderUnshared()}\n
\n changeMode(\"play\")}>Play Again \n
\n {this.state && this.state.publishID &&
\n Want to do more? Open the link above on a laptop to edit your project in the full MakeCode Arcade experience.\n
}\n
\n )\n }\n\n protected renderUnshared() {\n const { pending } = this.state;\n return \n
\n {legalText}\n
\n
\n
{pending ?
: \"Publish\"} \n
\n
\n }\n\n protected renderShared(showSocial?: boolean) {\n const { publishID } = this.state;\n const shareLink = `https://makecode.com/${publishID}`;\n\n return \n
\n {showSocial &&
\n \n \n
}\n
\n }\n\n protected publishScript = () => {\n const { proj } = this.props;\n\n this.setState({ pending: true });\n\n if (!proj) {\n // Just for testing, it's impossible to hit this case in the normal flow\n setTimeout(() => {\n this.setState({\n publishID: \"xxxx-xxxx-xxxx-xxxx\"\n })\n }, 2000);\n }\n else {\n util.shareScriptAsync(proj.screenshot, proj.mainTs, proj.mainBlocks)\n .then(resp => {\n this.setState({\n publishID: resp.json.shortid\n });\n tickEvent(\"shareExperiment.share.publish\");\n });\n }\n\n }\n\n protected copyToClipboard = () => {\n const input = this.refs[\"url-input\"] as HTMLInputElement;\n\n if (input) {\n input.focus();\n input.setSelectionRange(0, 9999);\n }\n\n try {\n const success = document.execCommand(\"copy\");\n tickEvent(\"shareExperiment.share.copy\");\n } catch (e) {\n }\n }\n}\n\nexport default Share;","import React from 'react';\nimport './App.css';\n\nimport GamePlayer from './components/GamePlayer';\nimport GameModder, { GameModderState } from './components/GameModder';\nimport Share from './components/Share';\nimport HeaderBar from './components/HeaderBar';\n\nimport { loadAppInsights, tickEvent } from './telemetry/appinsights';\nimport { UserProject } from './components/util';\n\ninterface AppState {\n mode: \"mod\" | \"play\" | \"share\"\n}\n\nlet lastBinary: UserProject;\nlet timestamp: number;\nexport let gameModderState: GameModderState | {} = {};\n\n// HACK: Disable scrolling in iOS\ndocument.ontouchmove = function (e) {\n e.preventDefault();\n}\n\nexport class App extends React.Component<{}, AppState> {\n constructor(props: {}) {\n super(props)\n this.state = {\n mode: \"mod\"\n }\n\n this.playGame = this.playGame.bind(this);\n\n loadAppInsights(false);\n tickEvent(\"shareExperiment.landing\");\n timestamp = Date.now();\n\n window.addEventListener('resize', this.setVh);\n window.addEventListener(\"beforeunload\", this.exitTick);\n }\n\n componentWillUnmount() {\n window.removeEventListener('resize', this.setVh);\n }\n\n render() {\n this.setVh();\n return (\n \n {this.state.mode === \"mod\" ?\n :\n (\n this.state.mode === \"play\" ?\n :\n \n )\n }\n
\n );\n }\n\n playGame(binJs: UserProject) {\n lastBinary = binJs;\n\n this.changeMode(\"play\")\n }\n\n protected changeMode = (mode: \"play\" | \"share\" | \"mod\") => {\n // log new mode\n tickEvent(`shareExperiment.${mode}${this.state.mode == \"share\" ? \".again\" : \"\"}`);\n\n // calculate time in previous\n let now = Date.now();\n tickEvent(`shareExperiment.${this.state.mode}.time`, { \"duration\": now - timestamp });\n timestamp = now;\n\n this.setState({ mode });\n }\n\n protected setVh = () => {\n let vh = window.innerHeight * 0.01;\n document.documentElement.style.setProperty('--vh', `${vh}px`);\n }\n\n protected exitTick = () => {\n tickEvent(\"shareExperiment.exit\");\n (window as any).appInsights.flush();\n window.removeEventListener(\"beforeunload\", this.exitTick);\n }\n\n componentDidMount() {\n document.title = \"MakeCode Arcade\";\n tickEvent(\"shareExperiment.enter\");\n }\n}\n\nexport default App;\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport App from './App';\n\nReactDOM.render( , document.getElementById('root'));"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["components/simulator.ts","components/SimFrame.tsx","telemetry/appinsights.ts","components/Joystick.tsx","components/GameButtons.tsx","components/GamePlayer.tsx","sprite-editor/bitmap.ts","bitmap_helpers.ts","components/TabBar.tsx","sprite-editor/svgUtil.ts","components/ColorPicker.tsx","sprite-editor/svgEvents.ts","sprite-editor/util.ts","sprite-editor/tools.ts","sprite-editor/buttons.ts","sprite-editor/sidebar.ts","sprite-editor/canvasGrid.ts","sprite-editor/canvasState.ts","sprite-editor/spriteEditor.ts","components/SpriteGallery.tsx","components/SpriteEditor.tsx","components/screenshot.ts","components/GameModder.tsx","games/bunny_hop/bin.js.ts","games/bunny_hop/main.ts.ts","games/bunny_hop/main.blocks.ts","components/util.ts","components/Social.tsx","components/Share.tsx","App.tsx","index.tsx"],"names":["SimulatorButton","SimFrame","props","className","ref","simulator","setFrame","title","allow","sandbox","tickEvent","id","data","measures","isLocalHost","window","appInsights","trackEvent","test","location","href","e","Simulator","frame","buttonState","changeListeners","framePromise","readyPromise","lastRunBinary","messageHandler","ev","msg","handleMessage","this","addEventListener","resolve","button","sendButtonState","cb","indexOf","push","index","splice","binaryjs","waitForSimFrameAsync","then","undefined","Math","random","setAttribute","src","waitForSimReadyAsync","sendMessage","type","code","removeEventListener","pressed","updateButtonState","forEach","contentWindow","postMessage","command","runCode","Promise","promise","Deferrable","_resolve","_reject","reject","SVG_WIDTH","HALF_WIDTH","getTouch","identifier","i","changedTouches","length","Joystick","dPadUp","dPadDown","dPadLeft","dPadRight","joystickHandle","joystickAnimation","handleX","handleY","lastOctet","joystickGestureCount","joystickGestureInterval","buttonChangeListener","isPressed","Down","updateDirection","Up","Left","Right","logEvents","cleanupInterval","clearInterval","refs","bindEvents","addChangeListener","removeChangeListener","changeMode","onClick","xmlns","viewBox","width","height","cx","cy","r","fill","stroke","strokeWidth","x","y","rx","ry","div","PointerEvent","bindPointerEvents","navigator","maxTouchPoints","bindTouchEvents","bindMouseEvents","setInterval","inGesture","updateJoystickDrag","clientX","clientY","startAnimation","touchIdentifier","touch","preventDefault","bounds","getBoundingClientRect","dx","left","dy","top","angle","atan2","distance","min","sqrt","pow","setHandlePosition","cos","sin","clearButtonPresses","stopAnimation","requestAnimationFrame","animationFrame","getHandleDistance","getHandleAngle","max","cancelAnimationFrame","animation","octet","floor","PI","right","up","down","pressButton","releaseButton","React","Component","GameButtons","aButton","aLabel","bButton","bLabel","buttonPressCount","buttonPressInterval","Object","values","some","keys","k","textAnchor","fontSize","aDistance","bDistance","setButtonState","A","B","isAButton","circle","label","updateButtonGesture","GamePlayer","sim","proj","binJs","hexChars","Bitmap","x0","y0","buf","Uint8Array","ceil","col","row","value","coordToIndex","setCore","getCore","sub","c","set","get","change","current","transparent","other","cell","imageLiteralToBitmap","text","defaultPattern","replace","trim","rows","split","sprite","spriteWidth","rowValues","spriteHeight","result","f4EncodeImg","w","h","bpp","getPix","hex2","ptr","curr","shift","pushBits","n","j","toString","slice","parseColorString","color","parseInt","substr","_r","_g","_b","defaultPalletColors","colors","res","toNumbers","bitmapToBinHex","bitmap","bind","bitmapToText","bmp","bitmapToImageLiteral","textToBitmap","bitmapToUrl","context","scale","canvas","document","createElement","cellSize","getContext","fillStyle","fillRect","bitmapToCanvas","toDataURL","isEmptyBitmap","PatternUnits","LengthUnit","R","SVG_W","TAB_SVG_H","IMG_SPACE","TabBar","TabBarSvg","TOTAL_IMG_SPACE","LEFT_SPACE","TABS_START","state","currentTab","startTab","tabImages","idx","tabW","tabStart","tabFinish","TAB_MARGIN_T","tabPath","getTabPath","tabImgs","map","img","clickHandler","setState","tabChange","d","key","Swatch","style","backgroundColor","classes","selected","backgroundImg","SAMPLE_TREE","ColorPicker","colorPicker","selection","selectionChanged","swatchs","isTouchEnabled","hasPointerEvents","BaseElement","el","titleElement","elt","attributes","at","name","ns","setAttributeNS","join","cls","classList","add","baseVal","addSingleClass","remove","filter","removeSingleClass","addClassInternal","removeClassInternal","firstChild","insertBefore","appendChild","textContent","visible","DrawContext","Text","Circle","Rect","Line","Polygon","Polyline","Path","Drawable","drawable","draw","g","Group","child","handler","events","buttons","SVG","parent","defs","DefsElement","scaleFactor","updateTransform","factor","StyleElement","transform","Pattern","kind","objectBoundingBox","RadialGradient","LinearGradient","ClipPath","css","opacity","url","family","size","units","lengthWithUnits","unit","px","radius","corners","x1","y1","x2","y2","from","to","PolyElement","points","PathContext","toAttribute","update","Gradient","offset","s","fx","fy","fr","createElementNS","ops","op","c1x","c1y","c2x","c2y","dc1x","dc1y","dc2x","dc2y","dcx","dcy","xRotate","large","sweepClockwise","args","em","ex","in","cm","mm","pt","pc","percent","MapTools","Bitmask","mask","cellIndex","pointerEvents","move","enter","leave","PaintTool","getPaintToolShortcut","tool","Normal","Rectangle","Fill","Erase","Marquee","Cursor","offsetX","offsetY","Edit","canvasWidth","canvasHeight","toolWidth","startCol","startRow","isStarted","showPreview","doEditCore","cursorCol","cursorRow","mergeFloatingLayer","SelectionEdit","endCol","endRow","isDragged","PaintEdit","interpolate","xStep","yStep","dErr","abs","err","drawCore","endY","image","setPixel","OutlineEdit","tl","topLeft","br","bottomRight","drawRectangle","LineEdit","bresenham","CircleEdit","hypot","midpoint","FillEdit","replColor","q","pop","tryPush","MarqueeEdit","isMove","floatingLayer","inFloatingLayer","layerOffsetX","layerOffsetY","copyToLayer","BUTTON_CORNER_RADIUS","BUTTON_BORDER_WIDTH","BUTTON_BOTTOM_BORDER_WIDTH","Button","root","_title","_shortcut","appendClass","removeClass","translate","setRootTitle","disabled","editClass","TextButton","textEl","mkText","moveTo","getComputedTextLength","CursorButton","mkIconButton","icon","drawSingleButton","mkXIconButton","drawLeftButton","lip","border","svg","bg","lineBy","arcBy","close","fg","CursorMultiButton","indexHandler","group","widths","buttonGroup","b","handleClick","cursorIndex","sizeAdjective","getElement","setSelected","UndoRedoGroup","host","undo","redo","setDisabled","drawMidButton","drawRightButton","segments","available","segmentWidth","anchor","InputEvent","GestureType","UNDO_REDO_WIDTH","UNDO_REDO_HEIGHT","TOOLBAR_HEIGHT","SideBar","palette","colorSwatches","pencilTool","eraseTool","rectangleTool","fillTool","marqueeTool","sizeGroup","paletteGroup","selectedTool","selectedSwatch","colorPreview","undoRedo","initSizes","initTools","initPalette","updateState","setActiveTool","getButtonForTool","addClass","setActiveColor","SELECTED_BORDER_WIDTH","setToolWidth","onSelected","setCursorSize","initButton","TOOL_BUTTON_WIDTH","setTool","COLOR_PREVIEW_HEIGHT","bgHeight","def","create","clipPathUnits","TOOLBAR_WIDTH","swatch","PALETTE_BORDER_WIDTH","clipPath","setColor","xicon","btn","shortcut","setIconsToDefault","toLowerCase","lightModeBackground","CanvasGrid","lightMode","cellWidth","cellHeight","gesture","fadeAnimation","selectAnimation","backgroundLayer","paintLayer","overlayLayer","mouseCol","mouseRow","upHandler","endDrag","clientEventToCell","handle","stopPropagation","leaveHandler","Leave","moveHandler","Move","hoverHandler","isHover","alpha","hideOverlay","on","clearContext","drawImage","drawFloatingLayer","edit","doEdit","drawCursor","cursor","getCursor","repaint","drawColor","strokeStyle","strokeRect","transparency","copy","resizeGrid","kill","showOverlay","stopSelectAnimation","toastLeft","toastWidth","toastTop","Fade","dead","globalAlpha","font","textBaseline","textAlign","fillText","toastHeight","visibility","rowLength","numCells","lockAspectRatio","maxCellWidth","maxCellHeight","aspectRatio","setCellDimensions","initDragSurface","subscribe","Drag","layoutCanvas","drawBackground","start","end","alphaCols","alphaRows","ac","ar","coord","touches","te","clientCoord","scrollX","pageXOffset","scrollY","pageYOffset","cellW","cellH","drawSelectionAnimation","dashOffset","lineWidth","setLineDash","lineDashOffset","drawLayer","clearRect","GestureState","utils","surface","evId","startDrag","lastCol","lastRow","isDown","handlers","event","fire","delay","duration","slope","Date","now","setTimeout","v","CanvasState","equals","apply","cut","COLORS","SpriteEditor","blocksInfo","toolbarRoot","paintSurface","sidebar","header","cachedState","activeTool","undoStack","redoStack","columns","shiftDown","altDown","mouseDown","closeHandler","paintGestureCount","paintGestureInterval","keyDown","keyCode","shiftAction","discardEdit","setEyedropperMouse","didSomething","updateEdit","pushState","restore","switchIconTo","keyUp","clearShiftAction","undoRedoEvent","controlOrMeta","ctrlKey","metaKey","setClass","createDefs","drag","debug","setCell","onEditEnd","rePaint","commit","concat","updateUndoRedo","paintCell","onEditStart","paintEdit","layout","canvasHolder","render","setGridDimensions","updateBounds","HEADER_HEIGHT","PADDING","setPalette","todo","resizeBitmap","afterResize","presets","ch","updateIcon","setText","removeMouseListeners","showResizeOverlay","gestureEnd","applyEdit","stack","newEdit","writeColor","Outline","define","p","userSpaceOnUse","Item","SpriteGallery","spriteGallery","options","items","SpriteEditorComp","spriteEditorHolder","editor","renderSpriteEditor","removeSpriteEditor","toRemove","children","removeChild","currImg","startImage","spriteEditor","getElementsByClassName","setSizePresets","addKeyListeners","onClose","onPlay","gp","galleryProps","base","defaultBackground","mkScreenshotAsync","bgColor","images","a","loadImageAsync","background","imgData","getImageData","toReplace","colorToArray","putImageData","uri","onload","onerror","IsGameModderState","userImages","moddableImages","CALL_TO_ACTION","img2Rows","imgTxt","rows2img","resizeUp","targW","targH","oldW","oldH","left2add","top2add","numL","numR","l","repeat","o","addCols","numT","len","newR","Array","_","addRows","resizeTo24x24","mirror","reverse","SAMPLE_CHARACTERS","SAMPLE_OBSTACLES","SAMPLE_OBSTACLES2","replaceImages","sourceFile","userImage","sourceLines","replaceLines","foundMatch","GameModder","playBtn","alertTimeout","alertPlay","save","gameModderState","alertShown","pulse","clearTimers","clearTimeout","imgs","CreateEmptyImageText","callToAction","default","currentImg","currentBackground","assign","newState","m","old","newImg","updateCurrentUserImage","isBackgroundTab","body","getElementsByTagName","wScale","clientWidth","hScale","clientHeight","spriteGalleryHeight","colorPickerHeight","spriteGalleryOptions","startImg","galProps","onSpriteGalleryPick","onTabChange","onBackgroundColorChanged","SE","ontouchmove","modBackground","modBackgroundTs","modImg","bin","MOD_PREFIX_LEN","BIN_PREFIX_LEN","newHex","oldToFind","oldStartIncl","oldEndExcl","oldHex","newColor","template","nw","ui","gameBinJs","gameMainTs","gameMainBlocks","user","u","screenshot","playHandler","mainTs","mainBlocks","requestAsync","client","resolved","headers","XMLHttpRequest","responseArrayBuffer","responseType","onreadystatechange","readyState","statusCode","status","buffer","responseBody","response","responseText","getAllResponseHeaders","exec","method","JSON","stringify","Error","open","setRequestHeader","send","httpRequestCoreAsync","resp","allowHttpErrors","json","parse","scriptText","SocialButton","platform","shareUrl","getTwitterUrl","getFacebookUrl","logClick","encodeURIComponent","lastBinary","timestamp","Share","publishScript","pending","screenshotUri","mainTS","thumbnailBuffer","thumbnailMimeType","target","targetVersion","description","meta","allowGzipPost","util","publishID","shortid","copyToClipboard","input","focus","setSelectionRange","execCommand","renderShared","renderUnshared","showSocial","shareLink","readOnly","autoComplete","autoCorrect","autoCapitalize","spellCheck","App","mode","setVh","vh","innerHeight","documentElement","setProperty","exitTick","flush","playGame","includeCookie","config","t","arguments","queue","f","parentNode","cookie","version","disableExceptionTracking","instrumentationKey","disableAjaxTracking","overridePageViewDuration","isCookieUseDisabled","isStorageUseDisabled","scrubUrl","addTelemetryInitializer","envelope","telemetryItem","baseData","properties","trackPageView","urlReferrer","referrer","loadAppInsights","ReactDOM","getElementById"],"mappings":"6ZAEYA,E,mFCiBGC,G,YAT2B,SAAAC,GACtC,OACI,yBAAKC,UAAU,cACX,4BAAQC,IAAK,SAAAA,GAAG,OAAIF,EAAMG,UAAUC,SAASF,IAAMD,UAAU,mBAAmBI,MAAM,4BAA4BC,MAAM,WAAWC,QAAQ,uCCqBhJ,SAASC,EAAUC,EAAYC,EAAYC,GAEzCC,KAAgBC,OAAeC,YAAYC,WAAWN,EAAIC,EAAMC,GAGzE,SAASC,IACL,IACI,MAAyB,qBAAXC,QACP,2CAA2CG,KAAKH,OAAOI,SAASC,QAC/D,gBAAgBF,KAAKH,OAAOI,SAASC,MAC/C,MAAOC,GAAK,OAAO,I,SF1CbrB,O,SAAAA,I,SAAAA,I,WAAAA,I,eAAAA,I,eAAAA,I,iBAAAA,I,eAAAA,I,kBAAAA,M,KAuCZ,IAEasB,EAAb,WAUI,WAAYC,GAA4B,IAAD,gCAT7BA,WAS6B,OAR7BC,YAAyB,GAQI,KAN7BC,gBAA2E,GAM9C,KAL7BC,kBAK6B,OAJ7BC,kBAI6B,OAF7BC,mBAE6B,OAsG7BC,eAAiB,SAACC,GACxB,IAAMC,EAAMD,EAAGlB,KACf,EAAKoB,cAAcD,IAvGnBE,KAAKV,MAAQA,EAEbR,OAAOmB,iBAAiB,UAAWD,KAAKJ,gBAbhD,qDAgBaN,GACDA,IACAU,KAAKV,MAAQA,EACTU,KAAKP,cAAcO,KAAKP,aAAaS,aAnBrD,kCAuBgBC,GACHH,KAAKT,YAAYY,IAClBH,KAAKI,gBAAgBD,GAAQ,KAzBzC,oCA6BkBA,GACNH,KAAKT,YAAYY,IACjBH,KAAKI,gBAAgBD,GAAQ,KA/BzC,gCAmCcA,GACN,QAASH,KAAKT,YAAYY,KApClC,wCAuCsBE,IAC4B,IAAtCL,KAAKR,gBAAgBc,QAAQD,IAC7BL,KAAKR,gBAAgBe,KAAKF,KAzCtC,2CA6CyBA,GACjB,IAAMG,EAAQR,KAAKR,gBAAgBc,QAAQD,IAC5B,IAAXG,GACAR,KAAKR,gBAAgBiB,OAAOD,EAAO,KAhD/C,8BAoDYE,GAAmB,IAAD,OACtBV,KAAKL,cAAgBe,EAErBV,KAAKW,uBACAC,KAAK,WACF,EAAKlB,kBAAemB,EAEpB,IAAMnC,EAAE,oBAAgC,IAAhBoC,KAAKC,UAC7B,EAAKzB,MAAM0B,aAAa,KAAMtC,GAC9B,EAAKY,MAAM2B,IAAX,UA/DA,iDA+DA,6BAAgDvC,EAAhD,YAAsDA,GAEtD,EAAKwC,uBACAN,KAAK,WACF,EAAKO,YAAY,CACbC,KAAM,MACNC,KAAMX,UAnElC,gCA0EQ5B,OAAOwC,oBAAoB,UAAWtB,KAAKJ,kBA1EnD,sCA6E8BO,EAAyBoB,GAC/CvB,KAAKwB,kBAAkBrB,EAAQoB,GAC/BvB,KAAKmB,YAAY,CACbC,KAAM,iBACNjB,SACAoB,cAlFZ,wCAsFgCpB,EAAyBoB,KAC1CvB,KAAKT,YAAYY,KAAaoB,IACjCvB,KAAKT,YAAYY,GAAUoB,EAC3BvB,KAAKR,gBAAgBiC,QAAQ,SAAApB,GAAE,OAAIA,EAAGF,EAAQoB,QAzF1D,kCA6F0BzB,GACdE,KAAKV,OAASU,KAAKV,MAAMoC,eACzB1B,KAAKV,MAAMoC,cAAcC,YAAY7B,EAAK,OA/FtD,oCAmG4BA,GACpB,OAAQA,EAAIsB,MACR,IAAK,QACGpB,KAAKN,cAAcM,KAAKN,aAAaQ,UACzC,MACJ,IAAK,YACmB,YAAhBJ,EAAI8B,UACJnD,EAAU,gCACVuB,KAAK6B,QAAQ7B,KAAKL,mBA3GtC,6CAsHQ,OAAIK,KAAKV,MAAcwC,QAAQ5B,UAC3BF,KAAKP,aAAqBO,KAAKP,aAAasC,SAEhD/B,KAAKP,aAAe,IAAIuC,EAEjBhC,KAAKP,aAAasC,WA3HjC,6CA+HQ,OAAI/B,KAAKN,aAAqBM,KAAKN,aAAaqC,SAEhD/B,KAAKN,aAAe,IAAIsC,EAEjBhC,KAAKN,aAAaqC,aAnIjC,KAuIMC,E,WAKF,aAAe,IAAD,gCAJdD,aAIc,OAHJE,cAGI,OAFJC,aAEI,EACVlC,KAAK+B,QAAU,IAAID,QAAQ,SAAC5B,EAASiC,GACjC,EAAKF,SAAW/B,EAChB,EAAKgC,QAAUC,I,sDAKfnC,KAAKiC,UAAUjC,KAAKiC,WACxBjC,KAAKiC,cAAWpB,EAChBb,KAAKkC,aAAUrB,I,+BAIXb,KAAKkC,SAASlC,KAAKkC,UACvBlC,KAAKiC,cAAWpB,EAChBb,KAAKkC,aAAUrB,I,mCAIf,OAAQb,KAAKiC,a,KG/LfG,G,MAAY,IACZC,EAAaD,GAAa,EA+WhC,SAASE,EAASzC,EAAgB0C,GAC9B,IAAK,IAAIC,EAAI,EAAGA,EAAI3C,EAAG4C,eAAeC,OAAQF,IAC1C,GAAI3C,EAAG4C,eAAeD,GAAGD,aAAeA,EACpC,OAAO1C,EAAG4C,eAAeD,GAOtBG,MAvXf,2MACcC,YADd,IAEcC,cAFd,IAGcC,cAHd,IAIcC,eAJd,IAKcC,oBALd,IAOcC,uBAPd,IAScC,QAAUd,GAAa,EATrC,EAUce,QAAUf,GAAa,EAVrC,EAWcgB,eAXd,IAacC,qBAA+B,EAb7C,EAccC,6BAdd,IA4DcC,qBAAuB,SAACpD,EAAyBqD,GACvD,OAAQrD,GACJ,KAAKpC,EAAgB0F,KACjB,EAAKC,gBAAgB,EAAKb,SAAUW,GACpC,MACJ,KAAKzF,EAAgB4F,GACjB,EAAKD,gBAAgB,EAAKd,OAAQY,GAClC,MACJ,KAAKzF,EAAgB6F,KACjB,EAAKF,gBAAgB,EAAKZ,SAAUU,GACpC,MACJ,KAAKzF,EAAgB8F,MACjB,EAAKH,gBAAgB,EAAKX,UAAWS,KAxErD,EAwPcM,UAAY,WACd,EAAKT,qBAAuB,IAC5B5E,EAAU,yCAA0C,CAAC,MAAS,EAAK4E,uBACnE,EAAKA,qBAAuB,IA3PxC,EA+PcU,gBAAkB,WACxBC,cAAc,EAAKV,yBACnB,EAAKD,qBAAuB,GAjQpC,mFAiBQrD,KAAK4C,OAAS5C,KAAKiE,KAAK,WACxBjE,KAAK6C,SAAW7C,KAAKiE,KAAK,aAC1BjE,KAAK8C,SAAW9C,KAAKiE,KAAK,aAC1BjE,KAAK+C,UAAY/C,KAAKiE,KAAK,cAC3BjE,KAAKgD,eAAiBhD,KAAKiE,KAAK,mBAEhCjE,KAAKkE,WAAWlE,KAAKiE,KAAK,oBAE1BjE,KAAK/B,MAAMG,UAAU+F,kBAAkBnE,KAAKuD,wBAzBpD,6CA6BQvD,KAAK4C,YAAS/B,EACdb,KAAK6C,cAAWhC,EAChBb,KAAK8C,cAAWjC,EAChBb,KAAK+C,eAAYlC,EACjBb,KAAKgD,oBAAiBnC,EAEtBb,KAAK/B,MAAMG,UAAUgG,qBAAqBpE,KAAKuD,sBAC/CvD,KAAK+D,oBApCb,+BAuCc,IACEM,EAAerE,KAAK/B,MAApBoG,WACR,OACI,yBAAKlG,IAAI,qBAAqBD,UAAU,iBACpC,yBAAKA,UAAU,WACf,yBAAKA,UAAU,iBACX,4BAAQA,UAAU,mBAAmBoG,QAAS,kBAAMD,EAAW,SAA/D,QAEJ,yBAAKE,MAAM,6BAA6BpG,IAAI,kBAAkBD,UAAU,oBAAoBsG,QAAQ,YAAYC,MAAM,QAAQC,OAAO,SACjI,4BAAQhG,GAAG,sBAAsBiG,GAAG,KAAKC,GAAG,KAAKC,EAAE,KAAKC,KAAK,UAAUC,OAAO,UAAUC,YAAY,MACpG,0BAAM7G,IAAI,UAAU8G,EAAE,KAAKC,EAAE,IAAIT,MAAM,IAAIC,OAAO,KAAKS,GAAG,IAAIL,KAAK,UAAUC,OAAO,OAAOC,YAAY,MACvG,0BAAM7G,IAAI,YAAY8G,EAAE,KAAKC,EAAE,KAAKT,MAAM,IAAIC,OAAO,KAAKS,GAAG,IAAIL,KAAK,UAAUC,OAAO,OAAOC,YAAY,MAC1G,0BAAM7G,IAAI,aAAa8G,EAAE,KAAKC,EAAE,KAAKT,MAAM,KAAKC,OAAO,IAAIU,GAAG,IAAIN,KAAK,UAAUC,OAAO,OAAOC,YAAY,MAC3G,0BAAM7G,IAAI,YAAY8G,EAAE,IAAIC,EAAE,KAAKT,MAAM,KAAKC,OAAO,IAAIU,GAAG,IAAIN,KAAK,UAAUC,OAAO,OAAOC,YAAY,MACzG,4BAAQL,GAAG,KAAKC,GAAG,KAAKC,EAAE,IAAIC,KAAK,YACnC,4BAAQ3G,IAAI,kBAAkBwG,GAAG,KAAKC,GAAG,KAAKC,EAAE,IAAIC,KAAK,OAAOC,OAAO,OAAOC,YAAY,UAtD9G,sCA6E8B7E,EAAoCqD,GACtDrD,GACAA,EAAOa,aAAa,OAAQwC,EAAY,UAAY,aA/EhE,iCAmFyB6B,GACZA,IAgRe,oBAAVvG,QAA4BA,OAAewG,aA7QjDtF,KAAKuF,kBAAkBF,GAiRN,qBAAXvG,SACT,iBAAkBA,QACX0G,WAAaA,UAAUC,eAAiB,GAhR5CzF,KAAK0F,gBAAgBL,GAGrBrF,KAAK2F,gBAAgBN,GAGzBrF,KAAKsD,wBAA0BsC,YAAY5F,KAAK8D,UAAW,QAhGnE,wCAmGgCuB,GAAsB,IAAD,OACzCQ,GAAY,EAEhBR,EAAIpF,iBAAiB,YAAa,SAAAJ,GAC1BgG,IACA,EAAKC,mBAAmBjG,EAAGkG,QAASlG,EAAGmG,SACvC,EAAKC,kBAETJ,GAAY,IAGhBR,EAAIpF,iBAAiB,cAAe,SAAAJ,GAChC,EAAKiG,mBAAmBjG,EAAGkG,QAASlG,EAAGmG,SACvCH,GAAY,IAGhBR,EAAIpF,iBAAiB,cAAe,SAAAJ,GAC5BgG,GAAW,EAAKC,mBAAmBjG,EAAGkG,QAASlG,EAAGmG,WAG1DX,EAAIpF,iBAAiB,eAAgB,SAAAJ,GAC7BgG,IACA,EAAKC,mBAAmBjG,EAAGkG,QAASlG,EAAGmG,SACvC,EAAKC,kBAETJ,GAAY,MA5HxB,sCAgI8BR,GAAsB,IAAD,OACvCQ,GAAY,EAEhBR,EAAIpF,iBAAiB,UAAW,SAAAJ,GACxBgG,IACA,EAAKC,mBAAmBjG,EAAGkG,QAASlG,EAAGmG,SACvC,EAAKC,kBAETJ,GAAY,IAGhBR,EAAIpF,iBAAiB,YAAa,SAAAJ,GAC9B,EAAKiG,mBAAmBjG,EAAGkG,QAASlG,EAAGmG,SACvCH,GAAY,IAGhBR,EAAIpF,iBAAiB,YAAa,SAAAJ,GAC1BgG,GAAW,EAAKC,mBAAmBjG,EAAGkG,QAASlG,EAAGmG,WAG1DX,EAAIpF,iBAAiB,aAAc,SAAAJ,GAC3BgG,IACA,EAAKC,mBAAmBjG,EAAGkG,QAASlG,EAAGmG,SACvC,EAAKC,kBAETJ,GAAY,MAzJxB,sCA6J8BR,GAAsB,IACxCa,EADuC,OAG3Cb,EAAIpF,iBAAiB,WAAY,SAAAJ,GAC7B,GAAIqG,EAAiB,CACjB,IAAMC,EAAQ7D,EAASzC,EAAIqG,GAEvBC,IACA,EAAKL,mBAAmBK,EAAMJ,QAASI,EAAMH,SAC7C,EAAKC,iBACLpG,EAAGuG,kBAGXF,OAAkBrF,IAGtBwE,EAAIpF,iBAAiB,aAAc,SAAAJ,GAC/BqG,EAAkBrG,EAAG4C,eAAe,GAAGF,WACvC,EAAKuD,mBAAmBjG,EAAG4C,eAAe,GAAGsD,QAASlG,EAAG4C,eAAe,GAAGuD,WAG/EX,EAAIpF,iBAAiB,YAAa,SAAAJ,GAC9B,GAAIqG,EAAiB,CACjB,IAAMC,EAAQ7D,EAASzC,EAAIqG,GAEvBC,IACA,EAAKL,mBAAmBK,EAAMJ,QAASI,EAAMH,SAC7CnG,EAAGuG,qBAKff,EAAIpF,iBAAiB,cAAe,SAAAJ,GAChC,GAAIqG,EAAiB,CACjB,IAAMC,EAAQ7D,EAASzC,EAAIqG,GAEvBC,IACA,EAAKL,mBAAmBK,EAAMJ,QAASI,EAAMH,SAC7C,EAAKC,kBAGbC,OAAkBrF,MAtM9B,yCA0MiCoE,EAAWC,GACpC,GAAIlF,KAAKgD,eAAgB,CACrB,IAAMqD,EAAUrG,KAAKiE,KAAK,mBAAsCqC,wBAE1DC,GAAOtB,EAAIoB,EAAOG,OAASpE,EAAYiE,EAAO5B,OAAUpC,EACxDoE,GAAOvB,EAAImB,EAAOK,MAAQtE,EAAYiE,EAAO3B,QAAWrC,EAExDsE,EAAQ7F,KAAK8F,MAAMH,EAAIF,GACvBM,EAAW/F,KAAKgG,IAAIhG,KAAKiG,KAAKjG,KAAKkG,IAAIT,EAAI,GAAKzF,KAAKkG,IAAIP,EAAI,IAAK,IAExEzG,KAAKiH,kBAAkB5E,EAAawE,EAAW/F,KAAKoG,IAAIP,GAAQtE,EAAawE,EAAW/F,KAAKqG,IAAIR,OApN7G,uCAwNgC,IAAD,OAEvB,GADA3G,KAAKoH,qBACDpH,KAAKgD,eAAgB,CACrBhD,KAAKqH,gBAiBLrH,KAAKiD,kBAAoBqE,sBAfF,SAAjBC,IACF,IAAIV,EAAW,EAAKW,oBAEpB,GAAIX,EAAW,GACX,EAAKI,kBAAkB5E,EAAYA,GAAY,GAC/C,EAAKgF,oBAEJ,CACD,IAAMV,EAAQ,EAAKc,iBACnBZ,EAAW/F,KAAK4G,IAAIb,EAAW,EAAG,GAClC,EAAKI,kBAAkB5E,EAAawE,EAAW/F,KAAKoG,IAAIP,GAAQtE,EAAawE,EAAW/F,KAAKqG,IAAIR,IAAQ,GACzG,EAAK1D,kBAAoBqE,sBAAsBC,SAxOnE,sCAiPYvH,KAAKiD,oBACL0E,qBAAqB3H,KAAKiD,mBAC1BjD,KAAKiD,uBAAoBpC,EACzBb,KAAKqD,sBAAwB,KApPzC,wCAyQgC4B,EAAWC,GAA+B,IAApB0C,EAAmB,wDACjE,GAAI5H,KAAKgD,iBACLhD,KAAKgD,eAAehC,aAAa,KAAM,GAAKiE,GAC5CjF,KAAKgD,eAAehC,aAAa,KAAM,GAAKkE,GAE5ClF,KAAKkD,QAAU+B,EACfjF,KAAKmD,QAAU+B,GAEV0C,GACD,GAAI5H,KAAKwH,oBAAsB,EAC3BxH,KAAKoH,yBAEJ,CAAC,IACMhJ,EAAc4B,KAAK/B,MAAnBG,UACFuI,EAAQ3G,KAAKyH,iBACbI,GAAS,EAAI/G,KAAKgH,MAAOnB,GAAS7F,KAAKiH,GAAK,GAAM,KAAQ,EAEhE,GAAIF,IAAU7H,KAAKoD,UAAW,OAC9BpD,KAAKoD,UAAYyE,EAEjB,IAAIrB,GAAO,EACPwB,GAAQ,EACRC,GAAK,EACLC,GAAO,EAEX,OAAQL,GACJ,KAAK,EACDrB,GAAO,EACP,MACJ,KAAK,EACDA,GAAO,EACPyB,GAAK,EACL,MACJ,KAAK,EACDA,GAAK,EACL,MACJ,KAAK,EACDA,GAAK,EACLD,GAAQ,EACR,MACJ,KAAK,EACDA,GAAQ,EACR,MACJ,KAAK,EACDA,GAAQ,EACRE,GAAO,EACP,MACJ,KAAK,EACDA,GAAO,EACP,MACJ,KAAK,EACD1B,GAAO,EACP0B,GAAO,EAIXA,EAAM9J,EAAU+J,YAAYpK,EAAgB0F,MAC3CrF,EAAUgK,cAAcrK,EAAgB0F,MAEzCwE,EAAI7J,EAAU+J,YAAYpK,EAAgB4F,IACzCvF,EAAUgK,cAAcrK,EAAgB4F,IAEzC6C,EAAMpI,EAAU+J,YAAYpK,EAAgB6F,MAC3CxF,EAAUgK,cAAcrK,EAAgB6F,MAEzCoE,EAAO5J,EAAU+J,YAAYpK,EAAgB8F,OAC5CzF,EAAUgK,cAAcrK,EAAgB8F,UA3UjE,uCAkVQ,OAAO/C,KAAK8F,MAAM5G,KAAKmD,QAAUd,EAAYrC,KAAKkD,QAAUb,KAlVpE,0CAsVQ,OAAOvB,KAAKiG,KAAKjG,KAAKkG,IAAIhH,KAAKkD,QAAUb,EAAY,GAAKvB,KAAKkG,IAAIhH,KAAKmD,QAAUd,EAAY,MAtVtG,2CAyVoC,IACpBjE,EAAc4B,KAAK/B,MAAnBG,UACRA,EAAUgK,cAAcrK,EAAgB0F,MACxCrF,EAAUgK,cAAcrK,EAAgB4F,IACxCvF,EAAUgK,cAAcrK,EAAgB6F,MACxCxF,EAAUgK,cAAcrK,EAAgB8F,OACxC7D,KAAKoD,eAAYvC,MA/VzB,GAA8BwH,IAAMC,W,MCuNpC,SAAShG,EAASzC,EAAgB0C,GAC9B,IAAK,IAAIC,EAAI,EAAGA,EAAI3C,EAAG4C,eAAeC,OAAQF,IAC1C,GAAI3C,EAAG4C,eAAeD,GAAGD,aAAeA,EACpC,OAAO1C,EAAG4C,eAAeD,GAOtB+F,M,2MAlODC,a,IACAC,Y,IACAC,a,IACAC,Y,IACAC,iBAA4C,G,EAC5CC,yB,IA4LA/E,UAAY,WACdgF,OAAOC,OAAO,EAAKH,kBAAkBI,KAAK,SAAA/D,GAAC,QAAMA,MACjDxG,EAAU,mCAAoC,EAAKmK,kBACnDE,OAAOG,KAAK,EAAKL,kBAAkBnH,QAAQ,SAAAyH,GAAC,OAAI,EAAKN,iBAAiBM,GAAK,M,EAIzEnF,gBAAkB,WACxBC,cAAc,EAAK6E,qBACnB,EAAKD,iBAAmB,I,mFAlMxB5I,KAAKwI,QAAUxI,KAAKiE,KAAK,YACzBjE,KAAKyI,OAASzI,KAAKiE,KAAK,WACxBjE,KAAK0I,QAAU1I,KAAKiE,KAAK,YACzBjE,KAAK2I,OAAS3I,KAAKiE,KAAK,WAExBjE,KAAKkE,WAAWlE,KAAKiE,KAAK,oB,6CAI1BjE,KAAKwI,aAAU3H,EACfb,KAAKyI,YAAS5H,EACdb,KAAK0I,aAAU7H,EACfb,KAAK2I,YAAS9H,EACdb,KAAK+D,oB,+BAGC,IACEM,EAAerE,KAAK/B,MAApBoG,WACR,OACI,yBAAKnG,UAAU,gBACX,yBAAKA,UAAU,WACf,yBAAKA,UAAU,iBACX,4BAAQA,UAAU,mBAAmBoG,QAAS,kBAAMD,EAAW,WAA/D,UAEJ,yBAAKE,MAAM,6BAA6BpG,IAAI,gBAAgBD,UAAU,kBAAkBsG,QAAQ,YAAYC,MAAM,QAAQC,OAAO,SAC7H,4BAAQvG,IAAI,WAAWwG,GAAG,KAAKC,GAAG,KAAKC,EAAE,IAAIC,KAAK,OAAOC,OAAO,UAAUC,YAAY,QACtF,0BAAM7G,IAAI,UAAU8G,EAAE,KAAKC,EAAE,KAAKiE,WAAW,SAAS1C,GAAG,MAAM2C,SAAS,KAAxE,KACA,4BAAQjL,IAAI,WAAWwG,GAAG,KAAKC,GAAG,KAAKC,EAAE,IAAIC,KAAK,OAAOC,OAAO,UAAUC,YAAY,QACtF,0BAAM7G,IAAI,UAAU8G,EAAE,KAAKC,EAAE,KAAKiE,WAAW,SAAS1C,GAAG,MAAM2C,SAAS,KAAxE,S,0CAMcnE,EAAWC,GACrC,IAAMmB,EAAUrG,KAAKiE,KAAK,iBAAoCqC,wBAExDC,GAAOtB,EAAIoB,EAAOG,OAhDd,GAgDmCH,EAAO5B,OAC9CgC,GAAOvB,EAAImB,EAAOK,MAjDd,GAiDkCL,EAAO3B,QAE7C2E,EAAYvI,KAAKiG,KAAKjG,KAAKkG,IAAIT,EAAK,GAAI,GAAKzF,KAAKkG,IAAIP,EAAK,GAAI,IAC/D6C,EAAYxI,KAAKiG,KAAKjG,KAAKkG,IAAIT,EAAK,GAAI,GAAKzF,KAAKkG,IAAIP,EAAK,GAAI,IAErEzG,KAAKuJ,eAAexL,EAAgByL,EAAGH,EAAY,GACnDrJ,KAAKuJ,eAAexL,EAAgB0L,EAAGH,EAAY,K,2CAInDtJ,KAAKuJ,eAAexL,EAAgByL,GAAG,GACvCxJ,KAAKuJ,eAAexL,EAAgB0L,GAAG,K,qCAGlBtJ,EAAyBoB,GAC9C,IAAMmI,EAAYvJ,IAAWpC,EAAgByL,EACvCG,EAASD,EAAY1J,KAAKwI,QAAUxI,KAAK0I,QACzCkB,EAAQF,EAAY1J,KAAKyI,OAASzI,KAAK2I,OAE7C,GAAIgB,GAAUC,EAAO,CAEjBD,EAAO3I,aAAa,OAAQO,EADP,UACgC,QACrDqI,EAAM5I,aAAa,OAAQO,EAAU,OAAS,IARc,IAWxDnD,EAAc4B,KAAK/B,MAAnBG,UACJmD,GACKvB,KAAK4I,iBAAiB7K,EAAgBoC,MAAUH,KAAK4I,iBAAiB7K,EAAgBoC,IAAW,GACtGH,KAAK4I,iBAAiB7K,EAAgBoC,KAAY,EAClD/B,EAAU+J,YAAYhI,IAErB/B,EAAUgK,cAAcjI,K,iCAGZkF,GACZA,IA8He,oBAAVvG,QAA4BA,OAAewG,aA3HjDtF,KAAKuF,kBAAkBF,GA+HN,qBAAXvG,SACT,iBAAkBA,QACX0G,WAAaA,UAAUC,eAAiB,GA9H5CzF,KAAK0F,gBAAgBL,GAGrBrF,KAAK2F,gBAAgBN,GAGzBrF,KAAK6I,oBAAsBjD,YAAY5F,KAAK8D,UAAW,Q,wCAG/BuB,GAAmB,IAAD,OACtCQ,GAAY,EAEhBR,EAAIpF,iBAAiB,YAAa,SAAAJ,GAC1BgG,GACA,EAAKuB,qBAETvB,GAAY,IAGhBR,EAAIpF,iBAAiB,cAAe,SAAAJ,GAChC,EAAKgK,oBAAoBhK,EAAGkG,QAASlG,EAAGmG,SACxCH,GAAY,IAGhBR,EAAIpF,iBAAiB,cAAe,SAAAJ,GAC5BgG,GAAW,EAAKgE,oBAAoBhK,EAAGkG,QAASlG,EAAGmG,WAG3DX,EAAIpF,iBAAiB,eAAgB,SAAAJ,GAC7BgG,GACA,EAAKuB,qBAETvB,GAAY,M,sCAIMR,GAAmB,IAAD,OACpCQ,GAAY,EAEhBR,EAAIpF,iBAAiB,UAAW,SAAAJ,GACxBgG,GACA,EAAKuB,qBAETvB,GAAY,IAGhBR,EAAIpF,iBAAiB,YAAa,SAAAJ,GAC9B,EAAKgK,oBAAoBhK,EAAGkG,QAASlG,EAAGmG,SACxCH,GAAY,IAGhBR,EAAIpF,iBAAiB,YAAa,SAAAJ,GAC1BgG,GAAW,EAAKgE,oBAAoBhK,EAAGkG,QAASlG,EAAGmG,WAG3DX,EAAIpF,iBAAiB,aAAc,SAAAJ,GAC3BgG,GACA,EAAKuB,qBAETvB,GAAY,M,sCAIMR,GAAmB,IACrCa,EADoC,OAGxCb,EAAIpF,iBAAiB,WAAY,SAAAJ,GACzBqG,IACc5D,EAASzC,EAAIqG,KAGvB,EAAKkB,qBACLvH,EAAGuG,mBAGXF,OAAkBrF,IAGtBwE,EAAIpF,iBAAiB,aAAc,SAAAJ,GAC/BqG,EAAkBrG,EAAG4C,eAAe,GAAGF,WACvC,EAAKsH,oBAAoBhK,EAAG4C,eAAe,GAAGsD,QAASlG,EAAG4C,eAAe,GAAGuD,WAGhFX,EAAIpF,iBAAiB,YAAa,SAAAJ,GAC9B,GAAIqG,EAAiB,CACjB,IAAMC,EAAQ7D,EAASzC,EAAIqG,GAEvBC,IACA,EAAK0D,oBAAoB1D,EAAMJ,QAASI,EAAMH,SAC9CnG,EAAGuG,qBAKff,EAAIpF,iBAAiB,cAAe,SAAAJ,GAC5BqG,IACc5D,EAASzC,EAAIqG,IAGvB,EAAKkB,sBAGblB,OAAkBrF,Q,GA9LJwH,IAAMC,WCqBjBwB,G,MAlB+B,SAAA7L,GAC1C,IAAI8L,EAAM,IAAI1K,EAId,OAFA0K,EAAIlI,QAAQ5D,EAAM+L,KAAKC,OAGnB,yBAAK/L,UAAU,eACX,kBAAC,EAAD,CAAUE,UAAW2L,EAAK1F,WAAYpG,EAAMoG,aAC5C,kBAAC,EAAD,CAAUjG,UAAW2L,IACrB,kBAAC,EAAD,CAAa3L,UAAW2L,EAAK1F,WAAYpG,EAAMoG,aAC/C,yBAAKnG,UAAU,2BACf,yBAAKA,UAAU,oBAAf,YACA,yBAAKA,UAAU,qBACf,yBAAKA,UAAU,wB,+BC5BrBgM,G,MAAW,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAUhFC,EAAb,WAGI,WAAmB1F,EAAsBC,GAA+C,IAAxB0F,EAAuB,uDAAlB,EAAUC,EAAQ,uDAAH,EAAG,yBAApE5F,QAAoE,KAA9CC,SAA8C,KAAvB0F,KAAuB,KAARC,KAAQ,KAFhFC,SAEgF,EACnFtK,KAAKsK,IAAM,IAAIC,WAAWzJ,KAAK0J,KAAK/F,EAAQC,EAAS,IAJ7D,gDAOQ+F,EAAaC,EAAaC,GAC1B,GAAIF,EAAMzK,KAAKyE,OAASiG,EAAM1K,KAAK0E,QAAU+F,GAAO,GAAKC,GAAO,EAAG,CAC/D,IAAMlK,EAAQR,KAAK4K,aAAaH,EAAKC,GACrC1K,KAAK6K,QAAQrK,EAAOmK,MAVhC,0BAcQF,EAAaC,GACb,GAAID,EAAMzK,KAAKyE,OAASiG,EAAM1K,KAAK0E,QAAU+F,GAAO,GAAKC,GAAO,EAAG,CAC/D,IAAMlK,EAAQR,KAAK4K,aAAaH,EAAKC,GACrC,OAAO1K,KAAK8K,QAAQtK,GAExB,OAAO,IAnBf,6BAsB8E,IAArEiK,EAAoE,uDAA9D,EAAGC,EAA2D,uDAArD,EAAGjG,EAAkD,uDAA1CzE,KAAKyE,MAAOC,EAA8B,uDAArB1E,KAAK0E,OAC/CqG,EAAM,IAAIZ,EAAO1F,EAAOC,GAC9BqG,EAAIX,GAAKK,EACTM,EAAIV,GAAKK,EACT,IAAK,IAAIM,EAAI,EAAGA,EAAIvG,EAAOuG,IACvB,IAAK,IAAInG,EAAI,EAAGA,EAAIH,EAAQG,IACxBkG,EAAIE,IAAID,EAAGnG,EAAG7E,KAAKkL,IAAIT,EAAMO,EAAGN,EAAM7F,IAG9C,OAAOkG,IA/Bf,4BAkCUI,GAEF,IAFwC,IACpCC,EADcC,EAAqB,wDAE9BL,EAAI,EAAGA,EAAIG,EAAO1G,MAAOuG,IAC9B,IAAK,IAAInG,EAAI,EAAGA,EAAIsG,EAAOzG,OAAQG,MAC/BuG,EAAUD,EAAOD,IAAIF,EAAGnG,KAERwG,GAChBrL,KAAKiL,IAAIE,EAAOf,GAAKY,EAAGG,EAAOd,GAAKxF,EAAGuG,KAzCvD,6BA8CWE,GACH,GAAItL,KAAKyE,QAAU6G,EAAM7G,OAASzE,KAAK0E,SAAW4G,EAAM5G,QAAU1E,KAAKoK,KAAOkB,EAAMlB,IAAMpK,KAAKqK,KAAOiB,EAAMjB,IAAMrK,KAAKsK,IAAI5H,SAAW4I,EAAMhB,IAAI5H,OAAQ,CACpJ,IAAK,IAAIF,EAAI,EAAGA,EAAIxC,KAAKsK,IAAI5H,OAAQF,IACjC,GAAIxC,KAAKsK,IAAI9H,KAAO8I,EAAMhB,IAAI9H,GAAI,OAAO,EAE7C,OAAO,EAGX,OAAO,IAtDf,mCAyD2BiI,EAAaC,GAChC,OAAOD,EAAMC,EAAM1K,KAAKyE,QA1DhC,8BA6DsBjE,GACd,IAAM+K,EAAOzK,KAAKgH,MAAMtH,EAAQ,GAChC,OAAIA,EAAQ,IAAM,EACU,GAAjBR,KAAKsK,IAAIiB,IAGS,IAAjBvL,KAAKsK,IAAIiB,KAAiB,IAnE9C,8BAuEsB/K,EAAemK,GAC7B,IAAMY,EAAOzK,KAAKgH,MAAMtH,EAAQ,GAE5BR,KAAKsK,IAAIiB,GADT/K,EAAQ,IAAM,EACqB,IAAjBR,KAAKsK,IAAIiB,GAAyB,GAARZ,EAGT,GAAjB3K,KAAKsK,IAAIiB,IAA0B,GAARZ,IAAgB,MA7EzE,KA8GO,SAASa,EAAqBC,EAAcC,KAM/CD,GADAA,GADAA,EAAOA,EAAKE,QAAQ,mCAAoC,IAAIC,QAChDD,QAAQ,aAAc,IAAIA,QAAQ,aAAc,KAChDA,QAAQ,SAAU,QAEjBD,IACTD,EAAOC,GAQX,IANA,IAAMG,EAAOJ,EAAKK,MAAM,MAGlBC,EAAqB,GACvBC,EAAc,EAETnH,EAAI,EAAGA,EAAIgH,EAAKnJ,OAAQmC,IAAK,CAGlC,IAFA,IAAM6F,EAAMmB,EAAKhH,GACXoH,EAAsB,GACnBjB,EAAI,EAAGA,EAAIN,EAAIhI,OAAQsI,IAG5B,OAAQN,EAAIM,IACR,IAAK,IAAK,IAAK,IAAKiB,EAAU1L,KAAK,GAAI,MACvC,IAAK,IAAK,IAAK,IAAK0L,EAAU1L,KAAK,GAAI,MACvC,IAAK,IAAK,IAAK,IAAK0L,EAAU1L,KAAK,GAAI,MACvC,IAAK,IAAK,IAAK,IAAK0L,EAAU1L,KAAK,GAAI,MACvC,IAAK,IAAK,IAAK,IAAK0L,EAAU1L,KAAK,GAAI,MACvC,IAAK,IAAK,IAAK,IAAK0L,EAAU1L,KAAK,GAAI,MACvC,IAAK,IAAK,IAAK,IAAK0L,EAAU1L,KAAK,GAAI,MACvC,IAAK,IAAK,IAAK,IAAK0L,EAAU1L,KAAK,GAAI,MACvC,IAAK,IAAK0L,EAAU1L,KAAK,GAAI,MAC7B,IAAK,IAAK0L,EAAU1L,KAAK,GAAI,MAC7B,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK0L,EAAU1L,KAAK,IAAK,MAClD,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK0L,EAAU1L,KAAK,IAAK,MAClD,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK0L,EAAU1L,KAAK,IAAK,MAClD,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK0L,EAAU1L,KAAK,IAAK,MAClD,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK0L,EAAU1L,KAAK,IAAK,MAClD,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK0L,EAAU1L,KAAK,IAIjD0L,EAAUvJ,SACVqJ,EAAOxL,KAAK0L,GACZD,EAAclL,KAAK4G,IAAIsE,EAAaC,EAAUvJ,SAQtD,IAJA,IAAMwJ,EAAeH,EAAOrJ,OAEtByJ,EAAS,IAAIhC,EAAO6B,EAAaE,GAE9BrH,EAAI,EAAGA,EAAIqH,EAAcrH,IAE9B,IADA,IAAM6F,EAAMqB,EAAOlH,GACVmG,EAAI,EAAGA,EAAIgB,EAAahB,IACzBA,EAAIN,EAAIhI,OACRyJ,EAAOlB,IAAID,EAAGnG,EAAG6F,EAAIM,IAGrBmB,EAAOlB,IAAID,EAAGnG,EAAG,GAK7B,OAAOsH,ECxLJ,SAASC,EAAYC,EAAWC,EAAWC,EAAaC,GAkB3D,IAjBA,IAAI3H,EAAI4H,EAAK,IAAOF,GAAOE,EAAKJ,GAAKI,EAAKH,GAAK,KAC3CI,EAAM,EACNC,EAAO,EACPC,EAAQ,EAERC,EAAW,SAACC,GACZH,GAAQG,GAAKF,EACTA,GAAS,EAAIL,GACb1H,GAAK4H,EAAKE,GACVD,IACAC,EAAO,EACPC,EAAQ,GAERA,GAASL,GAIR/J,EAAI,EAAGA,EAAI6J,IAAK7J,EAAG,CACxB,IAAK,IAAIuK,EAAI,EAAGA,EAAIT,IAAKS,EACrBF,EAASL,EAAOhK,EAAGuK,IACvB,KAAgB,GAATH,GACHC,EAAS,GACb,GAAIN,EAAM,EACN,KAAa,EAANG,GACHG,EAAS,GAIrB,OAAOhI,EAEP,SAAS4H,EAAKK,GACV,OAAQ,IAAMA,EAAEE,SAAS,KAAKC,OAAO,IAyD7C,SAASC,EAAiBC,GACtB,GAAIA,EAAO,CACP,GAAqB,IAAjBA,EAAMzK,OACN,OAAO0K,SAAS,KAAOD,GAEtB,GAAqB,IAAjBA,EAAMzK,OACX,OAAO0K,SAAS,KAAOD,EAAME,OAAO,IAG5C,OAAO,EAGX,SAASC,EAAGH,GAAiB,OAAQA,GAAS,GAAM,IACpD,SAASI,EAAGJ,GAAiB,OAAQA,GAAS,EAAK,IACnD,SAASK,EAAGL,GAAiB,OAAe,IAARA,EAEpC,IAAMM,EAAsB,CACxB,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,YAzCG,SAAmBC,GAEtB,IADA,IAAMC,EAAkB,GACfnL,EAAI,EAAGA,EAAIkL,EAAOhL,OAAQF,IAAK,CACpC,IAAM2K,EAAQD,EAAiBQ,EAAOlL,IACtCmL,EAAIpN,KAAK,CAAC+M,EAAGH,GAAQI,EAAGJ,GAAQK,EAAGL,MAuCVS,CAAUH,GASpC,SAASI,EAAeC,GAE3B,OAAO1B,EAAY0B,EAAOrJ,MAAOqJ,EAAOpJ,OAAQ,EAAGoJ,EAAO5C,IAAI6C,KAAKD,IAEhE,SAASE,EAAaC,GACzB,ODkDG,SAA8BH,GACjC,IAAIH,EAAM,OAGV,GAAIG,EACA,IAAK,IAAIjJ,EAAI,EAAGA,EAAIiJ,EAAOpJ,OAAQG,IAAK,CACpC8I,GAAO,KACP,IAAK,IAAI3C,EAAI,EAAGA,EAAI8C,EAAOrJ,MAAOuG,IAC9B2C,GAAOzD,EAAS4D,EAAO5C,IAAIF,EAAGnG,IAAM,IAOhD,OAFA8I,GAAO,KACPA,GAAO,IChEAO,CAAqBD,GAEzB,SAASE,EAAa1C,GACzB,IAAMwC,EAAMzC,EAAqBC,GAGjC,OAAIwC,GAAOA,EAAIxJ,OAASwJ,EAAIvJ,OACjBuJ,EAEA,KAiCR,SAASG,EAAYH,GACxB,OA9BG,SAAwBA,GAAiC,IAaxDI,EAboCC,EAAmB,uDAAH,EAClDZ,EAASD,EAAoBR,MAAM,GAEnCsB,EAASC,SAASC,cAAc,UAIlCC,GAHQH,EAAO9J,MAAQwJ,EAAIxJ,MAAQ6J,EAC1BC,EAAO7J,OAASuJ,EAAIvJ,OAAS4J,EAE3BA,GAOfD,EAAUE,EAAOI,WAAW,MAE5B,IAAK,IAAI3D,EAAI,EAAGA,EAAIiD,EAAIxJ,MAAOuG,IAC3B,IAAK,IAAInG,EAAI,EAAGA,EAAIoJ,EAAIvJ,OAAQG,IAAK,CACjC,IAAMsI,EAAQc,EAAI/C,IAAIF,EAAGnG,GAErBsI,IACAkB,EAAQO,UAAYlB,EAAOP,EAAQ,GACnCkB,EAAQQ,SAZJ,EAYuB7D,EAAI0D,EAX3B,EAW+C7J,EAAI6J,EAAUA,EAAUA,IAKvF,OAAOH,EAGAO,CAAeb,GAAKc,YAoBxB,SAASC,EAAcf,GAC1B,IAAK,IAAIhJ,EAAI,EAAGA,EAAIgJ,EAAIxJ,MAAOQ,IAC3B,IAAK,IAAIC,EAAI,EAAGA,EAAI+I,EAAIvJ,OAAQQ,IAC5B,GAAI+I,EAAI/C,IAAIjG,EAAGC,GAAI,OAAO,EAGlC,OAAO,EChMX,ICRY+J,EAKAC,EDGNC,EAAI,GAKJC,EAAQ,IACRC,EAAgB,EAAJF,EALH,GAEM,GACA,EAGfG,EAAgB,EAAJH,EALH,GA8EAI,EArEf,YAQI,WAAYtR,GAAqB,IAAD,8BAC5B,4CAAMA,KAPHuR,eAMyB,IAJxBC,qBAIwB,IAHxBC,gBAGwB,IAFxBC,gBAEwB,EAG5B,EAAKC,MAAQ,CACTC,WAAY5R,EAAM6R,UAGtB,EAAKL,gBAAkBH,EAAY,EAAKrR,MAAM8R,UAAUrN,OACxD,EAAKgN,YAAcN,EAAQ,EAAKK,iBAAmB,EACnD,EAAKE,WAAa,EAAKD,WAAaP,EATR,EARpC,iFAqBQnP,KAAKwP,UAAYxP,KAAKiE,KAAK,iBArBnC,6CAwBQjE,KAAKwP,eAAY3O,IAxBzB,iCA2BemP,GACP,IAAIC,EArCG,GAqCiB,EAAJd,EAChBe,EAAWlQ,KAAK2P,WAAaM,EAAOD,EACpCG,EAAYf,GAASc,EAAWD,GAEpC,MADW,aAlCPG,GAkCO,YAAiBf,EAtCf,EAITe,GAkCO,iBAlCPA,GAkCO,cAlCPA,GAkCO,gBAA6EF,EAA7E,cAA2Ff,EAA3F,cAAkGA,EAAlG,aAAwGA,EAAxG,eAzCJ,GAyCI,iBAA+HA,EAA/H,YAAoIA,EAApI,aAA0IA,EAA1I,cAxCJ,GAwCI,cAA6JA,EAA7J,cAAoKA,EAApK,YAAyKA,EAAzK,cAzCJ,GAyCI,gBAA8LA,EAA9L,YAAmMA,EAAnM,YAAwMA,EAAxM,cAA+MgB,EAA/M,cAlCPC,GAkCO,kBAlCPA,GAkCO,QA/BnB,+BAmCc,IAAD,OACC5L,EAAO,cAAU4K,EAAV,YAAmBC,GAC1BgB,EAAUrQ,KAAKsQ,WAAWtQ,KAAK4P,MAAMC,YACrCU,EAAUvQ,KAAK/B,MAAM8R,UACtBS,IAAI,SAACC,EAAKjO,GACP,MAAO,CACHyC,EAAG,EAAK0K,WAAaR,EAAIA,EAAI3M,EAAI8M,EACjCpK,EAlDC,GAkDiBiK,EAClB9C,EApDL,GAqDKC,EAtDL,GAuDK0D,IAAKxN,EACL7D,KAAMyP,EAAYqC,MAG9B,SAASC,EAA2BV,GAChChQ,KAAK2Q,SAAS,CAAEd,WAAYG,IAC5BhQ,KAAK/B,MAAM2S,UAAUZ,GAEzB,OACI,yBAAK7R,IAAI,UAAUD,UAAU,WACzB,yBAAKC,IAAI,cAAcqG,QAASA,GAC5B,0BAAMrG,IAAI,WAAW0S,EAAGR,IAEvBE,EAAQC,IAAI,SAAAhO,GAAC,OACV,2BAAOsO,IAAKtO,EAAEwN,IAAK/K,EAAGzC,EAAEyC,EAAGC,EAAG1C,EAAE0C,EAC5BT,MAAOjC,EAAE6J,EAAG3H,OAAQlC,EAAE8J,EACtBnN,KAAMqD,EAAE7D,KACR2F,QAASoM,EAAa3C,KAAK,EAAMvL,EAAEwN,eA9D/D,GAA4B3H,IAAMC,WEP5ByI,G,MAAgC,SAAC9S,GACnC,IAAI+S,EAAuB,CACvBC,gBAAiBhT,EAAMkP,OAEvB+D,EAAO,iBAAajT,EAAMkT,SAAW,WAAa,IAClDC,EAAgBhD,EAAYiD,GAChC,OACI,yBAAKnT,UAAWgT,EAASF,MAAOA,EAAO1M,QAASrG,EAAMqG,SAClD,yBAAKrD,IAAKmQ,OAgDPE,EA3Cf,YAII,WAAYrT,GAA0B,IAAD,8BACjC,4CAAMA,KAHFsT,iBAE6B,EAGjC,EAAK3B,MAAQ,CACT4B,UAAW,EAAKvT,MAAMkT,UAJO,EAJzC,iFAcQnR,KAAKuR,YAAcvR,KAAKiE,KAAK,kBAdrC,6CAmBQjE,KAAKuR,iBAAc1Q,IAnB3B,mCAsBiBmP,GACThQ,KAAK/B,MAAMwT,iBAAiBzB,GAC5BhQ,KAAK2Q,SAAS,CAAEa,UAAWxB,MAxBnC,+BA2Bc,IAAD,OACD0B,EAAU1R,KAAK/B,MAAMyP,OACpB8C,IAAI,SAACxF,EAAGxI,GAAJ,OACD,kBAAC,EAAD,CAAQsO,IAAG,iBAAYtO,GAAK2K,MAAOnC,EAAGmG,SAAU3O,GAAK,EAAKoN,MAAM4B,UAC5DlN,QAAS,EAAKoM,aAAa3C,KAAK,EAAMvL,OAGlD,OACI,yBAAKrE,IAAI,eACLD,UAAU,gBACTwT,OArCjB,GAAiCrJ,IAAMC,WAmMjC+I,EAAclD,EAtJL,yzH,kBC5ER,SAASwD,KACZ,MAAyB,qBAAX7S,SACT,iBAAkBA,QACX0G,WAAaA,UAAUC,eAAiB,GAGjD,SAASmM,KACZ,MAAwB,oBAAV9S,UAA4BA,OAAewG,c,SFDjD2J,O,mCAAAA,I,0CAAAA,M,cAKAC,O,WAAAA,I,WAAAA,I,WAAAA,I,WAAAA,I,WAAAA,I,WAAAA,I,WAAAA,I,WAAAA,I,sBAAAA,M,KAYZ,IAEa2C,GAAb,WAGI,WAAYzQ,GAAe,yBAF3B0Q,QAE0B,OADhBC,kBACgB,EACtB/R,KAAK8R,GAAKE,GAAI5Q,GAJtB,iDAMS6Q,GAAmD,IAAD,OAInD,OAHAnJ,OAAOG,KAAKgJ,GAAYxQ,QAAQ,SAAAyQ,GAC5B,EAAKlR,aAAakR,EAAID,EAAWC,MAE9BlS,OAVf,mCAaiBmS,EAAcxH,GAEvB,OADA3K,KAAK8R,GAAG9Q,aAAamR,EAAMxH,EAAMqC,YAC1BhN,OAff,qCAkBmBoS,EAAYD,EAAcxH,GAErC,OADA3K,KAAK8R,GAAGO,eAAeD,EAAID,EAAMxH,EAAMqC,YAChChN,OApBf,uIAuBOtB,GACC,OAAOsB,KAAKgB,aAAa,KAAMtC,MAxBvC,iCA2B0C,IAAD,uBAAzBwS,EAAyB,yBAAzBA,EAAyB,gBACjC,OAAOlR,KAAKgB,aAAa,QAASkQ,EAAQoB,KAAK,QA5BvD,uCAiCqBR,EAA8BZ,GAC3CA,EACKpF,MAAM,OACNrK,QAAQ,SAAA8Q,GAAG,OAEhB,SAAwBT,EAA8BS,GAClD,GAAIT,EAAGU,UACHV,EAAGU,UAAUC,IAAIF,OACd,EACcT,EAAG5T,UAAY,IAAI4N,MAAM,OAC9BxL,QAAQiS,GAAO,IACvBT,EAAG5T,UAAUwU,SAAW,IAAMH,IARtBI,CAAeb,EAAIS,OApC/C,0CAkDwBT,EAA8BZ,GAC9CA,EACKpF,MAAM,OACNrK,QAAQ,SAAA8Q,GAAG,OAEhB,SAA2BT,EAA8BS,GACjDT,EAAGU,UACHV,EAAGU,UAAUI,OAAOL,GAEpBT,EAAG5T,UAAUwU,SAAWZ,EAAG5T,UAAY,IAClC4N,MAAM,OACN+G,OAAO,SAAA7H,GAAC,OAAIA,GAAKuH,IACjBD,KAAK,KATEQ,CAAkBhB,EAAIS,OArDlD,kCAoEgBrU,GAER,OADA8B,KAAK+S,iBAAiB/S,KAAK8R,GAAI5T,GACxB8B,OAtEf,kCAyEgB9B,GACR8B,KAAKgT,oBAAoBhT,KAAK8R,GAAI5T,KA1E1C,4BA6EUuN,GACGzL,KAAK+R,eACN/R,KAAK+R,aAAeC,GAAI,SAGpBhS,KAAK8R,GAAGmB,WACRjT,KAAK8R,GAAGoB,aAAalT,KAAK+R,aAAc/R,KAAK8R,GAAGmB,YAGhDjT,KAAK8R,GAAGqB,YAAYnT,KAAK+R,eAGjC/R,KAAK+R,aAAaqB,YAAc3H,IAzFxC,iCA4Fe4H,GACP,OAAOrT,KAAKgB,aAAa,aAAcqS,EAAU,UAAY,cA7FrE,KAiGaC,GAAb,6KAQSlS,GACD,IAAM0Q,EAqed,SAAkB1Q,GACd,OAAQA,GACJ,IAAK,OAAQ,OAAO,IAAImS,GACxB,IAAK,SAAU,OAAO,IAAIC,GAC1B,IAAK,OAAQ,OAAO,IAAIC,GACxB,IAAK,OAAQ,OAAO,IAAIC,GACxB,IAAK,UAAW,OAAO,IAAIC,GAC3B,IAAK,WAAY,OAAO,IAAIC,GAC5B,IAAK,OAAQ,OAAO,IAAIC,GACxB,QAAS,OAAO,IAAIC,GAAS1S,IA9elB2S,CAAS3S,GAEpB,OADApB,KAAK8R,GAAGqB,YAAYrB,EAAGA,IAChBA,IAXf,8BAqBY1Q,EAAcf,GAElB,OADAA,EAAGL,KAAKgU,KAAK5S,IACNpB,OAvBf,8BA2BQ,IAAMiU,EAAI,IAAIC,GAEd,OADAlU,KAAK8R,GAAGqB,YAAYc,EAAEnC,IACfmC,IA7Bf,kCAgCsCE,GAC9BnU,KAAK8R,GAAGqB,YAAYgB,EAAMrC,MAjClC,6BAoCWsC,GAEH,OEtJD,SAActC,EAAgBsC,GAC7BxC,KACAE,EAAG7R,iBAAiB,cAAemU,GAE9BzC,MACLG,EAAG7R,iBAAiB,YAAamU,GACjCtC,EAAG7R,iBAAiB,aAAcmU,IAGlCtC,EAAG7R,iBAAiB,YAAamU,GF4IjCC,CAAYrU,KAAK8R,GAAIsC,GACdpU,OAtCf,2BAyCSoU,GAED,OE9ID,SAAYtC,EAAgBsC,GAC3BxC,KACAE,EAAG7R,iBAAiB,YAAamU,IAE5BzC,KACLG,EAAG7R,iBAAiB,UAAWmU,IFwI/BC,CAAUrU,KAAK8R,GAAIsC,GACZpU,OA3Cf,6BA8CWoU,GAEH,OEzGD,SAActC,EAAgBsC,GAC7BxC,KACAE,EAAG7R,iBAAiB,cAAemU,GAE9BzC,KACLG,EAAG7R,iBAAiB,YAAamU,GAGjCtC,EAAG7R,iBAAiB,YAAamU,GFgGjCC,CAAYrU,KAAK8R,GAAIsC,GACdpU,OAhDf,8BAmDYoU,GAEJ,OE5ID,SAAetC,EAAgBsC,GAC9BxC,KACAE,EAAG7R,iBAAiB,cAAe,SAAAb,GAC/BgV,KAAuB,EAAZhV,EAAEkV,YAGZ3C,KACLG,EAAG7R,iBAAiB,aAAc,SAAAb,GAC9BgV,GAAQ,KAIZtC,EAAG7R,iBAAiB,YAAa,SAAAb,GAC7BgV,KAAuB,EAAZhV,EAAEkV,YF8HjBD,CAAarU,KAAK8R,GAAIsC,GACfpU,OArDf,8BAwDYoU,GAEJ,OE/HD,SAAetC,EAAgBsC,GAC9BxC,KACAE,EAAG7R,iBAAiB,eAAgBmU,GAE/BzC,KACLG,EAAG7R,iBAAiB,WAAYmU,GAGhCtC,EAAG7R,iBAAiB,aAAcmU,GFsHlCC,CAAarU,KAAK8R,GAAIsC,GACfpU,OA1Df,8BA6DYoU,GAEJ,OE5GD,SAAetC,EAAgBsC,GAClCtC,EAAG7R,iBAAiB,QAASmU,GF0GzBC,CAAarU,KAAK8R,GAAIsC,GACfpU,SA/Df,GAAuD6R,IAmE1C0C,GAAb,YAEI,WAAYC,GAAmB,IAAD,8BAC1B,4CAAM,SAFVC,UAC8B,EAEtBD,GACAA,EAAOrB,YAAY,EAAKrB,IAHF,EAFlC,oEASWzR,GAKH,OAJKL,KAAKyU,OACNzU,KAAKyU,KAAO,IAAIC,GAAY1U,KAAK8R,KAErCzR,EAAGL,KAAKyU,MACDzU,SAdf,GAAyBsT,IAkBZY,GAAb,YAKI,WAAYM,GAAsB,IAAD,8BAC7B,4CAAM,OALV9N,SAIiC,IAHjCF,UAGiC,IAFjCmO,iBAEiC,EAEzBH,GACAA,EAAOrB,YAAY,EAAKrB,IAHC,EALrC,uEAYc7M,EAAWC,GAGjB,OAFAlF,KAAKwG,KAAOvB,EACZjF,KAAK0G,IAAMxB,EACJlF,KAAK4U,oBAfpB,4BAkBUC,GAEF,OADA7U,KAAK2U,YAAcE,EACZ7U,KAAK4U,oBApBpB,4BAwBQ,OAAO,IAAIF,GAAY1U,KAAK8R,MAxBpC,8BA4BQ,OAAO,IAAIgD,GAAa9U,KAAK8R,MA5BrC,wCAgCQ,IAAIiD,EAAY,GAQhB,YAPiBlU,GAAbb,KAAKwG,OACLuO,GAAS,oBAAiB/U,KAAKwG,KAAtB,YAA8BxG,KAAK0G,IAAnC,WAEW7F,GAApBb,KAAK2U,cACLI,GAAS,iBAAc/U,KAAK2U,YAAnB,MAEb3U,KAAKgB,aAAa,YAAa+T,GACxB/U,SAxCf,GAA2BsT,IA4Cd0B,GAAb,YACI,aAAe,qEACL,YAFd,mEAKUC,GACF,OAAOjV,KAAKgB,aAAa,eAAgBiU,IAAShG,EAAaiG,kBAAoB,oBAAsB,oBANjH,mCASiBD,GACT,OAAOjV,KAAKgB,aAAa,sBAAuBiU,IAAShG,EAAaiG,kBAAoB,oBAAsB,oBAVxH,2BAaSzQ,EAAeC,GAGhB,OAFA1E,KAAKgB,aAAa,QAASyD,GAC3BzE,KAAKgB,aAAa,SAAU0D,GACrB1E,SAhBf,GAA6BsT,IAoBhBoB,GAAb,YACI,WAAYF,GAAqB,IAAD,6BAC5B,4CAAM,SACNA,EAAOrB,YAAY,EAAKrB,IAFI,EADpC,oEAWW1Q,EAAc1C,GACjB,IAAIoT,EACJ,OAAQ1Q,GACJ,IAAK,OAAQ0Q,EAAK,IAAI+B,GAAQ,MAC9B,IAAK,UAAW/B,EAAK,IAAIkD,GAAW,MACpC,IAAK,iBAAkBlD,EAAK,IAAIqD,GAAkB,MAClD,IAAK,iBAAkBrD,EAAK,IAAIsD,GAAkB,MAClD,IAAK,WAAYtD,EAAK,IAAIuD,GAAY,MACtC,QAASvD,EAAK,IAAID,GAAYzQ,GAIlC,OAFA0Q,EAAGpT,GAAGA,GACNsB,KAAK8R,GAAGqB,YAAYrB,EAAGA,IAChBA,MAvBf,GAAiCD,IA2BpBiD,GAAb,YACI,WAAYN,GAAqB,IAAD,6BAC5B,4CAAM,UACNA,EAAOrB,YAAY,EAAKrB,IAFI,EADpC,qEAMYwD,GACJtV,KAAK8R,GAAGsB,YAAckC,MAP9B,GAAkCzD,IAWrBiC,GAAb,2KACO7O,EAAWC,GAGV,OAFAlF,KAAKgB,aAAa,IAAKiE,GACvBjF,KAAKgB,aAAa,IAAKkE,GAChBlF,OAJf,6BAOWiF,EAAWC,GACd,OAAOlF,KAAKkS,GAAGjN,EAAGC,KAR1B,2BAWSiI,EAAeoI,GAKhB,OAJAvV,KAAKgB,aAAa,OAAQmM,QACXtM,GAAX0U,GACAvV,KAAKuV,QAAQA,GAEVvV,OAhBf,8BAmBYuV,GACJ,OAAOvV,KAAKgB,aAAa,eAAgBuU,KApBjD,6BAuBWpI,EAAe1I,GAKlB,OAJAzE,KAAKgB,aAAa,SAAUmM,QACftM,GAAT4D,GACAzE,KAAKgF,YAAYP,GAEdzE,OA5Bf,kCA+BgByE,GACR,OAAOzE,KAAKgB,aAAa,eAAgByD,KAhCjD,oCAmCkB8Q,GACV,OAAOvV,KAAKgB,aAAa,iBAAkBuU,KApCnD,+BAuCaC,GACL,OAAOxV,KAAKgB,aAAa,YAAawU,OAxC9C,GAAoDlC,IA4CvCC,GAAb,YACI,WAAY9H,GAAgB,IAAD,6BACvB,4CAAM,cAEM5K,GAAR4K,GACA,EAAKA,KAAKA,GAJS,EAD/B,kEASSA,GAED,OADAzL,KAAK8R,GAAGsB,YAAc3H,EACfzL,OAXf,iCAceyV,GACP,OAAOzV,KAAKgB,aAAa,cAAeyU,KAfhD,+BAkBaC,EAAcC,GACnB,OAAO3V,KAAKgB,aAAa,YAAa4U,GAAgBF,EAAMC,MAnBpE,6BAsBWpP,EAAYE,EAAYkP,GAO3B,OANW,IAAPpP,GACAvG,KAAKgB,aAAa,KAAM4U,GAAgBrP,EAAIoP,IAErC,IAAPlP,GACAzG,KAAKgB,aAAa,KAAM4U,GAAgBnP,EAAIkP,IAEzC3V,OA7Bf,6BAgCWoB,GACH,OAAOpB,KAAKgB,aAAa,cAAeI,OAjChD,GAA0B0S,IAqCbL,GAAb,YACI,aAAe,qEAAO,SAD1B,mEAGUhP,GAA4C,IAA7BoR,EAA4B,uDAArB3G,EAAW4G,GACnC,OAAO9V,KAAKgB,aAAa,QAAS4U,GAAgBnR,EAAOoR,MAJjE,6BAOWnR,GAA6C,IAA7BmR,EAA4B,uDAArB3G,EAAW4G,GACrC,OAAO9V,KAAKgB,aAAa,SAAU4U,GAAgBlR,EAAQmR,MARnE,6BAWWE,GACH,OAAO/V,KAAKgW,QAAQD,EAAQA,KAZpC,8BAeY5Q,EAAYC,GAGhB,OAFApF,KAAKgB,aAAa,KAAMmE,GACxBnF,KAAKgB,aAAa,KAAMoE,GACjBpF,OAlBf,2BAqBSyE,EAAeC,GAA6C,IAA7BmR,EAA4B,uDAArB3G,EAAW4G,GAGlD,OAFA9V,KAAKyE,MAAMA,EAAOoR,GAClB7V,KAAK0E,OAAOA,EAAQmR,GACb7V,SAxBf,GAA0B8T,IA4BbN,GAAb,YACI,aAAe,qEAAO,WAD1B,gEAGO7O,EAAYC,GAGX,OAFA5E,KAAKgB,aAAa,KAAM2D,GACxB3E,KAAKgB,aAAa,KAAM4D,GACjB5E,OANf,6BASW6E,GACH,OAAO7E,KAAKgB,aAAa,IAAK6D,OAVtC,GAA4BiP,IA8BfJ,GAAb,YACI,aAAe,qEAAO,SAD1B,gEAGOuC,EAAYC,EAAYC,EAAaC,GAKpC,OAJApW,KAAKqW,KAAKJ,EAAIC,QACJrV,GAANsV,QAAyBtV,GAANuV,GACnBpW,KAAKsW,GAAGH,EAAIC,GAETpW,OARf,2BAWSiW,EAAYC,GAGb,OAFAlW,KAAKgB,aAAa,KAAMiV,GACxBjW,KAAKgB,aAAa,KAAMkV,GACjBlW,OAdf,yBAiBOmW,EAAYC,GAGX,OAFApW,KAAKgB,aAAa,KAAMmV,GACxBnW,KAAKgB,aAAa,KAAMoV,GACjBpW,SApBf,GAA0B8T,IAwBbyC,GAAb,+KACWC,GACH,OAAOxW,KAAKgB,aAAa,SAAUwV,KAF3C,2BAKSA,GAID,OAAOxW,KAAKwW,OAAOA,EAAOhG,IAAI,qBAAGvL,EAAe,IAAlB,EAAMC,IAAqBoN,KAAK,UATtE,GAAmFwB,IAatEF,GAAb,YACI,aAAe,qEAAO,aAD1B,2BAA8B2C,IAIjB5C,GAAb,YACI,aAAe,qEAAO,YAD1B,2BAA6B4C,IAIhB1C,GAAb,YAGI,aAAe,IAAD,8BACV,4CAAM,UAHVhD,OAEc,EAEV,EAAKA,EAAI,IAAI4F,GAFH,EAHlB,sEASQ,OAAOzW,KAAKgB,aAAa,IAAKhB,KAAK6Q,EAAE6F,iBAT7C,2BAYSrW,GAED,OADAA,EAAGL,KAAK6Q,GACD7Q,KAAK2W,aAdpB,GAA0B7C,IAwCb8C,GAAb,8KACU3B,GACF,OAAOjV,KAAKgB,aAAa,gBAAiBiU,IAAShG,EAAaiG,kBAAoB,oBAAsB,oBAFlH,2BAKS2B,EAAgB1J,EAAgBoI,GACjC,IAAMuB,EAAI9E,GAAI,QAWd,OAVA8E,EAAE9V,aAAa,SAAU6V,EAAS,UACrBhW,GAATsM,GACA2J,EAAE9V,aAAa,aAAcmM,QAGlBtM,GAAX0U,GACAuB,EAAE9V,aAAa,eAAgBuU,GAGnCvV,KAAK8R,GAAGqB,YAAY2D,GACb9W,SAjBf,GAA4D6R,IAqB/CuD,GAAb,YACI,aAAe,qEAAO,mBAD1B,mEAGUa,EAAYC,GAGd,OAFAlW,KAAKgB,aAAa,KAAMiV,GACxBjW,KAAKgB,aAAa,KAAMkV,GACjBlW,OANf,0BASQmW,EAAYC,GAGZ,OAFApW,KAAKgB,aAAa,KAAMmV,GACxBnW,KAAKgB,aAAa,KAAMoV,GACjBpW,SAZf,GAAoC4W,IAgBvBzB,GAAb,YACI,aAAe,qEAAO,mBAD1B,oEAGWxQ,EAAYC,GAGf,OAFA5E,KAAKgB,aAAa,KAAM2D,GACxB3E,KAAKgB,aAAa,KAAM4D,GACjB5E,OANf,4BASU+W,EAAYC,EAAYC,GAI1B,OAHAjX,KAAKgB,aAAa,KAAM+V,GACxB/W,KAAKgB,aAAa,KAAMgW,GACxBhX,KAAKgB,aAAa,KAAMiW,GACjBjX,OAbf,6BAgBW6E,GACH,OAAO7E,KAAKgB,aAAa,IAAK6D,OAjBtC,GAAoC+R,IAqBvBvB,GAAb,YACI,aAAe,qEAAO,aAD1B,2EAGkBH,GACV,OAAIA,EACOlV,KAAKgB,aAAa,gBAAiB,qBAGnChB,KAAKgB,aAAa,gBAAiB,sBARtD,GAA8BsS,IAa9B,SAAStB,GAAI5Q,GAET,OADSoN,SAAS0I,gBAAgB,6BAA8B9V,GA6B7D,IAAMqV,GAAb,iDACYU,IAAgB,GAD5B,oDAIQnX,KAAKmX,IAAM,KAJnB,6BAOWlS,EAAWC,GACd,OAAOlF,KAAKoX,GAAG,IAAKnS,EAAGC,KAR/B,6BAWWqB,EAAYE,GACf,OAAOzG,KAAKoX,GAAG,IAAK7Q,EAAIE,KAZhC,6BAeWxB,EAAWC,GACd,OAAOlF,KAAKoX,GAAG,IAAKnS,EAAGC,KAhB/B,6BAmBWqB,EAAYE,GACf,OAAOzG,KAAKoX,GAAG,IAAK7Q,EAAIE,KApBhC,+BAuBa4Q,EAAaC,EAAaC,EAAaC,EAAavS,EAAWC,GACpE,OAAOlF,KAAKoX,GAAG,IAAKC,EAAKC,EAAKC,EAAKC,EAAKvS,EAAGC,KAxBnD,+BA2BauS,EAAcC,EAAcC,EAAcC,EAAcrR,EAAYE,GACzE,OAAOzG,KAAKoX,GAAG,IAAKK,EAAMC,EAAMC,EAAMC,EAAMrR,EAAIE,KA5BxD,+BA+Ba9B,EAAYC,EAAYK,EAAWC,GACxC,OAAOlF,KAAKoX,GAAG,IAAKzS,EAAIC,EAAIK,EAAGC,KAhCvC,+BAmCa2S,EAAaC,EAAavR,EAAYE,GAC3C,OAAOzG,KAAKoX,GAAG,IAAKS,EAAKC,EAAKvR,EAAIE,KApC1C,+BAuCa9B,EAAYC,EAAYK,EAAWC,GACxC,OAAOlF,KAAKoX,GAAG,IAAKzS,EAAIC,EAAIK,EAAGC,KAxCvC,+BA2Ca2S,EAAaC,EAAavR,EAAYE,GAC3C,OAAOzG,KAAKoX,GAAG,IAAKS,EAAKC,EAAKvR,EAAIE,KA5C1C,+BA+CaxB,EAAWC,GAChB,OAAOlF,KAAKoX,GAAG,IAAKnS,EAAGC,KAhD/B,+BAmDaqB,EAAYE,GACjB,OAAOzG,KAAKoX,GAAG,IAAK7Q,EAAIE,KApDhC,4BAuDUtB,EAAYC,EAAY2S,EAAiBC,EAAgBC,EAAyBhT,EAAWC,GAC/F,OAAOlF,KAAKoX,GAAG,IAAKjS,EAAIC,EAAI2S,EAASC,EAAQ,EAAI,EAAGC,EAAiB,EAAI,EAAGhT,EAAGC,KAxDvF,4BA2DUC,EAAYC,EAAY2S,EAAiBC,EAAgBC,EAAyBhT,EAAWC,GAC/F,OAAOlF,KAAKoX,GAAG,IAAKjS,EAAIC,EAAI2S,EAASC,EAAQ,EAAI,EAAGC,EAAiB,EAAI,EAAGhT,EAAGC,KA5DvF,8BAgEQ,OAAOlF,KAAKoX,GAAG,OAhEvB,oCAoEQ,OAAOpX,KAAKmX,IAAI3G,IAAI,SAAA4G,GAAE,OAAIA,EAAGA,GAAK,IAAMA,EAAGc,KAAK5F,KAAK,OAAMA,KAAK,OApExE,yBAuEe8E,GAAwC,IAAD,uBAAhBc,EAAgB,iCAAhBA,EAAgB,kBAK9C,OAJAlY,KAAKmX,IAAI5W,KAAK,CACV6W,KACAc,SAEGlY,SA5Ef,KAgFA,SAAS4V,GAAgBjL,EAAekL,GACpC,OAAQA,GACJ,KAAK3G,EAAWiJ,GAAI,OAAOxN,EAAQ,KACnC,KAAKuE,EAAWkJ,GAAI,OAAOzN,EAAQ,KACnC,KAAKuE,EAAW4G,GAAI,OAAOnL,EAAQ,KACnC,KAAKuE,EAAWmJ,GAAI,OAAO1N,EAAQ,KACnC,KAAKuE,EAAWoJ,GAAI,OAAO3N,EAAQ,KACnC,KAAKuE,EAAWqJ,GAAI,OAAO5N,EAAQ,KACnC,KAAKuE,EAAWsJ,GAAI,OAAO7N,EAAQ,KACnC,KAAKuE,EAAWuJ,GAAI,OAAO9N,EAAQ,KACnC,KAAKuE,EAAWwJ,QAAS,OAAO/N,EAAQ,IACxC,QAAS,OAAOA,EAAMqC,YGvtBvB,IAYK2L,GAVL,SAAS/G,KACZ,MAAwB,oBAAV9S,UAA4BA,OAAewG,aAGtD,SAASqM,KACZ,MAAyB,qBAAX7S,SACT,iBAAkBA,QACX0G,WAAaA,UAAUC,eAAiB,I,SAG5CkT,O,aAAAA,I,iBAAAA,I,kBAAAA,Q,KAML,IAAMC,GAAb,WAGI,WAAmBnU,EAAsBC,GAAiB,yBAAvCD,QAAsC,KAAhBC,SAAgB,KAF/CmU,UAE+C,EACrD7Y,KAAK6Y,KAAO,IAAItO,WAAWzJ,KAAK0J,KAAK/F,EAAQC,EAAS,IAJ9D,gDAOQ+F,EAAaC,GACb,IAAMoO,EAAYrO,EAAMzK,KAAKyE,MAAQiG,EAC/BlK,EAAQsY,GAAa,EACrBjC,EAAqB,EAAZiC,EACf9Y,KAAK6Y,KAAKrY,IAAW,GAAKqW,IAXlC,0BAcQpM,EAAaC,GACb,IAAMoO,EAAYrO,EAAMzK,KAAKyE,MAAQiG,EAC/BlK,EAAQsY,GAAa,EACrBjC,EAAqB,EAAZiC,EACf,OAAQ9Y,KAAK6Y,KAAKrY,IAAUqW,EAAU,MAlB9C,KA8BakC,GACLnH,KACO,CACH3J,GAAI,YACJC,KAAM,CAAC,eACP8Q,KAAM,cACNC,MAAO,eACPC,MAAO,gBAEJvH,KACA,CACH1J,GAAI,UACJC,KAAM,CAAC,YAAa,cACpB8Q,KAAM,YACNC,MAAO,aACPC,MAAO,YAGJ,CACHjR,GAAI,UACJC,KAAM,CAAC,aACP8Q,KAAM,YACNC,MAAO,aACPC,MAAO,cAuCZ,IC1GKC,GAWL,SAASC,GAAqBC,GACjC,OAAQA,GACJ,KAAKF,GAAUG,OACX,MAAO,IACX,KAAKH,GAAUI,UACX,MAAO,IACX,KAAKJ,GAAU3F,OACX,MAAO,IACX,KAAK2F,GAAUK,KACX,MAAO,IACX,KAAKL,GAAUzF,KACX,MAAO,IACX,KAAKyF,GAAUM,MACX,MAAO,IACX,KAAKN,GAAUO,QACX,MAAO,IACX,QACI,S,SA5BAP,O,mBAAAA,I,yBAAAA,I,qBAAAA,I,mBAAAA,I,eAAAA,I,eAAAA,I,iBAAAA,I,sBAAAA,Q,KAgCL,IAAMQ,GAGT,WAA4BlV,EAA+BC,GAAiB,yBAAhDD,QAA+C,KAAhBC,SAAgB,KAF3EkV,aAE2E,OAD3EC,aAC2E,EACvE7Z,KAAK4Z,UAAYnV,GAAS,GAC1BzE,KAAK6Z,UAAYnV,GAAU,IAIboV,GAAtB,WAMI,WAAsBC,EAA+BC,EAA6B7M,EAAyB8M,GAAoB,yBAAzGF,cAAwG,KAAzEC,eAAyE,KAA5C7M,QAA4C,KAAnB8M,YAAmB,KALpHC,cAKoH,OAJpHC,cAIoH,OAH9HC,eAG8H,OAF9HC,iBAE8H,EANlI,mDAYkBzK,GACN5P,KAAKoa,WACLpa,KAAKsa,WAAW1K,KAd5B,4BAmBU2K,EAAmBC,EAAmB5K,GACxC5P,KAAKoa,WAAY,EACjBpa,KAAKka,SAAWK,EAChBva,KAAKma,SAAWK,EAEhB5K,EAAM6K,uBAxBd,0BA4BQhQ,EAAaC,EAAakF,MA5BlC,kCAkCQ,OAAO,IAAI+J,GAAO3Z,KAAKia,UAAWja,KAAKia,aAlC/C,iCAqCexP,EAAaC,EAAasJ,GACjCA,EAAKvJ,EAAKC,OAtClB,KA0CsBgQ,GAAtB,2MACcC,YADd,IAEcC,YAFd,IAGcC,eAHd,wEAKWpQ,EAAaC,GAChB1K,KAAK2a,OAASlQ,EACdzK,KAAK4a,OAASlQ,EAET1K,KAAK6a,WAAepQ,GAAOzK,KAAKka,UAAYxP,GAAO1K,KAAKma,WACzDna,KAAK6a,WAAY,KAV7B,gCAeQ,MAAO,CACH5V,EAAGnE,KAAKgG,IAAI9G,KAAKka,SAAUla,KAAK2a,QAChCzV,EAAGpE,KAAKgG,IAAI9G,KAAKma,SAAUna,KAAK4a,WAjB5C,oCAsBQ,MAAO,CACH3V,EAAGnE,KAAK4G,IAAI1H,KAAKka,SAAUla,KAAK2a,QAChCzV,EAAGpE,KAAK4G,IAAI1H,KAAKma,SAAUna,KAAK4a,aAxB5C,GAA4Cd,IAgC/BgB,GAAb,YAII,WAAYf,EAAqBC,EAAsB7M,EAAe8M,GAAoB,IAAD,8BACrF,4CAAMF,EAAaC,EAAc7M,EAAO8M,KAJlCpB,UAG+E,IAFzFwB,aAAc,EAIV,EAAKxB,KAAO,IAAID,GAAQmB,EAAaC,GAFgD,EAJ7F,oEASWvP,EAAaC,GAEhB1K,KAAK+a,YAAY/a,KAAKka,SAAUla,KAAKma,SAAU1P,EAAKC,GAEpD1K,KAAKka,SAAWzP,EAChBzK,KAAKma,SAAWzP,IAdxB,kCAkB0BN,EAAYC,EAAY4L,EAAYC,GAAa,IAAD,OAC5D3P,EAAK0P,EAAK7L,EACV3D,EAAKyP,EAAK7L,EACV2J,EAAO,SAAChJ,EAAWnG,GAAZ,OAA0B,EAAKgU,KAAK5N,IAAID,EAAGnG,IACxD,GAAW,IAAP0B,EAeJ,IANA,IAAMyU,EAAQzU,EAAK,EAAI,GAAK,EACtB0U,EAAQxU,EAAK,EAAI,GAAK,EACtByU,EAAOpa,KAAKqa,IAAI1U,EAAKF,GAEvB6U,EAAM,EACNlW,EAAImF,EACCpF,EAAImF,EAAI4Q,EAAQ,EAAI/V,GAAKgR,EAAKhR,GAAKgR,EAAIhR,GAAK+V,EAGjD,IAFAhb,KAAKqb,SAASpW,EAAGC,EAAG8O,GACpBoH,GAAOF,EACAE,GAAO,KACNH,EAAQ,EAAI/V,GAAKgR,EAAKhR,GAAKgR,IAC3BlW,KAAKqb,SAASpW,EAAGC,EAAG8O,GAExB9O,GAAK+V,EACLG,GAAO,OApBX,IAFA,IACME,EAAO7U,GAAM,EAAIyP,EAAK7L,EACnBnF,EAFMuB,GAAM,EAAI4D,EAAK6L,EAEThR,GAAKoW,EAAMpW,IAC5BlF,KAAKqb,SAASjR,EAAIlF,EAAG8O,KA1BrC,iCAkDyBpE,GACjB,IAAK,IAAI5E,EAAI,EAAGA,EAAI4E,EAAMnL,MAAOuG,IAC7B,IAAK,IAAInG,EAAI,EAAGA,EAAI+K,EAAMlL,OAAQG,IAC1B7E,KAAK6Y,KAAK3N,IAAIF,EAAGnG,IACjB+K,EAAM2L,MAAMtQ,IAAID,EAAGnG,EAAG7E,KAAKmN,SAtD/C,iCA4De1C,EAAaC,EAAasJ,GACjChU,KAAKqb,SAAS5Q,EAAKC,EAAKsJ,KA7DhC,+BAgEuBvJ,EAAaC,EAAa8Q,GACzC/Q,GAAY3J,KAAKgH,MAAM9H,KAAKia,UAAY,GACxCvP,GAAY5J,KAAKgH,MAAM9H,KAAKia,UAAY,GACxC,IAAK,IAAIzX,EAAI,EAAGA,EAAIxC,KAAKia,UAAWzX,IAChC,IAAK,IAAIuK,EAAI,EAAGA,EAAI/M,KAAKia,UAAWlN,IAAK,CACrC,IAAM/B,EAAIP,EAAMjI,EACVqC,EAAI6F,EAAMqC,EAEZ/B,GAAK,GAAKA,EAAIhL,KAAK+Z,aAAelV,GAAK,GAAKA,EAAI7E,KAAKga,cACrDwB,EAAS/Q,EAAMjI,EAAGkI,EAAMqC,QAzE5C,GAA+B+M,IAoGlB2B,GAAb,2MACIpB,aAAc,EADlB,0EAGyBzK,GACjB,IAAI8L,EAAK1b,KAAK2b,UACdD,EAAGzW,GAAKjF,KAAKia,WAAa,EAC1ByB,EAAGxW,GAAKlF,KAAKia,WAAa,EAE1B,IAAI2B,EAAK5b,KAAK6b,cACdD,EAAG3W,GAAKjF,KAAKia,WAAa,EAC1B2B,EAAG1W,GAAKlF,KAAKia,WAAa,EAE1B,IAAK,IAAIzX,EAAI,EAAGA,EAAIxC,KAAKia,UAAWzX,IAChCxC,KAAK8b,cAAclM,EACf,CAAE3K,EAAGyW,EAAGzW,EAAIzC,EAAG0C,EAAGwW,EAAGxW,EAAI1C,GACzB,CAAEyC,EAAG2W,EAAG3W,EAAIzC,EAAG0C,EAAG0W,EAAG1W,EAAI1C,MAfzC,oCAoB4BoN,EAAoB8L,EAAWE,GACnD,KAAIF,EAAGzW,EAAI2W,EAAG3W,GAAKyW,EAAGxW,EAAI0W,EAAG1W,GAA7B,CAEA,IAAK,IAAI8F,EAAI0Q,EAAGzW,EAAG+F,GAAK4Q,EAAG3W,EAAG+F,IAC1B4E,EAAM2L,MAAMtQ,IAAID,EAAG0Q,EAAGxW,EAAGlF,KAAKmN,OAC9ByC,EAAM2L,MAAMtQ,IAAID,EAAG4Q,EAAG1W,EAAGlF,KAAKmN,OAElC,IAAK,IAAItI,EAAI6W,EAAGxW,EAAGL,GAAK+W,EAAG1W,EAAGL,IAC1B+K,EAAM2L,MAAMtQ,IAAIyQ,EAAGzW,EAAGJ,EAAG7E,KAAKmN,OAC9ByC,EAAM2L,MAAMtQ,IAAI2Q,EAAG3W,EAAGJ,EAAG7E,KAAKmN,UA7B1C,iCAiCe1C,EAAaC,EAAasJ,GACjChU,KAAKqb,SAAS5Q,EAAKC,EAAKsJ,KAlChC,+BAqCuBvJ,EAAaC,EAAa8Q,GACzC/Q,GAAY3J,KAAKgH,MAAM9H,KAAKia,UAAY,GACxCvP,GAAY5J,KAAKgH,MAAM9H,KAAKia,UAAY,GACxC,IAAK,IAAIzX,EAAI,EAAGA,EAAIxC,KAAKia,UAAWzX,IAChC,IAAK,IAAIuK,EAAI,EAAGA,EAAI/M,KAAKia,UAAWlN,IAAK,CACrC,IAAM/B,EAAIP,EAAMjI,EACVqC,EAAI6F,EAAMqC,EAEZ/B,GAAK,GAAKA,EAAIhL,KAAK+Z,aAAelV,GAAK,GAAKA,EAAI7E,KAAKga,cACrDwB,EAAS/Q,EAAMjI,EAAGkI,EAAMqC,QA9C5C,GAAiC2N,IAyDpBqB,GAAb,2MACI1B,aAAc,EADlB,0EAGyBzK,GACjB5P,KAAKgc,UAAUhc,KAAKka,SAAUla,KAAKma,SAAUna,KAAK2a,OAAQ3a,KAAK4a,OAAQhL,KAJ/E,gCAQwBxF,EAAYC,EAAY4L,EAAYC,EAAYtG,GAAqB,IAAD,OAC9ErJ,EAAK0P,EAAK7L,EACV3D,EAAKyP,EAAK7L,EACV2J,EAAO,SAAChJ,EAAWnG,GAAZ,OAA0B+K,EAAM2L,MAAMtQ,IAAID,EAAGnG,EAAG,EAAKsI,QAClE,GAAW,IAAP5G,EAeJ,IANA,IAAMyU,EAAQzU,EAAK,EAAI,GAAK,EACtB0U,EAAQxU,EAAK,EAAI,GAAK,EACtByU,EAAOpa,KAAKqa,IAAI1U,EAAKF,GAEvB6U,EAAM,EACNlW,EAAImF,EACCpF,EAAImF,EAAI4Q,EAAQ,EAAI/V,GAAKgR,EAAKhR,GAAKgR,EAAIhR,GAAK+V,EAGjD,IAFAhb,KAAKqb,SAASpW,EAAGC,EAAG8O,GACpBoH,GAAOF,EACAE,GAAO,KACNH,EAAQ,EAAI/V,GAAKgR,EAAKhR,GAAKgR,IAC3BlW,KAAKqb,SAASpW,EAAGC,EAAG8O,GAExB9O,GAAK+V,EACLG,GAAO,OApBX,IAFA,IACME,EAAO7U,GAAM,EAAIyP,EAAK7L,EACnBnF,EAFMuB,GAAM,EAAI4D,EAAK6L,EAEThR,GAAKoW,EAAMpW,IAC5BlF,KAAKqb,SAASjR,EAAIlF,EAAG8O,KAhBrC,iCAwCevJ,EAAaC,EAAasJ,GACjChU,KAAKqb,SAAS5Q,EAAKC,EAAKsJ,KAzChC,+BA6CuBvJ,EAAaC,EAAasJ,GACzCvJ,GAAY3J,KAAKgH,MAAM9H,KAAKia,UAAY,GACxCvP,GAAY5J,KAAKgH,MAAM9H,KAAKia,UAAY,GACxC,IAAK,IAAIzX,EAAI,EAAGA,EAAIxC,KAAKia,UAAWzX,IAChC,IAAK,IAAIuK,EAAI,EAAGA,EAAI/M,KAAKia,UAAWlN,IAAK,CAIrCiH,EAHUvJ,EAAMjI,EACNkI,EAAMqC,QAnDhC,GAA8B2N,IA8DjBuB,GAAb,2MACI5B,aAAc,EADlB,0EAGyBzK,GACjB,IAAM8L,EAAK1b,KAAK2b,UACVC,EAAK5b,KAAK6b,cACVtV,EAAKqV,EAAG3W,EAAIyW,EAAGzW,EACfwB,EAAKmV,EAAG1W,EAAIwW,EAAGxW,EAEf6Q,EAASjV,KAAKgH,MAAMhH,KAAKob,MAAM3V,EAAIE,IACnC9B,EAAK3E,KAAKka,SACVtV,EAAK5E,KAAKma,SAEhBna,KAAKmc,SAASxX,EAAIC,EAAImR,EAAQnG,KAbtC,+BAiBajL,EAAYC,EAAYmR,EAAgBnG,GAM7C,IALA,IAAI3K,EAAI8Q,EAAS,EACb7Q,EAAI,EACJqB,EAAK,EACLE,EAAK,EACL2U,EAAM7U,EAAe,EAATwP,EACT9Q,GAAKC,GACR0K,EAAM2L,MAAMtQ,IAAItG,EAAKM,EAAGL,EAAKM,EAAGlF,KAAKmN,OACrCyC,EAAM2L,MAAMtQ,IAAItG,EAAKM,EAAGL,EAAKM,EAAGlF,KAAKmN,OACrCyC,EAAM2L,MAAMtQ,IAAItG,EAAKO,EAAGN,EAAKK,EAAGjF,KAAKmN,OACrCyC,EAAM2L,MAAMtQ,IAAItG,EAAKO,EAAGN,EAAKK,EAAGjF,KAAKmN,OACrCyC,EAAM2L,MAAMtQ,IAAItG,EAAKO,EAAGN,EAAKK,EAAGjF,KAAKmN,OACrCyC,EAAM2L,MAAMtQ,IAAItG,EAAKO,EAAGN,EAAKK,EAAGjF,KAAKmN,OACrCyC,EAAM2L,MAAMtQ,IAAItG,EAAKM,EAAGL,EAAKM,EAAGlF,KAAKmN,OACrCyC,EAAM2L,MAAMtQ,IAAItG,EAAKM,EAAGL,EAAKM,EAAGlF,KAAKmN,OACjCiO,GAAO,IACPlW,IACAkW,GAAO3U,EACPA,GAAM,GAEN2U,EAAM,IACNnW,IAEAmW,IADA7U,GAAM,GACgB,EAATwP,KAxC7B,kCA8CQ,OAAO,IAAI4D,GAAO,EAAG,OA9C7B,GAAgCe,IAmDnB0B,GAAb,2MACc3R,SADd,IAEcC,SAFd,IAGI2P,aAAc,EAHlB,qEAKU5P,EAAaC,EAAakF,GAC5B5P,KAAKoa,WAAY,EACjBpa,KAAKyK,IAAMA,EACXzK,KAAK0K,IAAMA,EAEXkF,EAAM6K,uBAVd,6BAaWhQ,EAAaC,GAChB1K,KAAKyK,IAAMA,EACXzK,KAAK0K,IAAMA,IAfnB,iCAkByBkF,GACjB,IAAMyM,EAAYzM,EAAM2L,MAAMrQ,IAAIlL,KAAKyK,IAAKzK,KAAK0K,KACjD,GAAI2R,IAAcrc,KAAKmN,MAAvB,CAIA,IAAM0L,EAAO,IAAID,GAAQhJ,EAAMnL,MAAOmL,EAAMlL,QAC5CmU,EAAK5N,IAAIjL,KAAKyK,IAAKzK,KAAK0K,KAExB,IADA,IAAM4R,EAAa,CAAC,CAAErX,EAAGjF,KAAKyK,IAAKvF,EAAGlF,KAAK0K,MACpC4R,EAAE5Z,QAAQ,CACb,IAAMiK,EAAO2P,EAAEC,MACX3M,EAAM2L,MAAMrQ,IAAIyB,EAAK1H,EAAG0H,EAAKzH,KAAOmX,IACpCzM,EAAM2L,MAAMtQ,IAAI0B,EAAK1H,EAAG0H,EAAKzH,EAAGlF,KAAKmN,OACrCqP,EAAQ7P,EAAK1H,EAAI,EAAG0H,EAAKzH,GACzBsX,EAAQ7P,EAAK1H,EAAI,EAAG0H,EAAKzH,GACzBsX,EAAQ7P,EAAK1H,EAAG0H,EAAKzH,EAAI,GACzBsX,EAAQ7P,EAAK1H,EAAG0H,EAAKzH,EAAI,KAIjC,SAASsX,EAAQvX,EAAWC,GACpBD,GAAK,GAAKA,EAAI4T,EAAKpU,OAASS,GAAK,GAAKA,EAAI2T,EAAKnU,SAAWmU,EAAK3N,IAAIjG,EAAGC,KACtE2T,EAAK5N,IAAIhG,EAAGC,GACZoX,EAAE/b,KAAK,CAAE0E,EAAGA,EAAGC,EAAGA,QAzClC,kCA+CQ,OAAO,IAAIyU,GAAO,EAAG,OA/C7B,GAA8BG,IAoDjB2C,GAAb,2MACcC,QAAS,EADvB,EAEIrC,aAAc,EAFlB,qEAIUE,EAAmBC,EAAmB5K,GACxC5P,KAAKoa,WAAY,EACjBpa,KAAKka,SAAWK,EAChBva,KAAKma,SAAWK,EACZ5K,EAAM+M,gBACF/M,EAAMgN,gBAAgBrC,EAAWC,GACjCxa,KAAK0c,QAAS,EAEd9M,EAAM6K,wBAZtB,0BAiBQF,EAAmBC,EAAmB5K,IACjC5P,KAAK6a,WAAajL,EAAM+M,eACzB/M,EAAM6K,uBAnBlB,iCAuByB7K,GACjB,IAAM8L,EAAK1b,KAAK2b,UACVC,EAAK5b,KAAK6b,cAEZ7b,KAAK6a,YACD7a,KAAK0c,QACL9M,EAAMiN,aAAejN,EAAM+M,cAAcvS,GAAKpK,KAAK2a,OAAS3a,KAAKka,SACjEtK,EAAMkN,aAAelN,EAAM+M,cAActS,GAAKrK,KAAK4a,OAAS5a,KAAKma,UAGjEvK,EAAMmN,YAAYrB,EAAGzW,EAAGyW,EAAGxW,EAAG0W,EAAG3W,EAAIyW,EAAGzW,EAAI,EAAG2W,EAAG1W,EAAIwW,EAAGxW,EAAI,GAAG,MAjChF,0CAAiCwV,I,QC5a3BsC,GAAuB,EACvBC,GAAsB,EACtBC,GAA6B,EAmKtBC,GAAb,WAQI,WAAYC,EAAiBzY,EAAYC,GAAa,IAAD,gCAPrDD,QAOqD,OANrDC,QAMqD,OALrDwY,UAKqD,OAJrD1M,kBAIqD,OAH7C2M,YAG6C,OAF7CC,eAE6C,EACjDtd,KAAKod,KAAOA,EACZpd,KAAK2E,GAAKA,EACV3E,KAAK4E,GAAKA,EACV5E,KAAKod,KAAK9Y,QAAQ,kBAAM,EAAKoM,cAAgB,EAAKA,iBAClD1Q,KAAKod,KAAKG,YAAY,wBAb9B,yDAiBQ,OAAOvd,KAAKod,OAjBpB,+BAoBoBlf,GACZ8B,KAAKod,KAAKG,YAAYrf,KArB9B,kCAwBuBA,GACf8B,KAAKod,KAAKI,YAAYtf,KAzB9B,8BA4BmBwS,GACX1Q,KAAK0Q,aAAeA,IA7B5B,gCAgCqBzL,EAAWC,GACxBlF,KAAKod,KAAKK,UAAUxY,EAAGC,KAjC/B,4BAoCiBuG,GACTzL,KAAKqd,OAAS5R,EACdzL,KAAK0d,iBAtCb,+BAyCoBjS,GACZzL,KAAKsd,UAAY7R,EACjBzL,KAAK0d,iBA3Cb,qCA+CQ1d,KAAKod,KAAK9e,MAAM0B,KAAKqd,QAAUrd,KAAKsd,UAAY,KAAOtd,KAAKsd,UAAY,IAAM,OA/CtF,kCAkDuBK,GACf3d,KAAK4d,UAAU,WAAYD,KAnDnC,kCAsDuBxM,GACfnR,KAAK4d,UAAU,WAAYzM,KAvDnC,kEA4DwBjT,EAAmBuU,GAC/BA,EACAzS,KAAKod,KAAKG,YAAYrf,GAGtB8B,KAAKod,KAAKI,YAAYtf,OAjElC,KAsEa2f,GAAb,YAGI,WAAY1d,EAAqBsL,EAAcvN,GAAoB,IAAD,8BAC9D,4CAAMiC,EAAOid,KAAMjd,EAAOwE,GAAIxE,EAAOyE,MAH/BkZ,YAEwD,EAG9D,EAAKA,OAASC,GAAOtS,GAChB8R,YAAYrf,GAEjB,EAAK4f,OAAOE,OAAO,EAAKrZ,GAAI,EAAKC,IAEjC,EAAKwY,KAAKjK,YAAY,EAAK2K,QARmC,EAHtE,qEAcYrS,GACJzL,KAAK8d,OAAOrS,KAAKA,GACjBzL,KAAK8d,OAAOE,OAAOhe,KAAK2E,GAAI3E,KAAK4E,MAhBzC,8CAoBQ,IACI,OAAO5E,KAAK8d,OAAOhM,GAAGmM,wBAE1B,MAAO7e,GAGH,OAA2C,EAApCY,KAAK8d,OAAOhM,GAAGsB,YAAY1Q,YA1B9C,GAAgCya,IAgEnBe,GAAb,YACI,WAAYd,EAAiBzY,EAAYC,EAAYH,GAAgB,IAAD,8BAChE,4CAAM2Y,EAAMzY,EAAIC,KAEXwY,KAAKpJ,KAAK,QACVlP,KAAK,SACL4Q,KAAKjR,EAAOA,GACZyN,GAAGpR,KAAKgH,MAAM,EAAKnD,GAAKF,EAAQ,GAAI3D,KAAKgH,MAAM,EAAKlD,GAAKH,EAAQ,IANN,EADxE,2BAAkC0Y,IAW3B,SAASgB,GAAaC,EAAc3Z,GAAmF,IACpHwP,EAAIoK,GAAiB5Z,EAD8F,uDAA1DA,EAAQyY,GAA6BD,IAEpG,OAAO,IAAIY,GAAW5J,EAAGmK,EAAM,sBAG5B,SAASE,GAAcF,EAAc3Z,GAAmF,IACrHwP,EAAIoK,GAAiB5Z,EAD+F,uDAA1DA,EAAQyY,GAA6BD,IAErG,OAAO,IAAIY,GAAW5J,EAAGmK,EAAM,uBAmBnC,SAASG,GAAe9Z,EAAeC,EAAgB8Z,EAAaC,EAAgB5Z,GAChF,IAAMuY,GAAO,IAAIsB,IAAYnB,YAAY,wBACnCoB,EAAKvB,EAAKpJ,KAAK,QAChBuJ,YAAY,2BACjBoB,EAAG9N,EAAEmN,OAAOnZ,EAAG,GACV+Z,OAAOna,EAAQI,EAAG,GAClB+Z,OAAO,EAAGla,GACVka,SAASna,EAAQI,GAAI,GACrBga,MAAMha,EAAGA,EAAG,GAAG,GAAO,GAAOA,GAAIA,GACjC+Z,OAAO,IAAKla,GAAUG,GAAK,KAC3Bga,MAAMha,EAAGA,EAAG,GAAG,GAAO,EAAMA,GAAIA,GAChCia,QACLH,EAAGhI,SAEH,IAAMoI,EAAK3B,EAAKpJ,KAAK,QAChBuJ,YAAY,2BAWjB,OAVAwB,EAAGlO,EAAEmN,OAAOS,EAAS5Z,EAAG4Z,GACnBG,OAAOna,EAAQga,EAAS5Z,EAAG,GAC3B+Z,OAAO,EAAGla,EAAS8Z,EAAMC,GACzBG,SAASna,EAAQga,EAAS5Z,GAAI,GAC9Bga,MAAMha,EAAGA,EAAG,GAAG,GAAO,GAAOA,GAAIA,GACjC+Z,OAAO,IAAKla,EAAS8Z,EAAMC,GAAU5Z,GAAK,KAC1Cga,MAAMha,EAAGA,EAAG,GAAG,GAAO,EAAMA,GAAIA,GAChCia,QACLC,EAAGpI,SAEI,CACHyG,OACAzY,GAAI8Z,GAAUha,EAAQga,GAAU,EAChC7Z,GAAI6Z,GAAU/Z,EAAS8Z,GAAO,GAI/B,IAAMQ,GAAb,WAOI,WAAYxK,EAAmB/P,GAAgB,IAAD,gCAN9C2Y,UAM8C,OAL9CjM,cAK8C,OAJ9CmD,aAI8C,OAF9C2K,kBAE8C,EAC1Cjf,KAAKod,KAAO5I,EAAO0K,QACnB,IAAMC,EAAS,CAAC,EAAG,EAAG,IAEtBnf,KAAKsU,QAAU8K,GAAY,GAAI,GAAI,GAAG5O,IAAI,SAAC6O,EAAG7c,GAAJ,OAAU,IAAI0b,GAAamB,EAAEjC,KAAMiC,EAAE1a,GAAI0a,EAAEza,GAAIua,EAAO3c,MAChGxC,KAAKsU,QAAQ7S,QAAQ,SAACtB,EAAQK,GAC1BL,EAAOmE,QAAQ,kBAAM,EAAKgb,YAAY9e,KACtCL,EAAO7B,MA2EnB,SAAuBihB,GACnB,OAAQA,GACJ,KAAK,EAAG,MAAO,eACf,KAAK,EAAG,MAAO,gBACf,KAAK,EAAG,MAAO,eAGnB,OAlFqBC,CAAchf,IAC3B,EAAK4c,KAAKjK,YAAYhT,EAAOsf,gBAfzC,wDAmB0Bjf,GACdA,IAAUR,KAAKmR,gBAEEtQ,GAAjBb,KAAKmR,UACLnR,KAAKsU,QAAQtU,KAAKmR,UAAUuO,aAAY,GAG5C1f,KAAKmR,SAAW3Q,OAEKK,GAAjBb,KAAKmR,UACLnR,KAAKsU,QAAQtU,KAAKmR,UAAUuO,aAAY,GAGxC1f,KAAKif,cAAcjf,KAAKif,aAAaze,MAhCjD,iCAmCeH,GACPL,KAAKif,aAAe5e,MApC5B,KA6Casf,GAAb,WAOI,WAAYnL,EAAmBoL,EAAoBnb,EAAeC,GAAiB,IAAD,gCANlF0Y,UAMkF,OALlFyC,UAKkF,OAJlFC,UAIkF,OAFlFF,UAEkF,EAC9E5f,KAAKod,KAAO5I,EAAO0K,QACnBlf,KAAK4f,KAAOA,EAFkE,MAGzDR,GAAY3a,EAAOC,EAAQ,GAH8B,oBAGvEmb,EAHuE,KAGjEC,EAHiE,KAK9E9f,KAAK6f,KAAO,IAAIhC,GAAWgC,EAAM,SAAU,uBAC3C7f,KAAK6f,KAAKvb,QAAQ,kBAAM,EAAKsb,KAAKC,SAClC7f,KAAKod,KAAKjK,YAAYnT,KAAK6f,KAAKJ,cAGhCzf,KAAK8f,KAAO,IAAIjC,GAAWiC,EAAM,SAAU,uBAC3C9f,KAAK8f,KAAKxb,QAAQ,kBAAM,EAAKsb,KAAKE,SAClC9f,KAAKod,KAAKjK,YAAYnT,KAAK8f,KAAKL,cAnBxC,sDAsBcxa,EAAWC,GACjBlF,KAAKod,KAAKK,UAAUxY,EAAGC,KAvB/B,kCA0BgB2a,EAAeC,GACvB9f,KAAK6f,KAAKE,YAAYF,GACtB7f,KAAK8f,KAAKC,YAAYD,OA5B9B,KA8DA,SAASE,GAAcvb,EAAeC,EAAgB8Z,EAAaC,GAC/D,IAAMrB,GAAO,IAAIsB,IAAYnB,YAAY,wBAC9BH,EAAKpJ,KAAK,QAChBuJ,YAAY,2BACZ7H,KAAKjR,EAAOC,GAEN0Y,EAAKpJ,KAAK,QAChBuJ,YAAY,2BACZ7H,KAAKjR,EAAQga,EAAQ/Z,EAAS8Z,EAAMC,GACpCvM,GAAGuM,EAAQA,GAEhB,MAAO,CACHrB,OACAzY,GAAI8Z,GAAUha,EAAQga,GAAU,EAChC7Z,GAAI6Z,GAAU/Z,EAAS8Z,GAAO,GAatC,SAASyB,GAAgBxb,EAAeC,EAAgB8Z,EAAaC,EAAgB5Z,GACjF,IAAMuY,GAAO,IAAIsB,IAAYnB,YAAY,wBACnCoB,EAAKvB,EAAKpJ,KAAK,QAChBuJ,YAAY,2BACjBoB,EAAG9N,EAAEmN,OAAO,EAAG,GACVY,OAAOna,EAAQI,EAAG,GAClBga,MAAMha,EAAGA,EAAG,GAAG,GAAO,EAAMA,EAAGA,GAC/B+Z,OAAO,EAAGla,GAAUG,GAAK,IACzBga,MAAMha,EAAGA,EAAG,GAAG,GAAO,GAAOA,EAAGA,GAChC+Z,SAASna,EAAQI,GAAI,GACrB+Z,OAAO,GAAIla,GACXoa,QACLH,EAAGhI,SAEH,IAAMoI,EAAK3B,EAAKpJ,KAAK,QAChBuJ,YAAY,2BAcjB,OAbAwB,EAAGlO,EAAEmN,OAAOS,EAAQA,GACfG,OAAOna,EAAQga,EAAS5Z,EAAG,GAC3Bga,MAAMha,EAAGA,EAAG,GAAG,GAAO,EAAMA,EAAGA,GAC/B+Z,OAAO,EAAGla,EAAS+Z,EAASD,GAAO3Z,GAAK,IACxCga,MAAMha,EAAGA,EAAG,GAAG,GAAO,GAAOA,EAAGA,GAChC+Z,SAASna,EAAQga,EAAS5Z,GAAI,GAC9B+Z,OAAO,IAAKla,EAAS+Z,EAASD,IAC9BM,QACLC,EAAGpI,SAEayG,EAAK8B,QAAQxgB,GAAG,gCACxB+e,UAAUgB,GAAUha,GAASga,GAAU,KAAO,EAAI/Z,EAAS8Z,EAAMC,GAAW,GAE7E,CACHrB,OACAzY,GAAIF,EAAQ,EACZG,GAAI6Z,GAAU/Z,EAAS8Z,GAAO,GAatC,SAASH,GAAiB5Z,EAAeC,GAAwH,IAAxG8Z,EAAuG,uDAAjGtB,GAA4BuB,EAAqE,uDAA5DxB,GAAqBpY,EAAuC,uDAAnCmY,GACnHI,GAAO,IAAIsB,IAAYnB,YAAY,wBAYzC,OAXAH,EAAKpJ,KAAK,QACL0B,KAAKjR,EAAOC,GACZsR,QAAQnR,EAAGA,GACX0Y,YAAY,2BAEjBH,EAAKpJ,KAAK,QACL9B,GAAGuM,EAAQA,GACX/I,KAAKjR,GAASga,GAAU,GAAI/Z,EAAS8Z,EAAMC,GAC3CzI,QAAQnR,EAAGA,GACX0Y,YAAY,2BAEV,CACHH,OACAzY,GAAIF,EAAQ,EACZG,GAAI6Z,GAAU/Z,EAAS8Z,GAAO,GAItC,SAASY,GAAY3a,EAAeC,EAAgBwb,GAKhD,IAL4K,IAA1G1B,EAAyG,uDAAnGtB,GAA4BuB,EAAuE,uDAA9DxB,GAAqBpY,EAAyC,uDAArCmY,GAChImD,EAAY1b,GAASyb,EAAW,GAAKzB,EACrC2B,EAAetf,KAAKgH,MAAMqY,EAAYD,GAEtC/T,EAAwB,GACrB3J,EAAI,EAAGA,EAAI0d,EAAU1d,IAC1B,GAAU,IAANA,EACA2J,EAAO5L,KAAKge,GAAe6B,EAAe3B,EAAQ/Z,EAAQ8Z,EAAKC,EAAQ5Z,SAEtE,GAAIrC,IAAM0d,EAAW,EAAG,CACzB,IAAMb,EAAIY,GAAgBG,GAAgB3B,GAAU,GAAI/Z,EAAQ8Z,EAAKC,EAAQ5Z,GAC7Ewa,EAAEjC,KAAKK,WAAWgB,EAAS2B,GAAgB5d,EAAG,GAC9C2J,EAAO5L,KAAK8e,OAEX,CACD,IAAMA,EAAIW,GAAcI,EAAe3B,EAAQ/Z,EAAQ8Z,EAAKC,GAC5DY,EAAEjC,KAAKK,WAAWgB,EAAS2B,GAAgB5d,EAAG,GAC9C2J,EAAO5L,KAAK8e,GAIpB,OAAOlT,EAGJ,SAAS4R,GAAOtS,GACnB,OAAO,IAAIiT,GAASjT,GACf4U,OAAO,UACPrf,aAAa,oBAAqB,UAClCA,aAAa,KAAyC,SCllBxD,ICggBFsf,GAOAC,GD9fCC,GAAkB,GAClBC,GAAmB,GACZC,GAHW,IAGwBD,GAOnCE,GAAb,WAsBI,WAAYC,EAAmBhB,EAAkCpL,GAAoB,yBArBrF4I,UAqBoF,OApBpFwC,UAoBoF,OAnBpFgB,aAmBoF,OAjB1EC,mBAiB0E,OAhB1EC,gBAgB0E,OAf1EC,eAe0E,OAd1EC,mBAc0E,OAb1EC,cAa0E,OAZ1EC,iBAY0E,OAV1EC,eAU0E,OAT1E/B,iBAS0E,OAR1EgC,kBAQ0E,OAN1EC,kBAM0E,OAL1EC,oBAK0E,OAJ1EC,kBAI0E,OAF7EC,cAE6E,EAChFxhB,KAAK4gB,QAAUA,EACf5gB,KAAK4f,KAAOA,EACZ5f,KAAKod,KAAO5I,EAAO0K,QAAQxgB,GAAG,yBAE9BsB,KAAKwhB,SAAW,IAAI7B,GAAc3f,KAAKod,KAAMwC,EAAMY,GAAiBC,IAEpEzgB,KAAKyhB,YACLzhB,KAAK0hB,YACL1hB,KAAK2hB,cA/Bb,2DAkCmB9B,EAAeC,GAC1B9f,KAAKwhB,SAASI,YAAY/B,EAAMC,KAnCxC,8BAsCmBzG,GACXrZ,KAAK4f,KAAKiC,cAAcxI,GAEpBrZ,KAAKqhB,cACLrhB,KAAKqhB,aAAa7D,YAAY,YAGlCxd,KAAKqhB,aAAerhB,KAAK8hB,iBAAiBzI,GAEtCrZ,KAAKqhB,cACLrhB,KAAKqhB,aAAaU,SAAS,cAhDvC,+BAoDoB5U,GACZnN,KAAK4f,KAAKoC,eAAe7U,GAErBnN,KAAKshB,gBACLthB,KAAKshB,eAAevc,OAAO,QAG/B/E,KAAKshB,eAAiBthB,KAAK6gB,cAAc1T,GAErCnN,KAAKshB,iBAELthB,KAAKshB,eAAevc,OAAO,SAAUkd,GACrCjiB,KAAKuhB,aAAazc,KAAK9E,KAAK4gB,QAAQzT,OAhEhD,oCAsEyBuI,GACjB1V,KAAK4f,KAAKsC,aAAaxM,KAvE/B,+BA0EoBjR,GACZzE,KAAKod,KAAK9O,MAAM7J,EA7FK,MAkB7B,gCA8EqB+B,EAAcE,GAC3B1G,KAAKod,KAAKK,UAAUjX,EAAME,KA/ElC,kCAkF2B,IAAD,OAClB1G,KAAKmhB,UAAYnhB,KAAKod,KAAK8B,QAAQxgB,GAAG,gCACtC,IAAM0gB,EAAc,IAAIJ,GAAkBhf,KAAKmhB,UAtG1B,IAuGrB/B,EAAY+C,WAAW,SAAA3hB,GACnB,EAAK4hB,cAAc,EAAa,EAAR5hB,GACxB/B,EAAU,iCAAkC,CAAC,KAAQ,EAAa,EAAR+B,MAG9D4e,EAAYjO,SAAW,EACvBiO,EAAY9K,QAAQ,GAAGoL,aAAY,KA3F3C,kCA+FQ1f,KAAKof,YAAcpf,KAAKod,KAAK8B,QACxBxgB,GAAG,uBACH+e,UAAU,EAnHM,GAeW,EAZX,GAkHrBzd,KAAK8gB,WAAa9gB,KAAKqiB,WAAY,SAAW,SAAUlJ,GAAUG,QAElEtZ,KAAK+gB,UAAY/gB,KAAKqiB,WAAY,QAAU,SAAUlJ,GAAUM,OAChEzZ,KAAK+gB,UAAUtD,UAAU,GAA6C,GAEtEzd,KAAKihB,SAAWjhB,KAAKqiB,WAAY,OAAS,SAAUlJ,GAAUK,MAAM,GACpExZ,KAAKihB,SAASxD,UAAU,EAAG6E,IAE3BtiB,KAAKghB,cAAgBhhB,KAAKqiB,WAAY,YAAc,SAAUlJ,GAAUI,WACxEvZ,KAAKghB,cAAcvD,UAAU,GAA6C6E,IAE1EtiB,KAAKkhB,YAAclhB,KAAKqiB,WAAY,UAAY,SAAUlJ,GAAUO,SAAS,GAC7E1Z,KAAKkhB,YAAYzD,UAAU,EAAI6E,IAE/BtiB,KAAKuiB,QAAQpJ,GAAUG,QACvBtZ,KAAKwhB,SAAS/D,UAAU,EA5HR,OAUxB,oCAqH6B,IAAD,OACpBzd,KAAKohB,aAAephB,KAAKod,KAAK8B,QAAQxgB,GAAG,yBACpC+e,UAAU,EAzIM,GAeW,EAZX,EAaS6E,GAfV,EAKP,GAuIbtiB,KAAKohB,aAAapN,KAAK,QAClBlP,KAAK,WACL4Q,KA/IgB,GA4IJ8M,IAKjBxiB,KAAKohB,aAAapN,KAAK,QAClBlP,KAAK,WACLoN,GAAG,EAAGuQ,IACN/M,KApJgB,GAEA,EAkJ2B,IAAC1V,KAAK4gB,QAAQle,QAAU,IAI3D1C,KAAKohB,aAAasB,MAAMC,OAAO,WAAY,gCACnDC,eAAc,GAEd5O,KAAK,QACL9B,GAAG,EAAG,GACNwD,KAAK,EAAG,GAGb1V,KAAKuhB,aAAevhB,KAAKohB,aAAapN,KAAK,QACtC9B,GA/JgB,KAgKhBwD,KAAKmN,GA7JW,IAgKrB7iB,KAAK6gB,cAAgB,GACrB,IA/BoB,eA+BXre,GACL,IAAMiI,EAAMjI,EAAI,EACVkI,EAAM5J,KAAKgH,MAAMtF,EAAI,GAErBsgB,EAAS,EAAK1B,aACfpN,KAAK,QACL0B,KA9Ja,OA+JbxD,GAAGzH,EAAMsY,GA3KG,EA2KsEN,GAAoD,GAAH/X,GACnI5F,KAAK,EAAK8b,QAAQpe,IAClBwgB,SAAS,sCACT1e,QAAQ,WACL7F,EAAU,+BAAgC,CAAC,MAAS+D,IACpD,EAAKygB,SAASzgB,KAEtBsgB,EAAOxkB,MAAP,UAAgBkE,IAEhB,EAAKqe,cAActgB,KAAKuiB,IAhBnBtgB,EAAI,EAAGA,EAAIxC,KAAK4gB,QAAQle,OAAQF,IAAM,EAAtCA,GAmBTxC,KAAKijB,SAAS,KAvKtB,iCA0KyB3kB,EAAe8f,EAAc/E,GAAiC,IAAD,OAAf6J,EAAe,wDACxEC,EAAMD,EAAQ5E,GAAcF,EAhLhB,IAgL2CD,GAAaC,EAhLxD,IAiLZgF,EAAWhK,GAAqBC,GAUtC,OATI+J,GAAUD,EAAIC,SAASA,GAC3BD,EAAI7kB,MAAMA,GAEV6kB,EAAI7e,QAAQ,WACR,EAAKsb,KAAKyD,oBACV,EAAKd,QAAQlJ,GACb5a,EAAU,iCAAkC,CAAC,KAAQ0a,GAAUE,GAAMiK,kBAEzEtjB,KAAKof,YAAYjM,YAAYgQ,EAAI1D,cAC1B0D,IAtLf,uCAyLqB9J,GACb,OAAQA,GACJ,KAAKF,GAAUG,OACf,KAAKH,GAAUzF,KAAM,OAAO1T,KAAK8gB,WACjC,KAAK3H,GAAUM,MAAO,OAAOzZ,KAAK+gB,UAClC,KAAK5H,GAAUK,KAAM,OAAOxZ,KAAKihB,SACjC,KAAK9H,GAAUI,UACf,KAAKJ,GAAU3F,OAAQ,OAAOxT,KAAKghB,cACnC,KAAK7H,GAAUO,QAAS,OAAO1Z,KAAKkhB,YACpC,QAAS,YAlMrB,KC3BMqC,GAAsB,UAEfC,GAAb,WAkBI,WAAsB5C,EAA0BhR,GAAiE,IAAD,OAAlC6T,EAAkC,wDAAfnV,EAAe,gEAA1FsS,UAA0F,KAAhEhR,QAAgE,KAAlC6T,YAAkC,KAjBtGC,UAAoB,GAiBkF,KAhBtGC,WAAqB,GAgBiF,KAdxGC,aAcwG,OAbxGvV,aAawG,OAZxGwV,mBAYwG,OAXxGC,qBAWwG,OATtGC,qBASsG,OARtGC,gBAQsG,OAPtGC,kBAOsG,OALhHC,cAKgH,OAJhHC,cAIgH,OAFhH7V,WAEgH,OA8YxG8V,UAAY,SAACvkB,GACjB,EAAKwkB,UAD+B,MAEjB,EAAKC,kBAAkBzkB,GAFN,oBAE7B4K,EAF6B,KAExBC,EAFwB,KAGpC,EAAKkZ,QAAQW,OAAOjE,GAAW3c,GAAI8G,EAAKC,GAExC7K,EAAG2kB,kBACH3kB,EAAGuG,kBApZyG,KAuZxGqe,aAAe,SAAC5kB,GACpB,EAAKwkB,UADkC,MAEpB,EAAKC,kBAAkBzkB,GAFH,oBAEhC4K,EAFgC,KAE3BC,EAF2B,KAGvC,EAAKkZ,QAAQW,OAAOjE,GAAWoE,MAAOja,EAAKC,GAE3C7K,EAAG2kB,kBACH3kB,EAAGuG,kBA7ZyG,KAgaxGue,YAAc,SAAC9kB,GAAoB,IAAD,EACnB,EAAKykB,kBAAkBzkB,GADJ,oBAC/B4K,EAD+B,KAC1BC,EAD0B,KAElCD,GAAO,GAAKC,GAAO,GAAKD,EAAM,EAAK8Q,MAAM9W,OAASiG,EAAM,EAAK6Q,MAAM7W,SAClD,EAAb7E,EAAGyU,SACH,EAAKsP,QAAQW,OAAOjE,GAAW7c,KAAMgH,EAAKC,GAE9C,EAAKkZ,QAAQW,OAAOjE,GAAWsE,KAAMna,EAAKC,IAG9C7K,EAAG2kB,kBACH3kB,EAAGuG,kBA1ayG,KA6axGye,aAAe,SAAChlB,GAAoB,IAAD,EACpB,EAAKykB,kBAAkBzkB,GADH,oBAChC4K,EADgC,KAC3BC,EAD2B,KAEnCD,GAAO,GAAKC,GAAO,GAAKD,EAAM,EAAK8Q,MAAM9W,OAASiG,EAAM,EAAK6Q,MAAM7W,QACnE,EAAKkf,QAAQW,OAAOjE,GAAWsE,KAAMna,EAAKC,GAC1C,EAAKkZ,QAAQkB,SAAU,GAElB,EAAKlB,QAAQkB,UAClB,EAAKlB,QAAQkB,SAAU,EACvB,EAAKlB,QAAQW,OAAOjE,GAAWoE,OAAQ,GAAI,KApb/C1kB,KAAKsO,MAAQA,EACbtO,KAAKgkB,WAAaxV,SAASC,cAAc,UACzCzO,KAAKgkB,WAAWhjB,aAAa,QAAS,wBACtChB,KAAKikB,aAAezV,SAASC,cAAc,UAC3CzO,KAAKikB,aAAajjB,aAAa,QAAS,wBAEnChB,KAAKyjB,WAMNzjB,KAAKqO,QAAUrO,KAAKgkB,WAAWrV,WAAW,KAAM,CAAEoW,OAAO,IACzD/kB,KAAKqO,QAAQO,UAAY2U,GACzBvjB,KAAKqO,QAAQvJ,SAPb9E,KAAK+jB,gBAAkBvV,SAASC,cAAc,UAC9CzO,KAAK+jB,gBAAgB/iB,aAAa,QAAS,wBAC3ChB,KAAKqO,QAAUrO,KAAKgkB,WAAWrV,WAAW,OAQ9C3O,KAAKglB,cApCb,+DA4CuBC,MA5CvB,gCA0DQjlB,KAAKklB,aAAallB,KAAKqO,SACvBrO,KAAKmlB,YACDnlB,KAAK4P,MAAM+M,cAAe3c,KAAKolB,oBAC9BplB,KAAKglB,gBA7DlB,gCAgEcK,EAAY9K,EAAmBC,GAAuC,wDAC5E6K,EAAKC,OAAOtlB,KAAK4P,OACjB5P,KAAKulB,WAAWF,EAAM9K,EAAWC,KAlEzC,iCAqEe6K,EAAY5a,EAAaC,GAAc,IAAD,OACvC8a,EAASH,EAAKI,YAEhBD,GACAxlB,KAAK0lB,UACDL,EAAKhL,aACLgL,EAAKE,WAAW9a,EAAKC,EAAK,SAACM,EAAGnG,GAC1B,EAAK8gB,UAAU3a,EAAGnG,EAAGwgB,EAAKlY,SAGlCnN,KAAKqO,QAAQuX,YAAc,UAC3B5lB,KAAKqO,QAAQwX,YAAYpb,EAAM+a,EAAO5L,SAAW5Z,KAAK0jB,WAAYhZ,EAAM8a,EAAO3L,SAAW7Z,KAAK2jB,WAAY6B,EAAO/gB,MAAQzE,KAAK0jB,UAAW8B,EAAO9gB,OAAS1E,KAAK2jB,aAE1J0B,EAAKjL,WACVpa,KAAK0lB,YAnFjB,+BAwFQ,OAAO1lB,KAAKub,QAxFpB,mCA4FQ,OAAOvb,KAAKgkB,WAAW1d,wBAAwB7B,QA5FvD,oCAgGQ,OAAOzE,KAAKgkB,WAAW1d,wBAAwB5B,SAhGvD,iCAmGe+F,EAAaC,EAAayC,GACjCnN,KAAKub,MAAMtQ,IAAIR,EAAKC,EAAKyC,GACzBnN,KAAK2lB,UAAUlb,EAAKC,EAAKyC,KArGjC,gCAwGc1C,EAAaC,EAAayC,GAAwE,IAAzDkB,EAAwD,uDAA9CrO,KAAKqO,QAASyX,EAAgC,wDAAhB9lB,KAAKyjB,UACtFxe,EAAIwF,EAAMzK,KAAK0jB,UACfxe,EAAIwF,EAAM1K,KAAK2jB,WAEjBxW,GACAkB,EAAQO,UAAY5O,KAAK4gB,QAAQzT,EAAQ,GACzCkB,EAAQQ,SAAS5J,EAAGC,EAAGlF,KAAK0jB,UAAW1jB,KAAK2jB,aAEtCmC,IACNzX,EAAQO,UAAY2U,GACpBlV,EAAQQ,SAAS5J,EAAGC,EAAGlF,KAAK0jB,UAAW1jB,KAAK2jB,eAlHxD,8BAsHY/T,GAAsC,IAAlB8V,EAAiB,wDACrC9V,EAAMlL,QAAU1E,KAAKub,MAAM7W,QAAUkL,EAAMnL,OAASzE,KAAKub,MAAM9W,OAC/DzE,KAAK4P,MAAQA,EAAMmW,OACnB/lB,KAAKgmB,WAAWpW,EAAMnL,MAAOmL,EAAMnL,MAAQmL,EAAMlL,SAGjD1E,KAAK4P,MAAQA,EAAMmW,OAGnBL,GACA1lB,KAAK0lB,YAhIjB,0CAoI+B,IAAD,OACtB,IAAI1lB,KAAKyjB,UAAT,CAEIzjB,KAAK6jB,eACL7jB,KAAK6jB,cAAcoC,OAEvBjmB,KAAKkmB,cACLlmB,KAAKmmB,sBAEL,IAAM9Z,EAAIrM,KAAKikB,aAAaxf,MACtB6H,EAAItM,KAAKikB,aAAavf,OACtB2J,EAAUrO,KAAKikB,aAAatV,WAAW,MAGvCyX,EAAY/Z,EAAI,EAAIga,GACpBC,EAAWha,EAAI,EAAI+Z,GAEzBrmB,KAAK6jB,cAAgB,IAAI0C,GAAK,SAAChR,EAASiR,GACpC,GAAIA,EACA,EAAKpB,wBADT,CAUA,GALA,EAAKF,aAAa7W,GAClBA,EAAQoY,YAAclR,EACtBlH,EAAQO,UAAY,UAGhB,EAAK2M,MAAM9W,OAAS,IAAM,EAAK8W,MAAM7W,QAAU,GAAI,CACnD,IAAK,IAAIsG,EAAI,EAAGA,EAAI,EAAKuQ,MAAM9W,MAAOuG,IAClCqD,EAAQQ,SAAS7D,EAAI,EAAK0Y,UAAW,EAAG,EAAGpX,GAE/C,IAAK,IAAIzH,EAAI,EAAGA,EAAI,EAAK0W,MAAM7W,OAAQG,IACnCwJ,EAAQQ,SAAS,EAAGhK,EAAI,EAAK8e,WAAYtX,EAAG,GAIpDgC,EAAQQ,SAASuX,EAAWE,EAzBb,IACC,IAyBhBjY,EAAQO,UAAY,UACpBP,EAAQqY,KAAO,kBACfrY,EAAQsY,aAAe,SACvBtY,EAAQuY,UAAY,SAEpBvY,EAAQwY,SAAS,EAAKtL,MAAM9W,MAAMuI,WAAYoZ,EAAYC,GAAiB,GAAIC,EAAWQ,IAC1FzY,EAAQwY,SAAS,IAAKT,EAAY,GAAIE,EAAWQ,GAAiB,IAClEzY,EAAQwY,SAAS,EAAKtL,MAAM7W,OAAOsI,WAAYoZ,EAAYC,GAAiB,GAAIC,EAAWQ,MAC5F,IAAK,QAlLhB,oCAsLQ9mB,KAAKikB,aAAajT,MAAM+V,WAAa,YAtL7C,oCA0LQ/mB,KAAKmmB,sBAELnmB,KAAKikB,aAAajT,MAAM+V,WAAa,SAEjC/mB,KAAK6jB,eACL7jB,KAAK6jB,cAAcoC,SA/L/B,iCAmMee,EAAmBC,GAC1BjnB,KAAK0lB,YApMb,wCAuMsBjhB,EAAeC,GAC7B1E,KAAK0jB,UAAoB,EAARjf,EACjBzE,KAAK2jB,WAAsB,EAATjf,EAElB,IAAMqV,EAAc/Z,KAAK0jB,UAAY1jB,KAAKub,MAAM9W,MAC1CuV,EAAeha,KAAK2jB,WAAa3jB,KAAKub,MAAM7W,OAElD1E,KAAKgkB,WAAWvf,MAAQsV,EACxB/Z,KAAKgkB,WAAWtf,OAASsV,EACzBha,KAAKikB,aAAaxf,MAAQsV,EAC1B/Z,KAAKikB,aAAavf,OAASsV,EAEtBha,KAAKyjB,YACNzjB,KAAK+jB,gBAAgBtf,MAAQsV,EAC7B/Z,KAAK+jB,gBAAgBrf,OAASsV,KArN1C,wCAyNsBvV,GAA8D,IAA/CC,EAA8C,uDAArCD,EAAOyiB,IAA8B,yDACrEC,EAAe1iB,EAAQzE,KAAKub,MAAM9W,MAClC2iB,EAAgB1iB,EAAS1E,KAAKub,MAAM7W,OAE1C,GAAIwiB,EAAiB,CACjB,IAAMG,EAAcrnB,KAAK0jB,UAAY1jB,KAAK2jB,WAE1C,GAAI0D,GAAe,EAAG,CAClB,IAAMhb,EAAIvL,KAAKgG,IAAIqgB,EAAcC,EAAgBC,GACjDrnB,KAAKsnB,kBAAkBjb,EAAGA,EAAIgb,OAE7B,CACD,IAAM/a,EAAIxL,KAAKgG,IAAIsgB,EAAeD,EAAeE,GACjDrnB,KAAKsnB,kBAAkBhb,EAAI+a,EAAa/a,SAI5CtM,KAAKsnB,kBAAkBH,EAAcC,KA1OjD,2BA8OShT,GACDpU,KAAKunB,kBACLvnB,KAAK4jB,QAAQ4D,UAAUjH,GAAY9c,KAAM2Q,KAhPjD,yBAmPOA,GACCpU,KAAKunB,kBACLvnB,KAAK4jB,QAAQ4D,UAAUjH,GAAY5c,GAAIyQ,KArP/C,2BAwPSA,GACDpU,KAAKunB,kBACLvnB,KAAK4jB,QAAQ4D,UAAUjH,GAAYkH,KAAMrT,KA1PjD,2BA6PSA,GACDpU,KAAKunB,kBACLvnB,KAAK4jB,QAAQ4D,UAAUjH,GAAYqE,KAAMxQ,KA/PjD,4BAkQUA,GACFpU,KAAKunB,kBACLvnB,KAAK4jB,QAAQ4D,UAAUjH,GAAYmE,MAAOtQ,KApQlD,mCAuQiB1N,EAAaF,EAAc/B,EAAeC,GACnD1E,KAAK0nB,aAAa1nB,KAAKgkB,WAAYtd,EAAKF,EAAM/B,EAAOC,GACrD1E,KAAK0nB,aAAa1nB,KAAKikB,aAAcvd,EAAKF,EAAM/B,EAAOC,GAElD1E,KAAKyjB,WACNzjB,KAAK0nB,aAAa1nB,KAAK+jB,gBAAiBrd,EAAKF,EAAM/B,EAAOC,GAG9D1E,KAAKmlB,YACLnlB,KAAK2nB,mBAhRb,6BAmRWnT,GACExU,KAAKyjB,WACNjP,EAAOrB,YAAYnT,KAAK+jB,iBAG5BvP,EAAOrB,YAAYnT,KAAKgkB,YACxBxP,EAAOrB,YAAYnT,KAAKikB,gBAzRhC,6CA6RQjkB,KAAKmmB,sBACDnmB,KAAK6jB,eAAe7jB,KAAK6jB,cAAcoC,OAE3CjmB,KAAKqkB,YAhSb,kCAmSgB5Z,EAAaC,EAAa2a,GAClCA,EAAKuC,MAAMnd,EAAKC,EAAK1K,KAAK4P,SApSlC,gCAuScnF,EAAaC,EAAa2a,GAChCA,EAAKwC,IAAIpd,EAAKC,EAAK1K,KAAK4P,OACxB5P,KAAKolB,sBAzSb,kCA6SQ,IADgH,IAAhG7J,EAA+F,uDAAvFvb,KAAKub,MAAOlN,EAA2E,uDAAjErO,KAAKqO,QAAS7H,EAAmD,uDAA5C,EAAGE,EAAyC,uDAAnC,EAAGof,EAAgC,wDAAhB9lB,KAAKyjB,UAC3FzY,EAAI,EAAGA,EAAIuQ,EAAM9W,MAAOuG,IAC7B,IAAK,IAAInG,EAAI,EAAGA,EAAI0W,EAAM7W,OAAQG,IAC9B7E,KAAK2lB,UAAUnf,EAAOwE,EAAGtE,EAAM7B,EAAG0W,EAAMrQ,IAAIF,EAAGnG,GAAIwJ,EAASyX,KA/S5E,uCAqTQ,IAAI9lB,KAAKyjB,UAAT,CACA,IAAMpV,EAAUrO,KAAK+jB,gBAAgBpV,WAAW,KAAM,CAAEoW,OAAO,IACzD+C,EAAYhnB,KAAK0J,KAAKxK,KAAKgkB,WAAWvf,MA3T7B,GA4TTsjB,EAAYjnB,KAAK0J,KAAKxK,KAAKgkB,WAAWtf,OA5T7B,GA6Tf2J,EAAQO,UAAY,UACpBP,EAAQQ,SAAS,EAAG,EAAG7O,KAAKgkB,WAAWvf,MAAOzE,KAAKgkB,WAAWtf,QAE9D2J,EAAQO,UAAY,UACpB,IAAK,IAAIoZ,EAAK,EAAGA,EAAKF,EAAWE,IAC7B,IAAK,IAAIC,EAAK,EAAGA,EAAKF,EAAWE,KACxBD,EAAKC,GAAM,GACZ5Z,EAAQQ,SApUL,EAoUcmZ,EApUd,EAoUmCC,EApUnC,QAIvB,wCAyUgCpoB,GACxB,IAAMqoB,EAiTd,SAAqBroB,GACjB,GAAKA,EAAkBsoB,QAAS,CAC5B,IAAMC,EAAKvoB,EACX,OAAIuoB,EAAGD,QAAQzlB,OACJ0lB,EAAGD,QAAQ,GAEfC,EAAG3lB,eAAe,GAE7B,OAAQ5C,EAzTUwoB,CAAYxoB,GACpBwG,EAASrG,KAAKgkB,WAAW1d,wBACzBE,EAAOH,EAAOG,MAA2B,OAAnB1H,OAAOwpB,QAAmBxpB,OAAOwpB,QAAUxpB,OAAOypB,aACxE7hB,EAAML,EAAOK,KAA0B,OAAnB5H,OAAO0pB,QAAmB1pB,OAAO0pB,QAAU1pB,OAAO2pB,aAExEC,EAAQriB,EAAO5B,MAAQzE,KAAKub,MAAM9W,MAClCkkB,EAAQtiB,EAAO5B,MAAQzE,KAAKub,MAAM9W,MAKtC,OAHAzE,KAAKkkB,SAAWpjB,KAAKgH,OAAOogB,EAAMniB,QAAUS,GAAQkiB,GACpD1oB,KAAKmkB,SAAWrjB,KAAKgH,OAAOogB,EAAMliB,QAAUU,GAAOiiB,GAE5C,CACH3oB,KAAKkkB,SACLlkB,KAAKmkB,YAvVjB,0CA2VankB,KAAK4P,MAAM+M,gBAGhB3c,KAAKmlB,UAAUnlB,KAAK4P,MAAM+M,cAAe3c,KAAKqO,QAASrO,KAAK4P,MAAMiN,aAAc7c,KAAK4P,MAAMkN,cAAc,GAEzG9c,KAAK4oB,4BAhWb,+CAmWsD,IAAD,OAAhBC,EAAgB,uDAAH,EAC1C,GAAK7oB,KAAK4P,MAAM+M,cAAhB,CAIA3c,KAAKkmB,cACL,IAAM7X,EAAUrO,KAAKikB,aAAatV,WAAW,MAU7C,GATA3O,KAAKklB,aAAa7W,GAClBA,EAAQoY,YAAc,EACtBpY,EAAQuX,YAAc,UACtBvX,EAAQya,UAAY,EACpBza,EAAQ0a,YAAY,CAAC,EAAG,IACxB1a,EAAQ2a,eAAiBH,EACzBxa,EAAQwX,WAAW7lB,KAAK4P,MAAMiN,aAAe7c,KAAK0jB,UAAW1jB,KAAK4P,MAAMkN,aAAe9c,KAAK2jB,WAAY3jB,KAAK4P,MAAM+M,cAAclY,MAAQzE,KAAK0jB,UAAW1jB,KAAK4P,MAAM+M,cAAcjY,OAAS1E,KAAK2jB,aAG3L3jB,KAAKyjB,YAAczjB,KAAK8jB,mBAAqB9jB,KAAK6jB,eAAiB7jB,KAAK6jB,cAAc2C,MAAO,CAC9F,IAAIyC,EAAY,WACZJ,IACAvhB,sBAAsB,kBAAM,EAAKshB,uBAAuBC,MAG5D7oB,KAAK8jB,gBAAkBhlB,OAAO8G,YAAYqjB,EAAW,UApBrDjpB,KAAKglB,gBArWjB,mCA6XyB3W,GAEjBA,EAAQ6a,UAAU,EAAG,EAAGlpB,KAAKgkB,WAAWvf,MAAOzE,KAAKgkB,WAAWtf,UA/XvE,wCAoYa1E,KAAK4jB,UACN5jB,KAAK4jB,QAAU,IAAIuF,GAEnBnpB,KAAKkE,WAAWlE,KAAKgkB,YACrBhkB,KAAKkE,WAAWlE,KAAKikB,cAErBzV,SAASvO,iBAAiBmpB,GAAoBpQ,KAAqBhZ,KAAK6kB,iBA1YpF,iCA+YuBwE,GAAuB,IAAD,OACrCD,GAAoBlhB,KAAKzG,QAAQ,SAAA6nB,GAC7BD,EAAQppB,iBAAiBqpB,EAAsB,SAACzpB,GAC5C,EAAK0pB,YAD0D,MAE5C,EAAKjF,kBAAkBzkB,GAFqB,oBAExD4K,EAFwD,KAEnDC,EAFmD,KAG/D,EAAKkZ,QAAQW,OAAOjE,GAAW7c,KAAMgH,EAAKC,SApZ1D,kCA4cQ8D,SAASlN,oBAAoB8nB,GAAoBpQ,KAAqBhZ,KAAK6kB,cAC3ErW,SAASvO,iBAAiBmpB,GAAoBpQ,KAAqBhZ,KAAK2kB,aACxEnW,SAASvO,iBAAiBmpB,GAAoBnhB,GAAmBjI,KAAKokB,WAElEgF,OAA2BA,MAC3B5a,SAASvO,iBAAiB,WAA2BD,KAAKokB,WAC1D5V,SAASvO,iBAAiB,cAA8BD,KAAKykB,eAG7DjW,SAASvO,iBAAiBmpB,GAAoBlQ,MAAsBlZ,KAAKykB,gBArdrF,gCA4dQjW,SAASvO,iBAAiBmpB,GAAoBpQ,KAAqBhZ,KAAK6kB,cACxErW,SAASlN,oBAAoB8nB,GAAoBpQ,KAAqBhZ,KAAK2kB,aAC3EnW,SAASlN,oBAAoB8nB,GAAoBnhB,GAAmBjI,KAAKokB,WACzE5V,SAASlN,oBAAoB8nB,GAAoBlQ,MAAsBlZ,KAAKykB,cAExE2E,OAA2BA,MAC3B5a,SAASlN,oBAAoB,WAA2BtB,KAAKokB,WAC7D5V,SAASlN,oBAAoB,cAA8BtB,KAAKykB,eAGhEjW,SAASlN,oBAAoB8nB,GAAoBlQ,MAAsBlZ,KAAKykB,gBAtexF,mCA2eyBlW,EAA2B7H,EAAaF,EAAc/B,EAAeC,MA3e9F,4CA+fY1E,KAAK8jB,kBACL9f,cAAchE,KAAK8jB,iBACnB9jB,KAAK8jB,qBAAkBjjB,KAjgBnC,4BAyCQ,OAAOb,KAAK4P,MAAM2L,UAzC1B,M,SAugBK+E,O,WAAAA,I,eAAAA,I,eAAAA,I,kBAAAA,Q,cAOAC,O,WAAAA,I,eAAAA,I,eAAAA,I,eAAAA,I,kBAAAA,Q,SAUC4I,G,iDACFK,a,OACAC,a,OAEAC,QAAS,E,KACT5E,SAAU,E,KAEV6E,SAAgD,G,mDAEzCC,EAAmBnf,EAAaC,GACnC,OAAQkf,GACJ,KAAKtJ,GAAW3c,GACZ3D,KAAK2W,OAAOlM,EAAKC,GACjB1K,KAAK0pB,QAAS,EACd1pB,KAAK6pB,KAAKtJ,GAAY5c,IACtB,MACJ,KAAK2c,GAAW7c,KACPzD,KAAK0pB,SACN1pB,KAAK2W,OAAOlM,EAAKC,GACjB1K,KAAK0pB,QAAS,EACd1pB,KAAK6pB,KAAKtJ,GAAY9c,OAE1B,MACJ,KAAK6c,GAAWsE,KACZ,GAAIna,IAAQzK,KAAKwpB,SAAW9e,IAAQ1K,KAAKypB,QAAS,OAClDzpB,KAAK2W,OAAOlM,EAAKC,GACb1K,KAAK0pB,OACL1pB,KAAK6pB,KAAKtJ,GAAYkH,MAGtBznB,KAAK6pB,KAAKtJ,GAAYqE,MAE1B,MAEJ,KAAKtE,GAAWoE,MACZ1kB,KAAK2W,OAAOlM,EAAKC,GACjB1K,KAAK0pB,QAAS,EACd1pB,KAAK6pB,KAAKtJ,GAAYmE,U,gCAKxBtjB,EAAmBgT,GACzBpU,KAAK2pB,SAASvoB,GAAQgT,I,6BAGT3J,EAAaC,GAC1B1K,KAAKwpB,QAAU/e,EACfzK,KAAKypB,QAAU/e,I,2BAGJtJ,GACPpB,KAAK2pB,SAASvoB,IACdpB,KAAK2pB,SAASvoB,GAAMpB,KAAKwpB,QAASxpB,KAAKypB,a,KAK7ClD,G,WAMF,WAAsBvS,EAAgD8V,EAAeC,GAAmB,IAAD,gCAAjF/V,OAAiF,KALvG4T,WAKuG,OAJvGC,SAIuG,OAHvGmC,WAGuG,OAFvGxD,UAEuG,EACnGxmB,KAAK4nB,MAAQqC,KAAKC,MAAQJ,EAC1B9pB,KAAK6nB,IAAM7nB,KAAK4nB,MAAQmC,EACxB/pB,KAAKgqB,MAAQ,EAAID,EACjB/pB,KAAKwmB,MAAO,EAEZxS,EAAK,GAAG,GAERmW,WAAW,kBAAM7iB,sBAAsB,kBAAM,EAAKhI,WAAUwqB,G,oDAGvD,IAAD,OACJ,IAAI9pB,KAAKwmB,KAAT,CACA,IAAM0D,EAAMD,KAAKC,MACjB,GAAIA,EAAMlqB,KAAK6nB,IAAK,CAChB,IAAMuC,EAAI,EAAKpqB,KAAKgqB,OAASE,EAAMlqB,KAAK4nB,OACxC5nB,KAAKgU,KAAKoW,GAAG,GACb9iB,sBAAsB,kBAAM,EAAKhI,eAGjCU,KAAKimB,OACLjmB,KAAKgU,KAAK,GAAG,M,6BAKjBhU,KAAKwmB,MAAO,M,KCxnBb,IAAM6D,GAAb,WAMI,WAAYvc,GAAkB,yBAL9ByN,WAK6B,OAJ7BoB,mBAI6B,OAH7BE,kBAG6B,OAF7BC,kBAE6B,EACzB9c,KAAKub,MAAQzN,EACb9N,KAAK6c,aAAe,EACpB7c,KAAK8c,aAAe,EAT5B,mDAqBQ,IAAMnP,EAAM,IAAI0c,EAWhB,OAVA1c,EAAI4N,MAAQvb,KAAKub,MAAMwK,OAEnB/lB,KAAK2c,gBACLhP,EAAIgP,cAAgB3c,KAAK2c,cAAcoJ,OACvCpY,EAAIgP,cAAcvS,GAAKpK,KAAK6c,aAC5BlP,EAAIgP,cAActS,GAAKrK,KAAK8c,cAEhCnP,EAAIkP,aAAe7c,KAAK6c,aACxBlP,EAAImP,aAAe9c,KAAK8c,aAEjBnP,IAhCf,6BAmCWrC,GACH,SAAKtL,KAAKub,MAAM+O,OAAOhf,EAAMiQ,QAAWvb,KAAK2c,gBAAkBrR,EAAMqR,gBAAoB3c,KAAK2c,eAAiBrR,EAAMqR,kBAEjH3c,KAAK2c,eAAsB3c,KAAK2c,cAAc2N,OAAOhf,EAAMqR,gBAAkB3c,KAAK6c,eAAiBvR,EAAMuR,cAAgB7c,KAAK8c,eAAiBxR,EAAMwR,gBAtCjK,2CA4Ca9c,KAAK2c,gBAEV3c,KAAK2c,cAAcvS,GAAKpK,KAAK6c,aAC7B7c,KAAK2c,cAActS,GAAKrK,KAAK8c,aAE7B9c,KAAKub,MAAMgP,MAAMvqB,KAAK2c,eAAe,GACrC3c,KAAK2c,mBAAgB9b,KAlD7B,kCAqDgB2F,EAAcE,EAAajC,EAAeC,GAA8B,IAAd8lB,EAAa,wDAC/E,GAAc,IAAV/lB,GAA0B,IAAXC,IAEfD,EAAQ,IACR+B,GAAQ/B,EACRA,GAASA,GAGTC,EAAS,IACTgC,GAAOhC,EACPA,GAAUA,GAGd1E,KAAK2c,cAAgB3c,KAAKub,MAAMwK,KAAKvf,EAAME,EAAKjC,EAAOC,GACvD1E,KAAK6c,aAAe7c,KAAK2c,cAAcvS,GACvCpK,KAAK8c,aAAe9c,KAAK2c,cAActS,GAEnCmgB,GACA,IAAK,IAAIxf,EAAI,EAAGA,EAAIvG,EAAOuG,IACvB,IAAK,IAAInG,EAAI,EAAGA,EAAIH,EAAQG,IACxB7E,KAAKub,MAAMtQ,IAAIzE,EAAOwE,EAAGtE,EAAM7B,EAAG,KAzEtD,sCA+EoB4F,EAAaC,GACzB,QAAK1K,KAAK2c,gBAEVlS,GAAYzK,KAAK6c,aACjBnS,GAAY1K,KAAK8c,aAEVrS,GAAO,GAAKA,EAAMzK,KAAK2c,cAAclY,OAASiG,GAAO,GAAKA,EAAM1K,KAAK2c,cAAcjY,UArFlG,4BAaQ,OAAO1E,KAAKub,MAAM9W,QAb1B,6BAiBQ,OAAOzE,KAAKub,MAAM7W,WAjB1B,KCyCa+lB,GAAS,CAClB,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,WAGSC,GAAb,WAuCI,WAAY5c,EAAgB6c,GAAiE,IAAD,OAArClH,EAAqC,wDAAXnV,EAAW,uDAAH,EAAG,yBAArCmV,YAAqC,KAAXnV,QAAW,KAtCpF4Q,WAsCoF,OArCpF0L,iBAqCoF,OAnCpFC,kBAmCoF,OAlCpFC,aAkCoF,OAjCpFC,YAiCoF,OA7BpFnb,WA6BoF,OA1BpFob,iBA0BoF,OAxBpF3F,UAwBoF,OAvBpF4F,WAAwB9R,GAAUG,OAuBkD,KAtBpFW,UAAY,EAsBwE,KArBrF9M,MAAQ,EAqB6E,KAnBpFoN,UAAY,EAmBwE,KAlBpFC,UAAY,EAkBwE,KAhBpF0Q,UAA2B,GAgByD,KAfpFC,UAA2B,GAeyD,KAdpF3J,cAA0B3gB,EAc0D,KAZpFuqB,QAAkB,GAYkE,KAXpFvf,KAAe,GAWqE,KATpFwf,WAAqB,EAS+D,KARpFC,SAAmB,EAQiE,KAPpFC,WAAqB,EAO+D,KALpFC,kBAKoF,OAHrFC,kBAA4B,EAGyD,KAFrFC,0BAEqF,OAiV5F5nB,UAAY,WACJ,EAAK2nB,kBAAoB,IACzBhtB,EAAU,qCAAsC,CAAC,MAAS,EAAKgtB,oBAC/D,EAAKA,kBAAoB,IApV2D,KAwV5F1nB,gBAAkB,WACdC,cAAc,EAAK0nB,sBACnB,EAAKA,qBAAuB,MA1V4D,KA6VpFC,QAAU,SAAC/B,GAYf,GAXqB,IAAjBA,EAAMgC,UACN,EAAKP,WAAY,EACjB,EAAKQ,eAGa,KAAlBjC,EAAMgC,UACN,EAAKE,cACL,EAAKjB,aAAakB,oBAAmB,GACrC,EAAKT,SAAU,GAGf,EAAK1b,MAAM+M,cAAe,CAC1B,IAAIqP,GAAe,EAEnB,OAAQpC,EAAMgC,SACV,KAAK,EACL,KAAK,GACDhC,EAAMxjB,iBACNwjB,EAAMpF,kBACN,EAAK5U,MAAM+M,mBAAgB9b,EAC3B,MACJ,KAAK,GACD,EAAK+O,MAAMiN,eACX,MACJ,KAAK,GACD,EAAKjN,MAAMkN,eACX,MACJ,KAAK,GACD,EAAKlN,MAAMiN,eACX,MACJ,KAAK,GACD,EAAKjN,MAAMkN,eACX,MACJ,QACIkP,GAAe,EAGnBA,IACA,EAAKC,aACL,EAAKC,WAAU,GACf,EAAKrB,aAAasB,QAAQ,EAAKvc,OAAO,IAIhC,CACVuJ,GAAUK,KACVL,GAAUG,OACVH,GAAUI,UACVJ,GAAUM,MACVN,GAAU3F,OACV2F,GAAUzF,KACVyF,GAAUO,SAGRjY,QAAQ,SAAA4X,GACNuQ,EAAM9Y,MAAQsI,GAAqBC,KACnC,EAAKgK,oBACL,EAAK+I,aAAa/S,GAClB,EAAKyR,QAAQvI,QAAQlJ,MAO7B,GAAIuQ,EAAMgC,SAHU,IAGgBhC,EAAMgC,SAFtB,GAE8C,CAC9D,IAAIze,EAAQyc,EAAMgC,QAJF,GAKZ,EAAKP,YACLle,GAAS,GAETA,GAASsd,GAAO/nB,QAChB,EAAKooB,QAAQ7H,SAAS9V,KAra0D,KA0apFkf,MAAQ,SAACzC,GAES,KAAlBA,EAAMgC,SACN,EAAKP,WAAY,EACjB,EAAKiB,oBACoB,KAAlB1C,EAAMgC,UACb,EAAKN,SAAU,EACf,EAAKT,aAAakB,oBAAmB,GACrC,EAAKE,eAlb+E,KAsbpFM,cAAgB,SAAC3C,GACrB,IAAM4C,EAAgB5C,EAAM6C,SAAW7C,EAAM8C,QAC3B,SAAd9C,EAAM9Y,KAAmB0b,GAA+B,MAAd5C,EAAM9Y,KAChD,EAAK+O,OACL+J,EAAMxjB,iBACNwjB,EAAMpF,oBACe,SAAdoF,EAAM9Y,KAAmB0b,GAA+B,MAAd5C,EAAM9Y,OACvD,EAAKgP,OACL8J,EAAMxjB,iBACNwjB,EAAMpF,oBA7bVxkB,KAAKorB,QAAUtd,EAAOrJ,MACtBzE,KAAK6L,KAAOiC,EAAOpJ,OAEnB1E,KAAK4P,MAAQ,IAAIya,GAAYvc,EAAOiY,QAEpC/lB,KAAK4qB,YAAc,IAAIlM,GACvB1e,KAAK4qB,YAAY+B,SAAS,0BAC1B3sB,KAAKkf,MAAQlf,KAAK4qB,YAAY1L,QAC9Blf,KAAK4sB,aAEL5sB,KAAK6qB,aAAe,IAAIrH,GAAWiH,GAAQzqB,KAAK4P,MAAMmW,OAAQ/lB,KAAKyjB,UAAWzjB,KAAKsO,OAEnFtO,KAAK6qB,aAAagC,KAAK,SAACpiB,EAAKC,GACzB,EAAKoiB,MAAM,YAAc3T,GAAU,EAAK8R,YAAc,KACjD,EAAKK,SACN,EAAKyB,QAAQtiB,EAAKC,EAAK,EAAKyC,OAAO,KAM3CnN,KAAK0rB,qBAAuB9lB,YAAY5F,KAAK8D,UAAW,KAExD9D,KAAK6qB,aAAa5iB,GAAG,SAACwC,EAAKC,GAGvB,GAFA,EAAKoiB,MAAM,gBAAkB3T,GAAU,EAAK8R,YAAc,KAC1D,EAAKQ,mBAAqB,EACtB,EAAKH,QAAS,CACd,IAAMne,EAAQ,EAAKyC,MAAM2L,MAAMrQ,IAAIT,EAAKC,GACxC,EAAKogB,QAAQ7H,SAAS9V,QAEtB,EAAK0d,aAAamC,UAAUviB,EAAKC,EAAK,EAAK2a,MACvC,EAAKzV,MAAM+M,gBAAkB,EAAKkO,aAAajb,MAAM+M,gBACrD,EAAKuP,WAAU,GACf,EAAKtc,MAAQ,EAAKib,aAAajb,MAAMmW,OACrC,EAAKkH,WAET,EAAKC,SACL,EAAKrB,cAGT,EAAKN,WAAY,IAGrBvrB,KAAK6qB,aAAa3iB,KAAK,SAACuC,EAAKC,GACpB,EAAK4gB,SACN,EAAKyB,QAAQtiB,EAAKC,EAAK,EAAKyC,OAAO,GAEvC,EAAKoe,WAAY,IAGrBvrB,KAAK6qB,aAAa7R,KAAK,SAACvO,EAAKC,GACzB,EAAK6a,WAAW9a,EAAKC,GACrB,EAAKmhB,gBAIT7rB,KAAK6qB,aAAa3R,MAAM,WAChB,EAAKmM,OACL,EAAK4H,UACD,EAAK5H,KAAKjL,YAAc,EAAKiR,WAC7B,EAAK6B,YAMjBltB,KAAK8qB,QAAU,IAAInK,GAAQ,CAAC,4BAA4BwM,OAAO1C,IAASzqB,KAAMA,KAAKkf,OACnFlf,KAAK8qB,QAAQ7H,SAASwH,GAAO/nB,QAAU,EAAI,EAAI,GAM/C1C,KAAKotB,iBAGLptB,KAAKsO,MAAQA,EArHrB,4DAwHoBnB,GACZnN,KAAK8qB,QAAQ7H,SAAS9V,KAzH9B,8BA4HY1C,EAAaC,EAAayC,EAAe+f,GACzCA,GACAltB,KAAK4P,MAAM2L,MAAMtQ,IAAIR,EAAKC,EAAKyC,GAC/BnN,KAAKqtB,UAAU5iB,EAAKC,EAAKyC,IAEpBnN,KAAKqlB,OACLrlB,KAAKqlB,KAAKjL,YACXpa,KAAK6qB,aAAayC,YAAY7iB,EAAKC,EAAK1K,KAAKqlB,MAEzCrlB,KAAK4P,MAAM+M,gBAAkB3c,KAAK6qB,aAAajb,MAAM+M,gBACrD3c,KAAKksB,WAAU,GACflsB,KAAK4P,MAAQ5P,KAAK6qB,aAAajb,MAAMmW,SAG7C/lB,KAAKqlB,KAAK1O,OAAOlM,EAAKC,GACtB1K,KAAKua,UAAY9P,EACjBzK,KAAKwa,UAAY9P,EACjB1K,KAAKutB,UAAUvtB,KAAKqlB,KAAM5a,EAAKC,MA7I3C,6BAiJWoH,GAGHA,EAAGqB,YAAYnT,KAAK4qB,YAAY9Y,IAChC9R,KAAKwtB,SAML,IAAIC,EAAejf,SAASC,cAAc,OAC1Cgf,EAAazsB,aAAa,QAAS,2BACnC8Q,EAAGqB,YAAYsa,GACfztB,KAAK6qB,aAAa6C,OAAOD,KA9JjC,+BAkKQ,GAAKztB,KAAK4qB,YAAV,CAIA5qB,KAAK6qB,aAAa8C,kBA7LJ,KAqMd3tB,KAAK6qB,aAAa+C,aALIC,GACCC,GAjMT,YAuBtB,gCAwLQ9tB,KAAK6qB,aAAanF,YAxL1B,qCA2LmBvY,GAAoC,IAArB4gB,EAAoB,wDAC1CA,GAEK/tB,KAAKmN,OAASA,IACnBnN,KAAKmN,MAAQA,EAGTnN,KAAKirB,aAAe9R,GAAUM,MAC9BzZ,KAAK8qB,QAAQvI,QAAQpJ,GAAUG,QAE/BtZ,KAAKisB,gBArMrB,oCA0MkB5S,GACNrZ,KAAKirB,YAAc5R,IACnBrZ,KAAKirB,WAAa5R,EAClBrZ,KAAKisB,gBA7MjB,mCAiNiBxnB,GACLzE,KAAKia,WAAaxV,IAClBzE,KAAKia,UAAYxV,EACjBzE,KAAKisB,gBApNjB,yCAwNuBf,EAA0BC,GACrCD,IACAlrB,KAAKkrB,UAAYA,GAEjBC,IACAnrB,KAAKmrB,UAAYA,GAErBnrB,KAAKotB,mBA/Nb,qCAmOQ,OAAOptB,KAAKkrB,UAAUje,UAnO9B,qCAuOQ,OAAOjN,KAAKmrB,UAAUle,UAvO9B,6BA2OQ,GAAIjN,KAAKkrB,UAAUxoB,OAAQ,CACvB1C,KAAK8sB,MAAM,QACXruB,EAAU,4BACV,IAAMuvB,EAAOhuB,KAAKkrB,UAAU3O,MAK5B,GAJAvc,KAAKksB,WAAU,GAIX8B,EAAK1D,OAAOtqB,KAAK4P,OAEjB,YADA5P,KAAK6f,OAGT7f,KAAKmsB,QAAQ6B,GAEjBhuB,KAAKotB,mBAzPb,6BA6PQ,GAAIptB,KAAKmrB,UAAUzoB,OAAQ,CACvB1C,KAAK8sB,MAAM,QACXruB,EAAU,4BACV,IAAMuvB,EAAOhuB,KAAKmrB,UAAU5O,MAC5Bvc,KAAKksB,WAAU,GACflsB,KAAKmsB,QAAQ6B,GAEjBhuB,KAAKotB,mBApQb,6BAuQW3oB,EAAeC,GACb1E,KAAKgrB,cACNhrB,KAAKgrB,YAAchrB,KAAK4P,MAAMmW,OAC9B/lB,KAAKkrB,UAAU3qB,KAAKP,KAAKgrB,aACzBhrB,KAAKmrB,UAAY,IAErBnrB,KAAK4P,MAAM2L,MZvNZ,SAAsB9K,EAAahM,EAAeC,GACrD,IAAMyH,EAAS,IAAIhC,EAAO1F,EAAOC,GAEjC,OADAyH,EAAOoe,MAAM9Z,GACNtE,EYoNgB8hB,CAAajuB,KAAKgrB,YAAYzP,MAAO9W,EAAOC,GAC/D1E,KAAKkuB,aAAY,KA9QzB,qCAiRmBC,MAjRnB,oCAsRQ,OAAOnuB,KAAKorB,UAtRpB,qCA0RQ,OAAOprB,KAAK6L,OA1RpB,mCA8RQ,OAlTMiiB,MAoBd,oCAkSQ,OAjVoB,MA+C5B,+BAsSQ,OAAO9tB,KAAK4P,QAtSpB,kHA8TQ,GAAI5P,KAAKwrB,aAAc,CACnB,IAAM4C,EAAKpuB,KAAKwrB,aAChBxrB,KAAKwrB,kBAAe3qB,EACpButB,IAEApuB,KAAK4P,MAAM+M,gBACX3c,KAAK4P,MAAM6K,qBACXza,KAAKksB,WAAU,MArU3B,8BAyUY9X,GACJpU,KAAKwrB,aAAepX,IA1U5B,mCA6UiBiF,GAAkB,IAAD,OAC1B,GAAIrZ,KAAKirB,aAAe5R,EAAxB,CAEA,IAAM8J,EAAMnjB,KAAK8qB,QAAQhJ,iBAAiBzI,GAE1C,OAAQA,GACJ,KAAKF,GAAUI,UACX8U,EAAWlL,EAAK,SAAW,aAC3B,MACJ,KAAKhK,GAAU3F,OACX6a,EAAWlL,EAAK,SAAW,UAC3B,MACJ,KAAKhK,GAAUG,OACX+U,EAAWlL,EAAK,SAAW,UAC3B,MACJ,KAAKhK,GAAUzF,KACX2a,EAAWlL,EAAK,SAAW,QAC3B,MACJ,QACI,OAGRA,EAAI7e,QAAQ,WACJ+U,GAAQF,GAAU3F,QAAU6F,GAAQF,GAAUzF,OAC9C,EAAK2P,oBACL,EAAKyH,QAAQvI,QAAQlJ,MAI7B,SAASgV,EAAWluB,EAAoBsL,EAAcnN,GAClD,IAAM8kB,EAAWhK,GAAqBC,GAEtClZ,EAAOmuB,QAAQ7iB,GACftL,EAAO7B,MAAMA,GACb6B,EAAOijB,SAASA,MA/W5B,0CAoXQpjB,KAAKosB,aAAajT,GAAUI,WAC5BvZ,KAAKosB,aAAajT,GAAUG,UArXpC,wCA2eQ9K,SAASvO,iBAAiB,UAAWD,KAAK2rB,SAC1Cnd,SAASvO,iBAAiB,QAASD,KAAKqsB,OACxC7d,SAASvO,iBAAiB,UAAWD,KAAKusB,eAAe,KA7ejE,2CAifQ/d,SAASlN,oBAAoB,UAAWtB,KAAK2rB,SAC7Cnd,SAASlN,oBAAoB,QAAStB,KAAKqsB,OAC3C7d,SAASlN,oBAAoB,UAAWtB,KAAKusB,eAAe,GAC5DvsB,KAAK6qB,aAAa0D,yBApf1B,kCAufwBrI,GAChBlmB,KAAKorB,QAAUprB,KAAK4P,MAAMnL,MAC1BzE,KAAK6L,KAAO7L,KAAK4P,MAAMlL,OACvB1E,KAAK6qB,aAAasB,QAAQnsB,KAAK4P,OAAO,GAEtC5P,KAAKwtB,SAEDtH,GAAalmB,KAAK6qB,aAAa2D,oBAGnCxuB,KAAKisB,eAjgBb,iCAogBuBxhB,EAAaC,GACxB1K,KAAKqlB,MACLrlB,KAAK6qB,aAAatF,WAAWvlB,KAAKqlB,KAAM5a,EAAKC,KAtgBzD,gCA0gBsB2a,EAAY5a,EAAaC,GAAkC,IAArB+jB,EAAoB,wDACxEzuB,KAAK6qB,aAAasB,QAAQnsB,KAAK4P,OAC/B5P,KAAK6qB,aAAa6D,UAAUrJ,EAAM5a,EAAKC,EAAK+jB,KA5gBpD,+BAghBYzuB,KAAKqlB,OACDrlB,KAAKgrB,cACLhrB,KAAKgrB,iBAAcnqB,GAEvBb,KAAKksB,WAAU,GACflsB,KAAKutB,UAAUvtB,KAAKqlB,KAAMrlB,KAAKua,UAAWva,KAAKwa,WAAW,GAC1Dxa,KAAK4P,MAAQ5P,KAAK6qB,aAAajb,MAAMmW,OACrC/lB,KAAKisB,aACLjsB,KAAKmrB,UAAY,MAxhB7B,gCA4hBsBtL,GACd,IAAM8O,EAAQ9O,EAAO7f,KAAKkrB,UAAYlrB,KAAKmrB,UACvCwD,EAAMjsB,QAAU1C,KAAK4P,MAAM0a,OAAOqE,EAAMA,EAAMjsB,OAAS,MAK3DisB,EAAMpuB,KAAKP,KAAK4P,MAAMmW,QACtB/lB,KAAKotB,oBApiBb,oCAwiBYptB,KAAKqlB,OACLrlB,KAAKqlB,UAAOxkB,EACZb,KAAKitB,aA1iBjB,mCA+iBajtB,KAAKsrB,UACNtrB,KAAKqlB,KAAOrlB,KAAK4uB,aAhjB7B,8BAojBoBhf,GACRA,EAAMnL,QAAUzE,KAAK4P,MAAMnL,OAASmL,EAAMlL,SAAW1E,KAAK4P,MAAMlL,QAChE1E,KAAK4P,MAAQA,EACb5P,KAAKkuB,aAAY,KAGjBluB,KAAK4P,MAAQA,EAAMmW,OACnB/lB,KAAK6qB,aAAasB,QAAQvc,GAAO,MA3jB7C,uCAikBQ5P,KAAK8qB,QAAQsC,eAAyC,IAA1BptB,KAAKkrB,UAAUxoB,OAAwC,IAA1B1C,KAAKmrB,UAAUzoB,UAjkBhF,gCAokBsB+H,EAAaC,EAAayC,GACxCnN,KAAK6qB,aAAagE,WAAWpkB,EAAKC,EAAKyC,KArkB/C,gCAykBQ,OAAQnN,KAAKirB,YACT,KAAK9R,GAAUG,OACX,OAAO,IAAIwB,GAAU9a,KAAKorB,QAASprB,KAAK6L,KAAM7L,KAAKmN,MAAOnN,KAAKia,WACnE,KAAKd,GAAUI,UAEf,KAAKJ,GAAU2V,QACX,OAAO,IAAIrT,GAAYzb,KAAKorB,QAASprB,KAAK6L,KAAM7L,KAAKmN,MAAOnN,KAAKia,WACrE,KAAKd,GAAUzF,KACX,OAAO,IAAIqI,GAAS/b,KAAKorB,QAASprB,KAAK6L,KAAM7L,KAAKmN,MAAOnN,KAAKia,WAClE,KAAKd,GAAU3F,OACX,OAAO,IAAIyI,GAAWjc,KAAKorB,QAASprB,KAAK6L,KAAM7L,KAAKmN,MAAOnN,KAAKia,WACpE,KAAKd,GAAUM,MACX,OAAO,IAAIqB,GAAU9a,KAAKorB,QAASprB,KAAK6L,KAAM,EAAG7L,KAAKia,WAC1D,KAAKd,GAAUK,KACX,OAAO,IAAI4C,GAASpc,KAAKorB,QAASprB,KAAK6L,KAAM7L,KAAKmN,MAAOnN,KAAKia,WAClE,KAAKd,GAAUO,QACX,OAAO,IAAI+C,GAAYzc,KAAKorB,QAASprB,KAAK6L,KAAM7L,KAAKmN,MAAOnN,KAAKia,cAzlBjF,oCA8lBQ,GAAKja,KAAKqrB,YAAarrB,KAAKsrB,QAG5B,OAAQtrB,KAAKirB,YACT,KAAK9R,GAAUzF,KACf,KAAKyF,GAAUI,UACf,KAAKJ,GAAU3F,OACXxT,KAAK+sB,QAAQ/sB,KAAK6qB,aAAa3G,SAAUlkB,KAAK6qB,aAAa1G,SAAUnkB,KAAKmN,OAAO,MArmBjG,yCA2mBQ,IAAInN,KAAKurB,UAGT,OAAQvrB,KAAKirB,YACT,KAAK9R,GAAUzF,KACf,KAAKyF,GAAUI,UACf,KAAKJ,GAAU3F,OACXxT,KAAKisB,aACLjsB,KAAK6qB,aAAasB,QAAQnsB,KAAK4P,OAAO,MAnnBtD,4BAwnBkB9P,MAxnBlB,mCA+nBQE,KAAK4qB,YAAYmE,OAAO,SAAAta,GACpB,IAAMua,EAAIva,EAAKkO,OAAO,UAAW,oBAC5BjN,KAAK,GAAI,IACTC,MAAM+I,EAAiBuQ,gBAE5BD,EAAEhb,KAAK,QACF9B,GAAG,EAAG,GACNwD,KAAK,GAAI,IACT5Q,KAAK,SACVkqB,EAAEhb,KAAK,QACF9B,GAAG,EAAG,GACNwD,KAAK,EAAG,GACR5Q,KAAK,WACVkqB,EAAEhb,KAAK,QACF9B,GAAG,EAAG,GACNwD,KAAK,EAAG,GACR5Q,KAAK,iBA/oBtB,KC3CMoqB,I,MAA4B,SAACjxB,GAC/B,IAIIU,EAAOyP,EAAYnQ,EAAMwS,KAC7B,OACI,yBAAKvS,UAHE,OAGkB8S,MANF,CACvBC,gBAAiB,QAKsB3M,QAASrG,EAAMqG,SAClD,yBAAKrD,IAAKtC,OAgDPwwB,GA3Cf,YAII,WAAYlxB,GAA4B,IAAD,8BACnC,4CAAMA,KAHFmxB,mBAE+B,EAGnC,EAAKxf,MAAQ,GAHsB,EAJ3C,iFAaQ5P,KAAKovB,cAAgBpvB,KAAKiE,KAAK,oBAbvC,6CAkBQjE,KAAKovB,mBAAgBvuB,IAlB7B,mCAqBiBmP,GACThQ,KAAK/B,MAAMqG,QAAQtE,KAAK/B,MAAMoxB,QAAQrf,GAAMA,KAtBpD,+BAyBc,IAAD,OACDsf,EAAQtvB,KAAK/B,MAAMoxB,QAClB7e,IAAI,SAACxF,EAAGxI,GAAJ,OACD,kBAAC,GAAD,CACIsO,IAAK9F,EAAEV,IAAI0C,WACXyD,IAAKzF,EACL1G,QAAS,EAAKoM,aAAa3C,KAAK,EAAMvL,OAGlD,OACI,yBAAKrE,IAAI,iBACLD,UAAU,kBACToxB,OArCjB,GAAmCjnB,IAAMC,WCf5BinB,GAAb,YAKI,WAAYtxB,GAA2B,IAAD,8BAClC,4CAAMA,KAJAuxB,wBAG4B,IAF/BC,YAE+B,EAGlC,EAAK7f,MAAQ,GAHqB,EAL1C,iFAcQ5P,KAAKwvB,mBAAqBxvB,KAAKiE,KAAK,wBACpCjE,KAAK0vB,uBAfb,6CAkBQ1vB,KAAK2vB,qBACL3vB,KAAKwvB,wBAAqB3uB,IAnBlC,2CAsBQb,KAAKyvB,OAAO3rB,YACZ9D,KAAKyvB,OAAO1rB,kBACZ/D,KAAK2vB,qBACL3vB,KAAK0vB,uBAzBb,2CAgC0B,IAAD,OACbE,EAAsB,GADT,uBAEjB,YAAc5vB,KAAKwvB,mBAAmBK,SAAtC,oDAAShrB,EAAT,QACI+qB,EAASrvB,KAAKsE,IAHD,kFAIjB+qB,EACK/c,OAAO,SAAAhO,GAAC,MAAoB,mBAAhBA,EAAE3G,YACduD,QAAQ,SAAAoD,GAAC,OACN,EAAK2qB,mBAAmBM,YAAYjrB,KAC5C7E,KAAKyvB,OAAS,OAxCtB,2CA2C0B,IAAD,OACbM,EAAU/vB,KAAK/B,MAAM+xB,WACrBC,EAAejwB,KAAKyvB,OAAS,IAAI/E,GAAaqF,EAAS,MAAM,EAAO/vB,KAAK/B,MAAMqQ,OACnF2hB,EAAavC,OAAO1tB,KAAKwvB,oBACVhhB,SAAS0hB,uBAAuB,0BAA0B,GAChElvB,aAAa,UAAtB,UAAoC,EAApC,IAAyC,EAAzC,ILjDqB,GKiDrB,YAA+D0f,KAE/DuP,EAAahD,UACbgD,EAAajO,eAAe,GAAG,GAC/BiO,EAAaE,eAAe,CACxB,CAAC,EAAG,GACJ,CAAC,GAAI,IACL,CAAC,GAAI,IACL,CAAC,GAAI,KAGTnwB,KAAKwvB,mBAAmBtxB,UAAY,4EACpC+xB,EAAaG,kBACbH,EAAaI,QAAQ,WACjB,EAAKpyB,MAAMqyB,aA9DvB,+BAmEQ,IAAIC,EAAKvwB,KAAK/B,MAAMuyB,aACpB,OACI,yBAAKryB,IAAI,wBACL,kBAAC,GAAD,CAAekxB,QAASkB,EAAGlB,QAAS/qB,QAASisB,EAAGjsB,QAASI,OAAQ6rB,EAAG7rB,cAtEpF,GAAsC2D,IAAMC,WCbtCmoB,GAAO,6pEACPC,GAAoB,GACpBhjB,GAAS,CAAC,MAAMyf,OAAO1C,IAGtB,SAAekG,GAAtB,qC,6CAAO,WAAiCC,EAAiBC,GAAlD,6BAAAC,EAAA,4DACGviB,EAASC,SAASC,cAAc,UAChCJ,EAAUE,EAAOI,WAAW,MAF/B,SAIsBoiB,GAAeN,IAJrC,OAWH,GAPMO,EAJH,OAMHziB,EAAO9J,MAAQusB,EAAWvsB,MAC1B8J,EAAO7J,OAASssB,EAAWtsB,OAE3B2J,EAAQ8W,UAAU6L,EAAY,EAAG,GAE7BJ,GAAWF,GAAmB,CAM9B,IALMO,EAAU5iB,EAAQ6iB,aAAa,EAAG,EAAG3iB,EAAO9J,MAAO8J,EAAO7J,QAC1D/F,EAAOsyB,EAAQtyB,KACfwyB,EAAYC,GAAa1jB,GAAOgjB,KAChC/kB,EAAUylB,GAAa1jB,GAAOkjB,IAE3BpwB,EAAQ,EAAGA,EAAQ7B,EAAK+D,OAAQlC,GAAS,EAC1C7B,EAAK6B,KAAW2wB,EAAU,IAAMxyB,EAAK6B,EAAQ,KAAO2wB,EAAU,IAAMxyB,EAAK6B,EAAQ,KAAO2wB,EAAU,KAClGxyB,EAAK6B,GAASmL,EAAQ,GACtBhN,EAAK6B,EAAQ,GAAKmL,EAAQ,GAC1BhN,EAAK6B,EAAQ,GAAKmL,EAAQ,IAIlC0C,EAAQgjB,aAAaJ,EAAS,EAAG,GAzBlC,OA4BH9L,GAAU0L,EAAO,GAAIxiB,EAAS,GAAI,GAAKwiB,EAAO,GAAGnsB,QACjDygB,GAAU0L,EAAO,GAAIxiB,EAAS,GAAI,IAAMwiB,EAAO,GAAGnsB,QAClDygB,GAAU0L,EAAO,GAAIxiB,EAAS,IAAK,IAAMwiB,EAAO,GAAGnsB,QA9BhD,kBAgCI6J,EAAOQ,aAhCX,2C,sBAmCP,SAASoW,GAAU5J,EAAelN,EAAmC7H,EAAcE,GAE/E,IADA,IAAI0E,EACKnG,EAAI,EAAGA,EAAIsW,EAAM9W,MAAOQ,IAC7B,IAAK,IAAIC,EAAI,EAAGA,EAAIqW,EAAM7W,OAAQQ,KAC9BkG,EAAUmQ,EAAMrQ,IAAIjG,EAAGC,MAGnBmJ,EAAQO,UAAYlB,GAAOtC,GAC3BiD,EAAQQ,SAASrI,EAAOvB,EAAGyB,EAAMxB,EAAG,EAAG,IAOhD,SAAe6rB,GAAtB,mC,6CAAO,WAA8BO,GAA9B,SAAAR,EAAA,8EACI,IAAIhvB,QAA0B,SAAC5B,EAASiC,GAC3C,IAAM2P,EAAKtD,SAASC,cAAc,OAElCqD,EAAGyf,OAAS,kBAAMrxB,EAAQ4R,IAC1BA,EAAG0f,QAAU,SAACpyB,GAAD,OAAO+C,EAAO/C,IAE3B0S,EAAG7Q,IAAMqwB,KAPV,0C,sBAWP,SAASF,GAAajkB,GAClB,MAAO,CACHC,SAASD,EAAME,OAAO,EAAG,GAAI,IAC7BD,SAASD,EAAME,OAAO,EAAG,GAAI,IAC7BD,SAASD,EAAME,OAAO,EAAG,GAAI,KClCrC,SAASokB,GAAkB3a,GACvB,QAAUA,EAAsB4a,WAwDpC,IAAMC,GAA0C,CAC5C,UAAY,8rBAuBZ,UAAY,wqDAkCZ,UAAY,wuCAkCZ,WAAa,snHAmDXC,GAA0C,CAC5C,UAAa,uBACb,UAAa,oBACb,UAAa,yBACb,WAAc,2BAalB,SAASC,GAASC,GAId,OAHWA,EAAOhmB,MAAM,MACnB0E,IAAI,SAAA3L,GAAC,OAAIA,EAAE8G,QAAQ,MAAO,MAC1BkH,OAAO,SAAAhO,GAAC,QAAMA,IAGvB,SAASktB,GAASlmB,GACd,OAAOA,EAAKyG,KAAK,MAErB,SAAS0f,GAASF,EAAgBG,EAAeC,GAC7C,IAAIrmB,EAAOgmB,GAASC,GAChBK,EAAOtmB,EAAK,GAAGnJ,OACf0vB,EAAOvmB,EAAKnJ,OAEhB,GAAIyvB,EAAOF,GAASG,EAAOF,EACvB,OAAOJ,EAEX,IAAMO,EAAWvxB,KAAKgH,OAAOmqB,EAAQE,GAAQ,GAEvCG,EAAUJ,EAAQE,EAgBxB,OAdc,SAACG,EAAcC,GACzB,IAAIC,EAAI,IAAIC,OAAOH,GACf1tB,EAAI,IAAI6tB,OAAOF,GACnB3mB,EAAOA,EAAK2E,IAAI,SAAAmiB,GAAC,OAAIF,EAAIE,EAAI9tB,IAQjC+tB,CAAQP,EAdUJ,EAAQE,EAAOE,GAQnB,SAACQ,GACX,IAhCOC,EAgCHC,GAhCGD,EAgCUD,EA/Bd,IAAIG,MAAMF,GACZhuB,UAAKjE,GACL2P,IAAI,SAACyiB,EAAGzwB,GAAJ,OAAUA,KA8BVgO,IAAI,SAAAyiB,GAAC,MAAI,IAAIP,OAAOT,KACzBpmB,EAAI,sBAAOknB,GAAP,YAAgBlnB,IAIxBqnB,CAAQZ,GAEDP,GAASlmB,GAEpB,SAASsnB,GAAcrB,GACnB,OAAOE,GAASF,EAAQ,GAAI,IAEhC,SAASsB,GAAOtB,GACZ,IAAIjmB,EAAOgmB,GAASC,GAKpB,OAAOC,GAHPlmB,EAAOA,EAAK2E,IAAI,SAAA3L,GAAC,OACbA,EAAEiH,MAAM,IAAIunB,UAAU/gB,KAAK,OAKnC,IAAMghB,GAAoB,CAAC,IAAD,qlBAiBvBF,GAAO,odAeNA,GAAO,6gBAeP5iB,IAAI2iB,IACFI,GAAmB,CAAC,IAAD,89DAyDtB/iB,IAAI2iB,IAEDK,GAAoB,CAAC,IAAD,w6EA2DvBhjB,IAAI2iB,IAySP,SAASM,GAAcC,EAAoBvC,EAAmBwC,GAC1D,IAAMC,EAAcF,EAAW5nB,MAAM,MAAM0E,IAAI,SAAAiiB,GAAC,OAAIA,EAAE7mB,SAChDioB,EAAe1C,EAAUrlB,MAAM,MAAM0E,IAAI,SAAAiiB,GAAC,OAAIA,EAAE7mB,SAAQqB,MAAM,GAAI,GAExE0mB,EAAYA,EAAUhoB,QAAQ,OAAQ,IAAIA,QAAQ,IAAK,IAGvD,IADA,IAAImoB,GAAa,EACRtxB,EAAI,EAAGA,EAAIoxB,EAAYlxB,OAAQF,IACpC,GAAIoxB,EAAYpxB,KAAOqxB,EAAa,GAAI,CACpCC,GAAa,EAEb,IAAK,IAAI/mB,EAAI,EAAGA,EAAI8mB,EAAanxB,OAAQqK,IACrC,GAAI6mB,EAAYpxB,EAAIuK,IAAM8mB,EAAa9mB,GAAI,CACvC+mB,GAAa,EACb,MAIJA,GACAF,EAAYnzB,OAAO+B,EAAGqxB,EAAanxB,OAAQixB,GAKvD,OAAOC,EAAYthB,KAAK,MAGbyhB,OA/Tf,YAQI,WAAY91B,GAAyB,IAAD,EAGhC,GAHgC,qBAChC,4CAAMA,KARA+1B,aAO0B,IAN1B/D,kBAM0B,IAL1BlF,YAK0B,IAJ5Bhb,eAI4B,IAH5BzB,MAAgB,EAGY,EAF5B2lB,kBAE4B,IAsE5BC,UAAY,WAChB,EAAKC,OACJC,GAAoCC,YAAa,EAClD,EAAK1jB,SAAS,CAAE2jB,OAAO,KAzES,EA4E5BC,YAAc,WAClBC,aAAa,EAAKP,eA1EdxC,GAAkB2C,IAElB,EAAKxkB,MAAQwkB,OACV,CAEH,IAAIK,EAAO3rB,OAAOG,KAAK0oB,IAClBnhB,IAAI,SAAC2B,GACF,IAAIuQ,EAAMiP,GAAexf,GAMzB,MAAO,CACHxT,KAAM6M,EA1c9B,SAA8Ba,EAAWC,GAErC,IADA,IAAIqB,EAAM,KACDnL,EAAI,EAAGA,EAAI8J,EAAG9J,IACnBmL,GAAO,IAAI+kB,OAAOrmB,GAAK,KAC3B,OAAOsB,EAocqB+mB,CADE,GAAI,KAIdviB,KAAMA,EACNwiB,aAAc/C,GAAezf,GAC7ByiB,QAASzmB,EAAauU,MAIlC,EAAK9S,MAAQ,CACT8hB,WAAY+C,EACZI,WAAY,EACZC,kBAAmB,IAEvBhsB,OAAOisB,OAAOX,GAAiB,EAAKxkB,OA7BR,OAgChC,EAAKG,UAAYjH,OAAOG,KAAK0oB,IACxBnhB,IAAI,SAAAtH,GAAC,OAAIyoB,GAAezoB,KACxBsH,IAAIrC,GAEHimB,GAAoCC,aAAY,EAAKJ,aAAe9J,WAAW,EAAK+J,UAAW,MApCrE,EARxC,oFAwFmCjmB,GAAc,IAAD,OAUxC,IAAI+mB,EAAW,CACXtD,WAAY1xB,KAAK4P,MAAM8hB,WAAWlhB,IAAI,SAACykB,EAAGzyB,GAAJ,OAClCA,IAAM,EAAKoN,MAAMilB,WATd,CACHl2B,KASyBsP,EARzBkE,MAHiB+iB,EAWKD,GARZ9iB,KACVwiB,aAAcO,EAAIP,aAClBC,QAASM,EAAIN,SAOPK,EAZd,IAAyBC,KAczBl1B,KAAK2Q,SAASqkB,GACdlsB,OAAOisB,OAAOX,GAAiBY,KAzGvC,6BA6GQ,GAAIh1B,KAAKiwB,cAAgBjwB,KAAKiwB,aAAaR,OAAQ,CAC/CzvB,KAAKiwB,aAAaR,OAAOvC,SACzB,IAAIiI,EAASn1B,KAAKiwB,aAAaR,OAAO3hB,SAASyN,MAC/Cvb,KAAKo1B,uBAAuBD,MAhHxC,kCAoHgBnlB,GACRhQ,KAAKm0B,OACLn0B,KAAK2Q,SAAS,CAAEkkB,WAAY7kB,IACxByhB,GAAkB2C,MAClBA,GAAgBS,WAAa7kB,GACjCvR,EAAU,gCAAiC,CAAE,IAAOuR,MAzH5D,+CA4H6BA,GACrBhQ,KAAK2Q,SAAS,CAAEmkB,kBAAmB9kB,IACnCvR,EAAU,uCAAwC,CAAE,MAASuR,IACzDyhB,GAAkB2C,MAClBA,GAAgBU,kBAAoB9kB,KAhIhD,0CAmIwB/B,EAAa+B,GAC7BvR,EAAU,kCAAmC,CAAE,IAAOuB,KAAK4P,MAAMilB,WAAY,KAAQ7kB,IACrFhQ,KAAKo1B,uBAAuBnnB,KArIpC,+BAyIQ,IAAI8hB,EAAU/vB,KAAK4P,MAAM8hB,WAAW1xB,KAAK4P,MAAMilB,YAC3CQ,EAA4C,IAA1Br1B,KAAK4P,MAAMilB,WAE7BS,EAAO9mB,SAAS+mB,qBAAqB,QAAQ,GAO7CC,EAJcF,EAAKG,YAER,IAGXC,GAJeJ,EAAKK,aAFF,IJ5lBF,IImmBpB31B,KAAKsO,MAAQxN,KAAKgG,IAAI0uB,EAAQE,GAE9B,IACIE,EAD0B,IACoB51B,KAAKsO,MACnDunB,EAAoB,IAA4C71B,KAAKsO,MAQrEwnB,GALU,CACVxC,GACAC,GACAC,IAGSxzB,KAAK4P,MAAMilB,aAAevB,IAC9B9iB,IAAI,SAAAhO,GAAC,OAAIgJ,EAAqBhJ,KAEnCuzB,EAAW/1B,KAAK4P,MAAM8hB,WAAW1xB,KAAK4P,MAAMilB,YAAYl2B,KAExDq3B,GADS,aAAMh2B,KAAK4P,MAAMilB,WAAjB,MAAkCiB,EAAqBtlB,IAAI,SAAA6O,GAAC,OAAIA,EAAE/U,IAAI0C,aAAYsF,KAAK,KACjE,CAC/B5N,OAAQkxB,EACRvG,QAASyG,EACTxxB,QAAStE,KAAKi2B,oBAAoBloB,KAAK/N,QAE3C,OACI,yBAAK9B,UAAU,eACX,wBAAIC,IAAI,SAASD,UAAU,qBAAqB6xB,EAAQ4E,cACxD,kBAAC,EAAD,CAAQx2B,IAAI,UAAU4R,UAAW/P,KAAK+P,UAClCa,UAAW5Q,KAAKk2B,YAAYnoB,KAAK/N,MAAO8P,SAAU9P,KAAK4P,MAAMilB,aAChEQ,EAEG,kBAAC,EAAD,CAAa5jB,iBAAkBzR,KAAKm2B,yBAAyBpoB,KAAK/N,MAC9DmR,SAAUnR,KAAK4P,MAAMklB,kBAAmBpnB,OAAQ0oB,GAChD1xB,OAAQmxB,IAEZ,kBAAC,GAAD,CAAkB13B,IAAI,gBAAgB6xB,WAAY+F,EAC9CzF,OAAQtwB,KAAKswB,OAAQhiB,MAAOtO,KAAKsO,MAAOkiB,aAAcwF,IAI9D,4BAAQ73B,IAAI,WAAWD,UAAS,mBAAc8B,KAAK4P,MAAM0kB,MAAQ,QAAU,KACvE,sCACA,uBAAGp2B,UAAU,kBA9LjC,kJAqMQ8B,KAAKg0B,QAAUh0B,KAAKiE,KAAK,YACzBjE,KAAKiwB,aAAejwB,KAAKiE,KAAK,iBAC9BjE,KAAK+qB,OAAS/qB,KAAKiE,KAAL,OAGdjE,KAAKg0B,QAAQ/zB,iBAAiB,QAASD,KAAKswB,OAAOviB,KAAK/N,OAGxDwO,SAAS6nB,YAAc,SAAUj3B,GAC7BA,EAAEgH,kBA9Md,+IAmNQpG,KAAKiwB,aAAejwB,KAAKiE,KAAK,mBAnNtC,6CAuNQjE,KAAKg0B,aAAUnzB,EACfb,KAAKiwB,kBAAepvB,EACpBb,KAAK+qB,YAASlqB,EAEdb,KAAKu0B,gBA3Nb,6EAoOiB+B,EASAC,EASAC,EAtPjB,wFA+QQ,IAzBSA,EAtPjB,SAsPwBC,EAAahmB,GAKzB,IAAMimB,EAAiB,WAAWh0B,OAC5Bi0B,EAAiB,mBAAmBj0B,OAEtCk0B,EAAS/oB,EAAe4C,EAAI9R,MAE1Bk4B,EAAYhpB,EAAe4C,EAAImkB,SAChC3nB,MAAMypB,GACPI,EAAeL,EAAIn2B,QAAQu2B,GAAaF,EAC5C,GAAIG,EAAe,EACf,OAAOL,EACX,IAAIM,EAAaN,EAAIn2B,QAAJ,IAAiBw2B,GAC9BE,EAASP,EAAIxpB,MAAM6pB,EAAcC,GAErC,OAAON,EAAI9qB,QAAQqrB,EAAQJ,IA3BtBL,EA7OjB,SA6OiCE,EAAaQ,GAClC,IACMC,EAAW,SAAC/pB,GAAD,yCAA+CA,EAA/C,MACb+nB,EAAMgC,EAFY,IAIlBC,EAAKD,EADID,EAAW,GAExB,OAAOR,EAAI9qB,QAAQupB,EAAKiC,IAfnBb,EApOjB,SAoO+BG,EAAaQ,GAChC,IACMC,EAAW,SAAC/pB,GAAD,kEAAwEA,IACrF+nB,EAAMgC,EAFY,IAIlBC,EAAKD,EADID,EAAW,GAExB,OAAOR,EAAI9qB,QAAQupB,EAAKiC,IAX5Bn3B,KAAKm0B,OACJC,GAAoCC,YAAa,EAE5ClD,EAAYnxB,KAAK4P,MAAM8hB,WAAW7e,OAAO,SAAAukB,GAAE,OAAKpoB,EAAcooB,EAAGz4B,QAyCnE04B,ECruByB,+rsyCDsuBzBC,EExuB0B,oroCFyuB1BC,EGzuB8B,KH4d1C,6BA+QQ,EAAcpG,EAAd,+CAAS3uB,EAAgB,QACfkgB,EAAM1U,EAAaxL,EAAEoyB,SACrB4C,EAAOxpB,EAAaxL,EAAE7D,MAC5B04B,EAAYb,EAAOa,EAAW70B,GAC9B80B,EAAa7D,GAAc6D,EAAY5U,EAAK8U,GAC5CD,EAAiB9D,GAAc8D,EAAgB7U,EAAK8U,GApRhE,iPAsRQH,EAAYf,EAAce,EAAWr3B,KAAK4P,MAAMklB,mBAChDwC,EAAaf,EAAgBe,EAAYt3B,KAAK4P,MAAMklB,mBAvR5D,UAyRiCnE,GAAkB3wB,KAAK4P,MAAMklB,kBAAoB,EAAG90B,KAAK4P,MAAM8hB,WAAWlhB,IAAI,SAAAinB,GAAC,OAAIzoB,EAAcyoB,EAAE94B,MAAQ84B,EAAE7C,QAAU6C,EAAE94B,QAzR1J,QAyRc+4B,EAzRd,OA2RQ13B,KAAK/B,MAAM05B,YAAY,CACnB1tB,MAAOotB,EACPO,OAAQN,EACRO,WAAYN,EACZG,eA/RZ,sIAAgCrvB,IAAMC,W,ykBIhc/B,SAASwvB,GAAazI,GACzB,OA0BJ,SAA8BA,GAC1B,OAAO,IAAIvtB,QAAsB,SAAC5B,EAASiC,GACvC,IAAI41B,EACAC,GAAW,EAEXC,EAAO,MAAQ5I,EAAQ4I,SAE3BF,EAAS,IAAIG,eACT7I,EAAQ8I,sBACRJ,EAAOK,aAAe,eAC1BL,EAAOM,mBAAqB,WACxB,IAAIL,GAEqB,GAArBD,EAAOO,WAAiB,CACxBN,GAAW,EACX,IAAIrqB,EAAoB,CACpB4qB,WAAYR,EAAOS,OACnBP,QAAS,GACTQ,OAASV,EAAeW,cAAgBX,EAAOY,SAC/CltB,KAAM4jB,EAAQ8I,yBAAsBt3B,EAAYk3B,EAAOa,cAExCb,EAAOc,wBACf/sB,MAAM,SAASrK,QAAQ,SAAAgxB,GAC9B,IAAIwC,EAAI,oBAAoB6D,KAAKrG,GAC7BwC,IAAGtnB,EAAIsqB,QAAQhD,EAAE,GAAG3R,eAAiB2R,EAAE,MAE/C/0B,EAAQyN,KAIhB,IAGIrD,EAHA3L,EAAO0wB,EAAQ1wB,KACfo6B,EAAS1J,EAAQ0J,SAAmB,MAARp6B,EAAe,MAAQ,QAIvD,GAAY,MAARA,EACA2L,EAAM,UACH,GAAI3L,aAAgB4L,WACvBD,EAAM3L,OACH,GAAmB,iBAARA,EACd2L,EAAM0uB,KAAKC,UAAUt6B,GACrBs5B,EAAQ,gBAAkB,qCACvB,IAAmB,iBAARt5B,EAGd,MAAM,IAAIu6B,MAAM,YAFhB5uB,EAAM3L,EAKVo5B,EAAOoB,KAAKJ,EAAQ1J,EAAQ7Z,KAE5B1M,OAAOG,KAAKgvB,GAASx2B,QAAQ,SAAAyH,GACzB6uB,EAAOqB,iBAAiBlwB,EAAG+uB,EAAQ/uB,MAG5B,MAAPoB,EACAytB,EAAOsB,OAEPtB,EAAOsB,KAAK/uB,KAnFbgvB,CAAqBjK,GACvBzuB,KAAK,SAAA24B,GACF,GAAwB,KAAnBA,EAAKhB,YAAwC,KAAnBgB,EAAKhB,aAAuBlJ,EAAQmK,gBAAiB,CAChF,IAAI15B,EAAG,gCAA4By5B,EAAKhB,WAAjC,eAAkDlJ,EAAQ7Z,IAA1D,uBAA4E+jB,EAAK9tB,MAAQ,IAAIwB,MAAM,EAAG,MACzGmO,EAAW,IAAI8d,MAAMp5B,GAEzB,OADAsb,EAAImd,WAAagB,EAAKhB,WACfz2B,QAAQK,OAAOiZ,GAI1B,OAFIme,EAAK9tB,MAAQ,oBAAoBxM,KAAKs6B,EAAKtB,QAAQ,mBACnDsB,EAAKE,KAAOT,KAAKU,MAAMH,EAAK9tB,OACzB8tB,IA0HnB,IAAMI,GAAa,CACf,YAAa,GACb,cAAe,GACf,UAAW,GACX,WAAY,ogBC7JHC,GAAb,iLACc,IAAD,EAC0B55B,KAAK/B,MAA5B47B,EADH,EACGA,SAAUC,EADb,EACaA,SAClB,OAAO,qBACH57B,UAAS,wBAAmB27B,GAC5B16B,KAAmB,YAAb06B,EAAyBE,GAAcD,GAAYE,GAAeF,GACxEx1B,QAAS,YAiBrB,SAAkBu1B,GACdp7B,EAAU,+BAAgC,CAAC,SAAYo7B,IAlB/BI,CAASJ,UANrC,GAAkCxxB,aAUlC,SAAS2xB,GAAeF,GACpB,MAAM,gDAAN,OAAuDI,mBAAmBJ,IAG9E,SAASC,GAAcD,GAKnB,MAAO,+CAAwCI,mBAAmBJ,IAA3D,gBACMI,mBAJA,2CAGN,qBAC2CA,mBAHjC,cChBrB,ICMIC,GACAC,GDiHWC,G,YAzGX,WAAYp8B,GAAoB,IAAD,8BAC3B,4CAAMA,KA+DAq8B,cAAgB,WAAO,IACrBtwB,EAAS,EAAK/L,MAAd+L,KAER,EAAK2G,SAAS,CAAE4pB,SAAS,IAEpBvwB,EFuBN,SAA0BwwB,EAAuBC,EAAgB5C,GACpE,IAAI6C,EACAC,EAEJ,GAAIH,EAAe,CACf,IAAMvF,EAAI,uDAAsD6D,KAAK0B,GACjEvF,IACAyF,EAAkBzF,EAAE,GACpB0F,EAAoB1F,EAAE,IAI9B,IAAMxpB,EAAI,MACHkuB,IA6BP,OA1BAluB,EAAK,WAAagvB,EAClBhvB,EAAK,eAAiBosB,EAyBfC,GAP0B,CAC7BG,QAAS,GACTziB,IAAK,0CACL7W,KAnBW,CACXwT,KAAM,cACNyoB,OAAQ,SACRC,cAAe,UACfC,YAAa,uDACbrL,OAAQ,YACRhkB,OACAsvB,KAAM,GAKNL,kBACAC,qBAOAK,eAAe,IErDXC,CAAsBjxB,EAAK0tB,WAAY1tB,EAAK4tB,OAAQ5tB,EAAK6tB,YACpDj3B,KAAK,SAAA24B,GACF,EAAK5oB,SAAS,CACVuqB,UAAW3B,EAAKE,KAAK0B,UAEzB18B,EAAU,mCAZlB0rB,WAAW,WACP,EAAKxZ,SAAS,CACVuqB,UAAW,yBAEhB,MA3EoB,EAyFrBE,gBAAkB,WACxB,IAAMC,EAAQ,EAAKp3B,KAAK,aAEpBo3B,IACAA,EAAMC,QACND,EAAME,kBAAkB,EAAG,OAG/B,IACoB/sB,SAASgtB,YAAY,QACrC/8B,EAAU,8BACZ,MAAOW,MAlGT,EAAKwQ,MAAQ,GAFc,E,sEAKrB,IAAD,EACwB5P,KAAK/B,MAA1BoG,EADH,EACGA,WAAY2F,EADf,EACeA,KAEd0tB,EAAa1tB,EAAOA,EAAK0tB,WAtBvB,61EAuBR,OACI,yBAAKx5B,UAAU,cACX,gDACA,yBAAKA,UAAU,8BACX,yBAAKA,UAAU,mBAAmB+C,IAAKy2B,KAEzC13B,KAAK4P,OAAS5P,KAAK4P,MAAMsrB,UAAal7B,KAAKy7B,eAAiBz7B,KAAK07B,iBACnE,yBAAKx9B,UAAU,gBACX,4BAAQA,UAAU,2BAA2BoG,QAAS,kBAAMD,EAAW,UAAvE,eAEHrE,KAAK4P,OAAS5P,KAAK4P,MAAMsrB,WAAa,uBAAGh9B,UAAU,eAAb,oH,uCAOvB,IAChBq8B,EAAYv6B,KAAK4P,MAAjB2qB,QACR,OAAO,6BACH,yBAAKr8B,UAAU,oBA5CT,yGA+CN,yBAAKA,UAAU,gBACX,4BAAQA,UAAU,8BAA8BoG,QAAStE,KAAKs6B,eAAgBC,EAAU,yBAAKr8B,UAAU,YAAe,e,mCAK3Gy9B,GAAuB,IAClCT,EAAcl7B,KAAK4P,MAAnBsrB,UACFU,EAAS,+BAA2BV,GAE1C,OAAO,6BACH,yBAAKh9B,UAAU,cACX,2BACIA,UAAU,sBACVC,IAAI,YACJwM,MAAOixB,EACPC,UAAU,EACVC,aAAa,MACbC,YAAY,MACZC,eAAe,MACfC,YAAY,IAChB,4BAAQ/9B,UAAU,uBAAuBoG,QAAStE,KAAKo7B,iBACnD,yBAAKl9B,UAAU,uBAGtBy9B,GAAc,yBAAKz9B,UAAU,kBAC1B,kBAAC,GAAD,CAAc27B,SAAS,UAAUC,SAAU8B,IAC3C,kBAAC,GAAD,CAAc/B,SAAS,WAAWC,SAAU8B,U,GA7DxCvzB,IAAMC,WCLf8rB,GAAwC,GAGnD5lB,SAAS6nB,YAAc,SAAUj3B,GAC7BA,EAAEgH,kBAGC,IAwEQ81B,GAxEf,YACI,WAAYj+B,GAAY,IAAD,8BACnB,4CAAMA,KAyCAoG,WAAa,SAAC83B,GAEpB19B,EAAU,mBAAD,OAAoB09B,GAApB,OAA8C,SAAnB,EAAKvsB,MAAMusB,KAAkB,SAAW,KAG5E,IAAIjS,EAAMD,KAAKC,MACfzrB,EAAU,mBAAD,OAAoB,EAAKmR,MAAMusB,KAA/B,SAA4C,CAAE,SAAYjS,EAAMkQ,KACzEA,GAAYlQ,EAEZ,EAAKvZ,SAAS,CAAEwrB,UAnDG,EAsDbC,MAAQ,WACd,IAAIC,EAA0B,IAArBv9B,OAAOw9B,YAChB9tB,SAAS+tB,gBAAgBvrB,MAAMwrB,YAAY,OAA3C,UAAsDH,EAAtD,QAxDmB,EA2DbI,SAAW,WACjBh+B,EAAU,wBACTK,OAAeC,YAAY29B,QAC5B59B,OAAOwC,oBAAoB,eAAgB,EAAKm7B,WA5DhD,EAAK7sB,MAAQ,CACTusB,KAAM,OAGV,EAAKQ,SAAW,EAAKA,SAAS5uB,KAAd,gB3B/BjB,SAAyB6uB,GAC5B,IAAI79B,EAAeD,OAAeC,aAAe,SAAS89B,GAEtD,SAASr6B,EAAEq6B,GAAQC,EAAED,GAAQ,WAAW,IAAIr6B,EAAEu6B,UAAUD,EAAEE,MAAMz8B,KAAK,WAAWu8B,EAAED,GAAQtS,MAAMuS,EAAEt6B,MAAM,IAA2JqC,EAAEo4B,EAAzJH,EAAE,CAACD,OAAOA,GAAQpF,EAAEjpB,SAASpP,EAAEN,OAAO6zB,EAAE,SAAS7b,EAAE,2BAA2BxK,EAAE,QAAQtB,EAAE,OAAOynB,EAAE,QAAQ3B,EAAE2B,EAAE,QAAQrI,EAAEqI,EAAE,OAAOvtB,EAAEuyB,EAAEhpB,cAAckkB,GAAOztB,EAAEjE,IAAI47B,EAAOrnB,KAAK,mDAAmDiiB,EAAElC,qBAAqB5C,GAAG,GAAGuK,WAAW/pB,YAAYjO,GAAG,IAAI43B,EAAEK,OAAO1F,EAAE0F,OAAO,MAAMnO,IAAI,IAAI8N,EAAEE,MAAM,GAAGF,EAAEM,QAAQ,MAAMv4B,EAAE,CAAC,QAAQ,YAAY,SAAS,WAAW,QAAQ,cAAcA,EAAEnC,QAAQF,EAAE,QAAQqC,EAAE0X,OAAO,OAAO/Z,EAAE,MAAMsU,GAAGtU,EAAE,QAAQsU,GAAGtU,EAAE8J,EAAEwkB,GAAGtuB,EAAEwI,EAAE8lB,GAAGtuB,EAAE8J,EAAE8d,GAAG5nB,EAAEwI,EAAEof,GAAG5nB,EAAE,SAASq6B,EAAOQ,2BAAuC76B,EAAE,KAAdqC,EAAE,YAAmBo4B,EAAE79B,EAAEyF,GAAGzF,EAAEyF,GAAG,SAASg4B,EAAOr6B,EAAEi1B,EAAEr4B,EAAEuzB,GAAG,IAAI7b,EAAEmmB,GAAGA,EAAEJ,EAAOr6B,EAAEi1B,EAAEr4B,EAAEuzB,GAAG,OAAW,IAAJ7b,GAAQgmB,EAAE,IAAIj4B,GAAGg4B,EAAOr6B,EAAEi1B,EAAEr4B,EAAEuzB,GAAG7b,IAAIgmB,EAF5tB,CAG/C,CACEQ,mBAAmB,uCACnBC,qBAAqB,EACrBC,0BAA0B,EAC1BH,0BAA0B,EAC1BI,qBAAsBb,EACtBc,sBAAuBd,EACvBpnB,IAAK,oFAiBT,SAASmoB,EAASnoB,GAEd,OAAOA,EAAI7J,QADS,oDACc,2BAjBrC7M,OAAeC,YAAcA,EAEzBF,MACDE,EAAYi+B,MAAMz8B,KAAK,WACnBxB,EAAYsP,QAAQuvB,wBAAwB,SAAUC,GAClD,IAAIC,EAAgBD,EAASl/B,KAAKo/B,SAClCD,EAAcE,WAAaF,EAAcE,YAAc,GACvDF,EAAcE,WAAd,OAAqC,SACrCF,EAAcE,WAAd,OAAqCpB,MAG7C79B,EAAYk/B,cAAc,KAAMN,EAAS7+B,OAAOI,SAAS8N,YAAa,CAACkxB,YAAaP,EAASnvB,SAAS2vB,SAASnxB,e2BS/GoxB,EAAgB,GAChB3/B,EAAU,2BACV27B,GAAYnQ,KAAKC,MAEjBprB,OAAOmB,iBAAiB,SAAU,EAAKm8B,OACvCt9B,OAAOmB,iBAAiB,eAAgB,EAAKw8B,UAb1B,EAD3B,oFAkBQ39B,OAAOwC,oBAAoB,SAAUtB,KAAKo8B,SAlBlD,+BAuBQ,OADAp8B,KAAKo8B,QAED,yBAAKl+B,UAAU,OACU,QAApB8B,KAAK4P,MAAMusB,KACR,kBAAC,GAAD,CAAYxE,YAAa33B,KAAK28B,SAAUt4B,WAAYrE,KAAKqE,aAEjC,SAApBrE,KAAK4P,MAAMusB,KACP,kBAAC,EAAD,CAAYnyB,KAAMmwB,GAAY91B,WAAYrE,KAAKqE,aAC/C,kBAAC,GAAD,CAAO2F,KAAMmwB,GAAY91B,WAAYrE,KAAKqE,gBA9BtE,+BAqCa4F,GACLkwB,GAAalwB,EAEbjK,KAAKqE,WAAW,UAxCxB,0CAmEQmK,SAASlQ,MAAQ,kBACjBG,EAAU,6BApElB,GAAyB4J,IAAMC,WCnB/B+1B,IAAS3Q,OAAO,kBAAC,GAAD,MAASlf,SAAS8vB,eAAe,W","file":"static/js/main.3b636953.chunk.js","sourcesContent":["import { tickEvent } from '../telemetry/appinsights';\n\nexport enum SimulatorButton {\n A,\n B,\n Up,\n Down,\n Left,\n Right,\n Menu,\n Reset\n}\n\ninterface SimulatorMessage {\n type: string;\n}\n\ninterface SimulatorReadyMessage extends SimulatorMessage {\n type: \"ready\";\n}\n\ninterface SimulatorRestartMessage extends SimulatorMessage {\n type: \"simulator\";\n command: \"restart\";\n}\n\ninterface SimulatorRunMessage extends SimulatorMessage {\n type: \"run\";\n code: string;\n}\n\ninterface SimulatorButtonMessage extends SimulatorMessage {\n type: \"button-pressed\"\n button: SimulatorButton;\n pressed: boolean;\n}\n\ntype SentMessage = SimulatorRunMessage | SimulatorButtonMessage;\ntype ReceivedMessage = SimulatorReadyMessage | SimulatorRestartMessage;\n\n// No trailing slash!!!\nconst baseurl = \"https://trg-arcade.userpxt.io/beta---simulator\"\n\nexport class Simulator {\n protected frame: HTMLIFrameElement | undefined;\n protected buttonState: boolean[] = [];\n\n protected changeListeners: ((button: SimulatorButton, pressed: boolean) => void)[] = [];\n protected framePromise: Deferrable;\n protected readyPromise: Deferrable;\n\n protected lastRunBinary: string;\n\n constructor(frame?: HTMLIFrameElement) {\n this.frame = frame;\n\n window.addEventListener(\"message\", this.messageHandler);\n }\n\n setFrame(frame: HTMLIFrameElement | null) {\n if (frame) {\n this.frame = frame;\n if (this.framePromise) this.framePromise.resolve();\n }\n }\n\n pressButton(button: SimulatorButton) {\n if (!this.buttonState[button]) {\n this.sendButtonState(button, true);\n }\n }\n\n releaseButton(button: SimulatorButton) {\n if (this.buttonState[button]) {\n this.sendButtonState(button, false);\n }\n }\n\n isPressed(button: SimulatorButton) {\n return !!this.buttonState[button];\n }\n\n addChangeListener(cb: (button: SimulatorButton, pressed: boolean) => void) {\n if (this.changeListeners.indexOf(cb) === -1) {\n this.changeListeners.push(cb);\n }\n }\n\n removeChangeListener(cb: (button: SimulatorButton, pressed: boolean) => void) {\n const index = this.changeListeners.indexOf(cb);\n if (index !== -1) {\n this.changeListeners.splice(index, 1);\n }\n }\n\n runCode(binaryjs: string) {\n this.lastRunBinary = binaryjs;\n\n this.waitForSimFrameAsync()\n .then(() => {\n this.readyPromise = undefined;\n\n const id = `sim-frame-${Math.random() * 1000000}`;\n this.frame.setAttribute(\"id\", id);\n this.frame.src = `${baseurl}?justscreen=1&run=${id}#${id}`;\n\n this.waitForSimReadyAsync()\n .then(() => {\n this.sendMessage({\n type: \"run\",\n code: binaryjs\n });\n });\n })\n }\n\n dispose() {\n window.removeEventListener(\"message\", this.messageHandler);\n }\n\n protected sendButtonState(button: SimulatorButton, pressed: boolean) {\n this.updateButtonState(button, pressed);\n this.sendMessage({\n type: \"button-pressed\",\n button,\n pressed\n });\n }\n\n protected updateButtonState(button: SimulatorButton, pressed: boolean) {\n if ((!!this.buttonState[button]) !== pressed) {\n this.buttonState[button] = pressed;\n this.changeListeners.forEach(cb => cb(button, pressed));\n }\n }\n\n protected sendMessage(msg: SentMessage) {\n if (this.frame && this.frame.contentWindow) {\n this.frame.contentWindow.postMessage(msg, \"*\");\n }\n }\n\n protected handleMessage(msg: ReceivedMessage) {\n switch (msg.type) {\n case \"ready\":\n if (this.readyPromise) this.readyPromise.resolve();\n break;\n case \"simulator\":\n if (msg.command === \"restart\") {\n tickEvent(\"shareExperiment.play.restart\");\n this.runCode(this.lastRunBinary);\n }\n }\n }\n\n protected messageHandler = (ev: MessageEvent) => {\n const msg = ev.data as ReceivedMessage;\n this.handleMessage(msg);\n }\n\n protected waitForSimFrameAsync() {\n if (this.frame) return Promise.resolve();\n if (this.framePromise) return this.framePromise.promise;\n\n this.framePromise = new Deferrable();\n\n return this.framePromise.promise;\n }\n\n protected waitForSimReadyAsync() {\n if (this.readyPromise) return this.readyPromise.promise;\n\n this.readyPromise = new Deferrable();\n\n return this.readyPromise.promise;\n }\n}\n\nclass Deferrable {\n promise: Promise;\n protected _resolve: () => void;\n protected _reject: (reason?: any) => void;\n\n constructor() {\n this.promise = new Promise((resolve, reject) => {\n this._resolve = resolve;\n this._reject = reject;\n });\n }\n\n resolve() {\n if (this._resolve) this._resolve();\n this._resolve = undefined;\n this._reject = undefined;\n }\n\n reject() {\n if (this._reject) this._reject();\n this._resolve = undefined;\n this._reject = undefined;\n }\n\n isFinished() {\n return !this._resolve;\n }\n}","import React from 'react';\nimport \"../css/SimFrame.css\";\nimport { Simulator } from './simulator';\n\n// https://arcade.makecode.com/beta/--run?fullscreen=1&nofooter=1&id=13415-29846-81435-24572\n\nexport interface SimFrameProps {\n simulator: Simulator;\n}\n\nconst SimFrame: React.FC = props => {\n return (\n \n
\n );\n}\n\n\nexport default SimFrame;","export function loadAppInsights(includeCookie: any) {\n var appInsights = (window as any).appInsights || function(config: any) {\n // @ts-ignore\n function i(config){t[config]=function(){var i=arguments;t.queue.push(function(){t[config].apply(t,i)})}}var t={config:config},u=document,e=window,o=\"script\",s=\"AuthenticatedUserContext\",h=\"start\",c=\"stop\",l=\"Track\",a=l+\"Event\",v=l+\"Page\",y=u.createElement(o),r,f;y.src=config.url||\"https://az416426.vo.msecnd.net/scripts/a/ai.0.js\";u.getElementsByTagName(o)[0].parentNode.appendChild(y);try{t.cookie=u.cookie}catch(p){}for(t.queue=[],t.version=\"1.0\",r=[\"Event\",\"Exception\",\"Metric\",\"PageView\",\"Trace\",\"Dependency\"];r.length;)i(\"track\"+r.pop());return i(\"set\"+s),i(\"clear\"+s),i(h+a),i(c+a),i(h+v),i(c+v),i(\"flush\"),config.disableExceptionTracking||(r=\"onerror\",i(\"_\"+r),f=e[r],e[r]=function(config,i,u,e,o){var s=f&&f(config,i,u,e,o);return s!==!0&&t[\"_\"+r](config,i,u,e,o),s}),t\n }({\n instrumentationKey:\"9801ed01-c40f-46ec-aa40-2a1742a9e71c\",\n disableAjaxTracking: true,\n overridePageViewDuration: false,\n disableExceptionTracking: true,\n isCookieUseDisabled: !includeCookie,\n isStorageUseDisabled: !includeCookie,\n url: \"https://cdn.makecode.com/blob/dd22520c096be24e7432f5b46e8aad59711f31f0/ai.0.js\" // Hardcode docs CDN url for experiment\n });\n (window as any).appInsights = appInsights;\n \n if (!isLocalHost()) {\n appInsights.queue.push(function () {\n appInsights.context.addTelemetryInitializer(function (envelope: any) {\n var telemetryItem = envelope.data.baseData;\n telemetryItem.properties = telemetryItem.properties || {};\n telemetryItem.properties[\"target\"] = \"arcade\";\n telemetryItem.properties[\"cookie\"] = includeCookie;\n });\n });\n appInsights.trackPageView(null, scrubUrl(window.location.toString()), {urlReferrer: scrubUrl(document.referrer.toString())});\n }\n\n // Scrub the key (if any) from the URL.\n function scrubUrl(url: any) {\n var scriptIdRegex = /(?:\\d{5}-\\d{5}-\\d{5}-\\d{5})|(?:_[0-9a-zA-Z]{12})/g;\n return url.replace(scriptIdRegex, \"xxxxx-xxxxx-xxxxx-xxxxx\");\n }\n}\n\nexport function tickEvent(id: string, data?: any, measures?: any) {\n // Don't log events for localhost\n if (!isLocalHost()) (window as any).appInsights.trackEvent(id, data, measures);\n}\n\nfunction isLocalHost(): boolean {\n try {\n return typeof window !== \"undefined\"\n && /^http:\\/\\/(localhost|127\\.0\\.0\\.1):\\d+\\//.test(window.location.href)\n && !/nolocalhost=1/.test(window.location.href);\n } catch (e) { return false; }\n}","import React from 'react';\n\nimport { Simulator, SimulatorButton } from \"./simulator\";\nimport { tickEvent } from '../telemetry/appinsights';\n\nimport '../css/Joystick.css';\n\nexport interface JoystickProps {\n simulator: Simulator;\n changeMode: (mode: \"play\" | \"share\" | \"mod\") => void;\n}\n\nconst SVG_WIDTH = 40;\nconst HALF_WIDTH = SVG_WIDTH >> 1;\n\nexport class Joystick extends React.Component {\n protected dPadUp: SVGRectElement | undefined;\n protected dPadDown: SVGRectElement | undefined;\n protected dPadLeft: SVGRectElement | undefined;\n protected dPadRight: SVGRectElement | undefined;\n protected joystickHandle: SVGCircleElement | undefined;\n\n protected joystickAnimation: number | undefined;\n\n protected handleX = SVG_WIDTH >> 1;\n protected handleY = SVG_WIDTH >> 1;\n protected lastOctet: number | undefined;\n\n protected joystickGestureCount: number = 0;\n protected joystickGestureInterval: any;\n\n componentDidMount() {\n this.dPadUp = this.refs[\"dpad-up\"] as SVGRectElement;\n this.dPadDown = this.refs[\"dpad-down\"] as SVGRectElement;\n this.dPadLeft = this.refs[\"dpad-left\"] as SVGRectElement;\n this.dPadRight = this.refs[\"dpad-right\"] as SVGRectElement;\n this.joystickHandle = this.refs[\"joystick-handle\"] as SVGCircleElement;\n\n this.bindEvents(this.refs[\"joystick-bounds\"] as HTMLDivElement);\n\n this.props.simulator.addChangeListener(this.buttonChangeListener);\n }\n\n componentWillUnmount() {\n this.dPadUp = undefined;\n this.dPadDown = undefined;\n this.dPadLeft = undefined;\n this.dPadRight = undefined;\n this.joystickHandle = undefined;\n\n this.props.simulator.removeChangeListener(this.buttonChangeListener);\n this.cleanupInterval();\n }\n\n render() {\n const { changeMode } = this.props;\n return (\n \n
\n
\n changeMode(\"mod\")}>Mod \n
\n
\n \n \n \n \n \n \n \n \n
\n )\n }\n\n protected buttonChangeListener = (button: SimulatorButton, isPressed: boolean) => {\n switch (button) {\n case SimulatorButton.Down:\n this.updateDirection(this.dPadDown, isPressed);\n break;\n case SimulatorButton.Up:\n this.updateDirection(this.dPadUp, isPressed);\n break;\n case SimulatorButton.Left:\n this.updateDirection(this.dPadLeft, isPressed);\n break;\n case SimulatorButton.Right:\n this.updateDirection(this.dPadRight, isPressed);\n break;\n }\n }\n\n protected updateDirection(button: SVGRectElement | undefined, isPressed: boolean) {\n if (button) {\n button.setAttribute(\"fill\", isPressed ? \"#249ca3\" : \"#cecece\");\n }\n }\n\n protected bindEvents(div: HTMLDivElement) {\n if (!div) return;\n\n if (hasPointerEvents()) {\n this.bindPointerEvents(div);\n }\n else if (isTouchEnabled()) {\n this.bindTouchEvents(div);\n }\n else {\n this.bindMouseEvents(div);\n }\n\n this.joystickGestureInterval = setInterval(this.logEvents, 5000);\n }\n\n protected bindPointerEvents(div: HTMLDivElement) {\n let inGesture = false;\n\n div.addEventListener(\"pointerup\", ev => {\n if (inGesture) {\n this.updateJoystickDrag(ev.clientX, ev.clientY);\n this.startAnimation();\n }\n inGesture = false;\n });\n\n div.addEventListener(\"pointerdown\", ev => {\n this.updateJoystickDrag(ev.clientX, ev.clientY);\n inGesture = true\n });\n\n div.addEventListener(\"pointermove\", ev => {\n if (inGesture) this.updateJoystickDrag(ev.clientX, ev.clientY);\n });\n\n div.addEventListener(\"pointerleave\", ev => {\n if (inGesture) {\n this.updateJoystickDrag(ev.clientX, ev.clientY);\n this.startAnimation();\n }\n inGesture = false;\n });\n }\n\n protected bindMouseEvents(div: HTMLDivElement) {\n let inGesture = false;\n\n div.addEventListener(\"mouseup\", ev => {\n if (inGesture) {\n this.updateJoystickDrag(ev.clientX, ev.clientY);\n this.startAnimation();\n }\n inGesture = false;\n });\n\n div.addEventListener(\"mousedown\", ev => {\n this.updateJoystickDrag(ev.clientX, ev.clientY);\n inGesture = true\n });\n\n div.addEventListener(\"mousemove\", ev => {\n if (inGesture) this.updateJoystickDrag(ev.clientX, ev.clientY);\n });\n\n div.addEventListener(\"mouseleave\", ev => {\n if (inGesture) {\n this.updateJoystickDrag(ev.clientX, ev.clientY);\n this.startAnimation();\n }\n inGesture = false;\n });\n }\n\n protected bindTouchEvents(div: HTMLDivElement) {\n let touchIdentifier: number | undefined;\n\n div.addEventListener(\"touchend\", ev => {\n if (touchIdentifier) {\n const touch = getTouch(ev, touchIdentifier);\n\n if (touch) {\n this.updateJoystickDrag(touch.clientX, touch.clientY);\n this.startAnimation();\n ev.preventDefault();\n }\n }\n touchIdentifier = undefined;\n });\n\n div.addEventListener(\"touchstart\", ev => {\n touchIdentifier = ev.changedTouches[0].identifier;\n this.updateJoystickDrag(ev.changedTouches[0].clientX, ev.changedTouches[0].clientY);\n });\n\n div.addEventListener(\"touchmove\", ev => {\n if (touchIdentifier) {\n const touch = getTouch(ev, touchIdentifier);\n\n if (touch) {\n this.updateJoystickDrag(touch.clientX, touch.clientY);\n ev.preventDefault();\n }\n }\n });\n\n div.addEventListener(\"touchcancel\", ev => {\n if (touchIdentifier) {\n const touch = getTouch(ev, touchIdentifier);\n\n if (touch) {\n this.updateJoystickDrag(touch.clientX, touch.clientY);\n this.startAnimation();\n }\n }\n touchIdentifier = undefined;\n });\n }\n\n protected updateJoystickDrag(x: number, y: number) {\n if (this.joystickHandle) {\n const bounds = (this.refs[\"joystick-bounds\"] as HTMLDivElement).getBoundingClientRect();\n\n const dx = ((x - bounds.left) * (SVG_WIDTH / bounds.width)) - HALF_WIDTH;\n const dy = ((y - bounds.top) * (SVG_WIDTH / bounds.height)) - HALF_WIDTH;\n\n const angle = Math.atan2(dy, dx);\n const distance = Math.min(Math.sqrt(Math.pow(dx, 2) + Math.pow(dy, 2)), 10);\n\n this.setHandlePosition(HALF_WIDTH + distance * Math.cos(angle), HALF_WIDTH + distance * Math.sin(angle));\n }\n }\n\n protected startAnimation() {\n this.clearButtonPresses();\n if (this.joystickHandle) {\n this.stopAnimation();\n\n const animationFrame = () => {\n let distance = this.getHandleDistance();\n\n if (distance < 0.5) {\n this.setHandlePosition(HALF_WIDTH, HALF_WIDTH, true);\n this.stopAnimation();\n }\n else {\n const angle = this.getHandleAngle();\n distance = Math.max(distance - 1, 0);\n this.setHandlePosition(HALF_WIDTH + distance * Math.cos(angle), HALF_WIDTH + distance * Math.sin(angle), true);\n this.joystickAnimation = requestAnimationFrame(animationFrame);\n }\n }\n\n this.joystickAnimation = requestAnimationFrame(animationFrame);\n }\n }\n\n protected stopAnimation() {\n if (this.joystickAnimation) {\n cancelAnimationFrame(this.joystickAnimation);\n this.joystickAnimation = undefined;\n this.joystickGestureCount += 1;\n }\n }\n\n protected logEvents = () => {\n if (this.joystickGestureCount > 0) {\n tickEvent(\"shareExperiment.play.joystickGestureUp\", {\"count\": this.joystickGestureCount});\n this.joystickGestureCount = 0;\n }\n }\n\n protected cleanupInterval = () => {\n clearInterval(this.joystickGestureInterval);\n this.joystickGestureCount = 0;\n }\n\n /**\n *\n * @param x The x location in SVG coordinates\n * @param y The y location in SVG coordinates\n */\n protected setHandlePosition(x: number, y: number, animation = false) {\n if (this.joystickHandle) {\n this.joystickHandle.setAttribute(\"cx\", \"\" + x)\n this.joystickHandle.setAttribute(\"cy\", \"\" + y)\n\n this.handleX = x;\n this.handleY = y;\n\n if (!animation) {\n if (this.getHandleDistance() < 5) {\n this.clearButtonPresses();\n }\n else {\n const { simulator } = this.props;\n const angle = this.getHandleAngle();\n const octet = (5 + Math.floor((angle / (Math.PI / 4)) - 0.5)) % 8;\n\n if (octet === this.lastOctet) return;\n this.lastOctet = octet;\n\n let left = false;\n let right = false;\n let up = false;\n let down = false;\n\n switch (octet) {\n case 0:\n left = true;\n break;\n case 1:\n left = true;\n up = true;\n break;\n case 2:\n up = true;\n break;\n case 3:\n up = true;\n right = true;\n break;\n case 4:\n right = true;\n break;\n case 5:\n right = true;\n down = true;\n break;\n case 6:\n down = true;\n break;\n case 7:\n left = true;\n down = true;\n break;\n }\n\n if (down) simulator.pressButton(SimulatorButton.Down);\n else simulator.releaseButton(SimulatorButton.Down);\n\n if (up) simulator.pressButton(SimulatorButton.Up);\n else simulator.releaseButton(SimulatorButton.Up);\n\n if (left) simulator.pressButton(SimulatorButton.Left);\n else simulator.releaseButton(SimulatorButton.Left);\n\n if (right) simulator.pressButton(SimulatorButton.Right);\n else simulator.releaseButton(SimulatorButton.Right);\n }\n }\n }\n }\n\n protected getHandleAngle() {\n return Math.atan2(this.handleY - HALF_WIDTH, this.handleX - HALF_WIDTH);;\n }\n\n protected getHandleDistance() {\n return Math.sqrt(Math.pow(this.handleX - HALF_WIDTH, 2) + Math.pow(this.handleY - HALF_WIDTH, 2));\n }\n\n protected clearButtonPresses() {\n const { simulator } = this.props;\n simulator.releaseButton(SimulatorButton.Down);\n simulator.releaseButton(SimulatorButton.Up);\n simulator.releaseButton(SimulatorButton.Left);\n simulator.releaseButton(SimulatorButton.Right);\n this.lastOctet = undefined;\n }\n}\n\nfunction hasPointerEvents(): boolean {\n return typeof window != \"undefined\" && !!(window as any).PointerEvent;\n}\n\nfunction isTouchEnabled(): boolean {\n return typeof window !== \"undefined\" &&\n ('ontouchstart' in window // works on most browsers\n || (navigator && navigator.maxTouchPoints > 0)); // works on IE10/11 and Surface);\n}\n\nfunction getTouch(ev: TouchEvent, identifier: number) {\n for (let i = 0; i < ev.changedTouches.length; i++) {\n if (ev.changedTouches[i].identifier === identifier) {\n return ev.changedTouches[i];\n }\n }\n\n return undefined;\n}\n\nexport default Joystick;","import React from 'react';\n\nimport '../css/GameButtons.css';\nimport { Simulator, SimulatorButton } from './simulator';\nimport { tickEvent } from '../telemetry/appinsights';\n\nexport interface GameButtonsProps {\n simulator: Simulator;\n changeMode: (mode: \"play\" | \"share\" | \"mod\") => void;\n}\n\nconst SVG_WIDTH = 40;\n\nclass GameButtons extends React.Component {\n protected aButton: SVGCircleElement | undefined;\n protected aLabel: SVGTextElement | undefined;\n protected bButton: SVGCircleElement | undefined;\n protected bLabel: SVGTextElement | undefined;\n protected buttonPressCount: {[key: string]: number} = {};\n protected buttonPressInterval: any;\n\n componentDidMount() {\n this.aButton = this.refs[\"button-a\"] as SVGCircleElement;\n this.aLabel = this.refs[\"label-a\"] as SVGTextElement;\n this.bButton = this.refs[\"button-b\"] as SVGCircleElement;;\n this.bLabel = this.refs[\"label-b\"] as SVGTextElement;\n\n this.bindEvents(this.refs[\"button-bounds\"] as HTMLElement)\n }\n\n componentWillUnmount() {\n this.aButton = undefined;\n this.aLabel = undefined;\n this.bButton = undefined;\n this.bLabel = undefined;\n this.cleanupInterval();\n }\n\n render() {\n const { changeMode } = this.props;\n return (\n \n
\n
\n changeMode(\"share\")}>Share \n
\n
\n \n B \n \n A \n \n
\n )\n }\n\n protected updateButtonGesture(x: number, y: number) {\n const bounds = (this.refs[\"button-bounds\"] as HTMLDivElement).getBoundingClientRect();\n\n const dx = ((x - bounds.left) * (SVG_WIDTH / bounds.width));\n const dy = ((y - bounds.top) * (SVG_WIDTH / bounds.height));\n\n const aDistance = Math.sqrt(Math.pow(dx - 30, 2) + Math.pow(dy - 13, 2));\n const bDistance = Math.sqrt(Math.pow(dx - 15, 2) + Math.pow(dy - 28, 2));\n\n this.setButtonState(SimulatorButton.A, aDistance < 8)\n this.setButtonState(SimulatorButton.B, bDistance < 8)\n }\n\n protected clearButtonPresses() {\n this.setButtonState(SimulatorButton.A, false);\n this.setButtonState(SimulatorButton.B, false);\n }\n\n protected setButtonState(button: SimulatorButton, pressed: boolean) {\n const isAButton = button === SimulatorButton.A;\n const circle = isAButton ? this.aButton : this.bButton;\n const label = isAButton ? this.aLabel : this.bLabel;\n\n if (circle && label) {\n const pressedColor = \"#249ca3\";\n circle.setAttribute(\"fill\", pressed ? pressedColor : \"#333\")\n label.setAttribute(\"fill\", pressed ? \"#333\" : \"\")\n }\n\n const { simulator } = this.props;\n if (pressed) {\n if (!this.buttonPressCount[SimulatorButton[button]]) this.buttonPressCount[SimulatorButton[button]] = 0;\n this.buttonPressCount[SimulatorButton[button]] += 1;\n simulator.pressButton(button);\n }\n else simulator.releaseButton(button);\n }\n\n protected bindEvents(div: HTMLElement) {\n if (!div) return;\n\n if (hasPointerEvents()) {\n this.bindPointerEvents(div);\n }\n else if (isTouchEnabled()) {\n this.bindTouchEvents(div);\n }\n else {\n this.bindMouseEvents(div);\n }\n\n this.buttonPressInterval = setInterval(this.logEvents, 5000);\n }\n\n protected bindPointerEvents(div: HTMLElement) {\n let inGesture = false;\n\n div.addEventListener(\"pointerup\", ev => {\n if (inGesture) {\n this.clearButtonPresses()\n }\n inGesture = false;\n });\n\n div.addEventListener(\"pointerdown\", ev => {\n this.updateButtonGesture(ev.clientX, ev.clientY);\n inGesture = true\n });\n\n div.addEventListener(\"pointermove\", ev => {\n if (inGesture) this.updateButtonGesture(ev.clientX, ev.clientY);\n });\n\n div.addEventListener(\"pointerleave\", ev => {\n if (inGesture) {\n this.clearButtonPresses()\n }\n inGesture = false;\n });\n }\n\n protected bindMouseEvents(div: HTMLElement) {\n let inGesture = false;\n\n div.addEventListener(\"mouseup\", ev => {\n if (inGesture) {\n this.clearButtonPresses()\n }\n inGesture = false;\n });\n\n div.addEventListener(\"mousedown\", ev => {\n this.updateButtonGesture(ev.clientX, ev.clientY);\n inGesture = true\n });\n\n div.addEventListener(\"mousemove\", ev => {\n if (inGesture) this.updateButtonGesture(ev.clientX, ev.clientY);\n });\n\n div.addEventListener(\"mouseleave\", ev => {\n if (inGesture) {\n this.clearButtonPresses()\n }\n inGesture = false;\n });\n }\n\n protected bindTouchEvents(div: HTMLElement) {\n let touchIdentifier: number | undefined;\n\n div.addEventListener(\"touchend\", ev => {\n if (touchIdentifier) {\n const touch = getTouch(ev, touchIdentifier);\n\n if (touch) {\n this.clearButtonPresses()\n ev.preventDefault();\n }\n }\n touchIdentifier = undefined;\n });\n\n div.addEventListener(\"touchstart\", ev => {\n touchIdentifier = ev.changedTouches[0].identifier;\n this.updateButtonGesture(ev.changedTouches[0].clientX, ev.changedTouches[0].clientY);\n });\n\n div.addEventListener(\"touchmove\", ev => {\n if (touchIdentifier) {\n const touch = getTouch(ev, touchIdentifier);\n\n if (touch) {\n this.updateButtonGesture(touch.clientX, touch.clientY);\n ev.preventDefault();\n }\n }\n });\n\n div.addEventListener(\"touchcancel\", ev => {\n if (touchIdentifier) {\n const touch = getTouch(ev, touchIdentifier);\n\n if (touch) {\n this.clearButtonPresses();\n }\n }\n touchIdentifier = undefined;\n });\n }\n\n protected logEvents = () => {\n if (Object.values(this.buttonPressCount).some(x => !!x)) {\n tickEvent(\"shareExperiment.play.buttonPress\", this.buttonPressCount);\n Object.keys(this.buttonPressCount).forEach(k => this.buttonPressCount[k] = 0);\n }\n }\n\n protected cleanupInterval = () => {\n clearInterval(this.buttonPressInterval);\n this.buttonPressCount = {};\n }\n}\n\nfunction hasPointerEvents(): boolean {\n return typeof window != \"undefined\" && !!(window as any).PointerEvent;\n}\n\nfunction isTouchEnabled(): boolean {\n return typeof window !== \"undefined\" &&\n ('ontouchstart' in window // works on most browsers\n || (navigator && navigator.maxTouchPoints > 0)); // works on IE10/11 and Surface);\n}\n\nfunction getTouch(ev: TouchEvent, identifier: number) {\n for (let i = 0; i < ev.changedTouches.length; i++) {\n if (ev.changedTouches[i].identifier === identifier) {\n return ev.changedTouches[i];\n }\n }\n\n return undefined;\n}\n\nexport default GameButtons;","import React from 'react';\n\nimport SimFrame from './SimFrame';\nimport Joystick from './Joystick';\nimport GameButtons from './GameButtons';\n\nimport '../css/GamePlayer.css';\nimport { Simulator } from './simulator';\nimport { UserProject } from './util';\n\n\nexport interface GamePlayerProps {\n proj: UserProject;\n changeMode: (mode: \"play\" | \"share\" | \"mod\") => void;\n}\n\nconst GamePlayer: React.FC = props => {\n let sim = new Simulator();\n\n sim.runCode(props.proj.binJs);\n\n return (\n \n
\n
\n
\n
\n
MAKECODE
\n
\n
\n
\n );\n}\n\nexport default GamePlayer;\n","// These are the characters used to output literals (but we support aliases for some of these)\nconst hexChars = [\".\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\"];\n\nexport interface Coord {\n x: number,\n y: number\n}\n\n/**\n * 16-color sprite\n */\nexport class Bitmap {\n public buf: Uint8Array;\n\n constructor(public width: number, public height: number, public x0 = 0, public y0 = 0) {\n this.buf = new Uint8Array(Math.ceil(width * height / 2));\n }\n\n set(col: number, row: number, value: number) {\n if (col < this.width && row < this.height && col >= 0 && row >= 0) {\n const index = this.coordToIndex(col, row);\n this.setCore(index, value);\n }\n }\n\n get(col: number, row: number) {\n if (col < this.width && row < this.height && col >= 0 && row >= 0) {\n const index = this.coordToIndex(col, row);\n return this.getCore(index);\n }\n return 0;\n }\n\n copy(col = 0, row = 0, width = this.width, height = this.height): Bitmap {\n const sub = new Bitmap(width, height);\n sub.x0 = col;\n sub.y0 = row;\n for (let c = 0; c < width; c++) {\n for (let r = 0; r < height; r++) {\n sub.set(c, r, this.get(col + c, row + r));\n }\n }\n return sub;\n }\n\n apply(change: Bitmap, transparent = false) {\n let current: number;\n for (let c = 0; c < change.width; c++) {\n for (let r = 0; r < change.height; r++) {\n current = change.get(c, r);\n\n if (!current && transparent) continue;\n this.set(change.x0 + c, change.y0 + r, current);\n }\n }\n }\n\n equals(other: Bitmap) {\n if (this.width === other.width && this.height === other.height && this.x0 === other.x0 && this.y0 === other.y0 && this.buf.length === other.buf.length) {\n for (let i = 0; i < this.buf.length; i++) {\n if (this.buf[i] !== other.buf[i]) return false;\n }\n return true;\n }\n\n return false;\n }\n\n protected coordToIndex(col: number, row: number) {\n return col + row * this.width;\n }\n\n protected getCore(index: number) {\n const cell = Math.floor(index / 2);\n if (index % 2 === 0) {\n return this.buf[cell] & 0xf;\n }\n else {\n return (this.buf[cell] & 0xf0) >> 4;\n }\n }\n\n protected setCore(index: number, value: number) {\n const cell = Math.floor(index / 2);\n if (index % 2 === 0) {\n this.buf[cell] = (this.buf[cell] & 0xf0) | (value & 0xf);\n }\n else {\n this.buf[cell] = (this.buf[cell] & 0x0f) | ((value & 0xf) << 4);\n }\n }\n}\n\nexport class Bitmask {\n protected mask: Uint8Array;\n\n constructor(public width: number, public height: number) {\n this.mask = new Uint8Array(Math.ceil(width * height / 8));\n }\n\n set(col: number, row: number) {\n const cellIndex = col + this.width * row;\n const index = cellIndex >> 3;\n const offset = cellIndex & 7;\n this.mask[index] |= (1 << offset);\n }\n\n get(col: number, row: number) {\n const cellIndex = col + this.width * row;\n const index = cellIndex >> 3;\n const offset = cellIndex & 7;\n return (this.mask[index] >> offset) & 1;\n }\n}\n\nexport function resizeBitmap(img: Bitmap, width: number, height: number) {\n const result = new Bitmap(width, height);\n result.apply(img);\n return result;\n}\n\nexport function imageLiteralToBitmap(text: string, defaultPattern?: string): Bitmap {\n // Strip the tagged template string business and the whitespace. We don't have to exhaustively\n // replace encoded characters because the compiler will catch any disallowed characters and throw\n // an error before the decompilation happens. 96 is backtick and 9 is tab\n text = text.replace(/[ `]|(?:`)|(?: )|(?:img)/g, \"\").trim();\n text = text.replace(/^[\"`\\(\\)]*/, '').replace(/[\"`\\(\\)]*$/, '');\n text = text.replace(/
/g, \"\\n\");\n\n if (!text && defaultPattern)\n text = defaultPattern;\n\n const rows = text.split(\"\\n\");\n\n // We support \"ragged\" sprites so not all rows will be the same length\n const sprite: number[][] = [];\n let spriteWidth = 0;\n\n for (let r = 0; r < rows.length; r++) {\n const row = rows[r];\n const rowValues: number[] = [];\n for (let c = 0; c < row.length; c++) {\n // This list comes from libs/screen/targetOverrides.ts in pxt-arcade\n // Technically, this could change per target.\n switch (row[c]) {\n case \"0\": case \".\": rowValues.push(0); break;\n case \"1\": case \"#\": rowValues.push(1); break;\n case \"2\": case \"T\": rowValues.push(2); break;\n case \"3\": case \"t\": rowValues.push(3); break;\n case \"4\": case \"N\": rowValues.push(4); break;\n case \"5\": case \"n\": rowValues.push(5); break;\n case \"6\": case \"G\": rowValues.push(6); break;\n case \"7\": case \"g\": rowValues.push(7); break;\n case \"8\": rowValues.push(8); break;\n case \"9\": rowValues.push(9); break;\n case \"a\": case \"A\": case \"R\": rowValues.push(10); break;\n case \"b\": case \"B\": case \"P\": rowValues.push(11); break;\n case \"c\": case \"C\": case \"p\": rowValues.push(12); break;\n case \"d\": case \"D\": case \"O\": rowValues.push(13); break;\n case \"e\": case \"E\": case \"Y\": rowValues.push(14); break;\n case \"f\": case \"F\": case \"W\": rowValues.push(15); break;\n }\n }\n\n if (rowValues.length) {\n sprite.push(rowValues);\n spriteWidth = Math.max(spriteWidth, rowValues.length);\n }\n }\n\n const spriteHeight = sprite.length;\n\n const result = new Bitmap(spriteWidth, spriteHeight)\n\n for (let r = 0; r < spriteHeight; r++) {\n const row = sprite[r];\n for (let c = 0; c < spriteWidth; c++) {\n if (c < row.length) {\n result.set(c, r, row[c]);\n }\n else {\n result.set(c, r, 0);\n }\n }\n }\n\n return result;\n}\n\nexport function bitmapToImageLiteral(bitmap: Bitmap): string {\n let res = \"img`\";\n\n\n if (bitmap) {\n for (let r = 0; r < bitmap.height; r++) {\n res += \"\\n\"\n for (let c = 0; c < bitmap.width; c++) {\n res += hexChars[bitmap.get(c, r)] + \" \";\n }\n }\n }\n\n res += \"\\n\";\n res += \"`\";\n return res;\n}","import { Bitmap, bitmapToImageLiteral, imageLiteralToBitmap } from \"./sprite-editor/bitmap\";\n\nexport function f4EncodeImg(w: number, h: number, bpp: number, getPix: (x: number, y: number) => number) {\n let r = hex2(0xe0 | bpp) + hex2(w) + hex2(h) + \"00\"\n let ptr = 4\n let curr = 0\n let shift = 0\n\n let pushBits = (n: number) => {\n curr |= n << shift\n if (shift == 8 - bpp) {\n r += hex2(curr)\n ptr++\n curr = 0\n shift = 0\n } else {\n shift += bpp\n }\n }\n\n for (let i = 0; i < w; ++i) {\n for (let j = 0; j < h; ++j)\n pushBits(getPix(i, j))\n while (shift != 0)\n pushBits(0)\n if (bpp > 1) {\n while (ptr & 3)\n pushBits(0)\n }\n }\n\n return r\n\n function hex2(n: number) {\n return (\"0\" + n.toString(16)).slice(-2)\n }\n}\n\nexport function f4PreProcess(s: string) {\n let matrix: number[][] = []\n let line: number[] = []\n let tbl: { [k: string]: number } = {}\n let maxLen = 0\n // attrs.groups.forEach((str, n) => {\n // for (let c of str) tbl[c] = n\n // })\n s += \"\\n\"\n for (let i = 0; i < s.length; ++i) {\n let c = s[i]\n switch (c) {\n case ' ':\n case '\\t':\n break\n case '\\n':\n if (line.length > 0) {\n matrix.push(line)\n maxLen = Math.max(line.length, maxLen)\n line = []\n }\n break\n default:\n let v = tbl[c] // U.lookup(tbl, c) //TODO(dz):\n if (v == null) {\n // if (attrs.groups.length == 2)\n // v = 1 // default anything non-zero to one\n // else\n // throw unhandled(node, lf(\"invalid character in image literal: '{0}'\", v), 9273)\n }\n line.push(v)\n break\n }\n }\n\n let bpp = 8\n // if (attrs.groups.length <= 2) {\n // bpp = 1\n // } else if (attrs.groups.length <= 16) {\n bpp = 4 // TODO:\n // }\n return f4EncodeImg(maxLen, matrix.length, bpp, (x, y) => matrix[y][x] || 0)\n}\n\nexport function toNumbers(colors: string[]): number[][] {\n const res: number[][] = [];\n for (let i = 0; i < colors.length; i++) {\n const color = parseColorString(colors[i]);\n res.push([_r(color), _g(color), _b(color)]);\n }\n return res;\n}\n\nfunction parseColorString(color: string) {\n if (color) {\n if (color.length === 6) {\n return parseInt(\"0x\" + color);\n }\n else if (color.length === 7) {\n return parseInt(\"0x\" + color.substr(1));\n }\n }\n return 0;\n}\n\nfunction _r(color: number) { return (color >> 16) & 0xff }\nfunction _g(color: number) { return (color >> 8) & 0xff }\nfunction _b(color: number) { return color & 0xff }\n\nconst defaultPalletColors = [\n \"#000000\",\n \"#ffffff\",\n \"#ff2121\",\n \"#ff93c4\",\n \"#ff8135\",\n \"#fff609\",\n \"#249ca3\",\n \"#78dc52\",\n \"#003fad\",\n \"#87f2ff\",\n \"#8e2ec4\",\n \"#a4839f\",\n \"#5c406c\",\n \"#e5cdc4\",\n \"#91463d\",\n \"#000000\"\n]\nexport const defaultColorArray = toNumbers(defaultPalletColors);\n\nfunction scale_color(v: number) {\n return v * v\n}\nexport function textToBinHex(text: string): string {\n // TODO(dz): does this behave different than a roundtrip through Bitmap?\n return f4PreProcess(text)\n}\nexport function bitmapToBinHex(bitmap: Bitmap): string {\n // return f4PreProcess(\n return f4EncodeImg(bitmap.width, bitmap.height, 4, bitmap.get.bind(bitmap))\n}\nexport function bitmapToText(bmp: Bitmap): string {\n return bitmapToImageLiteral(bmp);\n}\nexport function textToBitmap(text: string): Bitmap {\n const bmp = imageLiteralToBitmap(text);\n\n // Ignore invalid bitmaps\n if (bmp && bmp.width && bmp.height) {\n return bmp\n } else {\n return null;\n }\n}\n\nexport function bitmapToCanvas(bmp: Bitmap, scale: number = 4) {\n const colors = defaultPalletColors.slice(1)\n // const canvas = document.createElementNS(\"http://www.w3.org/2000/svg\", \"canvas\");\n const canvas = document.createElement(\"canvas\");\n let width = canvas.width = bmp.width * scale;\n let height = canvas.height = bmp.height * scale;\n\n let cellSize = scale\n\n // TODO: Center the image if it isn't square\n const xOffset = 0\n const yOffset = 0\n\n let context: CanvasRenderingContext2D;\n context = canvas.getContext(\"2d\");\n\n for (let c = 0; c < bmp.width; c++) {\n for (let r = 0; r < bmp.height; r++) {\n const color = bmp.get(c, r);\n\n if (color) {\n context.fillStyle = colors[color - 1];\n context.fillRect(xOffset + c * cellSize, yOffset + r * cellSize, cellSize, cellSize);\n }\n }\n }\n\n return canvas;\n}\nexport function bitmapToUrl(bmp: Bitmap): string {\n return bitmapToCanvas(bmp).toDataURL();\n}\n\nexport function createPngImg(x: number, y: number, w: number, h: number, bmp?: Bitmap): SVGImageElement {\n let img = document.createElementNS(\"http://www.w3.org/2000/svg\", \"image\")\n img.setAttribute(\"x\", `${x}`)\n img.setAttribute(\"y\", `${y}`)\n img.setAttribute(\"width\", `${w}px`)\n img.setAttribute(\"height\", `${h}px`)\n if (bmp) {\n updatePngImg(img, bmp)\n }\n return img\n}\n\nexport function updatePngImg(img: SVGImageElement, bmp: Bitmap) {\n let imgData = bitmapToUrl(bmp)\n img.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", `${imgData}`)\n}\n\nexport function isEmptyBitmap(bmp: Bitmap) {\n for (let x = 0; x < bmp.width; x++) {\n for (let y = 0; y < bmp.height; y++) {\n if (bmp.get(x, y)) return false;\n }\n }\n return true;\n}","import React from 'react';\n\nimport { Bitmap } from '../sprite-editor/bitmap';\n\nimport '../css/TabBar.css';\nimport { bitmapToUrl } from '../bitmap_helpers';\n\ninterface TabBarProps {\n tabImages: Bitmap[],\n tabChange: (idx: number) => void,\n startTab: number\n}\ninterface TabBarState {\n currentTab: number\n}\n\nconst R = 10\nconst ICON_H = 64\nconst ICON_W = 64\nconst TAB_MARGIN_T = 10\nconst TAB_MARGIN_B = 2\nconst SVG_W = 541\nconst TAB_SVG_H = R * 2 + ICON_H + TAB_MARGIN_T + TAB_MARGIN_B\nconst IMG_SPACE = R * 2 + ICON_W\nconst OUT = TAB_MARGIN_T + TAB_MARGIN_B + 5\nconst TOTAL_TAB_W = R * 4 + ICON_W\n\nexport class TabBar extends React.Component\n{\n public TabBarSvg: SVGSVGElement | undefined;\n\n private TOTAL_IMG_SPACE: number;\n private LEFT_SPACE: number;\n private TABS_START: number;\n\n constructor(props: TabBarProps) {\n super(props);\n\n this.state = {\n currentTab: props.startTab\n }\n\n this.TOTAL_IMG_SPACE = IMG_SPACE * this.props.tabImages.length\n this.LEFT_SPACE = (SVG_W - this.TOTAL_IMG_SPACE) / 2\n this.TABS_START = this.LEFT_SPACE - R\n }\n\n componentDidMount() {\n this.TabBarSvg = this.refs[\"tab-bar-svg\"] as SVGSVGElement\n }\n componentWillUnmount() {\n this.TabBarSvg = undefined\n }\n\n getTabPath(idx: number): string {\n let tabW = ICON_W + R * 2\n let tabStart = this.TABS_START + tabW * idx\n let tabFinish = SVG_W - (tabStart + tabW)\n let tabPath = `M -${OUT},${(TAB_SVG_H - TAB_MARGIN_B) + OUT} l 0,-${OUT} l ${OUT},0 h ${tabStart} q ${R},0 ${R},-${R} v -${ICON_H} q 0,-${R} ${R},-${R} h ${ICON_W} q ${R},0 ${R},${R} v ${ICON_H} q 0,${R} ${R},${R} h ${tabFinish} l ${OUT},0 l 0,${OUT} z`\n return tabPath\n }\n\n render() {\n const viewBox = `0 0 ${SVG_W} ${TAB_SVG_H}`\n const tabPath = this.getTabPath(this.state.currentTab)\n const tabImgs = this.props.tabImages\n .map((img, i) => {\n return {\n x: this.TABS_START + R + R + i * IMG_SPACE,\n y: TAB_MARGIN_T + R,\n w: ICON_W,\n h: ICON_H,\n idx: i,\n data: bitmapToUrl(img)\n }\n })\n function clickHandler(this: TabBar, idx: number) {\n this.setState({ currentTab: idx })\n this.props.tabChange(idx)\n }\n return (\n \n
\n \n \n {tabImgs.map(i =>\n )}\n \n
\n );\n }\n}\n\nexport default TabBar;\n","import * as events from './svgEvents'\n\nexport type Map = {\n [index: string]: T;\n};\n\nexport type PointerHandler = () => void;\n\nexport enum PatternUnits {\n userSpaceOnUse = 0,\n objectBoundingBox = 1,\n}\n\nexport enum LengthUnit {\n em,\n ex,\n px,\n in,\n cm,\n mm,\n pt,\n pc,\n percent\n}\n\nconst XLINK_NAMESPACE = \"http://www.w3.org/1999/xlink\";\n\nexport class BaseElement {\n el: T;\n protected titleElement: SVGTitleElement;\n constructor(type: string) {\n this.el = elt(type) as T;\n }\n attr(attributes: Map): this {\n Object.keys(attributes).forEach(at => {\n this.setAttribute(at, attributes[at]);\n });\n return this;\n }\n\n setAttribute(name: string, value: string | number | boolean): this {\n this.el.setAttribute(name, value.toString());\n return this;\n }\n\n setAttributeNS(ns: string, name: string, value: string | number | boolean): this {\n this.el.setAttributeNS(ns, name, value.toString());\n return this;\n }\n\n id(id: string): this {\n return this.setAttribute(\"id\", id);\n }\n\n setClass(...classes: string[]): this {\n return this.setAttribute(\"class\", classes.join(\" \"));\n }\n\n\n\n addClassInternal(el: SVGElement | HTMLElement, classes: string) {\n classes\n .split(/\\s+/)\n .forEach(cls => addSingleClass(el, cls));\n\n function addSingleClass(el: SVGElement | HTMLElement, cls: string) {\n if (el.classList) {\n el.classList.add(cls);\n } else {\n const classes = (el.className + \"\").split(/\\s+/);\n if (classes.indexOf(cls) < 0) {\n el.className.baseVal += \" \" + cls;\n }\n }\n }\n }\n\n removeClassInternal(el: SVGElement | HTMLElement, classes: string) {\n classes\n .split(/\\s+/)\n .forEach(cls => removeSingleClass(el, cls));\n\n function removeSingleClass(el: SVGElement | HTMLElement, cls: string) {\n if (el.classList) {\n el.classList.remove(cls);\n } else {\n el.className.baseVal = (el.className + \"\")\n .split(/\\s+/)\n .filter(c => c != cls)\n .join(\" \");\n }\n }\n }\n\n\n appendClass(className: string): this {\n this.addClassInternal(this.el, className);\n return this;\n }\n\n removeClass(className: string): void {\n this.removeClassInternal(this.el, className);\n }\n\n title(text: string) {\n if (!this.titleElement) {\n this.titleElement = elt(\"title\");\n\n // Title has to be the first child in the DOM\n if (this.el.firstChild) {\n this.el.insertBefore(this.titleElement, this.el.firstChild)\n }\n else {\n this.el.appendChild(this.titleElement);\n }\n }\n this.titleElement.textContent = text;\n }\n\n setVisible(visible: boolean): this {\n return this.setAttribute(\"visibility\", visible ? \"visible\" : \"hidden\");\n }\n}\n\nexport class DrawContext extends BaseElement {\n draw(type: \"text\"): Text;\n draw(type: \"circle\"): Circle;\n draw(type: \"rect\"): Rect;\n draw(type: \"line\"): Line;\n draw(type: \"polygon\"): Polygon;\n draw(type: \"polyline\"): Polyline;\n draw(type: \"path\"): Path;\n draw(type: string): Drawable {\n const el = drawable(type as any /*FIXME?*/);\n this.el.appendChild(el.el);\n return el;\n }\n\n element(type: \"text\", cb: (newElement: Text) => void): this;\n element(type: \"circle\", cb: (newElement: Circle) => void): this;\n element(type: \"rect\", cb: (newElement: Rect) => void): this;\n element(type: \"line\", cb: (newElement: Line) => void): this;\n element(type: \"polygon\", cb: (newElement: Polygon) => void): this;\n element(type: \"polyline\", cb: (newElement: Polyline) => void): this;\n element(type: \"path\", cb: (newElement: Path) => void): this;\n element(type: string, cb: (newElement: any) => void): this {\n cb(this.draw(type as any /*FIXME?*/));\n return this;\n }\n\n group(): Group {\n const g = new Group();\n this.el.appendChild(g.el);\n return g;\n }\n\n appendChild(child: BaseElement): void {\n this.el.appendChild(child.el);\n }\n\n onDown(handler: PointerHandler): this {\n events.down(this.el, handler);\n return this;\n }\n\n onUp(handler: PointerHandler): this {\n events.up(this.el, handler);\n return this;\n }\n\n onMove(handler: PointerHandler): this {\n events.move(this.el, handler);\n return this;\n }\n\n onEnter(handler: (isDown: boolean) => void): this {\n events.enter(this.el, handler);\n return this;\n }\n\n onLeave(handler: PointerHandler): this {\n events.leave(this.el, handler);\n return this;\n }\n\n onClick(handler: PointerHandler): this {\n events.click(this.el, handler);\n return this;\n }\n}\n\nexport class SVG extends DrawContext {\n defs: DefsElement;\n constructor(parent?: Element) {\n super(\"svg\");\n if (parent) {\n parent.appendChild(this.el);\n }\n }\n\n define(cb: (defs: DefsElement) => void): this {\n if (!this.defs) {\n this.defs = new DefsElement(this.el);\n }\n cb(this.defs);\n return this;\n }\n}\n\nexport class Group extends DrawContext {\n top: number;\n left: number;\n scaleFactor: number;\n\n constructor(parent?: SVGElement) {\n super(\"g\");\n if (parent) {\n parent.appendChild(this.el);\n }\n }\n\n translate(x: number, y: number): this {\n this.left = x;\n this.top = y;\n return this.updateTransform();\n }\n\n scale(factor: number): this {\n this.scaleFactor = factor;\n return this.updateTransform();\n }\n\n def() {\n return new DefsElement(this.el);\n }\n\n style() {\n return new StyleElement(this.el);\n }\n\n private updateTransform(): this {\n let transform = \"\";\n if (this.left != undefined) {\n transform += `translate(${this.left} ${this.top})`\n }\n if (this.scaleFactor != undefined) {\n transform += ` scale(${this.scaleFactor})`\n }\n this.setAttribute(\"transform\", transform);\n return this;\n }\n}\n\nexport class Pattern extends DrawContext {\n constructor() {\n super(\"pattern\");\n }\n\n units(kind: PatternUnits): this {\n return this.setAttribute(\"patternUnits\", kind === PatternUnits.objectBoundingBox ? \"objectBoundingBox\" : \"userSpaceOnUse\")\n }\n\n contentUnits(kind: PatternUnits): this {\n return this.setAttribute(\"patternContentUnits\", kind === PatternUnits.objectBoundingBox ? \"objectBoundingBox\" : \"userSpaceOnUse\")\n }\n\n size(width: number, height: number): this {\n this.setAttribute(\"width\", width);\n this.setAttribute(\"height\", height);\n return this;\n }\n}\n\nexport class DefsElement extends BaseElement {\n constructor(parent: SVGElement) {\n super(\"defs\");\n parent.appendChild(this.el);\n }\n\n create(type: \"path\", id: string): Path;\n create(type: \"pattern\", id: string): Pattern;\n create(type: \"radialGradient\", id: string): RadialGradient;\n create(type: \"linearGradient\", id: string): LinearGradient;\n create(type: \"clipPath\", id: string): ClipPath;\n create(type: string, id: string): BaseElement {\n let el: BaseElement;\n switch (type) {\n case \"path\": el = new Path(); break;\n case \"pattern\": el = new Pattern(); break;\n case \"radialGradient\": el = new RadialGradient(); break;\n case \"linearGradient\": el = new LinearGradient(); break;\n case \"clipPath\": el = new ClipPath(); break;\n default: el = new BaseElement(type);\n }\n el.id(id);\n this.el.appendChild(el.el);\n return el;\n }\n}\n\nexport class StyleElement extends BaseElement {\n constructor(parent: SVGElement) {\n super(\"style\");\n parent.appendChild(this.el);\n }\n\n content(css: string) {\n this.el.textContent = css;\n }\n}\n\nexport class Drawable extends DrawContext {\n at(x: number, y: number): this {\n this.setAttribute(\"x\", x);\n this.setAttribute(\"y\", y);\n return this;\n }\n\n moveTo(x: number, y: number): this {\n return this.at(x, y);\n }\n\n fill(color: string, opacity?: number): this {\n this.setAttribute(\"fill\", color);\n if (opacity != undefined) {\n this.opacity(opacity);\n }\n return this;\n }\n\n opacity(opacity: number): this {\n return this.setAttribute(\"fill-opacity\", opacity);\n }\n\n stroke(color: string, width?: number): this {\n this.setAttribute(\"stroke\", color);\n if (width != undefined) {\n this.strokeWidth(width);\n }\n return this;\n }\n\n strokeWidth(width: number): this {\n return this.setAttribute(\"stroke-width\", width);\n }\n\n strokeOpacity(opacity: number): this {\n return this.setAttribute(\"stroke-opacity\", opacity);\n }\n\n clipPath(url: string): this {\n return this.setAttribute(\"clip-path\", url);\n }\n}\n\nexport class Text extends Drawable {\n constructor(text?: string) {\n super(\"text\");\n\n if (text != undefined) {\n this.text(text);\n }\n }\n\n text(text: string): this {\n this.el.textContent = text;\n return this;\n }\n\n fontFamily(family: string) {\n return this.setAttribute(\"font-family\", family);\n }\n\n fontSize(size: number, units: LengthUnit) {\n return this.setAttribute(\"font-size\", lengthWithUnits(size, units));\n }\n\n offset(dx: number, dy: number, units: LengthUnit) {\n if (dx !== 0) {\n this.setAttribute(\"dx\", lengthWithUnits(dx, units));\n }\n if (dy !== 0) {\n this.setAttribute(\"dy\", lengthWithUnits(dy, units));\n }\n return this;\n }\n\n anchor(type: \"start\" | \"middle\" | \"end\" | \"inherit\") {\n return this.setAttribute(\"text-anchor\", type);\n }\n}\n\nexport class Rect extends Drawable {\n constructor() { super(\"rect\") };\n\n width(width: number, unit = LengthUnit.px): this {\n return this.setAttribute(\"width\", lengthWithUnits(width, unit));\n }\n\n height(height: number, unit = LengthUnit.px): this {\n return this.setAttribute(\"height\", lengthWithUnits(height, unit));\n }\n\n corner(radius: number): this {\n return this.corners(radius, radius);\n }\n\n corners(rx: number, ry: number): this {\n this.setAttribute(\"rx\", rx);\n this.setAttribute(\"ry\", ry);\n return this;\n }\n\n size(width: number, height: number, unit = LengthUnit.px): this {\n this.width(width, unit);\n this.height(height, unit);\n return this;\n }\n}\n\nexport class Circle extends Drawable {\n constructor() { super(\"circle\"); }\n\n at(cx: number, cy: number): this {\n this.setAttribute(\"cx\", cx);\n this.setAttribute(\"cy\", cy);\n return this;\n }\n\n radius(r: number): this {\n return this.setAttribute(\"r\", r);\n }\n}\n\nclass Ellipse extends Drawable {\n constructor() { super(\"ellipse\"); }\n\n at(cx: number, cy: number): this {\n this.setAttribute(\"cx\", cx);\n this.setAttribute(\"cy\", cy);\n return this;\n }\n\n radius(rx: number, ry: number): this {\n this.setAttribute(\"rx\", rx);\n this.setAttribute(\"ry\", ry);\n return this;\n }\n}\n\nexport class Line extends Drawable {\n constructor() { super(\"line\"); }\n\n at(x1: number, y1: number, x2?: number, y2?: number): this {\n this.from(x1, y1);\n if (x2 != undefined && y2 != undefined) {\n this.to(x2, y2);\n }\n return this;\n }\n\n from(x1: number, y1: number): this {\n this.setAttribute(\"x1\", x1);\n this.setAttribute(\"y1\", y1);\n return this;\n }\n\n to(x2: number, y2: number): this {\n this.setAttribute(\"x2\", x2);\n this.setAttribute(\"y2\", y2);\n return this;\n }\n}\n\nexport class PolyElement extends Drawable {\n points(points: string): this {\n return this.setAttribute(\"points\", points);\n }\n\n with(points: {\n x: number;\n y: number;\n }[]): this {\n return this.points(points.map(({ x, y }) => x + \" \" + y).join(\",\"))\n }\n}\n\nexport class Polyline extends PolyElement {\n constructor() { super(\"polyline\") }\n}\n\nexport class Polygon extends PolyElement {\n constructor() { super(\"polygon\") }\n}\n\nexport class Path extends Drawable {\n d: PathContext;\n\n constructor() {\n super(\"path\");\n this.d = new PathContext();\n }\n\n update(): this {\n return this.setAttribute(\"d\", this.d.toAttribute());\n }\n\n path(cb: (d: PathContext) => void): this {\n cb(this.d);\n return this.update();\n }\n}\n\nexport class Image extends Drawable {\n constructor() { super(\"image\") }\n\n src(url: string) {\n return this.setAttributeNS(XLINK_NAMESPACE, \"href\", url);\n }\n\n width(width: number, unit = LengthUnit.px): this {\n return this.setAttribute(\"width\", lengthWithUnits(width, unit));\n }\n\n height(height: number, unit = LengthUnit.px): this {\n return this.setAttribute(\"height\", lengthWithUnits(height, unit));\n }\n\n size(width: number, height: number, unit = LengthUnit.px): this {\n this.width(width, unit);\n this.height(height, unit);\n return this;\n }\n}\n\nexport class Gradient extends BaseElement {\n units(kind: PatternUnits): this {\n return this.setAttribute(\"gradientUnits\", kind === PatternUnits.objectBoundingBox ? \"objectBoundingBox\" : \"userSpaceOnUse\")\n }\n\n stop(offset: number, color?: string, opacity?: string): this {\n const s = elt(\"stop\");\n s.setAttribute(\"offset\", offset + \"%\");\n if (color != undefined) {\n s.setAttribute(\"stop-color\", color);\n }\n\n if (opacity != undefined) {\n s.setAttribute(\"stop-opacity\", opacity);\n }\n\n this.el.appendChild(s);\n return this;\n }\n}\n\nexport class LinearGradient extends Gradient {\n constructor() { super(\"linearGradient\"); }\n\n start(x1: number, y1: number): this {\n this.setAttribute(\"x1\", x1);\n this.setAttribute(\"y1\", y1);\n return this;\n }\n\n end(x2: number, y2: number): this {\n this.setAttribute(\"x2\", x2);\n this.setAttribute(\"y2\", y2);\n return this;\n }\n}\n\nexport class RadialGradient extends Gradient {\n constructor() { super(\"radialGradient\"); }\n\n center(cx: number, cy: number): this {\n this.setAttribute(\"cx\", cx);\n this.setAttribute(\"cy\", cy);\n return this;\n }\n\n focus(fx: number, fy: number, fr: number): this {\n this.setAttribute(\"fx\", fx);\n this.setAttribute(\"fy\", fy);\n this.setAttribute(\"fr\", fr);\n return this;\n }\n\n radius(r: number): this {\n return this.setAttribute(\"r\", r);\n }\n}\n\nexport class ClipPath extends DrawContext {\n constructor() { super(\"clipPath\") }\n\n clipPathUnits(objectBoundingBox: boolean) {\n if (objectBoundingBox) {\n return this.setAttribute(\"clipPathUnits\", \"objectBoundingBox\");\n }\n else {\n return this.setAttribute(\"clipPathUnits\", \"userSpaceOnUse\");\n }\n }\n}\n\nfunction elt(type: string): SVGElement {\n let el = document.createElementNS(\"http://www.w3.org/2000/svg\", type);\n return el;\n}\n\nfunction drawable(type: \"text\"): Text;\nfunction drawable(type: \"circle\"): Circle;\nfunction drawable(type: \"rect\"): Rect;\nfunction drawable(type: \"line\"): Line;\nfunction drawable(type: \"polygon\"): Polygon;\nfunction drawable(type: \"polyline\"): Polyline;\nfunction drawable(type: \"path\"): Path;\nfunction drawable(type: string): Drawable {\n switch (type) {\n case \"text\": return new Text();\n case \"circle\": return new Circle();\n case \"rect\": return new Rect();\n case \"line\": return new Line();\n case \"polygon\": return new Polygon();\n case \"polyline\": return new Polyline();\n case \"path\": return new Path();\n default: return new Drawable(type);\n }\n}\n\nexport type OperatorSymbol = \"m\" | \"M\" | \"l\" | \"L\" | \"c\" | \"C\" | \"q\" | \"Q\" | \"T\" | \"t\" | \"S\" | \"s\" | \"z\" | \"Z\" | \"A\" | \"a\";\nexport interface PathOp {\n op: OperatorSymbol;\n args: number[];\n}\nexport class PathContext {\n private ops: PathOp[] = [];\n\n clear(): void {\n this.ops = [];\n }\n\n moveTo(x: number, y: number): this {\n return this.op(\"M\", x, y);\n }\n\n moveBy(dx: number, dy: number): this {\n return this.op(\"m\", dx, dy);\n }\n\n lineTo(x: number, y: number): this {\n return this.op(\"L\", x, y);\n }\n\n lineBy(dx: number, dy: number): this {\n return this.op(\"l\", dx, dy);\n }\n\n cCurveTo(c1x: number, c1y: number, c2x: number, c2y: number, x: number, y: number): this {\n return this.op(\"C\", c1x, c1y, c2x, c2y, x, y);\n }\n\n cCurveBy(dc1x: number, dc1y: number, dc2x: number, dc2y: number, dx: number, dy: number): this {\n return this.op(\"c\", dc1x, dc1y, dc2x, dc2y, dx, dy);\n }\n\n qCurveTo(cx: number, cy: number, x: number, y: number): this {\n return this.op(\"Q\", cx, cy, x, y);\n }\n\n qCurveBy(dcx: number, dcy: number, dx: number, dy: number): this {\n return this.op(\"q\", dcx, dcy, dx, dy);\n }\n\n sCurveTo(cx: number, cy: number, x: number, y: number): this {\n return this.op(\"S\", cx, cy, x, y);\n }\n\n sCurveBy(dcx: number, dcy: number, dx: number, dy: number): this {\n return this.op(\"s\", dcx, dcy, dx, dy);\n }\n\n tCurveTo(x: number, y: number): this {\n return this.op(\"T\", x, y);\n }\n\n tCurveBy(dx: number, dy: number): this {\n return this.op(\"t\", dx, dy);\n }\n\n arcTo(rx: number, ry: number, xRotate: number, large: boolean, sweepClockwise: boolean, x: number, y: number): this {\n return this.op(\"A\", rx, ry, xRotate, large ? 1 : 0, sweepClockwise ? 1 : 0, x, y);\n }\n\n arcBy(rx: number, ry: number, xRotate: number, large: boolean, sweepClockwise: boolean, x: number, y: number): this {\n return this.op(\"a\", rx, ry, xRotate, large ? 1 : 0, sweepClockwise ? 1 : 0, x, y);\n }\n\n close(): this {\n return this.op(\"z\");\n }\n\n toAttribute(): string {\n return this.ops.map(op => op.op + \" \" + op.args.join(\" \")).join(\" \");\n }\n\n private op(op: OperatorSymbol, ...args: number[]) {\n this.ops.push({\n op,\n args\n });\n return this;\n }\n}\n\nfunction lengthWithUnits(value: number, unit: LengthUnit) {\n switch (unit) {\n case LengthUnit.em: return value + \"em\";\n case LengthUnit.ex: return value + \"ex\";\n case LengthUnit.px: return value + \"px\";\n case LengthUnit.in: return value + \"in\";\n case LengthUnit.cm: return value + \"cm\";\n case LengthUnit.mm: return value + \"mm\";\n case LengthUnit.pt: return value + \"pt\";\n case LengthUnit.pc: return value + \"pc\";\n case LengthUnit.percent: return value + \"%\";\n default: return value.toString();\n }\n}","import React, { CSSProperties } from 'react';\n\nimport '../css/ColorPicker.css';\nimport { textToBitmap, bitmapToUrl } from '../bitmap_helpers';\n\ninterface ColorPickerProps {\n height: number,\n colors: string[],\n selected: number,\n selectionChanged: (idx: number) => void,\n}\ninterface ColorPickerState {\n selection: number\n}\n\ninterface SwatchProps {\n color: string,\n selected: boolean,\n onClick: () => void\n}\nconst Swatch: React.FC = (props: SwatchProps) => {\n let style: CSSProperties = {\n backgroundColor: props.color\n }\n let classes = `swatch ${props.selected ? \"selected\" : \"\"}`\n let backgroundImg = bitmapToUrl(SAMPLE_TREE)\n return (\n \n
\n \n
\n );\n}\nexport class ColorPicker extends React.Component\n{\n private colorPicker: HTMLDivElement | undefined;\n\n constructor(props: ColorPickerProps) {\n super(props);\n\n this.state = {\n selection: this.props.selected\n }\n\n }\n\n componentDidMount() {\n this.colorPicker = this.refs[\"color-picker\"] as HTMLDivElement\n\n // this.colorPicker.setAttribute(\"style\", `height:${this.props.height}px`)\n }\n componentWillUnmount() {\n this.colorPicker = undefined\n }\n\n clickHandler(idx: number) {\n this.props.selectionChanged(idx)\n this.setState({ selection: idx })\n }\n\n render() {\n let swatchs = this.props.colors\n .map((c, i) =>\n \n )\n\n return (\n \n {swatchs}\n
\n );\n }\n}\n\nexport default ColorPicker;\n\nconst TREES = [`\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . b b b b b b b b . . . . . . . . . . . . .\n . . . . . . . . . . . . . . b b . . b b b b b b . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b . . b b b . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . b b b b b . b b . . . . . . . . . . . . .\n . . . . . . . . . . . . . . b b b b b b b b b b . . . . . . . . . . . .\n . . . . . . . . . . . . b b b b . b b b b b b b . . . . . . . . . . . .\n . . . . . . . . . . b b b b b . . b b b b b . b b b b . . . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b b . . . b b b . . . . . . . .\n . . . . . . . . . . . . . . . b b b b b b b b . . . . . . . . . . . . .\n . . . . . . . . . . . . . . b b b b b b . b b . . . . . . . . . . . . .\n . . . . . . . . . . . b b b b b b b b b b b b b . . . . . . . . . . . .\n . . . . . . . . . b b b b b b . . b b b b . b b b . . . . . . . . . . .\n . . . . . . . . . . b b b b b . . b b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b b b . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . b b b b b b b b b . . . . . . . . . . . .\n . . . . . . . . . . . . . b b b b b b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . b b b b b b b b b b b b b b b b b . . . . . . . .\n . . . . . . . . . . b b b b b b b b b b b b b b b b b . . . . . . . . .\n . . . . . . . . . b b b b . b b b b b b b b . . . . . . . . . . . . . .\n . . . . . . . . b b . . . . b b b b b b b b b . . . . . . . . . . . . .\n . . . . . . . . . . . . b b b b b b b b b b b b b . . . . . . . . . . .\n . . . . . . . . b b b b b b b b b b b b b b b b b b b b . . . . . . . .\n . . . . . . . b b b b b b b b b b b b b b b b b b b b b b b . . . . . .\n . . . . . . b b b b b b b b . . . b b b b b b b b b . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n `, `\n . . . . . . . . . . . . . . . . . . . b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b b b . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . b b b b . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b b b b . . . . . . . . . . . .\n . . . . . . . . . . . . . . . b b b . b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . b b b b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b b b b . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b . b b b b . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b b b . . . . . . . . . . . . .\n . . . . . . . . . . . . . b b b b b b b . b b b b . . . . . . . . . . .\n . . . . . . . . . . . . b b b b b . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . b b b b b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . . . b b b b b b b b b b . . . . . . . . . . . . .\n . . . . . . . . . . . . b b b . . b b b b b b b b . . . . . . . . . . .\n . . . . . . . . . . . b b b b . b b b b b b b b . b . . . . . . . . . .\n . . . . . . . . . . . . b . . . b b b b b b b b b . . . . . . . . . . .\n . . . . . . . . . . . . . . . b b b b b b b b b b b . . . . . . . . . .\n . . . . . . . . . . . . . . b b b b b b b . b b b b . . . . . . . . . .\n . . . . . . . . . . . . . b b b b b b b b b b b b b b b . . . . . . . .\n . . . . . . . . . . . b b b b . b b b b b b b . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . b b b b b b . b b . . . . . . . . . . . .\n . . . . . . . . . . . . . b b b b b b b b b b b b . . . . . . . . . . .\n . . . . . . . . . . . . b b b b b b b b b b b b b b . . . . . . . . . .\n . . . . . . . . . . . . b b b b b b b b b b . . b b b . . . . . . . . .\n . . . . . . . . . b b b b b b b b b b b b b b . . b b b b . . . . . . .\n . . . . . . . . b b . . . b b b b b b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . b b b b b b b b b b b . . . . . . . . . . .\n . . . . . . . . . . . . b b b b . b b b b b b b b . . . . . . . . . . .\n . . . . . . . . b b b b . b . . . b b b b b b b . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b . . b b b b . . . . . . . . .\n . . . . . . . . . . . . . b b b b b . b b b b b b b b . . . . . . . . .\n . . . . . . . . . b b b b b b . . b b b b . . b b b b b . . . . . . . .\n . . . . . . . . b b . b . . . . b b b b b . . . . . b b b . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n `, `\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . b b b b b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b b b . . . . . . . . . . . . .\n . . . . . . . . . . . . . . b b b b b b b b b b . . . . . . . . . . . .\n . . . . . . . . . . . . b b b b . . b b b b b b b . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . b b b b b b b b . . . . . . . . . . . . .\n . . . . . . . . . . . . b b b b b b b b b b b b b . . . . . . . . . . .\n . . . . . . . . b b b b b b b b b b b b b b b b b b b b . . . . . . . .\n . . . . . . . . . . . b b b b b b b b b b b b b b b b . . . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b b b . b . . . . . . . . . . .\n . . . . . . . . . . . . . . b b b b b b b b b b b b b b b b . . . . . .\n . . . . . . . . . . . b b b b b b b b b b b b b b b b b b . . . . . . .\n . . . . . . . . b b b b b b b b b b b b b b b b b b b . . . . . . . . .\n . . . . . . . . . . b b b b b . . . b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b . b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b . b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n `]\nconst CLOUDS = [\n]\nconst SAMPLE_TREE = textToBitmap(TREES[0])","\n\nexport function isTouchEnabled(): boolean {\n return typeof window !== \"undefined\" &&\n ('ontouchstart' in window // works on most browsers\n || (navigator && navigator.maxTouchPoints > 0)); // works on IE10/11 and Surface);\n}\n\nexport function hasPointerEvents(): boolean {\n return typeof window != \"undefined\" && !!(window as any).PointerEvent;\n}\n\nexport function down(el: SVGElement, handler: () => void) {\n if (hasPointerEvents()) {\n el.addEventListener(\"pointerdown\", handler);\n }\n else if (isTouchEnabled()) {\n el.addEventListener(\"mousedown\", handler);\n el.addEventListener(\"touchstart\", handler);\n }\n else {\n el.addEventListener(\"mousedown\", handler);\n }\n}\n\nexport function up(el: SVGElement, handler: () => void) {\n if (hasPointerEvents()) {\n el.addEventListener(\"pointerup\", handler);\n }\n else if (isTouchEnabled()) {\n el.addEventListener(\"mouseup\", handler);\n }\n else {\n el.addEventListener(\"mouseup\", handler);\n }\n}\n\nexport function enter(el: SVGElement, handler: (isDown: boolean) => void) {\n if (hasPointerEvents()) {\n el.addEventListener(\"pointerover\", e => {\n handler(!!(e.buttons & 1))\n });\n }\n else if (isTouchEnabled()) {\n el.addEventListener(\"touchstart\", e => {\n handler(true);\n });\n }\n else {\n el.addEventListener(\"mouseover\", e => {\n handler(!!(e.buttons & 1))\n });\n }\n}\n\nexport function leave(el: SVGElement, handler: () => void) {\n if (hasPointerEvents()) {\n el.addEventListener(\"pointerleave\", handler);\n }\n else if (isTouchEnabled()) {\n el.addEventListener(\"touchend\", handler);\n }\n else {\n el.addEventListener(\"mouseleave\", handler);\n }\n}\n\nexport function move(el: SVGElement, handler: () => void) {\n if (hasPointerEvents()) {\n el.addEventListener(\"pointermove\", handler);\n }\n else if (isTouchEnabled()) {\n el.addEventListener(\"touchmove\", handler);\n }\n else {\n el.addEventListener(\"mousemove\", handler);\n }\n}\n\nexport function click(el: SVGElement, handler: () => void) {\n el.addEventListener(\"click\", handler);\n}","export const DRAG_RADIUS = 3;\n\nexport function hasPointerEvents(): boolean {\n return typeof window != \"undefined\" && !!(window as any).PointerEvent;\n}\n\nexport function isTouchEnabled(): boolean {\n return typeof window !== \"undefined\" &&\n ('ontouchstart' in window // works on most browsers\n || (navigator && navigator.maxTouchPoints > 0)); // works on IE10/11 and Surface);\n}\n\nexport enum MapTools {\n Pan,\n Stamp,\n Erase\n}\n\nexport class Bitmask {\n protected mask: Uint8Array;\n\n constructor(public width: number, public height: number) {\n this.mask = new Uint8Array(Math.ceil(width * height / 8));\n }\n\n set(col: number, row: number) {\n const cellIndex = col + this.width * row;\n const index = cellIndex >> 3;\n const offset = cellIndex & 7;\n this.mask[index] |= (1 << offset);\n }\n\n get(col: number, row: number) {\n const cellIndex = col + this.width * row;\n const index = cellIndex >> 3;\n const offset = cellIndex & 7;\n return (this.mask[index] >> offset) & 1;\n }\n}\n\nexport interface IPointerEvents {\n up: string,\n down: string[],\n move: string,\n enter: string,\n leave: string\n}\n\nexport const pointerEvents: IPointerEvents = (() => {\n if (hasPointerEvents()) {\n return {\n up: \"pointerup\",\n down: [\"pointerdown\"],\n move: \"pointermove\",\n enter: \"pointerenter\",\n leave: \"pointerleave\"\n }\n } else if (isTouchEnabled()) {\n return {\n up: \"mouseup\",\n down: [\"mousedown\", \"touchstart\"],\n move: \"touchmove\",\n enter: \"touchenter\",\n leave: \"touchend\"\n }\n } else {\n return {\n up: \"mouseup\",\n down: [\"mousedown\"],\n move: \"mousemove\",\n enter: \"mouseenter\",\n leave: \"mouseleave\"\n }\n }\n})();\n\nexport interface ClientCoordinates {\n clientX: number;\n clientY: number;\n}\n\nexport function clientCoord(ev: PointerEvent | MouseEvent | TouchEvent): ClientCoordinates {\n if ((ev as TouchEvent).touches) {\n const te = ev as TouchEvent;\n if (te.touches.length) {\n return te.touches[0];\n }\n return te.changedTouches[0];\n }\n return (ev as PointerEvent | MouseEvent);\n}\n\nexport async function loadImageAsync(src: string) {\n return new Promise((resolve, reject) => {\n const el = document.createElement(\"img\");\n\n el.onload = () => resolve(el);\n el.onerror = () => reject('');\n\n el.src = src;\n })\n}\n\nexport interface GestureTarget {\n onClick(coord: ClientCoordinates): void;\n onDragStart(coord: ClientCoordinates): void;\n onDragMove(coord: ClientCoordinates): void;\n onDragEnd(coord: ClientCoordinates): void;\n}\n\nexport class GestureState {\n startX: number;\n startY: number;\n\n currentX: number;\n currentY: number;\n\n isDrag: boolean;\n\n constructor(protected target: GestureTarget, coord: ClientCoordinates) {\n this.startX = coord.clientX;\n this.startY = coord.clientY;\n\n this.currentX = coord.clientX;\n this.currentY = coord.clientY;\n }\n\n update(coord: ClientCoordinates) {\n this.currentX = coord.clientX;\n this.currentY = coord.clientY;\n\n if (!this.isDrag && this.distance() > DRAG_RADIUS) {\n this.isDrag = true;\n this.target.onDragStart(coord);\n }\n else if (this.isDrag) {\n this.target.onDragMove(coord);\n }\n }\n\n end(coord?: ClientCoordinates) {\n if (coord) {\n this.update(coord);\n }\n\n coord = coord || { clientX: this.currentX, clientY: this.currentY };\n\n if (this.isDrag) {\n this.target.onDragEnd(coord);\n }\n else {\n this.target.onClick(coord);\n }\n }\n\n distance() {\n return Math.sqrt(Math.pow(this.currentX - this.startX, 2) + Math.pow(this.currentY - this.startY, 2));\n }\n}\n\nexport function bindGestureEvents(el: HTMLElement, target: GestureTarget) {\n let state: GestureState;\n\n let upHandler = (ev: MouseEvent) => {\n endGesture(ev);\n\n ev.stopPropagation();\n ev.preventDefault();\n };\n\n let leaveHandler = (ev: MouseEvent) => {\n endGesture(ev);\n\n ev.stopPropagation();\n ev.preventDefault();\n };\n\n let moveHandler = (ev: MouseEvent) => {\n if (state) state.update(clientCoord(ev));\n\n ev.stopPropagation();\n ev.preventDefault();\n };\n\n let startGesture = (ev: MouseEvent | PointerEvent | TouchEvent) => {\n if (state) state.end();\n\n state = new GestureState(target, clientCoord(ev));\n\n document.addEventListener(pointerEvents.move, moveHandler);\n document.addEventListener(pointerEvents.up, upHandler);\n\n if (isTouchEnabled() && !hasPointerEvents()) {\n document.addEventListener(\"touchend\", upHandler);\n document.addEventListener(\"touchcancel\", leaveHandler);\n }\n else {\n document.addEventListener(pointerEvents.leave, leaveHandler);\n }\n }\n\n let endGesture = (ev: MouseEvent | PointerEvent | TouchEvent) => {\n if (state) state.end(clientCoord(ev));\n\n state = undefined;\n\n document.removeEventListener(pointerEvents.move, moveHandler);\n document.removeEventListener(pointerEvents.up, upHandler);\n document.removeEventListener(pointerEvents.leave, leaveHandler);\n\n if (isTouchEnabled() && !hasPointerEvents()) {\n document.removeEventListener(\"touchend\", upHandler);\n document.removeEventListener(\"touchcancel\", leaveHandler);\n }\n else {\n document.removeEventListener(pointerEvents.leave, leaveHandler);\n }\n }\n\n pointerEvents.down.forEach(evId => {\n el.addEventListener(evId, startGesture);\n });\n}","import { CanvasState } from './canvasState'\nimport { Coord } from './bitmap';\nimport { Bitmask } from './util';\n\nexport enum PaintTool {\n Normal = 0,\n Rectangle = 1,\n Outline = 2,\n Circle = 3,\n Fill = 4,\n Line = 5,\n Erase = 6,\n Marquee = 7,\n}\n\nexport function getPaintToolShortcut(tool: PaintTool) {\n switch (tool) {\n case PaintTool.Normal:\n return \"p\";\n case PaintTool.Rectangle:\n return \"r\";\n case PaintTool.Circle:\n return \"c\";\n case PaintTool.Fill:\n return \"b\";\n case PaintTool.Line:\n return \"l\";\n case PaintTool.Erase:\n return \"e\";\n case PaintTool.Marquee:\n return \"s\";\n default:\n return undefined;\n }\n}\n\nexport class Cursor {\n offsetX: number;\n offsetY: number;\n constructor(public readonly width: number, public readonly height: number) {\n this.offsetX = -(width >> 1);\n this.offsetY = -(height >> 1);\n }\n}\n\nexport abstract class Edit {\n protected startCol: number;\n protected startRow: number;\n isStarted: boolean;\n showPreview: boolean;\n\n constructor(protected canvasWidth: number, protected canvasHeight: number, public color: number, protected toolWidth: number) {\n }\n\n public abstract update(col: number, row: number): void;\n protected abstract doEditCore(state: CanvasState): void;\n\n public doEdit(state: CanvasState): void {\n if (this.isStarted) {\n this.doEditCore(state);\n }\n }\n\n\n start(cursorCol: number, cursorRow: number, state: CanvasState) {\n this.isStarted = true;\n this.startCol = cursorCol;\n this.startRow = cursorRow;\n\n state.mergeFloatingLayer();\n }\n\n\n end(col: number, row: number, state: CanvasState): void {\n\n }\n\n\n getCursor(): Cursor {\n return new Cursor(this.toolWidth, this.toolWidth);\n }\n\n drawCursor(col: number, row: number, draw: (c: number, r: number) => void) {\n draw(col, row);\n }\n}\n\nexport abstract class SelectionEdit extends Edit {\n protected endCol: number;\n protected endRow: number;\n protected isDragged: boolean;\n\n update(col: number, row: number) {\n this.endCol = col;\n this.endRow = row;\n\n if (!this.isDragged && !(col == this.startCol && row == this.startRow)) {\n this.isDragged = true;\n }\n }\n\n protected topLeft(): Coord {\n return {\n x: Math.min(this.startCol, this.endCol),\n y: Math.min(this.startRow, this.endRow)\n };\n }\n\n protected bottomRight(): Coord {\n return {\n x: Math.max(this.startCol, this.endCol),\n y: Math.max(this.startRow, this.endRow)\n };\n }\n}\n\n/**\n * Regular old drawing tool\n */\nexport class PaintEdit extends Edit {\n protected mask: Bitmask;\n showPreview = true;\n\n constructor(canvasWidth: number, canvasHeight: number, color: number, toolWidth: number) {\n super(canvasWidth, canvasHeight, color, toolWidth);\n this.mask = new Bitmask(canvasWidth, canvasHeight);\n }\n\n update(col: number, row: number) {\n // Interpolate (Draw a line) from startCol, startRow to col, row\n this.interpolate(this.startCol, this.startRow, col, row);\n\n this.startCol = col;\n this.startRow = row;\n }\n\n // https://en.wikipedia.org/wiki/Bresenham%27s_line_algorithm\n protected interpolate(x0: number, y0: number, x1: number, y1: number) {\n const dx = x1 - x0;\n const dy = y1 - y0;\n const draw = (c: number, r: number) => this.mask.set(c, r);\n if (dx === 0) {\n const startY = dy >= 0 ? y0 : y1;\n const endY = dy >= 0 ? y1 : y0;\n for (let y = startY; y <= endY; y++) {\n this.drawCore(x0, y, draw);\n }\n return;\n }\n\n const xStep = dx > 0 ? 1 : -1;\n const yStep = dy > 0 ? 1 : -1;\n const dErr = Math.abs(dy / dx);\n\n let err = 0;\n let y = y0;\n for (let x = x0; xStep > 0 ? x <= x1 : x >= x1; x += xStep) {\n this.drawCore(x, y, draw);\n err += dErr;\n while (err >= 0.5) {\n if (yStep > 0 ? y <= y1 : y >= y1) {\n this.drawCore(x, y, draw);\n }\n y += yStep;\n err -= 1;\n }\n }\n }\n\n protected doEditCore(state: CanvasState) {\n for (let c = 0; c < state.width; c++) {\n for (let r = 0; r < state.height; r++) {\n if (this.mask.get(c, r)) {\n state.image.set(c, r, this.color);\n }\n }\n }\n }\n\n drawCursor(col: number, row: number, draw: (c: number, r: number) => void) {\n this.drawCore(col, row, draw);\n }\n\n protected drawCore(col: number, row: number, setPixel: (col: number, row: number) => void) {\n col = col - Math.floor(this.toolWidth / 2);\n row = row - Math.floor(this.toolWidth / 2);\n for (let i = 0; i < this.toolWidth; i++) {\n for (let j = 0; j < this.toolWidth; j++) {\n const c = col + i;\n const r = row + j;\n\n if (c >= 0 && c < this.canvasWidth && r >= 0 && r < this.canvasHeight) {\n setPixel(col + i, row + j);\n }\n }\n }\n }\n}\n\n/**\n * Tool for drawing filled rectangles\n */\nexport class RectangleEdit extends SelectionEdit {\n showPreview = true;\n\n protected doEditCore(state: CanvasState) {\n const tl = this.topLeft();\n const br = this.bottomRight();\n for (let c = tl.x; c <= br.x; c++) {\n for (let r = tl.y; r <= br.y; r++) {\n state.image.set(c, r, this.color);\n }\n }\n }\n}\n\n/**\n * Tool for drawing empty rectangles\n */\nexport class OutlineEdit extends SelectionEdit {\n showPreview = true;\n\n protected doEditCore(state: CanvasState) {\n let tl = this.topLeft();\n tl.x -= this.toolWidth >> 1;\n tl.y -= this.toolWidth >> 1;\n\n let br = this.bottomRight();\n br.x += this.toolWidth >> 1;\n br.y += this.toolWidth >> 1;\n\n for (let i = 0; i < this.toolWidth; i++) {\n this.drawRectangle(state,\n { x: tl.x + i, y: tl.y + i },\n { x: br.x - i, y: br.y - i }\n );\n }\n }\n\n protected drawRectangle(state: CanvasState, tl: Coord, br: Coord) {\n if (tl.x > br.x || tl.y > br.y) return;\n\n for (let c = tl.x; c <= br.x; c++) {\n state.image.set(c, tl.y, this.color);\n state.image.set(c, br.y, this.color);\n }\n for (let r = tl.y; r <= br.y; r++) {\n state.image.set(tl.x, r, this.color);\n state.image.set(br.x, r, this.color);\n }\n }\n\n drawCursor(col: number, row: number, draw: (c: number, r: number) => void) {\n this.drawCore(col, row, draw);\n }\n\n protected drawCore(col: number, row: number, setPixel: (col: number, row: number) => void) {\n col = col - Math.floor(this.toolWidth / 2);\n row = row - Math.floor(this.toolWidth / 2);\n for (let i = 0; i < this.toolWidth; i++) {\n for (let j = 0; j < this.toolWidth; j++) {\n const c = col + i;\n const r = row + j;\n\n if (c >= 0 && c < this.canvasWidth && r >= 0 && r < this.canvasHeight) {\n setPixel(col + i, row + j);\n }\n }\n }\n }\n\n}\n\n/**\n * Tool for drawing straight lines\n */\nexport class LineEdit extends SelectionEdit {\n showPreview = true;\n\n protected doEditCore(state: CanvasState) {\n this.bresenham(this.startCol, this.startRow, this.endCol, this.endRow, state);\n }\n\n // https://en.wikipedia.org/wiki/Bresenham%27s_line_algorithm\n protected bresenham(x0: number, y0: number, x1: number, y1: number, state: CanvasState) {\n const dx = x1 - x0;\n const dy = y1 - y0;\n const draw = (c: number, r: number) => state.image.set(c, r, this.color);\n if (dx === 0) {\n const startY = dy >= 0 ? y0 : y1;\n const endY = dy >= 0 ? y1 : y0;\n for (let y = startY; y <= endY; y++) {\n this.drawCore(x0, y, draw);\n }\n return;\n }\n\n const xStep = dx > 0 ? 1 : -1;\n const yStep = dy > 0 ? 1 : -1;\n const dErr = Math.abs(dy / dx);\n\n let err = 0;\n let y = y0;\n for (let x = x0; xStep > 0 ? x <= x1 : x >= x1; x += xStep) {\n this.drawCore(x, y, draw);\n err += dErr;\n while (err >= 0.5) {\n if (yStep > 0 ? y <= y1 : y >= y1) {\n this.drawCore(x, y, draw);\n }\n y += yStep;\n err -= 1;\n }\n }\n }\n\n drawCursor(col: number, row: number, draw: (c: number, r: number) => void) {\n this.drawCore(col, row, draw);\n }\n\n // This is surely not the most efficient approach for drawing thick lines...\n protected drawCore(col: number, row: number, draw: (c: number, r: number) => void) {\n col = col - Math.floor(this.toolWidth / 2);\n row = row - Math.floor(this.toolWidth / 2);\n for (let i = 0; i < this.toolWidth; i++) {\n for (let j = 0; j < this.toolWidth; j++) {\n const c = col + i;\n const r = row + j;\n\n draw(c, r);\n }\n }\n }\n}\n\n/**\n * Tool for circular outlines\n */\nexport class CircleEdit extends SelectionEdit {\n showPreview = true;\n\n protected doEditCore(state: CanvasState) {\n const tl = this.topLeft();\n const br = this.bottomRight();\n const dx = br.x - tl.x;\n const dy = br.y - tl.y;\n\n const radius = Math.floor(Math.hypot(dx, dy));\n const cx = this.startCol;\n const cy = this.startRow;\n\n this.midpoint(cx, cy, radius, state);\n }\n\n // https://en.wikipedia.org/wiki/Midpoint_circle_algorithm\n midpoint(cx: number, cy: number, radius: number, state: CanvasState) {\n let x = radius - 1;\n let y = 0;\n let dx = 1;\n let dy = 1;\n let err = dx - (radius * 2);\n while (x >= y) {\n state.image.set(cx + x, cy + y, this.color);\n state.image.set(cx + x, cy - y, this.color);\n state.image.set(cx + y, cy + x, this.color);\n state.image.set(cx + y, cy - x, this.color);\n state.image.set(cx - y, cy + x, this.color);\n state.image.set(cx - y, cy - x, this.color);\n state.image.set(cx - x, cy + y, this.color);\n state.image.set(cx - x, cy - y, this.color);\n if (err <= 0) {\n y++;\n err += dy;\n dy += 2;\n }\n if (err > 0) {\n x--;\n dx += 2;\n err += dx - (radius * 2);\n }\n }\n }\n\n getCursor(): Cursor {\n return new Cursor(1, 1);\n }\n}\n\n\nexport class FillEdit extends Edit {\n protected col: number;\n protected row: number;\n showPreview = true;\n\n start(col: number, row: number, state: CanvasState) {\n this.isStarted = true;\n this.col = col;\n this.row = row;\n\n state.mergeFloatingLayer();\n }\n\n update(col: number, row: number) {\n this.col = col;\n this.row = row;\n }\n\n protected doEditCore(state: CanvasState) {\n const replColor = state.image.get(this.col, this.row);\n if (replColor === this.color) {\n return;\n }\n\n const mask = new Bitmask(state.width, state.height);\n mask.set(this.col, this.row);\n const q: Coord[] = [{ x: this.col, y: this.row }];\n while (q.length) {\n const curr = q.pop();\n if (state.image.get(curr.x, curr.y) === replColor) {\n state.image.set(curr.x, curr.y, this.color);\n tryPush(curr.x + 1, curr.y);\n tryPush(curr.x - 1, curr.y);\n tryPush(curr.x, curr.y + 1);\n tryPush(curr.x, curr.y - 1);\n }\n }\n\n function tryPush(x: number, y: number) {\n if (x >= 0 && x < mask.width && y >= 0 && y < mask.height && !mask.get(x, y)) {\n mask.set(x, y);\n q.push({ x: x, y: y });\n }\n }\n }\n\n getCursor(): Cursor {\n return new Cursor(1, 1);\n }\n}\n\n\nexport class MarqueeEdit extends SelectionEdit {\n protected isMove = false;\n showPreview = false;\n\n start(cursorCol: number, cursorRow: number, state: CanvasState) {\n this.isStarted = true;\n this.startCol = cursorCol;\n this.startRow = cursorRow;\n if (state.floatingLayer) {\n if (state.inFloatingLayer(cursorCol, cursorRow)) {\n this.isMove = true;\n } else {\n state.mergeFloatingLayer();\n }\n }\n }\n\n end(cursorCol: number, cursorRow: number, state: CanvasState) {\n if (!this.isDragged && state.floatingLayer) {\n state.mergeFloatingLayer();\n }\n }\n\n protected doEditCore(state: CanvasState): void {\n const tl = this.topLeft();\n const br = this.bottomRight();\n\n if (this.isDragged) {\n if (this.isMove) {\n state.layerOffsetX = state.floatingLayer.x0 + this.endCol - this.startCol;\n state.layerOffsetY = state.floatingLayer.y0 + this.endRow - this.startRow;\n }\n else {\n state.copyToLayer(tl.x, tl.y, br.x - tl.x + 1, br.y - tl.y + 1, true);\n }\n }\n }\n\n getCursor(): Cursor {\n return undefined;\n }\n}","import * as svg from './svgUtil'\n\nexport interface ButtonGroup {\n root: svg.Group;\n cx: number;\n cy: number;\n}\n\nconst TOGGLE_WIDTH = 200;\nconst TOGGLE_HEIGHT = 40;\nconst TOGGLE_BORDER_WIDTH = 2;\nconst TOGGLE_CORNER_RADIUS = 4;\n\nconst BUTTON_CORNER_RADIUS = 2;\nconst BUTTON_BORDER_WIDTH = 1;\nconst BUTTON_BOTTOM_BORDER_WIDTH = 2;\n\nexport interface ToggleProps {\n baseColor: string;\n borderColor: string;\n backgroundColor: string;\n switchColor: string;\n unselectedTextColor: string;\n selectedTextColor: string;\n\n leftText: string;\n leftIcon: string;\n\n rightText: string;\n rightIcon: string;\n}\n\nexport class Toggle {\n protected leftElement: svg.Group;\n protected leftText: svg.Text;\n protected rightElement: svg.Group;\n protected rightText: svg.Text;\n\n protected switch: svg.Rect;\n protected root: svg.Group;\n protected props: ToggleProps;\n\n protected isLeft: boolean;\n protected changeHandler: (left: boolean) => void;\n\n constructor(parent: svg.SVG, props: Partial) {\n this.props = defaultColors(props);\n this.root = parent.group();\n this.buildDom();\n this.isLeft = true;\n }\n\n protected buildDom() {\n // Our css minifier mangles animation names so they need to be injected manually\n this.root.style().content(`\n .toggle-left {\n transform: translateX(0px);\n animation: mvleft 0.2s 0s ease;\n }\n\n .toggle-right {\n transform: translateX(100px);\n animation: mvright 0.2s 0s ease;\n }\n\n @keyframes mvright {\n 0% {\n transform: translateX(0px);\n }\n 100% {\n transform: translateX(100px);\n }\n }\n\n @keyframes mvleft {\n 0% {\n transform: translateX(100px);\n }\n 100% {\n transform: translateX(0px);\n }\n }\n `);\n\n\n // The outer border has an inner-stroke so we need to clip out the outer part\n // because SVG's don't support \"inner borders\"\n const clip = this.root.def().create(\"clipPath\", \"sprite-editor-toggle-border\")\n .clipPathUnits(true);\n\n clip.draw(\"rect\")\n .at(0, 0)\n .corners(TOGGLE_CORNER_RADIUS / TOGGLE_WIDTH, TOGGLE_CORNER_RADIUS / TOGGLE_HEIGHT)\n .size(1, 1);\n\n // Draw the outer border\n this.root.draw(\"rect\")\n .size(TOGGLE_WIDTH, TOGGLE_HEIGHT)\n .fill(this.props.baseColor)\n .stroke(this.props.borderColor, TOGGLE_BORDER_WIDTH * 2)\n .corners(TOGGLE_CORNER_RADIUS, TOGGLE_CORNER_RADIUS)\n .clipPath(\"url(#sprite-editor-toggle-border)\");\n\n\n // Draw the background\n this.root.draw(\"rect\")\n .at(TOGGLE_BORDER_WIDTH, TOGGLE_BORDER_WIDTH)\n .size(TOGGLE_WIDTH - TOGGLE_BORDER_WIDTH * 2, TOGGLE_HEIGHT - TOGGLE_BORDER_WIDTH * 2)\n .fill(this.props.backgroundColor)\n .corners(TOGGLE_CORNER_RADIUS, TOGGLE_CORNER_RADIUS);\n\n // Draw the switch\n this.switch = this.root.draw(\"rect\")\n .at(TOGGLE_BORDER_WIDTH, TOGGLE_BORDER_WIDTH)\n .size((TOGGLE_WIDTH - TOGGLE_BORDER_WIDTH * 2) / 2, TOGGLE_HEIGHT - TOGGLE_BORDER_WIDTH * 2)\n .fill(this.props.switchColor)\n .corners(TOGGLE_CORNER_RADIUS, TOGGLE_CORNER_RADIUS);\n\n // Draw the left option\n this.leftElement = this.root.group();\n this.leftText = mkText(this.props.leftText)\n .appendClass(\"sprite-editor-text\")\n .fill(this.props.selectedTextColor);\n this.leftElement.appendChild(this.leftText);\n\n // Draw the right option\n this.rightElement = this.root.group();\n this.rightText = mkText(this.props.rightText)\n .appendClass(\"sprite-editor-text\")\n .fill(this.props.unselectedTextColor);\n this.rightElement.appendChild(this.rightText);\n\n this.root.onClick(() => this.toggle());\n }\n\n toggle(quiet = false) {\n if (this.isLeft) {\n this.switch.removeClass(\"toggle-left\");\n this.switch.appendClass(\"toggle-right\");\n this.leftText.fill(this.props.unselectedTextColor);\n this.rightText.fill(this.props.selectedTextColor);\n }\n else {\n this.switch.removeClass(\"toggle-right\");\n this.switch.appendClass(\"toggle-left\");\n this.leftText.fill(this.props.selectedTextColor);\n this.rightText.fill(this.props.unselectedTextColor);\n }\n this.isLeft = !this.isLeft;\n\n if (!quiet && this.changeHandler) {\n this.changeHandler(this.isLeft);\n }\n }\n\n onStateChange(handler: (left: boolean) => void) {\n this.changeHandler = handler;\n }\n\n layout() {\n const centerOffset = (TOGGLE_WIDTH - TOGGLE_BORDER_WIDTH * 2) / 4;\n this.leftText.moveTo(centerOffset + TOGGLE_BORDER_WIDTH, TOGGLE_HEIGHT / 2);\n this.rightText.moveTo(TOGGLE_WIDTH - TOGGLE_BORDER_WIDTH - centerOffset, TOGGLE_HEIGHT / 2)\n }\n\n translate(x: number, y: number) {\n this.root.translate(x, y);\n }\n\n height() {\n return TOGGLE_HEIGHT;\n }\n\n width() {\n return TOGGLE_WIDTH;\n }\n}\n\nexport class Button {\n cx: number;\n cy: number;\n root: svg.Group;\n clickHandler: () => void;\n private _title: string;\n private _shortcut: string;\n\n constructor(root: svg.Group, cx: number, cy: number) {\n this.root = root;\n this.cx = cx;\n this.cy = cy;\n this.root.onClick(() => this.clickHandler && this.clickHandler());\n this.root.appendClass(\"sprite-editor-button\");\n }\n\n public getElement() {\n return this.root;\n }\n\n public addClass(className: string) {\n this.root.appendClass(className);\n }\n\n public removeClass(className: string) {\n this.root.removeClass(className);\n }\n\n public onClick(clickHandler: () => void) {\n this.clickHandler = clickHandler;\n }\n\n public translate(x: number, y: number) {\n this.root.translate(x, y);\n }\n\n public title(text: string) {\n this._title = text;\n this.setRootTitle();\n }\n\n public shortcut(text: string) {\n this._shortcut = text;\n this.setRootTitle();\n }\n\n private setRootTitle() {\n this.root.title(this._title + (this._shortcut ? \" (\" + this._shortcut + \")\" : \"\"));\n }\n\n public setDisabled(disabled: boolean) {\n this.editClass(\"disabled\", disabled);\n }\n\n public setSelected(selected: boolean) {\n this.editClass(\"selected\", selected);\n }\n\n protected layout() { /* subclass */ }\n\n protected editClass(className: string, add: boolean) {\n if (add) {\n this.root.appendClass(className);\n }\n else {\n this.root.removeClass(className);\n }\n }\n}\n\nexport class TextButton extends Button {\n protected textEl: svg.Text;\n\n constructor(button: ButtonGroup, text: string, className: string) {\n super(button.root, button.cx, button.cy);\n\n this.textEl = mkText(text)\n .appendClass(className);\n\n this.textEl.moveTo(this.cx, this.cy);\n\n this.root.appendChild(this.textEl);\n }\n\n setText(text: string) {\n this.textEl.text(text);\n this.textEl.moveTo(this.cx, this.cy);\n }\n\n getComputedTextLength() {\n try {\n return this.textEl.el.getComputedTextLength();\n }\n catch (e) {\n // Internet Explorer and Microsoft Edge throw if the element\n // is not visible. The best we can do is approximate\n return this.textEl.el.textContent.length * 8;\n }\n }\n}\n\nexport class StandaloneTextButton extends TextButton {\n protected padding = 30;\n\n constructor(text: string, readonly height: number) {\n super(drawSingleButton(65, height), text, \"sprite-editor-text\");\n this.addClass(\"sprite-editor-label\");\n }\n\n layout() {\n const newBG = drawSingleButton(this.width(), this.height);\n\n while (this.root.el.hasChildNodes()) {\n this.root.el.removeChild(this.root.el.firstChild);\n }\n\n while (newBG.root.el.hasChildNodes()) {\n const el = newBG.root.el.firstChild;\n newBG.root.el.removeChild(el);\n this.root.el.appendChild(el);\n }\n\n this.cx = newBG.cx;\n this.cy = newBG.cy;\n\n this.root.appendChild(this.textEl);\n this.textEl.moveTo(this.cx, this.cy);\n }\n\n width() {\n return this.getComputedTextLength() + this.padding * 2;\n }\n}\n\nexport class CursorButton extends Button {\n constructor(root: svg.Group, cx: number, cy: number, width: number) {\n super(root, cx, cy);\n\n this.root.draw(\"rect\")\n .fill(\"white\")\n .size(width, width)\n .at(Math.floor(this.cx - width / 2), Math.floor(this.cy - width / 2))\n }\n}\n\nexport function mkIconButton(icon: string, width: number, height = width + BUTTON_BOTTOM_BORDER_WIDTH - BUTTON_BORDER_WIDTH) {\n const g = drawSingleButton(width, height);\n return new TextButton(g, icon, \"sprite-editor-icon\");\n}\n\nexport function mkXIconButton(icon: string, width: number, height = width + BUTTON_BOTTOM_BORDER_WIDTH - BUTTON_BORDER_WIDTH) {\n const g = drawSingleButton(width, height);\n return new TextButton(g, icon, \"sprite-editor-xicon\");\n}\n\nexport function mkTextButton(text: string, width: number, height: number) {\n const g = drawSingleButton(width, height);\n const t = new TextButton(g, text, \"sprite-editor-text\");\n t.addClass(\"sprite-editor-label\");\n return t;\n}\n\n/**\n * Draws a button suitable for the left end of a button group.\n *\n * @param width The total width of the result (including border)\n * @param height The total height of the resul (including border and lip)\n * @param lip The width of the bottom border\n * @param border The width of the outer border (except bottom)\n * @param r The corner radius\n */\nfunction drawLeftButton(width: number, height: number, lip: number, border: number, r: number): ButtonGroup {\n const root = new svg.Group().appendClass(\"sprite-editor-button\");\n const bg = root.draw(\"path\")\n .appendClass(\"sprite-editor-button-bg\");\n bg.d.moveTo(r, 0)\n .lineBy(width - r, 0)\n .lineBy(0, height)\n .lineBy(-(width - r), 0)\n .arcBy(r, r, 0, false, true, -r, -r)\n .lineBy(0, -(height - (r << 1)))\n .arcBy(r, r, 0, false, true, r, -r)\n .close();\n bg.update();\n\n const fg = root.draw(\"path\")\n .appendClass(\"sprite-editor-button-fg\");\n fg.d.moveTo(border + r, border)\n .lineBy(width - border - r, 0)\n .lineBy(0, height - lip - border)\n .lineBy(-(width - border - r), 0)\n .arcBy(r, r, 0, false, true, -r, -r)\n .lineBy(0, -(height - lip - border - (r << 1)))\n .arcBy(r, r, 0, false, true, r, -r)\n .close();\n fg.update();\n\n return {\n root,\n cx: border + (width - border) / 2,\n cy: border + (height - lip) / 2\n };\n}\n\nexport class CursorMultiButton {\n root: svg.Group;\n selected: number;\n buttons: Button[];\n\n indexHandler: (index: number) => void;\n\n constructor(parent: svg.Group, width: number) {\n this.root = parent.group();\n const widths = [4, 7, 10]\n\n this.buttons = buttonGroup(65, 21, 3).map((b, i) => new CursorButton(b.root, b.cx, b.cy, widths[i]));\n this.buttons.forEach((button, index) => {\n button.onClick(() => this.handleClick(index));\n button.title(sizeAdjective(index));\n this.root.appendChild(button.getElement());\n });\n }\n\n protected handleClick(index: number) {\n if (index === this.selected) return;\n\n if (this.selected != undefined) {\n this.buttons[this.selected].setSelected(false);\n }\n\n this.selected = index;\n\n if (this.selected != undefined) {\n this.buttons[this.selected].setSelected(true);\n }\n\n if (this.indexHandler) this.indexHandler(index);\n }\n\n onSelected(cb: (index: number) => void) {\n this.indexHandler = cb;\n }\n}\n\nexport interface UndoRedoHost {\n undo(): void;\n redo(): void;\n}\n\nexport class UndoRedoGroup {\n root: svg.Group;\n undo: TextButton;\n redo: TextButton;\n\n host: UndoRedoHost;\n\n constructor(parent: svg.Group, host: UndoRedoHost, width: number, height: number) {\n this.root = parent.group();\n this.host = host;\n const [undo, redo] = buttonGroup(width, height, 2);\n\n this.undo = new TextButton(undo, \"\\uf118\", \"sprite-editor-xicon\");\n this.undo.onClick(() => this.host.undo());\n this.root.appendChild(this.undo.getElement());\n\n\n this.redo = new TextButton(redo, \"\\uf111\", \"sprite-editor-xicon\");\n this.redo.onClick(() => this.host.redo());\n this.root.appendChild(this.redo.getElement());\n }\n\n translate(x: number, y: number) {\n this.root.translate(x, y);\n }\n\n updateState(undo: boolean, redo: boolean) {\n this.undo.setDisabled(undo);\n this.redo.setDisabled(redo);\n }\n}\n\n\nfunction defaultColors(props: Partial): ToggleProps {\n if (!props.baseColor) props.baseColor = \"#e95153\";\n if (!props.backgroundColor) props.backgroundColor = \"rgba(52,73,94,.2)\";\n if (!props.borderColor) props.borderColor = \"rgba(52,73,94,.4)\";\n if (!props.selectedTextColor) props.selectedTextColor = props.baseColor;\n if (!props.unselectedTextColor) props.unselectedTextColor = \"hsla(0,0%,100%,.9)\";\n if (!props.switchColor) props.switchColor = \"#ffffff\";\n\n return props as ToggleProps;\n}\n\nfunction sizeAdjective(cursorIndex: number) {\n switch (cursorIndex) {\n case 0: return \"Small Cursor\";\n case 1: return \"Medium Cursor\";\n case 2: return \"Large Cursor\";\n }\n\n return undefined;\n}\n\n/**\n* Draws a button suitable for the interior of a button group.\n*\n* @param width The total width of the result (including border)\n* @param height The total height of the resul (including border and lip)\n* @param lip The width of the bottom border\n* @param border The width of the outer border (except bottom)\n*/\nfunction drawMidButton(width: number, height: number, lip: number, border: number): ButtonGroup {\n const root = new svg.Group().appendClass(\"sprite-editor-button\");\n const bg = root.draw(\"rect\")\n .appendClass(\"sprite-editor-button-bg\")\n .size(width, height)\n\n const fg = root.draw(\"rect\")\n .appendClass(\"sprite-editor-button-fg\")\n .size(width - border, height - lip - border)\n .at(border, border);\n\n return {\n root,\n cx: border + (width - border) / 2,\n cy: border + (height - lip) / 2\n };\n}\n\n/**\n * Draws a button suitable for the right end of a button group.\n *\n * @param width The total width of the result (including border)\n * @param height The total height of the resul (including border and lip)\n * @param lip The width of the bottom border\n * @param border The width of the outer border (except bottom)\n * @param r The corner radius\n */\nfunction drawRightButton(width: number, height: number, lip: number, border: number, r: number): ButtonGroup {\n const root = new svg.Group().appendClass(\"sprite-editor-button\");\n const bg = root.draw(\"path\")\n .appendClass(\"sprite-editor-button-bg\");\n bg.d.moveTo(0, 0)\n .lineBy(width - r, 0)\n .arcBy(r, r, 0, false, true, r, r)\n .lineBy(0, height - (r << 1))\n .arcBy(r, r, 0, false, true, -r, r)\n .lineBy(-(width - r), 0)\n .lineBy(0, -height)\n .close();\n bg.update();\n\n const fg = root.draw(\"path\")\n .appendClass(\"sprite-editor-button-fg\");\n fg.d.moveTo(border, border)\n .lineBy(width - border - r, 0)\n .arcBy(r, r, 0, false, true, r, r)\n .lineBy(0, height - border - lip - (r << 1))\n .arcBy(r, r, 0, false, true, -r, r)\n .lineBy(-(width - border - r), 0)\n .lineBy(0, -(height - border - lip))\n .close();\n fg.update();\n\n const content = root.group().id(\"sprite-editor-button-content\");\n content.translate(border + (width - (border << 1)) >> 1, (height - lip - border) >> 1);\n\n return {\n root,\n cx: width / 2,\n cy: border + (height - lip) / 2\n };\n}\n\n/**\n * Draws a standalone button.\n *\n * @param width The total width of the result (including border)\n * @param height The total height of the resul (including border and lip)\n * @param lip The width of the bottom border\n * @param border The width of the outer border (except bottom)\n * @param r The corner radius\n */\nfunction drawSingleButton(width: number, height: number, lip = BUTTON_BOTTOM_BORDER_WIDTH, border = BUTTON_BORDER_WIDTH, r = BUTTON_CORNER_RADIUS): ButtonGroup {\n const root = new svg.Group().appendClass(\"sprite-editor-button\");\n root.draw(\"rect\")\n .size(width, height)\n .corners(r, r)\n .appendClass(\"sprite-editor-button-bg\");\n\n root.draw(\"rect\")\n .at(border, border)\n .size(width - (border << 1), height - lip - border)\n .corners(r, r)\n .appendClass(\"sprite-editor-button-fg\");\n\n return {\n root,\n cx: width / 2,\n cy: border + (height - lip) / 2\n };\n}\n\nfunction buttonGroup(width: number, height: number, segments: number, lip = BUTTON_BOTTOM_BORDER_WIDTH, border = BUTTON_BORDER_WIDTH, r = BUTTON_CORNER_RADIUS): ButtonGroup[] {\n const available = width - (segments + 1) * border;\n const segmentWidth = Math.floor(available / segments);\n\n const result: ButtonGroup[] = [];\n for (let i = 0; i < segments; i++) {\n if (i === 0) {\n result.push(drawLeftButton(segmentWidth + border, height, lip, border, r));\n }\n else if (i === segments - 1) {\n const b = drawRightButton(segmentWidth + (border << 1), height, lip, border, r);\n b.root.translate((border + segmentWidth) * i, 0);\n result.push(b);\n }\n else {\n const b = drawMidButton(segmentWidth + border, height, lip, border);\n b.root.translate((border + segmentWidth) * i, 0);\n result.push(b);\n }\n }\n\n return result;\n}\n\nexport function mkText(text: string) {\n return new svg.Text(text)\n .anchor(\"middle\")\n .setAttribute(\"dominant-baseline\", \"middle\")\n .setAttribute(\"dy\", (false /*IE or edge*/) ? \"0.3em\" : \"0.1em\")\n}","import { PaintTool, getPaintToolShortcut } from \"./tools\";\nimport {\n Button, CursorMultiButton,\n mkXIconButton, mkIconButton, UndoRedoGroup, UndoRedoHost\n} from \"./buttons\";\nimport * as svg from './svgUtil'\nimport { tickEvent } from \"../telemetry/appinsights\";\n\nexport interface SideBarHost {\n setActiveTool(tool: PaintTool): void;\n setActiveColor(color: number): void;\n setToolWidth(width: number): void;\n setIconsToDefault(): void;\n}\n\nexport const TOOLBAR_WIDTH = 65;\nconst INNER_BUTTON_MARGIN = 3;\nconst PALETTE_BORDER_WIDTH = 1;\nconst BUTTON_GROUP_SPACING = 3;\nconst SELECTED_BORDER_WIDTH = 2;\nconst COLOR_PREVIEW_HEIGHT = 30;\nconst COLOR_MARGIN = 7;\n\nconst UNDO_REDO_START = 430;\nconst UNDO_REDO_WIDTH = 65;\nconst UNDO_REDO_HEIGHT = 31;\nexport const TOOLBAR_HEIGHT = UNDO_REDO_START + UNDO_REDO_HEIGHT\n\nconst TOOL_BUTTON_WIDTH = (TOOLBAR_WIDTH - INNER_BUTTON_MARGIN) / 2;\nconst PALLETTE_SWATCH_WIDTH = (TOOLBAR_WIDTH - PALETTE_BORDER_WIDTH * 3) / 2;\nconst TOOL_BUTTON_TOP = TOOLBAR_WIDTH / 3 + BUTTON_GROUP_SPACING;\nconst PALETTE_TOP = TOOL_BUTTON_TOP + TOOL_BUTTON_WIDTH * 3 + INNER_BUTTON_MARGIN + COLOR_MARGIN;\n\nexport class SideBar {\n root: svg.Group;\n host: SideBarHost;\n palette: string[];\n\n protected colorSwatches: svg.Rect[];\n protected pencilTool: Button;\n protected eraseTool: Button;\n protected rectangleTool: Button;\n protected fillTool: Button;\n protected marqueeTool: Button;\n\n protected sizeGroup: svg.Group;\n protected buttonGroup: svg.Group;\n protected paletteGroup: svg.Group;\n\n protected selectedTool: Button;\n protected selectedSwatch: svg.Rect;\n protected colorPreview: svg.Rect;\n\n public undoRedo: UndoRedoGroup;\n\n constructor(palette: string[], host: SideBarHost & UndoRedoHost, parent: svg.Group) {\n this.palette = palette;\n this.host = host;\n this.root = parent.group().id(\"sprite-editor-sidebar\");\n\n this.undoRedo = new UndoRedoGroup(this.root, host, UNDO_REDO_WIDTH, UNDO_REDO_HEIGHT);\n\n this.initSizes();\n this.initTools();\n this.initPalette();\n }\n\n updateUndoRedo(undo: boolean, redo: boolean) {\n this.undoRedo.updateState(undo, redo);\n }\n\n public setTool(tool: PaintTool) {\n this.host.setActiveTool(tool);\n\n if (this.selectedTool) {\n this.selectedTool.removeClass(\"selected\");\n }\n\n this.selectedTool = this.getButtonForTool(tool);\n\n if (this.selectedTool) {\n this.selectedTool.addClass(\"selected\");\n }\n }\n\n public setColor(color: number) {\n this.host.setActiveColor(color);\n\n if (this.selectedSwatch) {\n this.selectedSwatch.stroke(\"none\");\n }\n\n this.selectedSwatch = this.colorSwatches[color];\n\n if (this.selectedSwatch) {\n // Border is multiplied by 2 and the excess is clipped away\n this.selectedSwatch.stroke(\"orange\", SELECTED_BORDER_WIDTH * 2);\n this.colorPreview.fill(this.palette[color]);\n }\n\n // FIXME: Switch the tool to pencil\n }\n\n public setCursorSize(size: number) {\n this.host.setToolWidth(size);\n }\n\n public setWidth(width: number) {\n this.root.scale(width / TOOLBAR_WIDTH);\n }\n\n public translate(left: number, top: number) {\n this.root.translate(left, top);\n }\n\n protected initSizes() {\n this.sizeGroup = this.root.group().id(\"sprite-editor-cursor-buttons\");\n const buttonGroup = new CursorMultiButton(this.sizeGroup, TOOLBAR_WIDTH);\n buttonGroup.onSelected(index => {\n this.setCursorSize(1 + (index * 2));\n tickEvent(\"shareExperiment.mod.changeSize\", {\"size\": 1 + (index * 2)});\n });\n // Sets the first button to show as selected\n buttonGroup.selected = 0;\n buttonGroup.buttons[0].setSelected(true);\n }\n\n protected initTools() {\n this.buttonGroup = this.root.group()\n .id(\"sprite-editor-tools\")\n .translate(0, TOOL_BUTTON_TOP);\n\n this.pencilTool = this.initButton((\"Pencil\"), \"\\uf040\", PaintTool.Normal);\n\n this.eraseTool = this.initButton((\"Erase\"), \"\\uf12d\", PaintTool.Erase);\n this.eraseTool.translate(1 + TOOL_BUTTON_WIDTH + INNER_BUTTON_MARGIN, 0);\n\n this.fillTool = this.initButton((\"Fill\"), \"\\uf102\", PaintTool.Fill, true);\n this.fillTool.translate(0, TOOL_BUTTON_WIDTH + INNER_BUTTON_MARGIN);\n\n this.rectangleTool = this.initButton((\"Rectangle\"), \"\\uf096\", PaintTool.Rectangle);\n this.rectangleTool.translate(1 + TOOL_BUTTON_WIDTH + INNER_BUTTON_MARGIN, TOOL_BUTTON_WIDTH + INNER_BUTTON_MARGIN);\n\n this.marqueeTool = this.initButton((\"Marquee\"), \"\\uf113\", PaintTool.Marquee, true);\n this.marqueeTool.translate(0, (TOOL_BUTTON_WIDTH + INNER_BUTTON_MARGIN) << 1);\n\n this.setTool(PaintTool.Normal);\n this.undoRedo.translate(0, UNDO_REDO_START);\n }\n\n protected initPalette() {\n this.paletteGroup = this.root.group().id(\"sprite-editor-palette\")\n .translate(0, PALETTE_TOP);\n\n // Draw the background/borders for the entire palette\n const bgHeight = COLOR_PREVIEW_HEIGHT + PALETTE_BORDER_WIDTH * 2;\n this.paletteGroup.draw(\"rect\")\n .fill(\"#000000\")\n .size(TOOLBAR_WIDTH, bgHeight);\n\n this.paletteGroup.draw(\"rect\")\n .fill(\"#000000\")\n .at(0, bgHeight + COLOR_MARGIN)\n .size(TOOLBAR_WIDTH, PALETTE_BORDER_WIDTH + (this.palette.length >> 1) * (PALLETTE_SWATCH_WIDTH + PALETTE_BORDER_WIDTH));\n\n // The highlighted swatch has an inner border. The only way to do that in SVG\n // is to set the stroke to double the border width and clip the excess away\n const clip = this.paletteGroup.def().create(\"clipPath\", \"sprite-editor-selected-color\")\n .clipPathUnits(true);\n\n clip.draw(\"rect\")\n .at(0, 0)\n .size(1, 1);\n\n // Draw a preview of the current color\n this.colorPreview = this.paletteGroup.draw(\"rect\")\n .at(PALETTE_BORDER_WIDTH, PALETTE_BORDER_WIDTH)\n .size(TOOLBAR_WIDTH - PALETTE_BORDER_WIDTH * 2, COLOR_PREVIEW_HEIGHT);\n\n // Draw the swatches for each color\n this.colorSwatches = []\n for (let i = 0; i < this.palette.length; i++) {\n const col = i % 2;\n const row = Math.floor(i / 2);\n\n const swatch = this.paletteGroup\n .draw(\"rect\")\n .size(PALLETTE_SWATCH_WIDTH, PALLETTE_SWATCH_WIDTH)\n .at(col ? PALETTE_BORDER_WIDTH * 2 + PALLETTE_SWATCH_WIDTH : PALETTE_BORDER_WIDTH, bgHeight + COLOR_MARGIN + PALETTE_BORDER_WIDTH + row * (PALETTE_BORDER_WIDTH + PALLETTE_SWATCH_WIDTH))\n .fill(this.palette[i])\n .clipPath(\"url(#sprite-editor-selected-color)\")\n .onClick(() => {\n tickEvent(\"shareExperiment.mod.setColor\", {\"color\": i});\n this.setColor(i)\n });\n swatch.title(`${i}`)\n\n this.colorSwatches.push(swatch);\n }\n\n this.setColor(0);\n }\n\n protected initButton(title: string, icon: string, tool: PaintTool, xicon = false) {\n const btn = xicon ? mkXIconButton(icon, TOOL_BUTTON_WIDTH) : mkIconButton(icon, TOOL_BUTTON_WIDTH);\n const shortcut = getPaintToolShortcut(tool);\n if (shortcut) btn.shortcut(shortcut);\n btn.title(title);\n\n btn.onClick(() => {\n this.host.setIconsToDefault();\n this.setTool(tool);\n tickEvent(\"shareExperiment.mod.changeTool\", {\"tool\": PaintTool[tool].toLowerCase()});\n });\n this.buttonGroup.appendChild(btn.getElement());\n return btn;\n }\n\n getButtonForTool(tool: PaintTool) {\n switch (tool) {\n case PaintTool.Normal:\n case PaintTool.Line: return this.pencilTool;\n case PaintTool.Erase: return this.eraseTool;\n case PaintTool.Fill: return this.fillTool;\n case PaintTool.Rectangle:\n case PaintTool.Circle: return this.rectangleTool;\n case PaintTool.Marquee: return this.marqueeTool;\n default: return undefined;\n }\n }\n}","import { CanvasState } from './canvasState'\nimport { Edit } from './tools'\nimport * as utils from './util'\n\nconst alphaCellWidth = 5;\nconst dropdownPaddding = 4;\nconst lightModeBackground = \"#dedede\";\n\nexport class CanvasGrid {\n protected cellWidth: number = 16;\n protected cellHeight: number = 16;\n\n private gesture: GestureState;\n private context: CanvasRenderingContext2D;\n private fadeAnimation: Fade;\n private selectAnimation: number;\n\n protected backgroundLayer: HTMLCanvasElement;\n protected paintLayer: HTMLCanvasElement;\n protected overlayLayer: HTMLCanvasElement;\n\n mouseCol: number;\n mouseRow: number;\n\n scale: number;\n\n constructor(protected palette: string[], public state: CanvasState, protected lightMode = false, scale: number) {\n this.scale = scale;\n this.paintLayer = document.createElement(\"canvas\");\n this.paintLayer.setAttribute(\"class\", \"sprite-editor-canvas\");\n this.overlayLayer = document.createElement(\"canvas\")\n this.overlayLayer.setAttribute(\"class\", \"sprite-editor-canvas\")\n\n if (!this.lightMode) {\n this.backgroundLayer = document.createElement(\"canvas\");\n this.backgroundLayer.setAttribute(\"class\", \"sprite-editor-canvas\")\n this.context = this.paintLayer.getContext(\"2d\");\n }\n else {\n this.context = this.paintLayer.getContext(\"2d\", { alpha: false });\n this.context.fillStyle = lightModeBackground;\n this.context.fill();\n }\n\n this.hideOverlay();\n }\n\n\n get image() {\n return this.state.image;\n }\n\n setEyedropperMouse(on: boolean) {\n /* TODO\n const eyedropperClass = \"sprite-editor-eyedropper\";\n\n const toApply = on ? utils.addClass : utils.removeClass;\n toApply(this.paintLayer, eyedropperClass);\n toApply(this.overlayLayer, eyedropperClass);\n if (!this.lightMode) {\n toApply(this.backgroundLayer, eyedropperClass);\n }\n */\n }\n\n repaint(): void {\n this.clearContext(this.context);\n this.drawImage();\n if (this.state.floatingLayer) this.drawFloatingLayer();\n else this.hideOverlay();\n }\n\n applyEdit(edit: Edit, cursorCol: number, cursorRow: number, gestureEnd = false) {\n edit.doEdit(this.state);\n this.drawCursor(edit, cursorCol, cursorRow);\n }\n\n drawCursor(edit: Edit, col: number, row: number) {\n const cursor = edit.getCursor();\n\n if (cursor) {\n this.repaint();\n if (edit.showPreview) {\n edit.drawCursor(col, row, (c, r) => {\n this.drawColor(c, r, edit.color);\n });\n }\n this.context.strokeStyle = \"#898989\";\n this.context.strokeRect((col + cursor.offsetX) * this.cellWidth, (row + cursor.offsetY) * this.cellHeight, cursor.width * this.cellWidth, cursor.height * this.cellHeight);\n }\n else if (edit.isStarted) {\n this.repaint();\n }\n }\n\n bitmap() {\n return this.image;\n }\n\n outerWidth(): number {\n return this.paintLayer.getBoundingClientRect().width;\n }\n\n outerHeight(): number {\n return this.paintLayer.getBoundingClientRect().height;\n }\n\n writeColor(col: number, row: number, color: number) {\n this.image.set(col, row, color);\n this.drawColor(col, row, color);\n }\n\n drawColor(col: number, row: number, color: number, context = this.context, transparency = !this.lightMode) {\n const x = col * this.cellWidth;\n const y = row * this.cellHeight;\n\n if (color) {\n context.fillStyle = this.palette[color - 1];\n context.fillRect(x, y, this.cellWidth, this.cellHeight);\n }\n else if (!transparency) {\n context.fillStyle = lightModeBackground;\n context.fillRect(x, y, this.cellWidth, this.cellHeight);\n }\n }\n\n restore(state: CanvasState, repaint = false) {\n if (state.height != this.image.height || state.width != this.image.width) {\n this.state = state.copy();\n this.resizeGrid(state.width, state.width * state.height);\n }\n else {\n this.state = state.copy();\n }\n\n if (repaint) {\n this.repaint();\n }\n }\n\n showResizeOverlay(): void {\n if (this.lightMode) return;\n\n if (this.fadeAnimation) {\n this.fadeAnimation.kill();\n }\n this.showOverlay();\n this.stopSelectAnimation();\n\n const w = this.overlayLayer.width;\n const h = this.overlayLayer.height;\n const context = this.overlayLayer.getContext(\"2d\");\n const toastWidth = 100;\n const toastHeight = 40;\n const toastLeft = w / 2 - toastWidth / 2;\n const toastTop = h / 2 - toastWidth / 4;\n\n this.fadeAnimation = new Fade((opacity, dead) => {\n if (dead) {\n this.drawFloatingLayer();\n return;\n }\n\n this.clearContext(context);\n context.globalAlpha = opacity;\n context.fillStyle = \"#898989\";\n\n // After 32x32 the grid isn't easy to see anymore so skip it\n if (this.image.width <= 32 && this.image.height <= 32) {\n for (let c = 1; c < this.image.width; c++) {\n context.fillRect(c * this.cellWidth, 0, 1, h);\n }\n for (let r = 1; r < this.image.height; r++) {\n context.fillRect(0, r * this.cellHeight, w, 1);\n }\n }\n\n context.fillRect(toastLeft, toastTop, toastWidth, toastHeight);\n context.fillStyle = \"#ffffff\";\n context.font = \"30px sans-serif\";\n context.textBaseline = \"middle\";\n context.textAlign = \"center\";\n\n context.fillText(this.image.width.toString(), toastLeft + toastWidth / 2 - 25, toastTop + toastHeight / 2);\n context.fillText(\"x\", toastLeft + 50, toastTop + toastHeight / 2, 10);\n context.fillText(this.image.height.toString(), toastLeft + toastWidth / 2 + 25, toastTop + toastHeight / 2);\n }, 750, 500);\n }\n\n showOverlay() {\n this.overlayLayer.style.visibility = \"visible\";\n }\n\n hideOverlay() {\n this.stopSelectAnimation();\n\n this.overlayLayer.style.visibility = \"hidden\";\n\n if (this.fadeAnimation) {\n this.fadeAnimation.kill();\n }\n }\n\n resizeGrid(rowLength: number, numCells: number): void {\n this.repaint();\n }\n\n setCellDimensions(width: number, height: number): void {\n this.cellWidth = width | 0;\n this.cellHeight = height | 0;\n\n const canvasWidth = this.cellWidth * this.image.width // * this.scale;\n const canvasHeight = this.cellHeight * this.image.height // * this.scale;\n\n this.paintLayer.width = canvasWidth;\n this.paintLayer.height = canvasHeight;\n this.overlayLayer.width = canvasWidth;\n this.overlayLayer.height = canvasHeight;\n\n if (!this.lightMode) {\n this.backgroundLayer.width = canvasWidth;\n this.backgroundLayer.height = canvasHeight;\n }\n }\n\n setGridDimensions(width: number, height = width, lockAspectRatio = true): void {\n const maxCellWidth = width / this.image.width;\n const maxCellHeight = height / this.image.height;\n\n if (lockAspectRatio) {\n const aspectRatio = this.cellWidth / this.cellHeight;\n\n if (aspectRatio >= 1) {\n const w = Math.min(maxCellWidth, maxCellHeight * aspectRatio);\n this.setCellDimensions(w, w * aspectRatio);\n }\n else {\n const h = Math.min(maxCellHeight, maxCellWidth / aspectRatio)\n this.setCellDimensions(h / aspectRatio, h);\n }\n }\n else {\n this.setCellDimensions(maxCellWidth, maxCellHeight);\n }\n }\n\n down(handler: (col: number, row: number) => void): void {\n this.initDragSurface();\n this.gesture.subscribe(GestureType.Down, handler);\n }\n\n up(handler: (col: number, row: number) => void): void {\n this.initDragSurface();\n this.gesture.subscribe(GestureType.Up, handler);\n }\n\n drag(handler: (col: number, row: number) => void): void {\n this.initDragSurface();\n this.gesture.subscribe(GestureType.Drag, handler);\n }\n\n move(handler: (col: number, row: number) => void): void {\n this.initDragSurface();\n this.gesture.subscribe(GestureType.Move, handler);\n }\n\n leave(handler: () => void): void {\n this.initDragSurface();\n this.gesture.subscribe(GestureType.Leave, handler);\n }\n\n updateBounds(top: number, left: number, width: number, height: number) {\n this.layoutCanvas(this.paintLayer, top, left, width, height);\n this.layoutCanvas(this.overlayLayer, top, left, width, height);\n\n if (!this.lightMode) {\n this.layoutCanvas(this.backgroundLayer, top, left, width, height);\n }\n\n this.drawImage();\n this.drawBackground();\n }\n\n render(parent: HTMLDivElement) {\n if (!this.lightMode) {\n parent.appendChild(this.backgroundLayer);\n }\n\n parent.appendChild(this.paintLayer);\n parent.appendChild(this.overlayLayer);\n }\n\n removeMouseListeners() {\n this.stopSelectAnimation();\n if (this.fadeAnimation) this.fadeAnimation.kill();\n\n this.endDrag();\n }\n\n onEditStart(col: number, row: number, edit: Edit) {\n edit.start(col, row, this.state);\n }\n\n onEditEnd(col: number, row: number, edit: Edit) {\n edit.end(col, row, this.state);\n this.drawFloatingLayer();\n }\n\n protected drawImage(image = this.image, context = this.context, left = 0, top = 0, transparency = !this.lightMode) {\n for (let c = 0; c < image.width; c++) {\n for (let r = 0; r < image.height; r++) {\n this.drawColor(left + c, top + r, image.get(c, r), context, transparency);\n }\n }\n }\n\n protected drawBackground() {\n if (this.lightMode) return;\n const context = this.backgroundLayer.getContext(\"2d\", { alpha: false });\n const alphaCols = Math.ceil(this.paintLayer.width / alphaCellWidth);\n const alphaRows = Math.ceil(this.paintLayer.height / alphaCellWidth);\n context.fillStyle = \"#ffffff\";\n context.fillRect(0, 0, this.paintLayer.width, this.paintLayer.height);\n\n context.fillStyle = \"#dedede\";\n for (let ac = 0; ac < alphaCols; ac++) {\n for (let ar = 0; ar < alphaRows; ar++) {\n if ((ac + ar) % 2) {\n context.fillRect(ac * alphaCellWidth, ar * alphaCellWidth, alphaCellWidth, alphaCellWidth);\n }\n }\n }\n }\n\n /**\n * This calls getBoundingClientRect() so don't call it in a loop!\n */\n protected clientEventToCell(ev: MouseEvent) {\n const coord = clientCoord(ev);\n const bounds = this.paintLayer.getBoundingClientRect();\n const left = bounds.left + (window.scrollX !== null ? window.scrollX : window.pageXOffset);\n const top = bounds.top + (window.scrollY !== null ? window.scrollY : window.pageYOffset);\n\n let cellW = bounds.width / this.image.width\n let cellH = bounds.width / this.image.width\n\n this.mouseCol = Math.floor((coord.clientX - left) / cellW);\n this.mouseRow = Math.floor((coord.clientY - top) / cellH);\n\n return [\n this.mouseCol,\n this.mouseRow\n ];\n }\n protected drawFloatingLayer() {\n if (!this.state.floatingLayer) {\n return;\n }\n this.drawImage(this.state.floatingLayer, this.context, this.state.layerOffsetX, this.state.layerOffsetY, true);\n\n this.drawSelectionAnimation();\n }\n\n protected drawSelectionAnimation(dashOffset = 0) {\n if (!this.state.floatingLayer) {\n this.hideOverlay();\n return;\n }\n this.showOverlay();\n const context = this.overlayLayer.getContext(\"2d\");\n this.clearContext(context);\n context.globalAlpha = 1;\n context.strokeStyle = \"#303030\";\n context.lineWidth = 2;\n context.setLineDash([5, 3]);\n context.lineDashOffset = dashOffset;\n context.strokeRect(this.state.layerOffsetX * this.cellWidth, this.state.layerOffsetY * this.cellHeight, this.state.floatingLayer.width * this.cellWidth, this.state.floatingLayer.height * this.cellHeight);\n\n\n if (!this.lightMode && !this.selectAnimation && (!this.fadeAnimation || this.fadeAnimation.dead)) {\n let drawLayer = () => {\n dashOffset++\n requestAnimationFrame(() => this.drawSelectionAnimation(dashOffset));\n };\n\n this.selectAnimation = window.setInterval(drawLayer, 40)\n }\n }\n\n private clearContext(context: CanvasRenderingContext2D) {\n // Paint Layer has the same dimensions as all other contexts\n context.clearRect(0, 0, this.paintLayer.width, this.paintLayer.height);\n }\n\n private initDragSurface() {\n\n if (!this.gesture) {\n this.gesture = new GestureState();\n\n this.bindEvents(this.paintLayer);\n this.bindEvents(this.overlayLayer);\n\n document.addEventListener(utils.pointerEvents.move, this.hoverHandler);\n }\n\n }\n\n private bindEvents(surface: HTMLElement) {\n utils.pointerEvents.down.forEach(evId => {\n surface.addEventListener(evId, ((ev: MouseEvent) => {\n this.startDrag();\n const [col, row] = this.clientEventToCell(ev);\n this.gesture.handle(InputEvent.Down, col, row);\n }));\n })\n\n\n // surface.addEventListener(\"click\", (ev: MouseEvent) => {\n // const [col, row] = this.clientEventToCell(ev);\n // this.gesture.handle(InputEvent.Down, col, row);\n // this.gesture.handle(InputEvent.Up, col, row);\n // });\n }\n\n private upHandler = (ev: MouseEvent) => {\n this.endDrag();\n const [col, row] = this.clientEventToCell(ev);\n this.gesture.handle(InputEvent.Up, col, row);\n\n ev.stopPropagation();\n ev.preventDefault();\n }\n\n private leaveHandler = (ev: MouseEvent) => {\n this.endDrag();\n const [col, row] = this.clientEventToCell(ev);\n this.gesture.handle(InputEvent.Leave, col, row);\n\n ev.stopPropagation();\n ev.preventDefault();\n };\n\n private moveHandler = (ev: MouseEvent) => {\n const [col, row] = this.clientEventToCell(ev);\n if (col >= 0 && row >= 0 && col < this.image.width && row < this.image.height) {\n if (ev.buttons & 1) {\n this.gesture.handle(InputEvent.Down, col, row);\n }\n this.gesture.handle(InputEvent.Move, col, row);\n }\n\n ev.stopPropagation();\n ev.preventDefault();\n }\n\n private hoverHandler = (ev: MouseEvent) => {\n const [col, row] = this.clientEventToCell(ev);\n if (col >= 0 && row >= 0 && col < this.image.width && row < this.image.height) {\n this.gesture.handle(InputEvent.Move, col, row);\n this.gesture.isHover = true;\n }\n else if (this.gesture.isHover) {\n this.gesture.isHover = false;\n this.gesture.handle(InputEvent.Leave, -1, -1);\n }\n }\n\n private startDrag() {\n document.removeEventListener(utils.pointerEvents.move, this.hoverHandler);\n document.addEventListener(utils.pointerEvents.move, this.moveHandler);\n document.addEventListener(utils.pointerEvents.up, this.upHandler);\n\n if (utils.isTouchEnabled() && !utils.hasPointerEvents()) {\n document.addEventListener(\"touchend\", this.upHandler);\n document.addEventListener(\"touchcancel\", this.leaveHandler);\n }\n else {\n document.addEventListener(utils.pointerEvents.leave, this.leaveHandler);\n }\n\n }\n\n private endDrag() {\n\n document.addEventListener(utils.pointerEvents.move, this.hoverHandler);\n document.removeEventListener(utils.pointerEvents.move, this.moveHandler);\n document.removeEventListener(utils.pointerEvents.up, this.upHandler);\n document.removeEventListener(utils.pointerEvents.leave, this.leaveHandler);\n\n if (utils.isTouchEnabled() && !utils.hasPointerEvents()) {\n document.removeEventListener(\"touchend\", this.upHandler);\n document.removeEventListener(\"touchcancel\", this.leaveHandler);\n }\n else {\n document.removeEventListener(utils.pointerEvents.leave, this.leaveHandler);\n }\n\n }\n\n private layoutCanvas(canvas: HTMLCanvasElement, top: number, left: number, width: number, height: number) {\n // canvas.style.position = \"absolute\";\n // canvas.style.top = `0px`\n // canvas.style.left = `0px`\n\n // if (this.image.width === this.image.height) {\n // canvas.style.top = top + \"px\";\n // canvas.style.left = left + \"px\";\n // }\n // else if (this.image.width > this.image.height) {\n // canvas.style.top = (top + dropdownPaddding + (height - canvas.height) / 2) + \"px\";\n // canvas.style.left = left + \"px\";\n // }\n // else {\n // canvas.style.top = top + \"px\";\n // canvas.style.left = (left + dropdownPaddding + (width - canvas.width) / 2) + \"px\";\n // }\n }\n\n private stopSelectAnimation() {\n if (this.selectAnimation) {\n clearInterval(this.selectAnimation);\n this.selectAnimation = undefined;\n }\n\n }\n}\n\nenum InputEvent {\n Up,\n Down,\n Move,\n Leave\n}\n\nenum GestureType {\n Up,\n Down,\n Move,\n Drag,\n Leave\n}\n\ntype GestureHandler = (col: number, row: number) => void;\n\nclass GestureState {\n lastCol: number;\n lastRow: number;\n\n isDown = false;\n isHover = false;\n\n handlers: { [index: number]: GestureHandler } = {};\n\n handle(event: InputEvent, col: number, row: number) {\n switch (event) {\n case InputEvent.Up:\n this.update(col, row);\n this.isDown = false;\n this.fire(GestureType.Up);\n break;\n case InputEvent.Down:\n if (!this.isDown) {\n this.update(col, row);\n this.isDown = true;\n this.fire(GestureType.Down);\n }\n break;\n case InputEvent.Move:\n if (col === this.lastCol && row === this.lastRow) return;\n this.update(col, row);\n if (this.isDown) {\n this.fire(GestureType.Drag);\n }\n else {\n this.fire(GestureType.Move);\n }\n break;\n\n case InputEvent.Leave:\n this.update(col, row);\n this.isDown = false;\n this.fire(GestureType.Leave);\n break;\n }\n }\n\n subscribe(type: GestureType, handler: GestureHandler) {\n this.handlers[type] = handler;\n }\n\n protected update(col: number, row: number) {\n this.lastCol = col;\n this.lastRow = row;\n }\n\n protected fire(type: GestureType) {\n if (this.handlers[type]) {\n this.handlers[type](this.lastCol, this.lastRow);\n }\n }\n}\n\nclass Fade {\n start: number;\n end: number;\n slope: number;\n dead: boolean;\n\n constructor(protected draw: (opacity: number, dead: boolean) => void, delay: number, duration: number) {\n this.start = Date.now() + delay;\n this.end = this.start + duration;\n this.slope = 1 / duration;\n this.dead = false;\n\n draw(1, false);\n\n setTimeout(() => requestAnimationFrame(() => this.frame()), delay);\n }\n\n frame() {\n if (this.dead) return;\n const now = Date.now();\n if (now < this.end) {\n const v = 1 - (this.slope * (now - this.start));\n this.draw(v, false);\n requestAnimationFrame(() => this.frame());\n }\n else {\n this.kill();\n this.draw(0, true);\n }\n }\n\n kill() {\n this.dead = true;\n }\n}\n\nexport interface ClientCoordinates {\n clientX: number;\n clientY: number;\n}\n\nfunction clientCoord(ev: PointerEvent | MouseEvent | TouchEvent): ClientCoordinates {\n if ((ev as TouchEvent).touches) {\n const te = ev as TouchEvent;\n if (te.touches.length) {\n return te.touches[0];\n }\n return te.changedTouches[0];\n }\n return (ev as PointerEvent | MouseEvent);\n}","import { Bitmap } from './bitmap'\n\nexport class CanvasState {\n image: Bitmap;\n floatingLayer: Bitmap;\n layerOffsetX: number;\n layerOffsetY: number;\n\n constructor(bitmap?: Bitmap) {\n this.image = bitmap;\n this.layerOffsetX = 0;\n this.layerOffsetY = 0;\n }\n\n get width() {\n return this.image.width;\n }\n\n get height() {\n return this.image.height;\n }\n\n copy() {\n const res = new CanvasState();\n res.image = this.image.copy();\n\n if (this.floatingLayer) {\n res.floatingLayer = this.floatingLayer.copy();\n res.floatingLayer.x0 = this.layerOffsetX;\n res.floatingLayer.y0 = this.layerOffsetY;\n }\n res.layerOffsetX = this.layerOffsetX;\n res.layerOffsetY = this.layerOffsetY;\n\n return res;\n }\n\n equals(other: CanvasState) {\n if (!this.image.equals(other.image) || (this.floatingLayer && !other.floatingLayer) || (!this.floatingLayer && other.floatingLayer)) return false;\n\n if (this.floatingLayer) return this.floatingLayer.equals(other.floatingLayer) && this.layerOffsetX === other.layerOffsetX && this.layerOffsetY === other.layerOffsetY;\n\n return true;\n }\n\n mergeFloatingLayer() {\n if (!this.floatingLayer) return;\n\n this.floatingLayer.x0 = this.layerOffsetX;\n this.floatingLayer.y0 = this.layerOffsetY;\n\n this.image.apply(this.floatingLayer, true);\n this.floatingLayer = undefined;\n }\n\n copyToLayer(left: number, top: number, width: number, height: number, cut = false) {\n if (width === 0 || height === 0) return;\n\n if (width < 0) {\n left += width;\n width = -width;\n }\n\n if (height < 0) {\n top += height;\n height = -height;\n }\n\n this.floatingLayer = this.image.copy(left, top, width, height);\n this.layerOffsetX = this.floatingLayer.x0;\n this.layerOffsetY = this.floatingLayer.y0;\n\n if (cut) {\n for (let c = 0; c < width; c++) {\n for (let r = 0; r < height; r++) {\n this.image.set(left + c, top + r, 0);\n }\n }\n }\n }\n\n inFloatingLayer(col: number, row: number) {\n if (!this.floatingLayer) return false;\n\n col = col - this.layerOffsetX;\n row = row - this.layerOffsetY;\n\n return col >= 0 && col < this.floatingLayer.width && row >= 0 && row < this.floatingLayer.height;\n }\n}","import * as svg from './svgUtil'\nimport { SideBarHost, SideBar } from './sidebar';\nimport { SpriteHeaderHost, SpriteHeader } from './header';\nimport { CanvasGrid } from './canvasGrid';\nimport { ReporterBar } from './reporterBar';\nimport {\n Edit, PaintTool, getPaintToolShortcut,\n PaintEdit, OutlineEdit, LineEdit, CircleEdit, FillEdit, MarqueeEdit\n} from './tools';\nimport { Bitmap, resizeBitmap } from './bitmap';\nimport { CanvasState } from './canvasState';\nimport { TextButton, UndoRedoGroup } from './buttons';\nimport { tickEvent } from '../telemetry/appinsights';\n\nexport const TOTAL_HEIGHT = 465;\n\nconst PADDING = 10;\n\nconst DROP_DOWN_PADDING = 4;\n\n// Height of toolbar (the buttons above the canvas)\nexport const HEADER_HEIGHT = 0;\n\n// Spacing between the toolbar and the canvas\nconst HEADER_CANVAS_MARGIN = 10;\n\n// Height of the bar that displays editor size and info below the canvas\nconst REPORTER_BAR_HEIGHT = 31;\n\n// Spacing between the canvas and reporter bar\nconst REPORTER_BAR_CANVAS_MARGIN = 5;\n\n// Spacing between palette and paint surface\nconst SIDEBAR_CANVAS_MARGIN = 10;\n\nconst SIDEBAR_WIDTH = 65;\n\n// Total allowed height of paint surface\nconst CANVAS_HEIGHT = 500 - HEADER_HEIGHT - HEADER_CANVAS_MARGIN\n - REPORTER_BAR_HEIGHT - REPORTER_BAR_CANVAS_MARGIN - PADDING + DROP_DOWN_PADDING * 2;\n\nconst WIDTH = PADDING + SIDEBAR_WIDTH + SIDEBAR_CANVAS_MARGIN + CANVAS_HEIGHT + PADDING - DROP_DOWN_PADDING * 2;\n\nexport const COLORS = [\n \"#ffffff\",\n \"#ff2121\",\n \"#ff93c4\",\n \"#ff8135\",\n \"#fff609\",\n \"#249ca3\",\n \"#78dc52\",\n \"#003fad\",\n \"#87f2ff\",\n \"#8e2ec4\",\n \"#a4839f\",\n \"#5c406c\",\n \"#e5cdc4\",\n \"#91463d\",\n \"#000000\"\n];\n\nexport class SpriteEditor implements SideBarHost, SpriteHeaderHost {\n private group: svg.Group;\n private toolbarRoot: svg.SVG;\n\n private paintSurface: CanvasGrid;\n private sidebar: SideBar;\n private header: SpriteHeader;\n // private bottomBar: ReporterBar;\n // private gallery: Gallery;\n\n private state: CanvasState;\n\n // When changing the size, keep the old bitmap around so that we can restore it\n private cachedState: CanvasState;\n\n private edit: Edit;\n private activeTool: PaintTool = PaintTool.Normal;\n private toolWidth = 1;\n public color = 1;\n\n private cursorCol = 0;\n private cursorRow = 0;\n\n private undoStack: CanvasState[] = [];\n private redoStack: CanvasState[] = [];\n private undoRedo: UndoRedoGroup = undefined;\n\n private columns: number = 16;\n private rows: number = 16;\n\n private shiftDown: boolean = false;\n private altDown: boolean = false;\n private mouseDown: boolean = false;\n\n private closeHandler: () => void;\n\n public paintGestureCount: number = 0;\n public paintGestureInterval: any;\n\n constructor(bitmap: Bitmap, blocksInfo?: {}, protected lightMode = false, public scale = 1) {\n\n this.columns = bitmap.width;\n this.rows = bitmap.height;\n\n this.state = new CanvasState(bitmap.copy())\n\n this.toolbarRoot = new svg.SVG();\n this.toolbarRoot.setClass(\"sprite-canvas-controls\");\n this.group = this.toolbarRoot.group();\n this.createDefs();\n\n this.paintSurface = new CanvasGrid(COLORS, this.state.copy(), this.lightMode, this.scale);\n\n this.paintSurface.drag((col, row) => {\n this.debug(\"gesture (\" + PaintTool[this.activeTool] + \")\");\n if (!this.altDown) {\n this.setCell(col, row, this.color, false);\n }\n\n // this.bottomBar.updateCursor(col, row);\n });\n\n this.paintGestureInterval = setInterval(this.logEvents, 5000);\n\n this.paintSurface.up((col, row) => {\n this.debug(\"gesture end (\" + PaintTool[this.activeTool] + \")\");\n this.paintGestureCount += 1;\n if (this.altDown) {\n const color = this.state.image.get(col, row);\n this.sidebar.setColor(color);\n } else {\n this.paintSurface.onEditEnd(col, row, this.edit);\n if (this.state.floatingLayer && !this.paintSurface.state.floatingLayer) {\n this.pushState(true);\n this.state = this.paintSurface.state.copy();\n this.rePaint();\n }\n this.commit();\n this.shiftAction();\n }\n\n this.mouseDown = false;\n });\n\n this.paintSurface.down((col, row) => {\n if (!this.altDown) {\n this.setCell(col, row, this.color, false);\n }\n this.mouseDown = true;\n });\n\n this.paintSurface.move((col, row) => {\n this.drawCursor(col, row);\n this.shiftAction()\n // this.bottomBar.updateCursor(col, row);\n });\n\n this.paintSurface.leave(() => {\n if (this.edit) {\n this.rePaint();\n if (this.edit.isStarted && !this.shiftDown) {\n this.commit();\n }\n }\n // this.bottomBar.hideCursor();\n });\n\n this.sidebar = new SideBar(['url(\"#alpha-background\")'].concat(COLORS), this, this.group);\n this.sidebar.setColor(COLORS.length >= 3 ? 3 : 1); // colors omits 0\n\n // this.header = new SpriteHeader(this);\n // this.gallery = new Gallery(blocksInfo);\n // this.bottomBar = new ReporterBar(this.group, this, REPORTER_BAR_HEIGHT);\n\n this.updateUndoRedo();\n\n // Sets canvas scale\n this.scale = scale;\n }\n\n setSidebarColor(color: number) {\n this.sidebar.setColor(color);\n }\n\n setCell(col: number, row: number, color: number, commit: boolean): void {\n if (commit) {\n this.state.image.set(col, row, color);\n this.paintCell(col, row, color);\n }\n else if (this.edit) {\n if (!this.edit.isStarted) {\n this.paintSurface.onEditStart(col, row, this.edit);\n\n if (this.state.floatingLayer && !this.paintSurface.state.floatingLayer) {\n this.pushState(true);\n this.state = this.paintSurface.state.copy();\n }\n }\n this.edit.update(col, row);\n this.cursorCol = col;\n this.cursorRow = row;\n this.paintEdit(this.edit, col, row);\n }\n }\n\n render(el: HTMLDivElement): void {\n // el.appendChild(this.header.getElement());\n // el.appendChild(this.gallery.getElement());\n el.appendChild(this.toolbarRoot.el);\n this.layout();\n // this.toolbarRoot.attr({ \"width\": `${65}px`, \"height\": this.outerHeight() + \"px\" });\n // this.toolbarRoot.el.style.position = \"absolute\";\n // this.toolbarRoot.el.style.top = \"0px\";\n // this.toolbarRoot.el.style.left = \"0px\";\n\n let canvasHolder = document.createElement(\"div\")\n canvasHolder.setAttribute(\"class\", \"sprite-canvas-container\")\n el.appendChild(canvasHolder)\n this.paintSurface.render(canvasHolder);\n }\n\n layout(): void {\n if (!this.toolbarRoot) {\n return;\n }\n\n this.paintSurface.setGridDimensions(CANVAS_HEIGHT);\n\n // The width of the palette + editor\n const paintAreaTop = (HEADER_HEIGHT + HEADER_CANVAS_MARGIN);\n const paintAreaLeft = (PADDING + SIDEBAR_WIDTH + SIDEBAR_CANVAS_MARGIN);\n\n // this.sidebar.translate(PADDING, paintAreaTop);\n // TODO(dz): hacky scaling\n this.paintSurface.updateBounds(paintAreaTop, paintAreaLeft, CANVAS_HEIGHT, CANVAS_HEIGHT);\n // this.bottomBar.layout(\n // HEADER_HEIGHT + HEADER_CANVAS_MARGIN + (CANVAS_HEIGHT + REPORTER_BAR_CANVAS_MARGIN),\n // PADDING + SIDEBAR_WIDTH + SIDEBAR_CANVAS_MARGIN, CANVAS_HEIGHT);\n\n // this.gallery.layout(0, HEADER_HEIGHT, TOTAL_HEIGHT - HEADER_HEIGHT);\n // this.header.layout();\n }\n\n rePaint() {\n this.paintSurface.repaint();\n }\n\n setActiveColor(color: number, setPalette = false) {\n if (setPalette) {\n }\n else if (this.color != color) {\n this.color = color;\n\n // If the user is erasing, go back to pencil\n if (this.activeTool === PaintTool.Erase) {\n this.sidebar.setTool(PaintTool.Normal);\n } else {\n this.updateEdit();\n }\n }\n }\n\n setActiveTool(tool: PaintTool) {\n if (this.activeTool != tool) {\n this.activeTool = tool;\n this.updateEdit()\n }\n }\n\n setToolWidth(width: number) {\n if (this.toolWidth != width) {\n this.toolWidth = width;\n this.updateEdit();\n }\n }\n\n initializeUndoRedo(undoStack: CanvasState[], redoStack: CanvasState[]) {\n if (undoStack) {\n this.undoStack = undoStack;\n }\n if (redoStack) {\n this.redoStack = redoStack;\n }\n this.updateUndoRedo();\n }\n\n getUndoStack() {\n return this.undoStack.slice();\n }\n\n getRedoStack() {\n return this.redoStack.slice();\n }\n\n undo() {\n if (this.undoStack.length) {\n this.debug(\"undo\");\n tickEvent(\"shareExperiment.mod.undo\");\n const todo = this.undoStack.pop();\n this.pushState(false);\n\n // The current state is at the top of the stack unless the user has pressed redo, so\n // we need to discard it\n if (todo.equals(this.state)) {\n this.undo();\n return;\n }\n this.restore(todo);\n }\n this.updateUndoRedo();\n }\n\n redo() {\n if (this.redoStack.length) {\n this.debug(\"redo\");\n tickEvent(\"shareExperiment.mod.redo\");\n const todo = this.redoStack.pop();\n this.pushState(true);\n this.restore(todo);\n }\n this.updateUndoRedo();\n }\n\n resize(width: number, height: number) {\n if (!this.cachedState) {\n this.cachedState = this.state.copy();\n this.undoStack.push(this.cachedState)\n this.redoStack = [];\n }\n this.state.image = resizeBitmap(this.cachedState.image, width, height);\n this.afterResize(true);\n }\n\n setSizePresets(presets: [number, number][]) {\n // this.bottomBar.setSizePresets(presets, this.columns, this.rows);\n }\n\n canvasWidth() {\n return this.columns;\n }\n\n canvasHeight() {\n return this.rows;\n }\n\n outerWidth() {\n return WIDTH;\n }\n\n outerHeight() {\n return TOTAL_HEIGHT;\n }\n\n bitmap() {\n return this.state;\n }\n\n showGallery() {\n /*\n this.gallery.show((result: Bitmap, err?: string) => {\n if (err && err !== \"cancelled\") {\n console.error(err);\n }\n else if (result) {\n this.redoStack = [];\n this.pushState(true);\n this.restore(new CanvasState(result));\n this.hideGallery();\n this.header.toggle.toggle(true);\n }\n });*/\n }\n\n hideGallery() {\n //this.gallery.hide();\n }\n\n closeEditor() {\n if (this.closeHandler) {\n const ch = this.closeHandler;\n this.closeHandler = undefined;\n ch();\n }\n if (this.state.floatingLayer) {\n this.state.mergeFloatingLayer();\n this.pushState(true);\n }\n }\n\n onClose(handler: () => void) {\n this.closeHandler = handler;\n }\n\n switchIconTo(tool: PaintTool) {\n if (this.activeTool === tool) return;\n\n const btn = this.sidebar.getButtonForTool(tool) as TextButton;\n\n switch (tool) {\n case PaintTool.Rectangle:\n updateIcon(btn, \"\\uf096\", (\"Rectangle\"));\n break;\n case PaintTool.Circle:\n updateIcon(btn, \"\\uf10c\", (\"Circle\"));\n break;\n case PaintTool.Normal:\n updateIcon(btn, \"\\uf040\", (\"Pencil\"));\n break;\n case PaintTool.Line:\n updateIcon(btn, \"\\uf07e\", (\"Line\"));\n break;\n default: // no alternate icon, do not change\n return;\n }\n\n btn.onClick(() => {\n if (tool != PaintTool.Circle && tool != PaintTool.Line) {\n this.setIconsToDefault();\n this.sidebar.setTool(tool);\n }\n });\n\n function updateIcon(button: TextButton, text: string, title: string) {\n const shortcut = getPaintToolShortcut(tool);\n\n button.setText(text);\n button.title(title);\n button.shortcut(shortcut);\n }\n }\n\n setIconsToDefault() {\n this.switchIconTo(PaintTool.Rectangle);\n this.switchIconTo(PaintTool.Normal);\n }\n\n logEvents = () => {\n if (this.paintGestureCount > 0) {\n tickEvent(\"shareExperiment.mod.paintGestureUp\", {\"count\": this.paintGestureCount});\n this.paintGestureCount = 0;\n }\n }\n\n cleanupInterval = () => {\n clearInterval(this.paintGestureInterval);\n this.paintGestureInterval = null;\n }\n\n private keyDown = (event: KeyboardEvent) => {\n if (event.keyCode == 16) { // Shift\n this.shiftDown = true;\n this.shiftAction();\n }\n\n if (event.keyCode === 18) { // Alt\n this.discardEdit();\n this.paintSurface.setEyedropperMouse(true);\n this.altDown = true;\n }\n\n if (this.state.floatingLayer) {\n let didSomething = true;\n\n switch (event.keyCode) {\n case 8: // backspace\n case 46: // delete\n event.preventDefault();\n event.stopPropagation();\n this.state.floatingLayer = undefined;\n break;\n case 37: // Left arrow\n this.state.layerOffsetX--;\n break;\n case 38: // Up arrow\n this.state.layerOffsetY--;\n break;\n case 39: // Right arrow\n this.state.layerOffsetX++;\n break;\n case 40: // Down arrow\n this.state.layerOffsetY++;\n break;\n default:\n didSomething = false;\n }\n\n if (didSomething) {\n this.updateEdit();\n this.pushState(true);\n this.paintSurface.restore(this.state, true);\n }\n }\n\n const tools = [\n PaintTool.Fill,\n PaintTool.Normal,\n PaintTool.Rectangle,\n PaintTool.Erase,\n PaintTool.Circle,\n PaintTool.Line,\n PaintTool.Marquee\n ]\n\n tools.forEach(tool => {\n if (event.key === getPaintToolShortcut(tool)) {\n this.setIconsToDefault();\n this.switchIconTo(tool);\n this.sidebar.setTool(tool);\n }\n });\n\n const zeroKeyCode = 48;\n const nineKeyCode = 57;\n\n if (event.keyCode >= zeroKeyCode && event.keyCode <= nineKeyCode) {\n let color = event.keyCode - zeroKeyCode;\n if (this.shiftDown) {\n color += 9;\n }\n if (color <= COLORS.length) { // colors omits 0\n this.sidebar.setColor(color);\n }\n }\n }\n\n private keyUp = (event: KeyboardEvent) => {\n // If not drawing a circle, switch back to Rectangle and Pencil\n if (event.keyCode === 16) { // Shift\n this.shiftDown = false;\n this.clearShiftAction();\n } else if (event.keyCode === 18) { // Alt\n this.altDown = false;\n this.paintSurface.setEyedropperMouse(false);\n this.updateEdit();\n }\n }\n\n private undoRedoEvent = (event: KeyboardEvent) => {\n const controlOrMeta = event.ctrlKey || event.metaKey; // ctrl on windows, meta on mac\n if (event.key === \"Undo\" || (controlOrMeta && event.key === \"z\")) {\n this.undo();\n event.preventDefault();\n event.stopPropagation();\n } else if (event.key === \"Redo\" || (controlOrMeta && event.key === \"y\")) {\n this.redo();\n event.preventDefault();\n event.stopPropagation();\n }\n }\n\n addKeyListeners() {\n document.addEventListener(\"keydown\", this.keyDown);\n document.addEventListener(\"keyup\", this.keyUp);\n document.addEventListener(\"keydown\", this.undoRedoEvent, true);\n }\n\n removeKeyListeners() {\n document.removeEventListener(\"keydown\", this.keyDown);\n document.removeEventListener(\"keyup\", this.keyUp);\n document.removeEventListener(\"keydown\", this.undoRedoEvent, true);\n this.paintSurface.removeMouseListeners();\n }\n\n private afterResize(showOverlay: boolean) {\n this.columns = this.state.width;\n this.rows = this.state.height;\n this.paintSurface.restore(this.state, true);\n // this.bottomBar.updateDimensions(this.columns, this.rows);\n this.layout();\n\n if (showOverlay) this.paintSurface.showResizeOverlay();\n\n // Canvas size changed and some edits rely on that (like paint)\n this.updateEdit();\n }\n\n private drawCursor(col: number, row: number) {\n if (this.edit) {\n this.paintSurface.drawCursor(this.edit, col, row);\n }\n }\n\n private paintEdit(edit: Edit, col: number, row: number, gestureEnd = false) {\n this.paintSurface.restore(this.state);\n this.paintSurface.applyEdit(edit, col, row, gestureEnd);\n }\n\n public commit() {\n if (this.edit) {\n if (this.cachedState) {\n this.cachedState = undefined;\n }\n this.pushState(true);\n this.paintEdit(this.edit, this.cursorCol, this.cursorRow, true);\n this.state = this.paintSurface.state.copy();\n this.updateEdit();\n this.redoStack = [];\n }\n }\n\n private pushState(undo: boolean) {\n const stack = undo ? this.undoStack : this.redoStack;\n if (stack.length && this.state.equals(stack[stack.length - 1])) {\n // Don't push empty commits\n return;\n }\n\n stack.push(this.state.copy());\n this.updateUndoRedo();\n }\n\n private discardEdit() {\n if (this.edit) {\n this.edit = undefined;\n this.rePaint();\n }\n }\n\n private updateEdit() {\n if (!this.altDown) {\n this.edit = this.newEdit();\n }\n }\n\n private restore(state: CanvasState) {\n if (state.width !== this.state.width || state.height !== this.state.height) {\n this.state = state;\n this.afterResize(false);\n }\n else {\n this.state = state.copy();\n this.paintSurface.restore(state, true);\n }\n }\n\n private updateUndoRedo() {\n // this.bottomBar.updateUndoRedo(this.undoStack.length === 0, this.redoStack.length === 0)\n this.sidebar.updateUndoRedo(this.undoStack.length === 0, this.redoStack.length === 0)\n }\n\n private paintCell(col: number, row: number, color: number) {\n this.paintSurface.writeColor(col, row, color);\n }\n\n private newEdit() {\n switch (this.activeTool) {\n case PaintTool.Normal:\n return new PaintEdit(this.columns, this.rows, this.color, this.toolWidth);\n case PaintTool.Rectangle:\n return new OutlineEdit(this.columns, this.rows, this.color, this.toolWidth);\n case PaintTool.Outline:\n return new OutlineEdit(this.columns, this.rows, this.color, this.toolWidth);\n case PaintTool.Line:\n return new LineEdit(this.columns, this.rows, this.color, this.toolWidth);\n case PaintTool.Circle:\n return new CircleEdit(this.columns, this.rows, this.color, this.toolWidth);\n case PaintTool.Erase:\n return new PaintEdit(this.columns, this.rows, 0, this.toolWidth);\n case PaintTool.Fill:\n return new FillEdit(this.columns, this.rows, this.color, this.toolWidth);\n case PaintTool.Marquee:\n return new MarqueeEdit(this.columns, this.rows, this.color, this.toolWidth);\n }\n }\n\n private shiftAction() {\n if (!this.shiftDown || this.altDown)\n return;\n\n switch (this.activeTool) {\n case PaintTool.Line:\n case PaintTool.Rectangle:\n case PaintTool.Circle:\n this.setCell(this.paintSurface.mouseCol, this.paintSurface.mouseRow, this.color, false);\n break;\n }\n }\n\n private clearShiftAction() {\n if (this.mouseDown)\n return;\n\n switch (this.activeTool) {\n case PaintTool.Line:\n case PaintTool.Rectangle:\n case PaintTool.Circle:\n this.updateEdit();\n this.paintSurface.restore(this.state, true);\n break;\n }\n }\n\n private debug(msg: string) {\n // if (this.debugText) {\n // this.debugText.text(\"DEBUG: \" + msg);\n // }\n }\n\n private createDefs() {\n this.toolbarRoot.define(defs => {\n const p = defs.create(\"pattern\", \"alpha-background\")\n .size(10, 10)\n .units(svg.PatternUnits.userSpaceOnUse);\n\n p.draw(\"rect\")\n .at(0, 0)\n .size(10, 10)\n .fill(\"white\");\n p.draw(\"rect\")\n .at(0, 0)\n .size(5, 5)\n .fill(\"#dedede\");\n p.draw(\"rect\")\n .at(5, 5)\n .size(5, 5)\n .fill(\"#dedede\");\n })\n }\n}","import React, { CSSProperties } from 'react';\n\nimport '../css/SpriteGallery.css';\nimport { Bitmap } from '../sprite-editor/bitmap';\nimport { bitmapToUrl } from '../bitmap_helpers';\n\nexport interface SpriteGalleryProps {\n height: number,\n options: Bitmap[],\n onClick: (b: Bitmap, idx?: number) => void,\n}\ninterface SpriteGalleryState {\n}\n\ninterface ItemProps {\n onClick: () => void,\n img: Bitmap\n}\nconst Item: React.FC = (props: ItemProps) => {\n let style: CSSProperties = {\n backgroundColor: \"blue\"\n }\n let classes = `item`\n let data = bitmapToUrl(props.img)\n return (\n \n
\n \n
\n );\n}\nexport class SpriteGallery extends React.Component\n{\n private spriteGallery: HTMLDivElement | undefined;\n\n constructor(props: SpriteGalleryProps) {\n super(props);\n\n this.state = {\n }\n\n }\n\n componentDidMount() {\n this.spriteGallery = this.refs[\"sprite-gallery\"] as HTMLDivElement\n\n // this.spriteGallery.setAttribute(\"style\", `height:${this.props.height}px`)\n }\n componentWillUnmount() {\n this.spriteGallery = undefined\n }\n\n clickHandler(idx: number) {\n this.props.onClick(this.props.options[idx], idx)\n }\n\n render() {\n let items = this.props.options\n .map((c, i) =>\n \n )\n\n return (\n \n {items}\n
\n );\n }\n}\n\nexport default SpriteGallery;\n\n","import React from 'react';\nimport { Bitmap } from '../sprite-editor/bitmap';\nimport * as SE from '../sprite-editor/spriteEditor'\nimport { SpriteEditor } from '../sprite-editor/spriteEditor';\nimport SpriteGallery, { SpriteGalleryProps } from './SpriteGallery';\nimport { TOOLBAR_WIDTH, TOOLBAR_HEIGHT } from '../sprite-editor/sidebar';\n\ninterface SpriteEditorProps {\n onPlay: () => void;\n scale: number;\n startImage: Bitmap;\n galleryProps: SpriteGalleryProps;\n}\ninterface SpriteEditorState {\n}\n\nexport class SpriteEditorComp extends React.Component\n{\n protected spriteEditorHolder: HTMLDivElement | undefined;\n public editor: SpriteEditor | undefined;\n\n constructor(props: SpriteEditorProps) {\n super(props);\n\n this.state = {\n }\n\n }\n\n componentDidMount() {\n this.spriteEditorHolder = this.refs['sprite-editor-holder'] as HTMLDivElement;\n this.renderSpriteEditor()\n }\n componentWillUnmount() {\n this.removeSpriteEditor();\n this.spriteEditorHolder = undefined;\n }\n componentDidUpdate() {\n this.editor.logEvents();\n this.editor.cleanupInterval();\n this.removeSpriteEditor()\n this.renderSpriteEditor()\n }\n\n // resize() {\n // this.spriteEditorHolder.style.transform = `scale(${this.props.scale})`;\n // }\n\n removeSpriteEditor() {\n let toRemove: Element[] = []\n for (let r of this.spriteEditorHolder.children)\n toRemove.push(r)\n toRemove\n .filter(r => r.className !== \"sprite-gallery\")\n .forEach(r =>\n this.spriteEditorHolder.removeChild(r));\n this.editor = null\n }\n\n renderSpriteEditor() {\n let currImg = this.props.startImage\n let spriteEditor = this.editor = new SpriteEditor(currImg, null, false, this.props.scale);\n spriteEditor.render(this.spriteEditorHolder);\n let controls = document.getElementsByClassName(\"sprite-canvas-controls\")[0]\n controls.setAttribute(\"viewBox\", `${0} ${0} ${TOOLBAR_WIDTH} ${TOOLBAR_HEIGHT}`)\n\n spriteEditor.rePaint();\n spriteEditor.setActiveColor(1, true);\n spriteEditor.setSizePresets([\n [8, 8],\n [16, 16],\n [32, 32],\n [10, 8]\n ]);\n\n this.spriteEditorHolder.className = ' sprite-editor-container sprite-editor-dropdown-bg sprite-editor-dropdown';\n spriteEditor.addKeyListeners();\n spriteEditor.onClose(() => {\n this.props.onPlay()\n });\n }\n\n render() {\n let gp = this.props.galleryProps\n return (\n \n \n\n \n
\n );\n }\n}\n\nexport default SpriteEditor;\n","import { Bitmap } from '../sprite-editor/bitmap';\nimport { COLORS } from '../sprite-editor/spriteEditor';\n\nconst base = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAAGKElEQVR4Xu2aMRYdJwxF7W2k9wbSpkqbBbtNk5TJBlI720jO+HhyMIFBgEBIc93ZZgR6744EzP/45Y/f/vnAHxQwUuAjABopz7RfFQBAQDBVAABN5WdyAIQBUwUA0FR+JgdAGDBVAABN5WdyAIQBUwUA0FR+JgdAGDBVAABN5WdyAIQBUwUA0FR+JgdAGDBVAABN5WdyAIQBUwUA0FR+JgdAGDBVAABN5WdyAIQBUwUA0FR+JncB4A8//vSdU3//+TvOBVHgGABrkOX/fusOhDEINAewBphEXiCUqHT2GDMAZ8BLJY0MYUmjaPmaAKgFX+R2/KRRJAi3AagNXd5Yopgi1SlKvlsAlIo6s1vxasiMNl5zTn1eDuCMwCNAejBFSxMPubY8XAqgltCtJDy14x2aeAJzGYA7hH4C80QTdmpyYv4lv8ICeCV7mgkA+H8ElwC4U2hPVXC3Lqe9gNsq4G6hPUBooQkA9p4eFow/xQQLAE/chuQWq7ZgK5GpgHUFTnkBaytUAxD46hBYa3MyhCoAWgtcst5K9BO1OLkVHwWgFTRaW89T4Tv5RxsqAGoZ6DnO6fCdWgUBUIF6D/CdWgUBEAAVFBgPAYDj2v33JBVwXEQAHNcOABW0A8BJET1VvxMPIgA4AaA3+ABwwuzTHgU+HUeogIM6agCodfEuWYvWXINyVR8DQG1FidelAAB2ycVgbQUAUFtR4nUpAIBdcjE4V+DXz399+PmXT8PCAOCwdDx4KQCAcGCqAACayv/uyS/47j+jbZgW/G6GhrNP4UuD9IIIgMMW8OANYS90qXIACEdTCuSVsBdGAJyS/70P11rwpUgPhAC4iKHZ0+GiZU2HzQ8es3kC4LQl5QCzxixalmpYTsGqcuoGiwqgVuu91aYC6nL3NZpGZViwLLWQTxCyB1STeTyQxvXE+Oz7nkzzHD0NUwGV/Ro1QnkZW8JpVHoAVLRK6+uA4pKWhdLKFQArFs0cIiK24NbhY7TyA6AygKNGLCtVCoFL8F2XzbRgBXFrIUYqoFZbWpiWamgAVJXz+2C9AGpeTSxMSy10rSr2TkALLijWu4fLx0ethCteMgB8ALD3UjW/hE6f12hXvdVFc3wLvnuunh8iXM8AYOaSxiGit4JqgrIiVunlaQEpBREAvzmmtafRAHgFRKMxS/lI4JPuoQFQYQ94h4i890srWgvAnq0LACq14NZdmbQljVaqXc9J4OvZDwKgAoBSU7xDuOJrCAA2AHxqJ737I88ASl+yUiV+yhsAE8Vab/jTXu8WudWKe9rTrrb6NM/qlwwAsx+QPpnRqmCSQ0jU+8D023BLp1TjVwNYuzKRVsJUyFaL6jHlhMqXr6GVXz5emu+rASwZPXKP91T5IlxK98LXs80AwMFT8Igp0qpwWgWU5lraB7dyBkDBIURyCVs7hGj9bm43lFLoaq1X2kkAsBPAa/jTZzup8LuB6pmvtG2QANmqdqU1AOA3VVoCS8QdObz0gGE9tqVRuj6JXtf4VwPYI2hrYy2JJTXFGrTWCTjfVvRePr/2GkYCSY/5EiOueN7Aq10+S/bCvfm+tgJqw9gDbquajsTa+YzmHvi1AEruAPM9zSW8tOq1gPBeFe9K13qRW3kCYMenuBZUtf9vmTAad+Vzrc+KPV+R+DFCwanWmys1V1oRPUGYXsPcVT/V46kF18bV8n9VBdSCTtp+Zk6H0hfAYpwUQMnaXgXgLUhLwJ72IhE5UmuWVrhS5SzpcDyA0kRmQMifTQF8+p2f1pxP7dkif2leJZ3SlzzVzk0LzgW3MCAXttW6pfdj0uuXNGeL/FcAeG9b8tjHVcDTAKwJ92RSrYX3GJtX3hzyEw41kgr4NObS40gA803+brE1AMphu0/LrVzSE+gVI//7/W+tOFLYZ8aNAJgXGAAsOACAMixbAEpewuMAlKXOqCgKAGAUJ53mAYBOjYuybACM4qTTPADQqXFRlg2AUZx0mgcAOjUuyrIBMIqTTvMAQKfGRVk2AEZx0mkeAOjUuCjLBsAoTjrNAwCdGhdl2QAYxUmneQCgU+OiLBsAozjpNA8AdGpclGUDYBQnneYBgE6Ni7JsAIzipNM8/gWNA2aNl2P7EgAAAABJRU5ErkJggg==\";\nconst defaultBackground = 13;\nconst colors = [null].concat(COLORS)\n\n\nexport async function mkScreenshotAsync(bgColor: number, images: Bitmap[]): Promise {\n const canvas = document.createElement(\"canvas\");\n const context = canvas.getContext(\"2d\");\n\n const background = await loadImageAsync(base);\n\n canvas.width = background.width;\n canvas.height = background.height;\n\n context.drawImage(background, 0, 0);\n\n if (bgColor != defaultBackground) {\n const imgData = context.getImageData(0, 0, canvas.width, canvas.height);\n const data = imgData.data;\n const toReplace = colorToArray(colors[defaultBackground]);\n const replace = colorToArray(colors[bgColor]);\n\n for (let index = 0; index < data.length; index += 4) {\n if (data[index] === toReplace[0] && data[index + 1] === toReplace[1] && data[index + 2] === toReplace[2]) {\n data[index] = replace[0];\n data[index + 1] = replace[1];\n data[index + 2] = replace[2];\n }\n }\n\n context.putImageData(imgData, 0, 0);\n }\n\n drawImage(images[0], context, 25, 85 - images[0].height);\n drawImage(images[1], context, 10, 105 - images[1].height);\n drawImage(images[2], context, 110, 105 - images[2].height);\n\n return canvas.toDataURL();\n}\n\nfunction drawImage(image: Bitmap, context: CanvasRenderingContext2D, left: number, top: number) {\n let current: number;\n for (let x = 0; x < image.width; x++) {\n for (let y = 0; y < image.height; y++) {\n current = image.get(x, y);\n\n if (current) {\n context.fillStyle = colors[current];\n context.fillRect(left + x, top + y, 1, 1);\n }\n }\n }\n}\n\n\nexport async function loadImageAsync(uri: string): Promise {\n return new Promise((resolve, reject) => {\n const el = document.createElement(\"img\");\n\n el.onload = () => resolve(el);\n el.onerror = (e) => reject(e);\n\n el.src = uri;\n });\n}\n\nfunction colorToArray(color: string) {\n return [\n parseInt(color.substr(1, 2), 16),\n parseInt(color.substr(3, 2), 16),\n parseInt(color.substr(5, 2), 16)\n ];\n}","import React from 'react';\nimport TabBar from './TabBar'\nimport ColorPicker from './ColorPicker'\n\nimport '../css/GameModder.css';\nimport '../css/icons.css';\nimport '../css/SpriteEditor.css';\nimport { imageLiteralToBitmap, Bitmap } from '../sprite-editor/bitmap';\nimport { textToBitmap, createPngImg, updatePngImg, bitmapToBinHex, bitmapToText, isEmptyBitmap } from '../bitmap_helpers';\nimport { tickEvent } from '../telemetry/appinsights';\nimport { UserProject } from './util';\nimport { bunny_hop_bin_js } from '../games/bunny_hop/bin.js';\nimport { bunny_hop_main_ts } from '../games/bunny_hop/main.ts';\nimport { bunny_hop_main_blocks } from '../games/bunny_hop/main.blocks';\nimport { gameModderState } from '../App';\nimport { SpriteEditorComp } from './SpriteEditor';\nimport * as SE from '../sprite-editor/spriteEditor'\nimport { mkScreenshotAsync } from \"./screenshot\";\nimport { SpriteGalleryProps } from './SpriteGallery';\n// import { bunnyHopBinJs } from '../../public/games/bunny_hop/bunny_hop_min.js.js';\n\nexport interface GameModderProps {\n playHandler: (proj: UserProject) => void;\n changeMode: (mode: \"play\" | \"share\" | \"mod\") => void;\n}\n\nexport interface UserImage {\n default: Bitmap,\n data: Bitmap,\n name: string,\n callToAction: string,\n}\nexport interface GameModderState {\n userImages: UserImage[]\n currentImg: number,\n currentBackground: number,\n alertShown?: boolean;\n pulse?: boolean;\n}\nfunction IsGameModderState(s: any): s is GameModderState {\n return !!(s as GameModderState).userImages\n}\n\nfunction CreateEmptyImageText(w: number, h: number) {\n let res = \"\\n\"\n for (let i = 0; i < h; i++)\n res += \".\".repeat(w) + \"\\n\"\n return res\n}\nfunction GetImageTextDimensions(s: string): { w: number, h: number } {\n s = s.trim()\n let lns = s.split(\"\\n\")\n let ln1 = lns[0].replace(/\\s/g, \"\")\n return {\n w: ln1.length,\n h: lns.length\n }\n}\n\n// TODO: either we need binHexToBitmap or we need the original source code\n\nfunction mkPxtJson(): string {\n let json = {\n \"name\": \"SampleIMages\",\n \"dependencies\": {\n \"device\": \"*\"\n },\n \"description\": \"\",\n \"files\": [\n \"main.blocks\",\n \"main.ts\",\n \"README.md\"\n ],\n \"preferredEditor\": \"blocksprj\"\n }\n return JSON.stringify(json)\n}\n\nasync function getTxtFile(url: string): Promise {\n return new Promise((resolve, reject) => {\n var xhr = new XMLHttpRequest();\n xhr.open('GET', url, true);\n xhr.responseType = 'text';\n xhr.onload = function () {\n var status = xhr.status;\n if (status === 200) {\n resolve(xhr.response);\n } else {\n const err = new Error(`Error response (${status}) from '${url}'; content: ${xhr.response}`);\n reject(err)\n }\n };\n xhr.send();\n });\n};\n\nconst moddableImages: { [k: string]: string } = {\n \"character\": `\n . . . . . . . . . . . .\n . . . 1 1 . 1 1 . . . .\n . . . 1 3 . 1 3 . . . .\n . . . . 1 3 . 1 3 . . .\n . . . . 1 3 . 1 3 . . .\n . . . 1 1 1 1 1 1 . . .\n . . 1 1 1 1 1 1 1 1 . .\n . . 1 1 1 f 1 1 f 1 . .\n . . 1 1 1 1 1 1 1 1 . .\n . . 1 1 1 1 f f 1 1 . .\n . . . 1 1 1 1 1 1 . . .\n . 1 1 1 1 1 1 1 1 1 1 .\n . 1 1 1 1 1 1 1 1 1 1 .\n . . . . 1 1 1 1 . . . .\n . . . . 1 1 1 1 . . . .\n . . . . 1 1 1 1 . . . .\n . . . . 1 1 1 1 . . . .\n . . . . . 1 1 . . . . .\n . . . . . . 1 . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n `,\n \"obstacle1\": `\n . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . 7 . . . . . . . . . . .\n . . . . . . . . . . 7 7 . . . . . . . . . .\n . . . . . . . . . 6 7 7 . . . . . . . . . .\n . . . . . . . . 6 6 7 7 7 . . . . . . . . .\n . . . . . . . . 6 6 7 7 7 . . . . . . . . .\n . . . . . . . . 6 6 7 7 7 7 . . . . . . . .\n . . . . . . . 6 6 7 7 7 7 7 . . . . . . . .\n . . . . . . 6 6 6 7 7 7 7 7 . . . . . . . .\n . . . . . . . . 6 6 6 6 6 . . . . . . . . .\n . . . . . . . . 6 6 6 6 . . . . . . . . . .\n . . . . . . . 6 6 6 6 6 7 7 . . . . . . . .\n . . . . . . 6 6 6 7 7 7 7 7 7 . . . . . . .\n . . . . . . 6 6 6 7 7 7 7 7 7 7 . . . . . .\n . . . . . . 6 6 7 7 7 7 7 7 7 7 7 . . . . .\n . . 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 . . .\n . . . 6 6 6 6 6 7 7 7 7 7 6 6 6 6 6 . . . .\n . . . . . . . . 6 6 6 6 7 7 . . . . . . . .\n . . . . . . . . 6 6 6 7 7 7 . . . . . . . .\n . . . . . . 6 6 7 7 7 7 7 7 7 . . . . . . .\n . . . 6 6 6 7 7 7 7 7 7 7 7 7 7 7 . . . . .\n 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 . . . .\n 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 6\n . . . 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 6 .\n . . . . . 6 6 6 6 e e e e 7 7 7 7 7 6 6 6 .\n . . . . . . . . . e e e e . . . . . . . . .\n . . . . . . . . . e e e e . . . . . . . . .\n . . . . . . . . . e e e e . . . . . . . . .\n . . . . . . . 6 . e e e e . . 6 . . . . . .\n . . . 6 6 6 . . . e e e e . 6 . . . . . . .\n . . . 6 . 6 . . . e e e e . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . .\n `,\n \"obstacle2\": `\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . e e e e e . . . . .\n . . . . e e b b b e e . . . .\n . . . e e b e e e b e e . . .\n . . . e e b e e b b e e . . .\n . . . . e e b b e e e . . . .\n . . . e b e e e e b b e . . .\n . . . e e b b b b e e e . . e\n . . . e e e e e e e e . . e .\n . . . e b e e b e b e . e . e\n . . . e b e e e e b e e . . .\n . . . e e e b e e e e . . . .\n . . e e b e b e b e e e . . .\n . e e e e e e e e e e e e . .\n . . . . . . e e . . . . . . .\n `,\n \"background\": `\n . . . d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d . . .\n . . d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d . .\n . d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d .\n d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d\n d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d\n d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d\n d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d\n d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d\n d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d\n d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d\n d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d\n d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d\n d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d\n d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d\n d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d\n d d d d d d d d d d d d d d d d d d d b d d d d d d d d d d d d d d d d\n d d d d d d d d d d d d d d d d d d d b d d d d d d d d d d d d d d d d\n d d d d d d d d d d d d d d d d d d d b d d d d d d d d d d d d d d d d\n d d d d d d d d d d d d d d d d d d d b d d d d d d d d d d d d d d d d\n d d d d d d d d d d d d d d d d d d b b d d d d d d d d d d d d d d d d\n d d d d d d d d d d d d d d d d d d b b b d d d d d d d d d d d d d d d\n d d d d d d d d d d d d d d d d d b b b b d d d d d d d d d d d d d d d\n d d d d d d d d d d d d d d d b b b b b d d d d d d d d d d d d d d d d\n d d d d d d d d d d d d d d d d d d b b d d d d d d d d d d d d d d d d\n d d d d d d d d d d d d d d d d d b b b b d d d d d d d d d d d d d d d\n d d d d d d d d d d d d d d d d d b b b b d d d d d d d d d d d d d d d\n d d d d d d d d d d d d d d d d d b b b b b d d d d d d d d d d d d d d\n d d d d d d d d d d d d d d d d b b b b b b b d d d d d d d d d d d d d\n d d d d d d d d d d d d d d b b b b b b b b b b d d d d d d d d d d d d\n d d d d d d d d d d d d b b b b d d b b b b b b b d d d d d d d d d d d\n d d d d d d d d d d d d d d d d d b b b b d d d d d d d d d d d d d d d\n d d d d d d d d d d d d d d d d d b b b b d d d d d d d d d d d d d d d\n d d d d d d d d d d d d d d d d b b b b b b d d d d d d d d d d d d d d\n d d d d d d d d d d d d d d d d b b b b b b d d d d d d d d d d d d d d\n d d d d d d d d d d d d d d d b b b b b b b b d d d d d d d d d d d d d\n d d d d d d d d d d d d b b b b b b b b b b b b b d d d d d d d d d d d\n d d d d d d d d b b b b b b b b b b b b b b b b b b b b d d d d d d d d\n d d d d d d d d d d d b b b b b b b b b b b b b b b b d d d d d d d d d\n d d d d d d d d d d d d d d d d b b b b b b b d b d d d d d d d d d d d\n d d d d d d d d d d d d d d b b b b b b b b b b b b b b b b d d d d d d\n d d d d d d d d d d d b b b b b b b b b b b b b b b b b b d d d d d d d\n d d d d d d d d b b b b b b b b b b b b b b b b b b b d d d d d d d d d\n d d d d d d d d d d b b b b b d d d b b b b d d d d d d d d d d d d d d\n d d d d d d d d d d d d d d d d d d b b b d d d d d d d d d d d d d d d\n d d d d d d d d d d d d d d d d d d b d b d d d d d d d d d d d d d d d\n . d d d d d d d d d d d d d d d d d b d b d d d d d d d d d d d d d d .\n . . d d d d d d d d d d d d d d d d b b b d d d d d d d d d d d d d . .\n . . . d d d d d d d d d d d d d d d b b b d d d d d d d d d d d d . . .\n`\n}\nconst CALL_TO_ACTION: { [k: string]: string } = {\n \"character\": \"Draw your character!\",\n \"obstacle1\": \"Draw an obstacle!\",\n \"obstacle2\": \"Draw another obstacle!\",\n \"background\": \"Choose your background!\"\n}\n// TODO:\n// 15x32 stump\n// 22x32 tree\n\n\n\nfunction range(len: number): number[] {\n return new Array(len)\n .fill(undefined)\n .map((_, i) => i)\n}\nfunction img2Rows(imgTxt: string) {\n let rows = imgTxt.split(\"\\n\")\n .map(r => r.replace(/\\s/g, \"\"))\n .filter(r => !!r)\n return rows\n}\nfunction rows2img(rows: string[]): string {\n return rows.join('\\n')\n}\nfunction resizeUp(imgTxt: string, targW: number, targH: number): string {\n let rows = img2Rows(imgTxt)\n let oldW = rows[0].length\n let oldH = rows.length\n\n if (oldW > targW || oldH > targH)\n return imgTxt;\n\n const left2add = Math.floor((targW - oldW) / 2)\n const right2add = targW - oldW - left2add\n const top2add = targH - oldH\n\n let addCols = (numL: number, numR: number) => {\n let l = '.'.repeat(numL)\n let r = '.'.repeat(numR)\n rows = rows.map(o => l + o + r)\n }\n let addRows = (numT: number) => {\n let newR = range(numT)\n .map(_ => '.'.repeat(targW))\n rows = [...newR, ...rows]\n }\n\n addCols(left2add, right2add)\n addRows(top2add)\n\n return rows2img(rows)\n}\nfunction resizeTo24x24(imgTxt: string) {\n return resizeUp(imgTxt, 24, 24)\n}\nfunction mirror(imgTxt: string): string {\n let rows = img2Rows(imgTxt)\n\n rows = rows.map(r =>\n r.split(\"\").reverse().join(\"\"))\n\n return rows2img(rows)\n}\n\nconst SAMPLE_CHARACTERS = [`.`, `\n . . . . . . . . . . b 5 b . . .\n . . . . . . . . . b 5 b . . . .\n . . . . . . . . . b c . . . . .\n . . . . . . b b b b b b . . . .\n . . . . . b b 5 5 5 5 5 b . . .\n . . . . b b 5 d 1 f 5 5 d f . .\n . . . . b 5 5 1 f f 5 d 4 c . .\n . . . . b 5 5 d f b d d 4 4 . .\n b d d d b b d 5 5 5 4 4 4 4 4 b\n b b d 5 5 5 b 5 5 4 4 4 4 4 b .\n b d c 5 5 5 5 d 5 5 5 5 5 b . .\n c d d c d 5 5 b 5 5 5 5 5 5 b .\n c b d d c c b 5 5 5 5 5 5 5 b .\n . c d d d d d d 5 5 5 5 5 d b .\n . . c b d d d d d 5 5 5 b b . .\n . . . c c c c c c c c b b . . .\n`, mirror(`\n e e e . . . . e e e . . . .\n c d d c . . c d d c . . . .\n c b d d f f d d b c . . . .\n c 3 b d d b d b 3 c . . . .\n f b 3 d d d d 3 b f . . . .\n e d d d d d d d d e . . . .\n e d f d d d d f d e . b f b\n f d d f d d f d d f . f d f\n f b d d b b d d 2 f . f d f\n . f 2 2 2 2 2 2 b b f f d f\n . f b d d d d d d b b d b f\n . f d d d d d b d d f f f .\n . f d f f f d f f d f . . .\n . f f . . f f . . f f . . .\n`), mirror(`\n . . 4 4 4 . . . . 4 4 4 . . . .\n . 4 5 5 5 e . . e 5 5 5 4 . . .\n 4 5 5 5 5 5 e e 5 5 5 5 5 4 . .\n 4 5 5 4 4 5 5 5 5 4 4 5 5 4 . .\n e 5 4 4 5 5 5 5 5 5 4 4 5 e . .\n . e e 5 5 5 5 5 5 5 5 e e . . .\n . . e 5 f 5 5 5 5 f 5 e . . . .\n . . f 5 5 5 4 4 5 5 5 f . . f f\n . . f 4 5 5 f f 5 5 6 f . f 5 f\n . . . f 6 6 6 6 6 6 4 4 f 5 5 f\n . . . f 4 5 5 5 5 5 5 4 4 5 f .\n . . . f 5 5 5 5 5 4 5 5 f f . .\n . . . f 5 f f f 5 f f 5 f . . .\n . . . f f . . f f . . f f . . .\n`)].map(resizeTo24x24)\nconst SAMPLE_OBSTACLES = [`.`, `\n . . . . . . . . . c c 8 . . . .\n . . . . . . 8 c c c f 8 c c . .\n . . . c c 8 8 f c a f f f c c .\n . . c c c f f f c a a f f c c c\n 8 c c c f f f f c c a a c 8 c c\n c c c b f f f 8 a c c a a a c c\n c a a b b 8 a b c c c c c c c c\n a f c a a b b a c c c c c f f c\n a 8 f c a a c c a c a c f f f c\n c a 8 a a c c c c a a f f f 8 a\n . a c a a c f f a a b 8 f f c a\n . . c c b a f f f a b b c c 6 c\n . . . c b b a f f 6 6 a b 6 c .\n . . . c c b b b 6 6 a c c c c .\n . . . . c c a b b c c c . . . .\n . . . . . c c c c c c . . . . .\n`, `\n . . . . . . b b b b . . . . . .\n . . . . . . b 4 4 4 b . . . . .\n . . . . . . b b 4 4 4 b . . . .\n . . . . . b 4 b b b 4 4 b . . .\n . . . . b d 5 5 5 4 b 4 4 b . .\n . . . . b 3 2 3 5 5 4 e 4 4 b .\n . . . b d 2 2 2 5 7 5 4 e 4 4 e\n . . . b 5 3 2 3 5 5 5 5 e e e e\n . . b d 7 5 5 5 3 2 3 5 5 e e e\n . . b 5 5 5 5 5 2 2 2 5 5 d e e\n . b 3 2 3 5 7 5 3 2 3 5 d d e 4\n . b 2 2 2 5 5 5 5 5 5 d d e 4 .\n b d 3 2 d 5 5 5 d d d 4 4 . . .\n b 5 5 5 5 d d 4 4 4 4 . . . . .\n 4 d d d 4 4 4 . . . . . . . . .\n 4 4 4 4 . . . . . . . . . . . .\n`, `\n . . . b b b b b b b b b b . . .\n . . b 1 1 1 1 1 1 1 1 1 1 b . .\n . b 1 1 1 1 1 1 1 1 1 1 1 1 b .\n . b 1 1 1 1 1 1 1 1 1 1 1 1 b .\n . b d d c c c c c c c c d d b .\n . b d c 6 6 6 6 6 6 6 6 c d b .\n . b d c 6 1 d 6 6 6 6 6 c d b .\n . b d c 6 d 6 6 6 6 6 6 c d b .\n . b d c 6 6 6 6 6 6 6 6 c d b .\n . b d c 6 6 6 6 6 6 6 6 c d b .\n . b d c 6 6 6 6 6 6 6 6 c d b .\n . b d d c c c c c c c c d d b .\n . c b b b b b b b b b b b b c .\n f c c c c c c c c c c c c c c f\n f b b b b b b b b b b b b b b f\n f b c d d d d d d d d d d d b f\n f b c b b b b b b b b b b c b f\n f b c b b b b b b b b b b c b f\n f b c c c c c c c c c c c c b f\n f b b b b b b b b b b b b b b f\n f b f f f f f f f f f f f f b f\n f f f f f f f f f f f f f f f f\n`].map(resizeTo24x24)\n\nconst SAMPLE_OBSTACLES2 = [`.`, `\n . . . . . . . 6 . . . . . . . .\n . . . . . . 8 6 6 . . . 6 8 . .\n . . . e e e 8 8 6 6 . 6 7 8 . .\n . . e 2 2 2 2 e 8 6 6 7 6 . . .\n . e 2 2 4 4 2 7 7 7 7 7 8 6 . .\n . e 2 4 4 2 6 7 7 7 6 7 6 8 8 .\n e 2 4 5 2 2 6 7 7 6 2 7 7 6 . .\n e 2 4 4 2 2 6 7 6 2 2 6 7 7 6 .\n e 2 4 2 2 2 6 6 2 2 2 e 7 7 6 .\n e 2 4 2 2 4 2 2 2 4 2 2 e 7 6 .\n e 2 4 2 2 2 2 2 2 2 2 2 e c 6 .\n e 2 2 2 2 2 2 2 4 e 2 e e c . .\n e e 2 e 2 2 4 2 2 e e e c . . .\n e e e e 2 e 2 2 e e e c . . . .\n e e e 2 e e c e c c c . . . . .\n . c c c c c c c . . . . . . . .\n`, `\n . . . . . c c b b b . . . . . .\n . . . . c b d d d d b . . . . .\n . . . . c d d d d d d b b . . .\n . . . . c d d d d d d d d b . .\n . . . c b b d d d d d d d b . .\n . . . c b b d d d d d d d b . .\n . c c c c b b b b d d d b b b .\n . c d d b c b b b b b b b b d b\n c b b d d d b b b b b d d b d b\n c c b b d d d d d d d b b b d c\n c b c c c b b b b b b b d d c c\n c c b b c c c c b d d d b c c b\n . c c c c c c c c c c c b b b b\n . . c c c c c b b b b b b b c .\n . . . . . . c c b b b b c c . .\n . . . . . . . . c c c c . . . .\n`, `\n . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . f f f . . . . . . . .\n . . . . . . . . . . . . f 2 f f f f f . . . . .\n . . . . . . . . . . f f 2 2 e e e e e f f . . .\n . . . . . . . . . f f 2 2 2 e e e e e e f f . .\n . . . . . . . . . f e e e e f f f e e e e f . .\n . . . . . . . . f e 2 2 2 2 e e e f f f f f . .\n . . . . . . . . f 2 e f f f f f 2 2 2 e f f f .\n . c c . . . . . f f f e e e f f f f f f f f f .\n . c d c c . . . f e e 4 4 f b b e 4 4 e f e f .\n . c c d d c c . . f e d d f b b 4 d 4 e e f . .\n . . . c d d d c e e f d d d d d 4 e e e f . . .\n . . . . c c d c d d e e 2 2 2 2 2 2 2 f . . . .\n . . . . . c c c d d 4 4 e 5 4 4 4 4 4 f . . . .\n . . . . . . . . e e e e f f f f f f f f . . . .\n . . . . . . . . . . . . f f . . . f f f . . . .\n`].map(resizeTo24x24)\n\n// console.dir(SAMPLE_CHARACTERS)\n// console.dir(SAMPLE_OBSTACLES)\n\nexport class GameModder extends React.Component {\n protected playBtn: HTMLButtonElement | undefined;\n protected spriteEditor: SpriteEditorComp;\n protected header: HTMLHeadingElement | undefined;\n private tabImages: Bitmap[];\n private scale: number = 1.0;\n private alertTimeout: any;\n\n constructor(props: GameModderProps) {\n super(props);\n\n if (IsGameModderState(gameModderState)) {\n // Loading previous modder state\n this.state = gameModderState\n } else {\n // Creating new modder state\n let imgs = Object.keys(moddableImages)\n .map((name) => {\n let def = moddableImages[name]\n // TODO: match the original dimensions? One difficulty with this\n // is the sprite editor canvas can't handle this\n // let { w, h } = GetImageTextDimensions(moddableImages[name])\n let [w, h] = [24, 24]\n let blank = CreateEmptyImageText(w, h);\n return {\n data: imageLiteralToBitmap(blank),\n name: name,\n callToAction: CALL_TO_ACTION[name],\n default: textToBitmap(def)\n };\n })\n\n this.state = {\n userImages: imgs,\n currentImg: 0,\n currentBackground: 12\n }\n Object.assign(gameModderState, this.state)\n }\n\n this.tabImages = Object.keys(moddableImages)\n .map(k => moddableImages[k])\n .map(textToBitmap)\n\n if (!(gameModderState as GameModderState).alertShown) this.alertTimeout = setTimeout(this.alertPlay, 5000);\n }\n\n // async renderExperiments() {\n // let tabBar = this.refs[\"tab-bar\"] as TabBar\n // let dummyImg = createPngImg(20, 20, 64, 64)\n // tabBar.TabBarSvg.appendChild(dummyImg)\n // setInterval(() => {\n // updatePngImg(dummyImg, this.spriteEditor.bitmap().image)\n // }, 500)\n\n // function getImages(ts: string) {\n // let imgRegex = /img`([\\d\\s\\.a-f]*)`/gm\n // let match = imgRegex.exec(ts);\n // let res: string[] = []\n // while (match != null) {\n // res.push(match[1])\n // match = imgRegex.exec(ts);\n // }\n // return res\n // }\n\n // // HACK:\n // let mainTs = bunny_hop_main_ts;\n // // let mainTs = await getTxtFile(\"games/bunny_hop/main.ts\")\n\n // // TODO: find images\n // let imgs = getImages(mainTs)\n // // console.dir(imgs)\n\n // let imgsAsBmps = imgs.map(textToBitmap)\n // // console.dir(imgsAsBmps)\n // }\n\n private alertPlay = () => {\n this.save();\n (gameModderState as GameModderState).alertShown = true;\n this.setState({ pulse: true });\n }\n\n private clearTimers = () => {\n clearTimeout(this.alertTimeout);\n }\n\n private updateCurrentUserImage(bmp: Bitmap) {\n // TODO: set image bug somehow?\n function updateUserImage(old: UserImage, nw: Bitmap): UserImage {\n return {\n data: nw,\n name: old.name,\n callToAction: old.callToAction,\n default: old.default\n }\n }\n let newState = {\n userImages: this.state.userImages.map((m, i) =>\n i === this.state.currentImg\n ? updateUserImage(m, bmp)\n : m)\n }\n this.setState(newState)\n Object.assign(gameModderState, newState)\n }\n\n private save() {\n if (this.spriteEditor && this.spriteEditor.editor) {\n this.spriteEditor.editor.commit()\n let newImg = this.spriteEditor.editor.bitmap().image\n this.updateCurrentUserImage(newImg)\n }\n }\n\n onTabChange(idx: number) {\n this.save()\n this.setState({ currentImg: idx })\n if (IsGameModderState(gameModderState))\n gameModderState.currentImg = idx\n tickEvent(\"shareExperiment.mod.tabChange\", { \"tab\": idx });\n }\n\n onBackgroundColorChanged(idx: number) {\n this.setState({ currentBackground: idx })\n tickEvent(\"shareExperiment.mod.changeBackground\", { \"color\": idx });\n if (IsGameModderState(gameModderState))\n gameModderState.currentBackground = idx\n }\n\n onSpriteGalleryPick(bmp: Bitmap, idx?: number) {\n tickEvent(\"shareExperiment.mod.galleryPick\", { \"tab\": this.state.currentImg, \"item\": idx });\n this.updateCurrentUserImage(bmp)\n }\n\n render() {\n let currImg = this.state.userImages[this.state.currentImg]\n let isBackgroundTab = this.state.currentImg === 3\n\n let body = document.getElementsByTagName('body')[0]\n // const MARGIN = 20\n const HEADER_HEIGHT = 50\n let actualWidth = body.clientWidth\n let actualHeight = body.clientHeight - HEADER_HEIGHT\n let refWidth = 539.0\n let refHeight = SE.TOTAL_HEIGHT\n let wScale = actualWidth / refWidth\n let hScale = actualHeight / refHeight\n this.scale = Math.min(wScale, hScale)\n\n const SPRITE_GALLERY_HEIGHT = 100\n let spriteGalleryHeight = SPRITE_GALLERY_HEIGHT * this.scale\n let colorPickerHeight = (SE.TOTAL_HEIGHT + SPRITE_GALLERY_HEIGHT) * this.scale\n\n // TODO\n let samples = [\n SAMPLE_CHARACTERS,\n SAMPLE_OBSTACLES,\n SAMPLE_OBSTACLES2\n ]\n let spriteGalleryOptions =\n (samples[this.state.currentImg] || SAMPLE_CHARACTERS)\n .map(i => imageLiteralToBitmap(i))\n\n let startImg = this.state.userImages[this.state.currentImg].data\n let galKey = `tab${this.state.currentImg}__` + spriteGalleryOptions.map(b => b.buf.toString()).join(\"_\")\n let galProps: SpriteGalleryProps = {\n height: spriteGalleryHeight,\n options: spriteGalleryOptions,\n onClick: this.onSpriteGalleryPick.bind(this)\n }\n return (\n \n
{currImg.callToAction} \n
\n {isBackgroundTab\n ?\n
\n :\n
\n }\n {/*
\n
*/}\n
\n Play \n \n \n
\n )\n }\n\n async componentDidMount() {\n this.playBtn = this.refs[\"play-btn\"] as HTMLButtonElement;\n this.spriteEditor = this.refs[\"sprite-editor\"] as SpriteEditorComp;\n this.header = this.refs['header'] as HTMLHeadingElement\n\n // events\n this.playBtn.addEventListener('click', this.onPlay.bind(this))\n\n // HACK: Disable scrolling in iOS\n document.ontouchmove = function (e) {\n e.preventDefault();\n }\n }\n\n componentDidUpdate() {\n this.spriteEditor = this.refs[\"sprite-editor\"] as SpriteEditorComp;\n }\n\n componentWillUnmount() {\n this.playBtn = undefined;\n this.spriteEditor = undefined;\n this.header = undefined;\n\n this.clearTimers();\n }\n\n async onPlay() {\n this.save();\n (gameModderState as GameModderState).alertShown = true;\n\n const toReplace = this.state.userImages.filter(ui => !isEmptyBitmap(ui.data));\n\n function modBackground(bin: string, newColor: number): string {\n const originalColor = 13\n const template = (color: number) => `scene_setBackgroundColor__P935_mk(s);s.tmp_0.arg0=${color}`\n let old = template(originalColor)\n let newIdx = newColor + 1 // arcade function is 1-based b/c 0 is transparent\n let nw = template(newIdx)\n return bin.replace(old, nw)\n }\n\n function modBackgroundTs(bin: string, newColor: number): string {\n const originalColor = 13\n const template = (color: number) => `scene.setBackgroundColor(${color})`\n let old = template(originalColor)\n let newIdx = newColor + 1 // arcade function is 1-based b/c 0 is transparent\n let nw = template(newIdx)\n return bin.replace(old, nw)\n }\n\n function modImg(bin: string, img: UserImage): string {\n // HACK: for some reason the compiler emits image prefixes that look like:\n // 8704100010000000\n // whereas ours look like:\n // e4101000\n const MOD_PREFIX_LEN = \"e4101000\".length\n const BIN_PREFIX_LEN = \"8704100010000000\".length\n\n let newHex = bitmapToBinHex(img.data)\n\n const oldToFind = bitmapToBinHex(img.default)\n .slice(MOD_PREFIX_LEN)\n let oldStartIncl = bin.indexOf(oldToFind) - BIN_PREFIX_LEN\n if (oldStartIncl < 0)\n return bin;\n let oldEndExcl = bin.indexOf(`\"`, oldStartIncl)\n let oldHex = bin.slice(oldStartIncl, oldEndExcl)\n\n return bin.replace(oldHex, newHex)\n }\n\n let gameBinJs = bunny_hop_bin_js\n let gameMainTs = bunny_hop_main_ts\n let gameMainBlocks = bunny_hop_main_blocks;\n\n for (let i of toReplace) {\n const def = bitmapToText(i.default);\n const user = bitmapToText(i.data);\n gameBinJs = modImg(gameBinJs, i)\n gameMainTs = replaceImages(gameMainTs, def, user);\n gameMainBlocks = replaceImages(gameMainBlocks, def, user);\n }\n gameBinJs = modBackground(gameBinJs, this.state.currentBackground)\n gameMainTs = modBackgroundTs(gameMainTs, this.state.currentBackground);\n\n const screenshot = await mkScreenshotAsync(this.state.currentBackground + 1, this.state.userImages.map(u => isEmptyBitmap(u.data) ? u.default : u.data));\n\n this.props.playHandler({\n binJs: gameBinJs,\n mainTs: gameMainTs,\n mainBlocks: gameMainBlocks,\n screenshot\n });\n }\n}\n\nfunction replaceImages(sourceFile: string, toReplace: string, userImage: string) {\n const sourceLines = sourceFile.split(/\\n/).map(l => l.trim());\n const replaceLines = toReplace.split(/\\n/).map(l => l.trim()).slice(1, -1);\n\n userImage = userImage.replace(\"img`\", \"\").replace(\"`\", \"\");\n\n let foundMatch = false;\n for (let i = 0; i < sourceLines.length; i++) {\n if (sourceLines[i] === replaceLines[0]) {\n foundMatch = true;\n\n for (let j = 1; j < replaceLines.length; j++) {\n if (sourceLines[i + j] != replaceLines[j]) {\n foundMatch = false;\n break;\n }\n }\n\n if (foundMatch) {\n sourceLines.splice(i, replaceLines.length, userImage);\n }\n }\n }\n\n return sourceLines.join(\"\\n\");\n}\n\nexport default GameModder;\n","// source: https://makecode.com/_34fUva8ttMFi\n\nexport const bunny_hop_bin_js: string = `// total=1303956 new=9.81% cached=85.10% other=5.09%\n(function (ectx) {\n'use strict';\nconst runtime = ectx.runtime;\nconst oops = ectx.oops;\nconst doNothing = ectx.doNothing;\nconst pxsim = ectx.pxsim;\nconst globals = ectx.globals;\nconst maybeYield = ectx.maybeYield;\nconst setupDebugger = ectx.setupDebugger;\nconst isBreakFrame = ectx.isBreakFrame;\nconst breakpoint = ectx.breakpoint;\nconst trace = ectx.trace;\nconst checkStack = ectx.checkStack;\nconst leave = ectx.leave;\nconst checkResumeConsumed = ectx.checkResumeConsumed;\nconst setupResume = ectx.setupResume;\nconst setupLambda = ectx.setupLambda;\nconst checkSubtype = ectx.checkSubtype;\nconst failedCast = ectx.failedCast;\nconst buildResume = ectx.buildResume;\nconst mkVTable = ectx.mkVTable;\nconst __this = runtime;\nconst pxtrt = pxsim.pxtrt;\nlet yieldSteps = 1;\nectx.setupYield(function() { yieldSteps = 100; })\npxsim.setTitle(\"bunny-hop-updated\");\npxsim.setConfigData({\n \"37\": 160,\n \"38\": 120\n}, {\n \"DISPLAY_WIDTH\": 37,\n \"DISPLAY_HEIGHT\": 38\n});\npxtrt.mapKeyNames = [\n \"\",\n \"__draw\",\n \"__drawCore\",\n \"__preUpdate\",\n \"__update\",\n \"__visible\",\n \"_action\",\n \"_ax\",\n \"_ay\",\n \"_buttonId\",\n \"_connected\",\n \"_controlledSprites\",\n \"_data\",\n \"_destroyCore\",\n \"_dt\",\n \"_factory\",\n \"_hitbox\",\n \"_id\",\n \"_image\",\n \"_kind\",\n \"_kindsOverlappedWith\",\n \"_lastX\",\n \"_lastY\",\n \"_layer\",\n \"_layers\",\n \"_map\",\n \"_millis\",\n \"_obstacles\",\n \"_overlappers\",\n \"_owner\",\n \"_player\",\n \"_pressed\",\n \"_pressedElasped\",\n \"_prune\",\n \"_repeatCount\",\n \"_sprites\",\n \"_text\",\n \"_tileSets\",\n \"_update\",\n \"_vx\",\n \"_vy\",\n \"_x\",\n \"_y\",\n \"_z\",\n \"action\",\n \"activeCard\",\n \"add\",\n \"addShape\",\n \"addSprite\",\n \"alignX\",\n \"alignY\",\n \"allSprites\",\n \"anchor\",\n \"animations\",\n \"apply\",\n \"applyTo\",\n \"areaHeight\",\n \"areaWidth\",\n \"ax\",\n \"ay\",\n \"background\",\n \"basicCard\",\n \"bg\",\n \"bgColor\",\n \"border\",\n \"borderColor\",\n \"bottom\",\n \"buckets\",\n \"button\",\n \"buttons\",\n \"cachedImage\",\n \"cachedRender\",\n \"cachedVx\",\n \"cachedVy\",\n \"camera\",\n \"card\",\n \"cardSpacing\",\n \"cardWidth\",\n \"cardsPerRow\",\n \"cardsTop\",\n \"cellHeight\",\n \"cellWidth\",\n \"change\",\n \"changeScoreBy\",\n \"charHeight\",\n \"charWidth\",\n \"clear\",\n \"clearInterior\",\n \"clearObstacles\",\n \"collisionHandlers\",\n \"color\",\n \"columnCount\",\n \"columns\",\n \"connected\",\n \"constrain\",\n \"contains\",\n \"controlledSprites\",\n \"countdownEndHandler\",\n \"countdownExpired\",\n \"createMovingSprite\",\n \"createParticle\",\n \"createdHandlers\",\n \"cursor\",\n \"cursorCount\",\n \"cursorOn\",\n \"cursorRowHeight\",\n \"data\",\n \"defaultLifespan\",\n \"defaultRate\",\n \"deltaTime\",\n \"deltaTimeMillis\",\n \"destroy\",\n \"destroyHandler\",\n \"destroyedHandlers\",\n \"displayCursor\",\n \"dispose\",\n \"distance\",\n \"down\",\n \"draw\",\n \"drawBorder\",\n \"drawCursorRow\",\n \"drawLives\",\n \"drawOffsetX\",\n \"drawOffsetY\",\n \"drawPartial\",\n \"drawParticle\",\n \"drawPlayer\",\n \"drawScore\",\n \"drawText\",\n \"drawTextCore\",\n \"dx\",\n \"dy\",\n \"effect\",\n \"enabled\",\n \"endScreenEffect\",\n \"eventContext\",\n \"fastRandom\",\n \"fc\",\n \"flags\",\n \"followingSprites\",\n \"font\",\n \"fontColor\",\n \"frame\",\n \"frameCallbacks\",\n \"frameInterval\",\n \"frameWorker\",\n \"frames\",\n \"framesInSample\",\n \"galois\",\n \"gameEnd\",\n \"gameForeverHandlers\",\n \"generateTile\",\n \"generator\",\n \"getObstacle\",\n \"getState\",\n \"getText\",\n \"handler\",\n \"handlers\",\n \"hasBackgroundImage\",\n \"hasLife\",\n \"hasScore\",\n \"head\",\n \"headerFont\",\n \"headerText\",\n \"heartImage\",\n \"height\",\n \"highScore\",\n \"icon\",\n \"iconImage\",\n \"id\",\n \"idleCallbacks\",\n \"image\",\n \"img\",\n \"infoFont\",\n \"infoTop\",\n \"init\",\n \"innerLeft\",\n \"innerTop\",\n \"insertAABB\",\n \"insertAtKey\",\n \"isNewHighScore\",\n \"isObstacle\",\n \"isOob\",\n \"isOutOfScreen\",\n \"isOutsideMap\",\n \"isPressed\",\n \"key\",\n \"kind\",\n \"lastFrame\",\n \"lastNode\",\n \"layer\",\n \"left\",\n \"length\",\n \"lfsr\",\n \"life\",\n \"lifeZeroHandler\",\n \"lifespan\",\n \"lock\",\n \"loop\",\n \"map\",\n \"maxLifespan\",\n \"maxNegativeVelocity\",\n \"maxSingleStep\",\n \"maxVelocity\",\n \"melody\",\n \"mergeAtKey\",\n \"millis\",\n \"minAngle\",\n \"minLifespan\",\n \"minSingleStep\",\n \"move\",\n \"moveSprite\",\n \"multiplier\",\n \"multiplierImage\",\n \"neighbors\",\n \"next\",\n \"nodeInterval\",\n \"nodes\",\n \"obstacle\",\n \"offsetX\",\n \"offsetY\",\n \"onEvent\",\n \"onPlayFinished\",\n \"onUpdate\",\n \"options\",\n \"order\",\n \"originalImage\",\n \"otherKind\",\n \"overlapHandlers\",\n \"overlapMap\",\n \"overlaps\",\n \"overlapsWith\",\n \"ox\",\n \"oy\",\n \"pFlags\",\n \"padding\",\n \"parent\",\n \"particleSources\",\n \"path\",\n \"period\",\n \"physicsEngine\",\n \"pickRandom\",\n \"play\",\n \"playCore\",\n \"playerIndex\",\n \"playerStates\",\n \"position\",\n \"preferredDelay\",\n \"prevTimeMillis\",\n \"priority\",\n \"raiseButtonDown\",\n \"raiseButtonRepeat\",\n \"raiseButtonUp\",\n \"raiseLifeZero\",\n \"randomRange\",\n \"register\",\n \"registerFrameCallbacks\",\n \"registerFrameHandler\",\n \"registerHandler\",\n \"registerMelody\",\n \"registerObstacle\",\n \"remove\",\n \"removeSprite\",\n \"renderCore\",\n \"repeatDelay\",\n \"repeatInterval\",\n \"repeatX\",\n \"repeatY\",\n \"resizeBuckets\",\n \"right\",\n \"rowCount\",\n \"rows\",\n \"run\",\n \"runCallbacks\",\n \"sayBubbleSprite\",\n \"scale\",\n \"scene\",\n \"sceneDefaultRate\",\n \"score\",\n \"scrollOffset\",\n \"scrollRow\",\n \"scrollTarget\",\n \"seed\",\n \"selectedCard\",\n \"selection\",\n \"setAcceleration\",\n \"setAnchor\",\n \"setDirection\",\n \"setFactory\",\n \"setFlag\",\n \"setImage\",\n \"setKind\",\n \"setOffset\",\n \"setPosition\",\n \"setPressed\",\n \"setRate\",\n \"setScore\",\n \"setSelection\",\n \"setSpeed\",\n \"setStart\",\n \"setState\",\n \"setTheme\",\n \"setVelocity\",\n \"shakeAmplitude\",\n \"shakeDuration\",\n \"shakeStartTime\",\n \"shouldBeVisible\",\n \"show\",\n \"showLife\",\n \"showPlayer\",\n \"showScore\",\n \"source\",\n \"sourceFactory\",\n \"sources\",\n \"speed\",\n \"spread\",\n \"sprite\",\n \"spriteCollisions\",\n \"spriteNextId\",\n \"sprites\",\n \"spritesByKind\",\n \"src\",\n \"start\",\n \"startScreenEffect\",\n \"startedAt\",\n \"state\",\n \"stop\",\n \"textAreaHeight\",\n \"textAreaWidth\",\n \"textColor\",\n \"theme\",\n \"tileIndex\",\n \"tileMap\",\n \"tilemapCollisions\",\n \"timeInSample\",\n \"timer\",\n \"times\",\n \"toString\",\n \"top\",\n \"unit\",\n \"unregister\",\n \"unregisterMelody\",\n \"up\",\n \"update\",\n \"updateCard\",\n \"updateParticle\",\n \"updateSay\",\n \"updateScrollTarget\",\n \"value\",\n \"visibilityFlag\",\n \"visilibity\",\n \"vx\",\n \"vy\",\n \"width\",\n \"win\",\n \"x\",\n \"xOffset\",\n \"xRange\",\n \"xStep\",\n \"y\",\n \"yOffset\",\n \"yRange\",\n \"yStep\",\n \"z\"\n];\n__this.setupPerfCounters([]);\nconst pxsim_Array__getAt = pxsim.Array_.getAt;\nconst pxsim_Array__length = pxsim.Array_.length;\nconst pxsim_Array__mk = pxsim.Array_.mk;\nconst pxsim_Array__push = pxsim.Array_.push;\nconst pxsim_Boolean__bang = pxsim.Boolean_.bang;\nconst pxsim_String__concat = pxsim.String_.concat;\nconst pxsim_String__stringConv = pxsim.String_.stringConv;\nconst pxsim_numops_toBool = pxsim.numops.toBool;\nconst pxsim_numops_toBoolDecr = pxsim.numops.toBoolDecr;\nconst pxsim_pxtcore_mkAction = pxsim.pxtcore.mkAction;\nconst pxsim_pxtcore_mkClassInstance = pxsim.pxtcore.mkClassInstance;\nconst pxsim_pxtrt_ldlocRef = pxsim.pxtrt.ldlocRef;\nconst pxsim_pxtrt_mapGetByString = pxsim.pxtrt.mapGetByString;\nconst pxsim_pxtrt_stclo = pxsim.pxtrt.stclo;\nconst pxsim_pxtrt_stlocRef = pxsim.pxtrt.stlocRef;\nconst pxsim_Boolean_ = pxsim.Boolean_;\nconst pxsim_pxtcore = pxsim.pxtcore;\nconst pxsim_String_ = pxsim.String_;\nconst pxsim_ImageMethods = pxsim.ImageMethods;\nconst pxsim_Array_ = pxsim.Array_;\nconst pxsim_pxtrt = pxsim.pxtrt;\nconst pxsim_numops = pxsim.numops;\n\n\nfunction _main___P22728(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n globals.zeroFx8___79 = (0);\n r0 = (0.5 * 256);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 | 0);\n globals.oneHalfFx8___80 = (r0);\n globals.oneFx8___82 = (1);\n globals.twoFx8___83 = (2);\n globals._pollEventQueue___164 = (undefined);\n globals._intervals___171 = (undefined);\n globals.minPriority___185 = (1);\n r0 = pxsim_Array__mk();\n s.tmp_0 = r0;\n r0 = pxsim_Array__push(s.tmp_0, inline__P8934);\n globals.listeners___186 = (s.tmp_0);\n globals.freqs___333 = (_hex3749);\n globals.globalVolume___337 = (null);\n globals.playToneID___345 = (0);\n r0 = pxsim_pxtcore_mkClassInstance(music_Melody__C349_VT);\n s.tmp_0 = r0;\n s.tmp_1 = music_Melody_constructor__P361_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = \"~15 e3:3 r:1 d#:3 r:1 d:4 r:1 c#:8\";\n s.pc = 1; return s.tmp_1;\n case 1:\n r0 = s.retval;\n globals.wawawawaa___368 = (s.tmp_0);\n r0 = pxsim_pxtcore_mkClassInstance(music_Melody__C349_VT);\n s.tmp_0 = r0;\n s.tmp_1 = music_Melody_constructor__P361_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = \"g4:1 c5 e g:2 e:1 g:3\";\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n globals.powerUp___371 = (s.tmp_0);\n globals.brightness___401 = (100);\n r0 = pxsim_pxtrt.mkMap();\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, \"charWidth\", 6);\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, \"charHeight\", 8);\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, \"data\", _hex10057);\n globals.font8___423 = (s.tmp_0);\n r0 = pxsim_pxtrt.mkMap();\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, \"charWidth\", 12);\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, \"charHeight\", 12);\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, \"data\", _hex2735);\n globals.font12___424 = (s.tmp_0);\n r0 = pxsim_pxtrt.mkMap();\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, \"charWidth\", 6);\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, \"charHeight\", 5);\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, \"data\", _hex8942);\n globals.font5___428 = (s.tmp_0);\n globals.__updated___434 = (false);\n r0 = pxsim.control.runInParallel(inline__P439);\n r0 = pxsim_pxtcore.setPalette(_hex463);\n r0 = pxsim.image.create(160, 120);\n globals.screen___464 = (r0);\n s.tmp_0 = control___screen_setupUpdate__P436_mk(s);\n s.tmp_0.arg0 = inline__P470;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n globals.control_EventContext_onStats___232 = (inline__P475);\n s.tmp_0 = settings_initScopes__P491_mk(s);\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkClassInstance(controller_Button__C538_VT);\n s.tmp_0 = r0;\n s.tmp_1 = controller_Button_constructor__P548_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = 5;\n s.tmp_1.arg2 = -1;\n s.pc = 5; return s.tmp_1;\n case 5:\n r0 = s.retval;\n globals.A___525 = (s.tmp_0);\n r0 = pxsim_pxtcore_mkClassInstance(controller_Button__C538_VT);\n s.tmp_0 = r0;\n s.tmp_1 = controller_Button_constructor__P548_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = 6;\n s.tmp_1.arg2 = -1;\n s.pc = 6; return s.tmp_1;\n case 6:\n r0 = s.retval;\n globals.B___526 = (s.tmp_0);\n r0 = pxsim_pxtcore_mkClassInstance(controller_Button__C538_VT);\n s.tmp_0 = r0;\n s.tmp_1 = controller_Button_constructor__P548_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = 1;\n s.tmp_1.arg2 = -1;\n s.pc = 7; return s.tmp_1;\n case 7:\n r0 = s.retval;\n globals.left___527 = (s.tmp_0);\n r0 = pxsim_pxtcore_mkClassInstance(controller_Button__C538_VT);\n s.tmp_0 = r0;\n s.tmp_1 = controller_Button_constructor__P548_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = 2;\n s.tmp_1.arg2 = -1;\n s.pc = 8; return s.tmp_1;\n case 8:\n r0 = s.retval;\n globals.up___528 = (s.tmp_0);\n r0 = pxsim_pxtcore_mkClassInstance(controller_Button__C538_VT);\n s.tmp_0 = r0;\n s.tmp_1 = controller_Button_constructor__P548_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = 3;\n s.tmp_1.arg2 = -1;\n s.pc = 9; return s.tmp_1;\n case 9:\n r0 = s.retval;\n globals.right___529 = (s.tmp_0);\n r0 = pxsim_pxtcore_mkClassInstance(controller_Button__C538_VT);\n s.tmp_0 = r0;\n s.tmp_1 = controller_Button_constructor__P548_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = 4;\n s.tmp_1.arg2 = -1;\n s.pc = 10; return s.tmp_1;\n case 10:\n r0 = s.retval;\n globals.down___530 = (s.tmp_0);\n r0 = pxsim_pxtcore_mkClassInstance(controller_Button__C538_VT);\n s.tmp_0 = r0;\n s.tmp_1 = controller_Button_constructor__P548_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = 7;\n s.tmp_1.arg2 = -1;\n s.pc = 11; return s.tmp_1;\n case 11:\n r0 = s.retval;\n globals.menu___531 = (s.tmp_0);\n globals._userEventsEnabled___535 = (true);\n globals.defaultRepeatDelay___536 = (500);\n globals.defaultRepeatInterval___537 = (30);\n r0 = pxsim_pxtcore_mkClassInstance(controller_Button__C538_VT);\n s.tmp_0 = r0;\n s.tmp_1 = controller_Button_constructor__P548_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = 0;\n s.tmp_1.arg2 = -1;\n s.pc = 12; return s.tmp_1;\n case 12:\n r0 = s.retval;\n globals.anyButton___589 = (s.tmp_0);\n s.tmp_0 = SpriteKind_create__P691_mk(s);\n s.pc = 13; return s.tmp_0;\n case 13:\n r0 = s.retval;\n globals.Player___692 = (r0);\n s.tmp_0 = SpriteKind_create__P691_mk(s);\n s.pc = 14; return s.tmp_0;\n case 14:\n r0 = s.retval;\n globals.Food___695 = (r0);\n s.tmp_0 = SpriteKind_create__P691_mk(s);\n s.pc = 15; return s.tmp_0;\n case 15:\n r0 = s.retval;\n globals.Enemy___697 = (r0);\n r0 = (100 * 256);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 | 0);\n globals.MAX_TIME_STEP___716 = (r0);\n r0 = (1 | 2);\n globals.SPRITE_CANNOT_COLLIDE___718 = (r0);\n r0 = (0.1 * 256);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 | 0);\n globals.MIN_MOVE_GAP___723 = (r0);\n globals.infoState___745 = (undefined);\n s.tmp_0 = game_addScenePushHandler__P749_mk(s);\n s.tmp_0.arg0 = inline__P750;\n s.pc = 16; return s.tmp_0;\n case 16:\n r0 = s.retval;\n s.tmp_0 = game_addScenePopHandler__P765_mk(s);\n s.tmp_0.arg0 = inline__P766;\n s.pc = 17; return s.tmp_0;\n case 17:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkClassInstance(info_PlayerInfo__C823_VT);\n s.tmp_0 = r0;\n s.tmp_1 = info_PlayerInfo_constructor__P840_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = 1;\n s.pc = 18; return s.tmp_1;\n case 18:\n r0 = s.retval;\n globals.player1___845 = (s.tmp_0);\n globals.ON_PAINT_Z___916 = (-20);\n globals.TILE_MAP_Z___918 = (-1);\n r0 = pxsim_Array__mk();\n globals.scene_Scene_initializers___931 = (r0);\n globals.debug___998 = (false);\n globals.stats___999 = (false);\n globals.winEffect___1001 = (undefined);\n globals.loseEffect___1003 = (undefined);\n globals.loseSound___1005 = (undefined);\n globals.winSound___1007 = (undefined);\n globals.__isOver___1014 = (false);\n globals.foreverRunning___1029 = (false);\n s.tmp_0 = scene_systemMenu_initVolume__P1199_mk(s);\n s.pc = 19; return s.tmp_0;\n case 19:\n r0 = s.retval;\n r0 = pxsim_Array__push(globals.scene_Scene_initializers___931, scene_systemMenu_register__P1196);\n r0 = pxsim.image.ofBuffer(_hex1207);\n globals.CARD_NORMAL___1205 = (r0);\n r0 = pxsim.image.ofBuffer(_hex1210);\n globals.CARD_SELECTED___1208 = (r0);\n r0 = pxsim.image.ofBuffer(_hex1213);\n globals.CARD_ACTIVE___1211 = (r0);\n r0 = pxsim.image.ofBuffer(_hex1216);\n globals.VOLUME_UP_ICON___1214 = (r0);\n r0 = pxsim.image.ofBuffer(_hex1219);\n globals.BRIGHTNESS_DOWN_ICON___1217 = (r0);\n r0 = pxsim.image.ofBuffer(_hex1222);\n globals.CLOSE_MENU_ICON___1220 = (r0);\n r0 = pxsim.image.ofBuffer(_hex1225);\n globals.VOLUME_DOWN_ICON___1223 = (r0);\n r0 = pxsim.image.ofBuffer(_hex1228);\n globals.SLEEP_ICON___1226 = (r0);\n r0 = pxsim.image.ofBuffer(_hex1231);\n globals.CONSOLE_ICON___1229 = (r0);\n r0 = pxsim.image.ofBuffer(_hex1234);\n globals.BRIGHTNESS_UP_ICON___1232 = (r0);\n r0 = pxsim.image.ofBuffer(_hex1237);\n globals.STATS_ICON___1235 = (r0);\n globals.consoleColor___1238 = (1);\n globals.tabSize___1240 = (8);\n globals.consoleFont___1244 = (globals.font5___428);\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n s.tmp_2 = r0;\n s.tmp_5 = if_charHeight_1_mk(s);\n s.tmp_5.arg0 = globals.consoleFont___1244;\n if (!s.tmp_5.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_5.arg0, \"charHeight\");\n } else {\n s.tmp_5.fn = s.tmp_5.arg0.vtable.iface[\"charHeight\"];\n if (s.tmp_5.fn == null) { s.retval = s.tmp_5.arg0.fields[\"charHeight\"]; }\n else { s.pc = 20; return s.tmp_5; }\n }\n case 20:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = (s.tmp_4 + 2);\n s.tmp_3 = r0;\n r0 = (s.tmp_2 / s.tmp_3);\n s.tmp_1 = r0;\n r0 = pxsim.Math_.floor(s.tmp_1);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 - 1);\n globals.consoleLines___1245 = (r0);\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_2 = r0;\n r0 = (2 * 4);\n s.tmp_3 = r0;\n r0 = (s.tmp_2 - s.tmp_3);\n s.tmp_1 = r0;\n s.tmp_5 = if_charWidth_1_mk(s);\n s.tmp_5.arg0 = globals.consoleFont___1244;\n if (!s.tmp_5.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_5.arg0, \"charWidth\");\n } else {\n s.tmp_5.fn = s.tmp_5.arg0.vtable.iface[\"charWidth\"];\n if (s.tmp_5.fn == null) { s.retval = s.tmp_5.arg0.fields[\"charWidth\"]; }\n else { s.pc = 21; return s.tmp_5; }\n }\n case 21:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = (s.tmp_1 / s.tmp_4);\n s.tmp_0 = r0;\n r0 = pxsim.Math_.floor(s.tmp_0);\n globals.consoleColumns___1255 = (r0);\n s.tmp_0 = console_addListener__P194_mk(s);\n s.tmp_0.arg0 = game_consoleOverlay_listener__P1267;\n s.pc = 22; return s.tmp_0;\n case 22:\n r0 = s.retval;\n s.tmp_0 = lambda_1_mk(s);\n s.tmp_0.argL = inline__P1276;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 23; return s.tmp_0;\n case 23:\n r0 = s.retval;\n globals.MAX_SOURCES___1274 = (r0);\n r0 = pxsim_pxtcore_mkClassInstance(particles_SprayFactory__C1341_VT);\n s.tmp_0 = r0;\n s.tmp_1 = particles_SprayFactory_constructor__P1347_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = 20;\n s.tmp_1.arg2 = 0;\n s.tmp_1.arg3 = 60;\n s.pc = 24; return s.tmp_1;\n case 24:\n r0 = s.retval;\n globals.defaultFactory___1303 = (s.tmp_0);\n r0 = pxsim_pxtcore_mkClassInstance(Math_FastRandom__C1156_VT);\n s.tmp_0 = r0;\n s.tmp_1 = Math_FastRandom_constructor__P1163_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = undefined;\n s.pc = 25; return s.tmp_1;\n case 25:\n r0 = s.retval;\n globals.galois___1324 = (s.tmp_0);\n r0 = (2 * 3.141592653589793);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 / 100);\n globals.angleSlice___1328 = (r0);\n r0 = (3.141592653589793 / 180);\n globals.ratio___1334 = (r0);\n r0 = pxsim_pxtcore_mkClassInstance(effects_ScreenEffect__C1414_VT);\n s.tmp_0 = r0;\n s.tmp_1 = effects_ScreenEffect_constructor__P1418_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = 10;\n s.tmp_1.arg2 = 40;\n s.tmp_1.arg3 = 4000;\n s.tmp_1.arg4 = inline__P7538;\n s.pc = 26; return s.tmp_1;\n case 26:\n r0 = s.retval;\n globals.confetti___1424 = (s.tmp_0);\n r0 = pxsim_pxtcore_mkClassInstance(effects_ImageEffect__C1438_VT);\n s.tmp_0 = r0;\n s.tmp_1 = effects_ImageEffect_constructor__P1442_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = 100;\n s.tmp_1.arg2 = inline__P2929;\n s.pc = 27; return s.tmp_1;\n case 27:\n r0 = s.retval;\n globals.dissolve___1443 = (s.tmp_0);\n r0 = pxsim_pxtcore_mkClassInstance(effects_ImageEffect__C1438_VT);\n s.tmp_0 = r0;\n s.tmp_1 = effects_ImageEffect_constructor__P1442_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = 125;\n s.tmp_1.arg2 = inline__P5347;\n s.pc = 28; return s.tmp_1;\n case 28:\n r0 = s.retval;\n globals.melt___1444 = (s.tmp_0);\n r0 = pxsim_pxtcore_mkClassInstance(texteffects_TextEffect__C1448_VT);\n s.tmp_0 = r0;\n s.tmp_1 = texteffects_TextEffect_constructor__P1449_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = inline__P1453;\n s.pc = 29; return s.tmp_1;\n case 29:\n r0 = s.retval;\n globals.shake___1450 = (s.tmp_0);\n r0 = pxsim_pxtcore_mkClassInstance(texteffects_TextEffect__C1448_VT);\n s.tmp_0 = r0;\n s.tmp_1 = texteffects_TextEffect_constructor__P1449_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = inline__P1463;\n s.pc = 30; return s.tmp_1;\n case 30:\n r0 = s.retval;\n globals.wave___1460 = (s.tmp_0);\n s.tmp_0 = game_addScenePushHandler__P749_mk(s);\n s.tmp_0.arg0 = inline__P1575;\n s.pc = 31; return s.tmp_0;\n case 31:\n r0 = s.retval;\n s.tmp_0 = game_addScenePopHandler__P765_mk(s);\n s.tmp_0.arg0 = inline__P1589;\n s.pc = 32; return s.tmp_0;\n case 32:\n r0 = s.retval;\n s.tmp_0 = game_setWaitAnyButton__P1015_mk(s);\n s.tmp_0.arg0 = controller_pauseUntilAnyButtonIsPressed__P585;\n s.pc = 33; return s.tmp_0;\n case 33:\n r0 = s.retval;\n s.tmp_0 = game_eventContext__P1017_mk(s);\n s.pc = 34; return s.tmp_0;\n case 34:\n r0 = s.retval;\n s.tmp_0 = SpriteKind_create__P691_mk(s);\n s.pc = 35; return s.tmp_0;\n case 35:\n r0 = s.retval;\n globals.Obstacle___22731 = (r0);\n globals.over___22733 = (false);\n s.tmp_0 = controller_Button_onEvent__P543_mk(s);\n s.tmp_0.arg0 = globals.anyButton___589;\n s.tmp_0.arg1 = 2049;\n s.tmp_0.arg2 = inline__P22737;\n s.pc = 36; return s.tmp_0;\n case 36:\n r0 = s.retval;\n s.tmp_0 = sprites_onOverlap__P674_mk(s);\n s.tmp_0.arg0 = globals.Player___692;\n s.tmp_0.arg1 = globals.Obstacle___22731;\n s.tmp_0.arg2 = inline__P22754;\n s.pc = 37; return s.tmp_0;\n case 37:\n r0 = s.retval;\n globals.grass___22759 = (null);\n globals.projectile___22760 = (null);\n globals.newObstacle___22761 = (null);\n globals.numObstacles___22762 = (0);\n globals.osbstacleSpeed___22763 = (0);\n globals.difficultyFactor___22764 = (0);\n globals.cloud___22765 = (null);\n globals.tree___22766 = (null);\n r0 = pxsim_Array__mk();\n globals.clouds___22767 = (r0);\n r0 = pxsim_Array__mk();\n globals.grassImages___22768 = (r0);\n r0 = pxsim_Array__mk();\n globals.trees___22769 = (r0);\n r0 = pxsim_Array__mk();\n globals.obstacles___22770 = (r0);\n r0 = pxsim_Array__mk();\n globals.birdFrames___22771 = (r0);\n globals.bird___22772 = (null);\n globals.gravity___22747 = (0);\n globals.bunny___22740 = (null);\n s.tmp_0 = scene_setBackgroundColor__P935_mk(s);s.tmp_0.arg0=13;\n s.pc = 38; return s.tmp_0;\n case 38:\n r0 = s.retval;\n s.tmp_0 = sprites_create__P602_mk(s);\n r0 = pxsim.image.ofBuffer(_hex22778);\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = globals.Player___692;\n s.pc = 39; return s.tmp_0;\n case 39:\n r0 = s.retval;\n globals.bunny___22740 = (r0);\n globals.gravity___22747 = (400);\n s.tmp_0 = Sprite_ay__P620_mk(s);\n s.tmp_0.arg0 = globals.bunny___22740;\n s.tmp_0.arg1 = globals.gravity___22747;\n s.pc = 40; return s.tmp_0;\n case 40:\n r0 = s.retval;\n s.tmp_0 = Sprite_x__P610_mk(s);\n s.tmp_0.arg0 = globals.bunny___22740;\n s.tmp_0.arg1 = 20;\n s.pc = 41; return s.tmp_0;\n case 41:\n r0 = s.retval;\n s.tmp_0 = sprites_create__P602_mk(s);\n r0 = pxsim.image.ofBuffer(_hex22789);\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = 1;\n s.pc = 42; return s.tmp_0;\n case 42:\n r0 = s.retval;\n globals.bird___22772 = (r0);\n s.tmp_0 = Sprite_setPosition__P639_mk(s);\n s.tmp_0.arg0 = globals.bird___22772;\n s.tmp_0.arg1 = 160;\n s.tmp_0.arg2 = 20;\n s.pc = 43; return s.tmp_0;\n case 43:\n r0 = s.retval;\n s.tmp_0 = Sprite_setVelocity__P640_mk(s);\n s.tmp_0.arg0 = globals.bird___22772;\n s.tmp_0.arg1 = -120;\n s.tmp_0.arg2 = 0;\n s.pc = 44; return s.tmp_0;\n case 44:\n r0 = s.retval;\n s.tmp_0 = setupFrames__P22748_mk(s);\n s.pc = 45; return s.tmp_0;\n case 45:\n r0 = s.retval;\n s.tmp_0 = game_onUpdate__P1027_mk(s);\n s.tmp_0.arg0 = inline__P22798;\n s.pc = 46; return s.tmp_0;\n case 46:\n r0 = s.retval;\n s.tmp_0 = game_onUpdate__P1027_mk(s);\n s.tmp_0.arg0 = inline__P22808;\n s.pc = 47; return s.tmp_0;\n case 47:\n r0 = s.retval;\n s.tmp_0 = game_onUpdateInterval__P1028_mk(s);\n s.tmp_0.arg0 = 100;\n s.tmp_0.arg1 = inline__P22818;\n s.pc = 48; return s.tmp_0;\n case 48:\n r0 = s.retval;\n s.tmp_0 = forever__P505_mk(s);\n s.tmp_0.arg0 = inline__P22825;\n s.pc = 49; return s.tmp_0;\n case 49:\n r0 = s.retval;\n s.tmp_0 = game_onUpdateInterval__P1028_mk(s);\n s.tmp_0.arg0 = 200;\n s.tmp_0.arg1 = inline__P22861;\n s.pc = 50; return s.tmp_0;\n case 50:\n r0 = s.retval;\n s.tmp_0 = game_onUpdateInterval__P1028_mk(s);\n s.tmp_0.arg0 = 100;\n s.tmp_0.arg1 = inline__P22878;\n s.pc = 51; return s.tmp_0;\n case 51:\n r0 = s.retval;\n s.tmp_0 = game_onUpdateInterval__P1028_mk(s);\n s.tmp_0.arg0 = 1000;\n s.tmp_0.arg1 = inline__P22894;\n s.pc = 52; return s.tmp_0;\n case 52:\n r0 = s.retval;\n s.tmp_0 = forever__P505_mk(s);\n s.tmp_0.arg0 = inline__P22898;\n s.pc = 53; return s.tmp_0;\n case 53:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\n_main___P22728.info = {\"start\":0,\"length\":0,\"line\":0,\"column\":0,\"endLine\":0,\"endColumn\":0,\"fileName\":\"main.ts\",\"functionName\":\"\",\"argumentNames\":[]}\n_main___P22728.continuations = [ ]\n\nfunction _main___P22728_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: _main___P22728, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n} }\n\nconst _hex3749 = pxsim.BufferMethods.createBufferFromHex(\"1f00210023002500270029002c002e003100340037003a003e004100450049004e00520057005c00620068006e0075007b0083008b0093009c00a500af00b900c400d000dc00e900f70006011501260137014a015d01720188019f01b801d201ee010b022a024b026e029302ba02e40210033f037003a403dc03170455049704dd0427057505c80520067d06e0064907b8072d08a9082d09b9094d0aea0a900b400cfa0cc00d910e6f0f5a1053115b1272139a14d41520178018f519801b231dde1e\")\nconst _hex10057 = pxsim.BufferMethods.createBufferFromHex(\"2000000000000000210000005e0000002200000e000e0000230028fe28fe280024004c92ff926400250002651248a64026006c92926ca000270000000e000000280000007c82000029000000827c00002a005438103854002b0010107c1010002c000000907000002d001010101010002e000000606000002f000060100806003000003c42423c00310000447e4000003200004462524c00330000424a4e320034003028247e20003500004e4a4a32003600003c4a4a30003700000262120e00380000344a4a34003900000c52523c003a0000006c6c00003b000000967600003c001028284444003d002828282828003e004444282810003f0000025909060040003c425a560800410078141214780042007e4a4a4a34004300003c424224004400007e42423c004500007e4a4a42004600007e0a0a02004700003c425234004800007e08087e00490000427e4200004a002040423e02004b00007e081462004c00007e404040004d007e0418047e004e00007e04087e004f003c4242423c005000007e12120c005100003c5262bc005200007e12126c00530000244a522400540002027e0202005500003e40403e005600001e70701e0057007e2018207e00580042241824420059000608700806005a000062524a46005b00007e424200005c000006081060005d000042427e00005e000804020408005f00808080808000600000000204000061000030484878006200007e4848300063000030484848006400003048487e006500003068585000660000107c12040067000018a4a478006800007e08087000690000487a4000006a000040847d00006b00007e102840006c0000427e4000006d007808300870006e000078080870006f00003048483000700000fc24241800710000182424fc0072000078100810007300005058682800740000083e48200075000038404078007600001860601800770038403040380078000048303048007900005ca0a07c007a000048685848007b000008364100007c000000fe0000007d000041360800007e00000804080400a000000000000000a10000007a000000a200003048fc4800a30090fc92928400a400542844285400a5002a2c782c2a00a6000000ee000000a7000094aaaa5200a800000200020000a9003e414955413eaa0000242a2e0000ab00102854284400ac00001010107000ad00001010101000ae003e415d45413eaf00000202020200b000000814140800b1008888be888800b2000024322c0000b30000222a140000b400000004020000b50000f840207800b6000c1e7e027e00b700000010000000b800000080400000b90000243e200000ba0000242a240000bb00442854281000bc00025f70f84000bd00021f90c8b000be0011557af84000bf000030484d2000c000601916186000c100601816196000c200601a151a6000c300601a151a6100c400601914196000c500601a151a6000c6007c0a7e4a4200c700001ea1611200c800007c55564400c900007c56554400ca00007c56554600cb00007c55544500cc0000457e440000cd0000447e450000ce0000467d460000cf0000457c450000d000087e4a423c00d100007e09127d00d200003845463800d300003846453800d400003846453a00d500003a45463900d600003845443900d700442810284400d80000fc724e3f00d900003c41423c00da00003c42413c00db00003c42413e00dc00003c41403d00dd00040872090400de00007e24241800df00007c025a2400e0000030494a7800e10000304a497800e20000304a497a00e3000032494a7900e40000304a487a00e50000304a4d7a00e600304878685000e7000018a4642400e8000030695a5000e90000306a595000ea0000306a595200eb0000306a585200ec0000497a400000ed0000487a410000ee00004a79420000ef00004a78420000f00000304a4b3d00f100007a090a7100f2000030494a3000f30000304a493000f40000304a493200f5000032494a3100f60000304a483200f700101054101000f800007068583800f900003841427800fa00003842417800fb00003842417a00fc00003842407a00fd0000b84241f800fe0000ff24241800ff00005ca1a07d000001601915196000010100304a4a7a000201611a16196000030100314a4a790004013c0a094abc00050100182464bc000601003846452800070100304a4948000801003846452a00090100304a494a000a010038444528000b010030484a48000c010038454629000d010030494a49000e01007c454639000f0100314a497e001001087e4a423c00110130484c7e04001201007d55554500130100326a5a52001401007d56564500150100316a5a51001601007c55544400170100306a5850001801003f65a521001901001874ac28001a01007c555645001b010030695a51001c010038465536001d0100304a49f2001e010039465635001f0100314a4af100200100384455340021010018a4a578002201001ea1691a0023010018a6a578002401007812117a0025017e080a7102002601047e147e04002701047e0c08700028010002457e450029010002497a41002a0100457d4500002b01004a7a4200002c0100014a7a49002d0100014a7a41002e0100217fa100002f0100247da00000300100447d440000310100487840000032017e0022423e0033013d0040847d0034012040463d0600350100800af90200360100bf440a3100370100bf4814200038010078102848003901007c404241003a0100467d4000003b01003fa06020003c0100a17f2000003d01007c414241003e0100457e4100003f01007e40484000400100427e4008004101107e48404000420100527e4800004301007c0a117c00440100780a097000450100bf42043f00460100bc440438004701007c09127d00480100790a09700049010a06780870004a01003f02847f004b01003c048478004c013945454539004d0100324a4a32004e013946464639004f0100314a4a310050013a4544463900510132494832010052013c427e4a420053013048306850005401007c163548005501007812091000560100bf49093600570100bc480408005801007d1635480059010079120910005a010048565524005b0100505a6928005c010048565526005d0100505a692a005e010012a56912005f010028ac741400600100485556250061010050596a290062010101bf410100630100049f641000640104057e050400650100083d4a2100660102127e120200670100183e5820006801003a414239006901003a414279006a01003d41413d006b01003a42427a006c010039424239006d010039424279006e01003a45453a006f01003a45457a0070013a41403a010071013a41407a01007201001f60a01f007301001c60a03c00740178221122780075013842314238007601081261120800770100b84241fa00780104097009040079010064564d44007a0100486a5948007b010064544d44007c010048685a48007d010064554e45007e010048695a49007f0100087c0204008f01003452523c00920100887e090200a0013c42423c0806a101003048483008af01003e403e0806b001003840781008b501006a5a4a4e00b601005878585800d101003845463900d2010030494a3100e601003845563500e7010030494af100fa0100742a750000fb0100304c4a7d00fc0178147e554400fd0130487a695000fe010078744e3d00ff0100706a59380018020012a569120019020028ac7414001a020101bf4101001b0200049f641000bb0200000c0a0000bc0200000a060000bd020000060a0000c602000201020000c702000102010000c902000202020000d802000102020100d902000002000000da02000205020000db02000040800000dc02000201020100dd02020100020100740300000201000075030000804000007a030000c08000007e03000096760000840300000300000085030200030002008603037c12127c008703000010000000880303007e4a4200890303007e087e008a030300427e42008c03033c42423c008e0303000e700e008f03035c62625c00900302003b400200910378141214780092037e4a4a4a34009303007e0202020094036058465860009503007e4a4a420096030062524a46009703007e08087e0098033c4a4a4a3c00990300427e4200009a03007e081462009b036018061860009c037e0418047e009d03007e04087e009e0300424a4a42009f033c4242423c00a003007e02027e00a103007e12120c00a30300665a424200a40302027e020200a503060870080600a60318247e241800a703422418244200a8030e107e100e00a9035c6202625c00aa0300457c450000ab03040970090400ac030030484a7900ad030030685a5100ae0378100a09f000af03003a41200000b0033a4043403a00b103003048487800b20300fe25251a00b3030c30c0300c00b403344a4a4a3000b503003068585000b603021aa6a24200b7033c080404f800b803003c4a4a3c00b903003840200000ba03007820504800bb03641212227c00bc03fc2020103c00bd03182040201800be03112d2ba94100bf03003048483000c003087808780800c103f82424241800c2031824a4a44800c303304848582800c403000838482800c503384040403800c6031c20f8241800c703c4281028c400c8031c20fc201c00c903304820483000ca03000238422000cb03384240423800cc0330484a493000cd03384042413800ce03304822493000d0033c52525c2000d10310344a3c0800d203067804020400d303120a7c020400d4030d7009040800d5031824ff241800d603384828483800d70348302221d800da031c2221a14200db031824a4a44200dc037e1212020200dd0300fc24240400de033e2010087c00df030c0ac9281800e003700c621c7000e10301092516f800e2039ea0bea07e00e30398a0b8a07800e4030c1214107e00e503001028207800e603be9088887000e70348544e443800e803245252524c00e903285454544800ea0364524c526400eb03086458640800ec03385454542200ed03306848682400ee03184a7e4a1800ef031848ff0a0800f003483020205800f10378a4a4a49800f203304848485000f303006080847d00f4033c4a4a4a3c00f5030030585848000004007c555644000104007c55544500020401013f8579000304007c0605040004043c4a4a422400050400244a522400060400427e420000070400457c45000008042040423e020009047c027e4830000a047e087e4830000b0402027e0a72000c04007c102a45000d047c2112087c000e040c5152523d000f043f20e0203f00100478141214780011047e4a4a4a300012047e4a4a4a34001304007e020202001404c07c427ec0001504007e4a4a4200160476087e087600170424424a4a34001804007e08047e001904007d120a7d001a04007e081462001b04403c02027e001c047e0418047e001d04007e08087e001e043c4242423c001f047e0202027e002004007e12120c002104003c42422400220402027e02020023040e5050503e00240418247e241800250442241824420026043f2020bf600027040e1010107e0028047e407e407e0029043f203fa07f002a04027e484830002b047e4848307e002c04007e484830002d0424424a4a3c002e047e183c423c002f04006c12127e0030043048487840003104003c4a4a3100320400786850200033040078080808003404c0704878c000350430686850000036044830783048003704004058683000380478402010780039047942221279003a040078203048003b044030080878003c047810201078003d047810101078003e043048484830003f047808080878004004fc24242418004104304848485000420408087808080043041ca0a0a07c0044041824ff241800450400483030480046043c2020bc60004704182020207800480478407840780049043c203ca07c004a040878505020004b047850502078004c040078505020004d044858683000004e047830304830004f0450282878000050040030696a500051040032686a50005204023f0a887000530400780a09080054040030685848005504005058682800560400487a4000005704004a784200005804004080847d0059047008785020005a047810785020005b04047e141060005c040078223148005d047841221078005e0418a1a2a279005f043c20e0203c006204027f4a4830006304087e5850200070040e107e100e00710418207820180072043c4a4a4a3c0073043068586830007404001e70180c0075040018603010009004007e020203009104007808080c009204087e0a0a0200930420782808080096043b043f043be0970424183c1824c09a04003f040a31c09b04003c101824c0ae04060870080600af040c10e0100c00b004161870181600b1042c30e0302c00b20421120c1221c0b3040024181824c0ba047e0808087000bb04007e08087000d804003452523c00d904002868583000e20400457d450000e304004a7a420000e8043c4a4a4a3c00e904003058583000ee04003d41413d00ef04003a42427a00d005681020285000d105484848784000d205004830600000d305080808780800d405680808087800d505000008780000d605080818680800d705087808087800d805784050487800d905000008180000da0504040404fc00db05484848483800dc050e4848281800dd05087848487800de05582010487000df05000004fc0000e005004040487800e105000878483800e205487840281800e305041c0404fc00e405485848483800e50504f820140800e605485060685000e705f40424241c00e805080808087000e905785058403800ea05487808087800f005087800087800f105081800087800f205081800081800f305000010080000f405100800100800021e7c5455542800031e007e484930000a1e007c454438000b1e003049487e001e1e007c151404001f1e001079140800401e7e0419047e00411e780832087000561e007c15140800571e00fc25241800601e004854552400611e0050586a28006a1e04047d0404006b1e00083d482000801e7c2112207c00811e384132403800821e7c2012217c00831e384032413800841e7c2110217c00851e384230423800f21e040972080400f31e00b84142f800a3207e0a7a120a00a420a8fcaa828400a720087e2a1c0800ab200098a4a6bf02ac20183c5a5a4200af20627f224438009021103854101000912108047e0408009221101054381000932110207e201000942110381010381095212844fe442800\")\nconst _hex2735 = pxsim.BufferMethods.createBufferFromHex(\"20000000000000000000000000000000000000000000000000002100000000000006fc0000000000000000000000000000000000220000001c00000000001c0000000000000000000000000000002300a000f807a000f807a00000000000000000000000000000002400000018022404460c8803000000000000000000000000000025003802c4017800200390040803000000000000000000000000260080037804a4041803800340040000000000000000000000002700000000001c00000000000000000000000000000000000000280000000000f8010606010800000000000000000000000000002900000001080606f801000000000000000000000000000000002a00040014000e001400040000000000000000000000000000002b0040004000f8034000400000000000000000000000000000002c000000000000090006000000000000000000000000000000002d000000800080008000000000000000000000000000000000002e000000000000060000000000000000000000000000000000002f00000c800360001c000300000000000000000000000000000030000000f80304040404f80300000000000000000000000000003100000004040404fc07000400040000000000000000000000003200000008060405c4043804000000000000000000000000000033000000080244044404b803000000000000000000000000000034000000800170010801fc070001000000000000000000000000350000023c0424042404c403000000000000000000000000000036000000f0034804440488030000000000000000000000000000370000000400c40734000c00000000000000000000000000000038000000b80344044404b803000000000000000000000000000039000000780284048802f00100000000000000000000000000003a000000000030060000000000000000000000000000000000003b000000000018090006000000000000000000000000000000003c004000a000a000a000100100000000000000000000000000003d002001200120012001200100000000000000000000000000003e0000001001a000a000a00040000000000000000000000000003f000000080084066400180000000000000000000000000000004000f0030c04c20822092409f80900000000000000000000000041000007f8008400f8000007000000000000000000000000000042000000fc0744044404b803000000000000000000000000000043000000f001080204040404080200000000000000000000000044000000fc0704040802f001000000000000000000000000000045000000fc07440444044404000000000000000000000000000046000000fc07440044004400000000000000000000000000000047000000f00108024404c803000000000000000000000000000048000000fc0740004000fc070000000000000000000000000000490000000404fc070404040400000000000000000000000000004a000000000200040004fc0300000000000000000000000000004b000000fc074000f0000c0304040000000000000000000000004c000000fc0700040004000400000000000000000000000000004d000000fc0738007000fc0700000000000000000000000000004e000000fc073800c003fc0700000000000000000000000000004f000000f80304040404f803000000000000000000000000000050000000fc07840084004400780000000000000000000000000051000000fc0102020206fc09000000000000000000000000000052000000fc074400c4013806000000000000000000000000000053000000180224044404880300000000000000000000000000005400000004000400fc070400040000000000000000000000000055000000fc0300040004fc03000000000000000000000000000056000c00f0030004f0030c00000000000000000000000000000057007c008007e001f0010007fc0000000000000000000000000058000404b8034000b80304040000000000000000000000000000590004003800c00730000c0000000000000000000000000000005a0004040407e4041c04040400000000000000000000000000005b0000000000ff0f0108010800000000000000000000000000005c0003001c0060008003000c00000000000000000000000000005d00000001080108ff0f000000000000000000000000000000005e004000380004003800400000000000000000000000000000005f00000800080008000800080000000000000000000000000000600000000000020004000000000000000000000000000000000061000000200390049004e007000000000000000000000000000062000000fc0710041004e003000000000000000000000000000063000000c001200210043004000200000000000000000000000064000000e00310041004fc07000000000000000000000000000065000000e00390049004e0040000000000000000000000000000660000001000f80714001400000000000000000000000000000067000000b806440944093c09040600000000000000000000000068000000fc0710001000e0070000000000000000000000000000690000000000f4070000000000000000000000000000000000006a00000800080008fd07000000000000000000000000000000006b000000fe078000e001100610040000000000000000000000006c0000000000fc030004000400000000000000000000000000006d00f00710001000e0071000e0070000000000000000000000006e000000f00710001000e00700000000000000000000000000006f000000e00310041004e003000000000000000000000000000070000000fc0f04010401f800000000000000000000000000000071000000f80004010401fc0f000000000000000000000000000072000000f00720001000100000000000000000000000000000007300000060029004900420030000000000000000000000000000740000001000fc0310041004000000000000000000000000000075000000f00300040004f007000000000000000000000000000076003000c0030004c003300000000000000000000000000000007700f0000007e003c0010007f000000000000000000000000000780010046003800060031004000000000000000000000000000079000c0870088007f0000c0000000000000000000000000000007a000000000410079004700410040000000000000000000000007b0000004000be070108010800000000000000000000000000007c0000000000ff0f0000000000000000000000000000000000007d00000001080108be07400000000000000000000000000000007e00800040004000800080004000000000000000000000000000\")\nconst _hex8942 = pxsim.BufferMethods.createBufferFromHex(\"20000000000000002100001700000000220000030003000023000a1f0a1f0a0024000a17151d0a00250013090412190026000a15150a100027000003000000002800000e11000000290000110e0000002a00000a040a00002b0000040e0400002c000010080000002d000004040400002e000008000000002f0010080402010030000e11110e0000310000121f100000320019151512000033000911150b000034000c0a091f080035001715151509003600081416150800370011090503010038000a1515150a00390002150d0502003a00000a000000003b0000100a0000003c0000040a1100003d00000a0a0a00003e0000110a0400003f0002011505020040000e1115090e0041001e05051e000042001f15150a000043000e111111000044001f11110e000045001f151511000046001f050501000047000e1111150c0048001f04041f00004900111f110000004a000911110f01004b001f040a1100004c001f10101000004d001f0204021f004e001f0204081f004f000e11110e000050001f0505020000510006091916000052001f05050a10005300121515090000540001011f01010055000f10100f0000560007081008070057001f0804081f0058001b04041b0000590001021c0201005a001915131100005b00001f111100005c000102040810005d000011111f00005e000002010200005f00101010101000600000010200000061000c12121e100062001f141408000063000c121212000064000814141f000065000e15151200006600041e0501000067000215150f000068001f04041800006900001d000000006a000010100d00006b001f040a1000006c00000f101000006d001e0204021e006e001e02021c00006f000c12120c000070001e0a0a0400007100040a0a1e000072001c0202020000730010140a0200007400000f1414100075000e10101e1000760006081008060077001e1008101e007800120c0c12000079001214080402007a00121a161200007b0000041f1100007c00001f000000007d00111f040000007e00000404080800d3000c1213130c00f3000c12130d000004010e05051e100005010609191f080006010c121313120007010c121313000018010f0b1b19000019010e151d1a000041011f14121000004201100f1412000043011f0205081f0044011e03031c00005a0110140b0302005b0110140b0300007901121a171300007a01121a171300007b01121b171200007c01121b17120000\")\nconst _hex463 = pxsim.BufferMethods.createBufferFromHex(\"000000ffffffff2121ff93c4ff8135fff609249ca378dc52003fad87f2ff8e2ec4a4839f5c406ce5cdc491463d000000\")\nconst _hex1207 = pxsim.BufferMethods.createBufferFromHex(\"8704240024000000001111111111111111111111111111111100000010313333333333333333333333333333130100001113111111111111111111111111111131110000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000111311111111111111111111111111113111000010313333333333333333333333333333130100000011111111111111111111111111111111000000\")\nconst _hex1210 = pxsim.BufferMethods.createBufferFromHex(\"8704240024000000002222222222222222222222222222222200000020323333333333333333333333333333230200002223222222222222222222222222222232220000322211111111111111111111111111112223000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003222111111111111111111111111111122230000222322222222222222222222222222223222000020323333333333333333333333333333230200000022222222222222222222222222222222000000\")\nconst _hex1213 = pxsim.BufferMethods.createBufferFromHex(\"8704240024000000004444444444444444444444444444444400000040343333333333333333333333333333430400004443444444444444444444444444444434440000344411111111111111111111111111114443000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003444111111111111111111111111111144430000444344444444444444444444444444443444000040343333333333333333333333333333430400000044444444444444444444444444444444000000\")\nconst _hex1216 = pxsim.BufferMethods.createBufferFromHex(\"870420002000000000000000000000000000000000000000000000000000c0fcff0f000000000000000000000000bcddddfb000000000000000000000000dcbbbbfd000000000000000000000000ccbbbbfc0000000000000000000000c0bcd1bdfb0f00000000000000000000c01b11ddbb0f00000000000000000000c0bcbbbbcb0f00000000000000000000bc11d1ddddcb000000000000000000c01d11ddddddd10c0000000000000000bcd1cbbcfbcf1dcb00000000000000001ccdccddbdffdfc100000000000000001cccccdbcbffcfc10000000000000000dbcbccccfcffbfcd0000000000000000bbbdccccffcfdbbb0000000000000000b0dbbdbbbbdbbd0b000000000000000000b0cbccccbc0b000000000000000000000000000000000000000000000000000000d007700d00000000000000000000000070666607000000000000000000000000006776000000000000000000000000660700007066000000000000000000006766777766760000000000000000000060666666660600000000000000000066006766667600660000000000000000667600000000676600000000000000006766767777676676000000000000000060666666666666060000000000000000006766666666760000000000000000000000676666760000000000000000000000000000000000000000000000000000000000000000000000000000\")\nconst _hex1219 = pxsim.BufferMethods.createBufferFromHex(\"8704200020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b0bb000000000000000000000000b000404500b0000000000000000000005b0b000400540b0000000000000000b0550400000054b5000000000000000000440040bb0040040000000000000000000040d4ddbb0000000000000000000000004055ddbd000000000000000000004b005455d5dd0b400b000000000000005b045411d5dd0b540b000000000000004b005411d5dd0b400b0000000000000000004055ddbd00000000000000000000000040d4ddbb0000000000000000000000440040bb0040040000000000000000b0550400000054b50000000000000000005b04000400540b000000000000000000b000404500b0000000000000000000000000b0bb0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\")\nconst _hex1222 = pxsim.BufferMethods.createBufferFromHex(\"87042000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020020000000000002002000000000000202200000000000022020000000000000022020000000020220000000000000000202200000000220200000000000000000022020000202200000000000000000000202200002202000000000000000000000022022022000000000000000000000000202222020000000000000000000000000022220000000000000000000000000000222200000000000000000000000000202222020000000000000000000000002202202200000000000000000000002022000022020000000000000000000022020000202200000000000000000020220000000022020000000000000000220200000000202200000000000000202200000000000022020000000000002002000000000000200200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\")\nconst _hex1225 = pxsim.BufferMethods.createBufferFromHex(\"8704200020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0fcff0f000000000000000000000000bcddddfb000000000000000000000000dcbbbbfd000000000000000000000000ccbbbbfc0000000000000000000000c0bcd1bdfb0f00000000000000000000c01b11ddbb0f00000000000000000000c0bcbbbbcb0f00000000000000000000bc11d1ddddcb000000000000000000c01d11ddddddd10c0000000000000000bcd1cbbcfbcf1dcb00000000000000001ccdccddbdffdfc100000000000000001cccccdbcbffcfc10000000000000000dbcbccccfcffbfcd0000000000000000bbbdccccffcfdbbb0000000000000000b0dbbdbbbbdbbd0b000000000000000000b0cbccccbc0b000000000000000000000000000000000000000000000000000000d007700d0000000000000000000000007066660700000000000000000000000000677600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\")\nconst _hex1228 = pxsim.BufferMethods.createBufferFromHex(\"870420002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b0cbcc0c0000000000000000000000b0db55d5cd0c00000000000000000000db555555ddcd000000000000000000b055555555d59d0b0000000000000000db55555555d59db900000000000000005b55555555d5ddb900000000000000b05db5cccc5bdddd990b000000000000b055ccccccccdddd9d0b000000000000b0b5ccccccccdbdd9d0b000000000000b0c5ccccccccdcdd9d0b000000000000b0c5ccdccbccdcdd9d0c000000000000b0cdcc5b55ccdcdd9d0c00000000000000ccdc55b5ccdcddc90000000000000000cccc5b55ccdbddc90000000000000000c0ccdccbccdd9d0c000000000000000000ccccccdbddcd00000000000000000000c0dcddddcd0c0000000000000000000000c0cccc0c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\")\nconst _hex1231 = pxsim.BufferMethods.createBufferFromHex(\"870420002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cc00000000000000b0bbbbbbbbcb00c0cd000000000000001bddddddddbd0c1ccd000000000000b011cbccccccbc0c1ccd000000000000b01d6c666666bc0cbccd000000000000b01d6c616661bc0c1ccd000000000000b01d6c161666bccc1bcd000000000000b01d6c666166bcccbbcd000000000000b01d6c666666bccc1bcd000000000000b01d6c666661bccc1bcd000000000000b01d6c666661bcccbbcd000000000000b01d6c666661bccc1bcd000000000000b01d6c666666bc0c1ccd000000000000b01dcbccccccbc0cbccd000000000000c0b1bbbbbbbbbb0cdccb000000000000c0bbbbbbbbbbcb00dc0c00000000000000cccccccccc0c00cc000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\")\nconst _hex1234 = pxsim.BufferMethods.createBufferFromHex(\"87042000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004004000000000000000000000000000054450000000000000000000000440b00bbbb00b0440000000000000040550b00000000b0550400000000000040b5000044bb00005b04000000000000b00b0044ddddbb00b00b0000000000000000405d55d5dd0b00000000000000000000d4555555ddbd0000000000000000000054555555d5bd0000000000000000b44055555555d5dd0b4b000000000040b54055555555d5dd0b5b040000000040b54055555555d5dd0b5b040000000000b44055115555d5dd0b4b000000000000000054115555d5bd00000000000000000000d4555555ddbd00000000000000000000405d55d5dd0b0000000000000000b00b0044ddddbb00b00b00000000000040b5000044bb00005b0400000000000040550b00000000b0550400000000000000440b00bbbb00b0440000000000000000000000544500000000000000000000000000004004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\")\nconst _hex1237 = pxsim.BufferMethods.createBufferFromHex(\"870420002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000bbbb00000000000000000000000000b055bb00bbbbbb000000000000000000b0b5bdbcbbbbddcb0000000000000000b0dbcb5b5555bbdd0c00000000000000b0cbdcbdbb5b55dbcd0000000000000000c0dddb11d15bb5bd0c00000000000000bbbd111111b155bb0c00000000000000db1b111111115bb5cb00000000000000db1bb11d1199b9d5cb00000000000000db1b11bb9199b955cb000000000000005b1b11b19b99995bcb000000000000005b1d1111bb99995ccb00000000000000b0b511bbbb99995ccb00000000000000b0d51d919999d95b0b00000000000000005bdb919999c9d50b0000000000000000b0d51b99d9bcb5000000000000000000005bd5bbbc550b00000000000000000000b05b5555bd000000000000000000000000b0bbbb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\")\nconst _hex22778 = pxsim.BufferMethods.createBufferFromHex(\"87040c0015000000000000000000000000000000000000000010010000000000000000111110010000000000100110111111010000000000101311111111111101000000003013f1111111111100000010011011f11111111101000010131111f111111101000000003013f11111010000000000000000111110010000000000000000000010010000000000000000000000000000000000\")\nconst _hex22789 = pxsim.BufferMethods.createBufferFromHex(\"87041000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\")\n\n\n\n\nfunction inline__P439(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n case 1:\n r0 = pxsim_numops_toBoolDecr(true);\n if (!r0) { step = 4; continue; }\n globals.__updated___434 = (false);\n s.tmp_0 = pause__P241_mk(s);\n s.tmp_0.arg0 = 200;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(globals.__updated___434);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n s.tmp_2 = control___screen_update__P435_mk(s);\n s.pc = 6; return s.tmp_2;\n case 6:\n r0 = s.retval;\n globals.__updated___434 = (true);\n case 2:\n case 3:\n { step = 1; continue; }\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P439.info = {\"start\":396,\"length\":211,\"line\":17,\"column\":26,\"endLine\":26,\"endColumn\":5,\"fileName\":\"pxt_modules/screen/frame.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P439_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P439, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n} }\n\n\n\n\n\nfunction inline__P470(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_pxtcore.updateScreen(globals.screen___464);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P470.info = {\"start\":753,\"length\":26,\"line\":22,\"column\":33,\"endLine\":22,\"endColumn\":59,\"fileName\":\"pxt_modules/screen/targetoverrides.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P470_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P470, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n} }\n\n\n\n\n\nfunction inline__P475(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_pxtcore.updateStats(s.arg0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P475.info = {\"start\":816,\"length\":56,\"line\":23,\"column\":35,\"endLine\":25,\"endColumn\":5,\"fileName\":\"pxt_modules/screen/targetoverrides.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"msg\"]}\n\nfunction inline__P475_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P475, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P750(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_numops_toBoolDecr(globals.infoState___745);\n if (!r0) { step = 3; continue; }\n r0 = pxsim_numops_toBoolDecr(globals.infoStateStack___747);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_Array__mk();\n globals.infoStateStack___747 = (r0);\n case 1:\n case 2:\n r0 = pxsim_pxtrt.mkMap();\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, \"state\", globals.infoState___745);\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, \"scene\", s.arg0);\n r0 = pxsim_Array__push(globals.infoStateStack___747, s.tmp_0);\n globals.infoState___745 = (undefined);\n case 3:\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P750.info = {\"start\":1913,\"length\":259,\"line\":73,\"column\":29,\"endLine\":82,\"endColumn\":5,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"oldScene\"]}\n\nfunction inline__P750_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P750, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P766(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.scene___767 = undefined;\n s.nextState___776 = undefined;\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 7; return s.tmp_0;\n case 7:\n r0 = s.retval;\n s.scene___767 = (r0);\n globals.infoState___745 = (undefined);\n s.tmp_0 = r0 = globals.infoStateStack___747;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = pxsim_Array__length(globals.infoStateStack___747);\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 5; continue; }\n r0 = pxsim_Array_.pop(globals.infoStateStack___747);\n s.nextState___776 = (r0);\n s.tmp_2 = if_scene_1_mk(s);\n s.tmp_2.arg0 = s.nextState___776;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, \"scene\");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface[\"scene\"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields[\"scene\"]; }\n else { s.pc = 8; return s.tmp_2; }\n }\n case 8:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 == s.scene___767);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.tmp_3 = if_state_1_mk(s);\n s.tmp_3.arg0 = s.nextState___776;\n if (!s.tmp_3.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, \"state\");\n } else {\n s.tmp_3.fn = s.tmp_3.arg0.vtable.iface[\"state\"];\n if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields[\"state\"]; }\n else { s.pc = 9; return s.tmp_3; }\n }\n case 9:\n r0 = s.retval;\n globals.infoState___745 = (r0);\n { step = 4; continue; }\n case 3:\n r0 = pxsim_Array__push(globals.infoStateStack___747, s.nextState___776);\n case 4:\n case 5:\n case 6:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P766.info = {\"start\":2204,\"length\":376,\"line\":84,\"column\":28,\"endLine\":95,\"endColumn\":5,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P766_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P766, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n scene___767: undefined,\n nextState___776: undefined,\n} }\n\n\n\n\n\nfunction inline__P1276(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.sz___1277 = undefined;\n s.tmp_0 = control_ramSize__P179_mk(s);\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n s.sz___1277 = (r0);\n s.tmp_1 = r0 = s.sz___1277;\n r0 = (1024 * 100);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 <= s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = 8;\n { step = 5; continue; }\n { step = 4; continue; }\n case 1:\n s.tmp_4 = r0 = s.sz___1277;\n r0 = (1024 * 200);\n s.tmp_5 = r0;\n r0 = (s.tmp_4 <= s.tmp_5);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 2; continue; }\n r0 = 16;\n { step = 5; continue; }\n { step = 3; continue; }\n case 2:\n r0 = 50;\n { step = 5; continue; }\n case 3:\n case 4:\n r0 = undefined;\n case 5:\n return leave(s, r0)\n default: oops()\n} } }\ninline__P1276.info = {\"start\":189,\"length\":217,\"line\":7,\"column\":25,\"endLine\":16,\"endColumn\":5,\"fileName\":\"pxt_modules/game/particles.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P1276_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P1276, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n sz___1277: undefined,\n} }\n\n\n\n\n\nfunction inline__P1453(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_pxtrt.mkMap();\n s.tmp_0 = r0;\n r0 = pxsim.Math_.random();\n s.tmp_3 = r0;\n r0 = (s.tmp_3 * 2);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - 1);\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, \"xOffset\", s.tmp_1);\n r0 = pxsim.Math_.random();\n s.tmp_6 = r0;\n r0 = (s.tmp_6 * 2);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 - 1);\n s.tmp_4 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, \"yOffset\", s.tmp_4);\n r0 = s.tmp_0;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P1453.info = {\"start\":860,\"length\":117,\"line\":31,\"column\":40,\"endLine\":34,\"endColumn\":5,\"fileName\":\"pxt_modules/game/texteffects.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P1453_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P1453, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n} }\n\n\n\n\n\nfunction inline__P1463(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_pxtrt.mkMap();\n s.tmp_2 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_2, \"xOffset\", 0);\n r0 = pxsim.Math_.sin(s.arg0);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 * 2);\n s.tmp_3 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_2, \"yOffset\", s.tmp_3);\n s.tmp_7 = Math_sign__P60_mk(s);\n r0 = pxsim.Math_.sin(s.arg0);\n s.tmp_7.arg0 = r0;\n s.pc = 7; return s.tmp_7;\n case 7:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = (s.tmp_6 < 0);\n s.tmp_5 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_2, \"up\", s.tmp_5);\n s.arg1 = (s.tmp_2);\n case 1:\n case 2:\n s.tmp_1 = if_up_1_mk(s);\n s.tmp_1.arg0 = s.arg1;\n if (!s.tmp_1.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, \"up\");\n } else {\n s.tmp_1.fn = s.tmp_1.arg0.vtable.iface[\"up\"];\n if (s.tmp_1.fn == null) { s.retval = s.tmp_1.arg0.fields[\"up\"]; }\n else { s.pc = 8; return s.tmp_1; }\n }\n case 8:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = 1;\n { step = 4; continue; }\n case 3:\n r0 = -1;\n case 4:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n s.tmp_3 = if_yOffset_2_mk(s);\n s.tmp_4 = r0 = s.arg1;\n s.tmp_3.arg0 = r0;\n s.tmp_6 = if_yOffset_1_mk(s);\n s.tmp_6.arg0 = s.tmp_4;\n if (!s.tmp_6.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_6.arg0, \"yOffset\");\n } else {\n s.tmp_6.fn = s.tmp_6.arg0.vtable.iface[\"yOffset\"];\n if (s.tmp_6.fn == null) { s.retval = s.tmp_6.arg0.fields[\"yOffset\"]; }\n else { s.pc = 10; return s.tmp_6; }\n }\n case 10:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = (s.tmp_2 * 0.5);\n s.tmp_7 = r0;\n r0 = (s.tmp_5 + s.tmp_7);\n s.tmp_3.arg1 = r0;\n if (!s.tmp_3.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapSetByString(s.tmp_3.arg0, \"yOffset\", s.tmp_3.arg1);\n } else {\n s.tmp_3.fn = s.tmp_3.arg0.vtable.iface[\"set/yOffset\"];\n if (s.tmp_3.fn === null) { s.tmp_3.arg0.fields[\"yOffset\"] = s.tmp_3.arg1; }\n else if (s.tmp_3.fn === undefined) { failedCast(s.tmp_3.arg0) }\n else { s.pc = 9; return s.tmp_3; }\n }\n case 9:\n r0 = s.retval;\n s.tmp_2 = Math_abs__P59_mk(s);\n s.tmp_3 = if_yOffset_1_mk(s);\n s.tmp_3.arg0 = s.arg1;\n if (!s.tmp_3.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, \"yOffset\");\n } else {\n s.tmp_3.fn = s.tmp_3.arg0.vtable.iface[\"yOffset\"];\n if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields[\"yOffset\"]; }\n else { s.pc = 12; return s.tmp_3; }\n }\n case 12:\n r0 = s.retval;\n s.tmp_2.arg0 = r0;\n s.pc = 11; return s.tmp_2;\n case 11:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > 2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n s.tmp_6 = if_up_1_mk(s);\n s.tmp_6.arg0 = s.arg1;\n if (!s.tmp_6.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_6.arg0, \"up\");\n } else {\n s.tmp_6.fn = s.tmp_6.arg0.vtable.iface[\"up\"];\n if (s.tmp_6.fn == null) { s.retval = s.tmp_6.arg0.fields[\"up\"]; }\n else { s.pc = 13; return s.tmp_6; }\n }\n case 13:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_5);\n s.tmp_4 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_4);\n { step = 6; continue; }\n case 5:\n s.tmp_7 = if_up_1_mk(s);\n s.tmp_7.arg0 = s.arg1;\n if (!s.tmp_7.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_7.arg0, \"up\");\n } else {\n s.tmp_7.fn = s.tmp_7.arg0.vtable.iface[\"up\"];\n if (s.tmp_7.fn == null) { s.retval = s.tmp_7.arg0.fields[\"up\"]; }\n else { s.pc = 14; return s.tmp_7; }\n }\n case 14:\n r0 = s.retval;\n case 6:\n // jmp value (already in r0)\n s.tmp_8 = r0;\n s.tmp_9 = if_up_2_mk(s);\n s.tmp_9.arg0 = s.arg1;\n s.tmp_9.arg1 = s.tmp_8;\n if (!s.tmp_9.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapSetByString(s.tmp_9.arg0, \"up\", s.tmp_9.arg1);\n } else {\n s.tmp_9.fn = s.tmp_9.arg0.vtable.iface[\"set/up\"];\n if (s.tmp_9.fn === null) { s.tmp_9.arg0.fields[\"up\"] = s.tmp_9.arg1; }\n else if (s.tmp_9.fn === undefined) { failedCast(s.tmp_9.arg0) }\n else { s.pc = 15; return s.tmp_9; }\n }\n case 15:\n r0 = s.retval;\n r0 = s.arg1;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P1463.info = {\"start\":1127,\"length\":417,\"line\":42,\"column\":39,\"endLine\":55,\"endColumn\":5,\"fileName\":\"pxt_modules/game/texteffects.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"index\",\"state\"]}\n\nfunction inline__P1463_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P1463, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction inline__P1575(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_numops_toBoolDecr(globals.animations___1572);\n if (!r0) { step = 3; continue; }\n r0 = pxsim_numops_toBoolDecr(globals.animationStateStack___1573);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_Array__mk();\n globals.animationStateStack___1573 = (r0);\n case 1:\n case 2:\n r0 = pxsim_pxtrt.mkMap();\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, \"state\", globals.animations___1572);\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, \"scene\", s.arg0);\n r0 = pxsim_Array__push(globals.animationStateStack___1573, s.tmp_0);\n globals.animations___1572 = (undefined);\n case 3:\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P1575.info = {\"start\":251,\"length\":277,\"line\":12,\"column\":29,\"endLine\":21,\"endColumn\":5,\"fileName\":\"pxt_modules/animation/legacy.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"oldScene\"]}\n\nfunction inline__P1575_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P1575, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P1589(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.scene___1590 = undefined;\n s.nextState___1597 = undefined;\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 7; return s.tmp_0;\n case 7:\n r0 = s.retval;\n s.scene___1590 = (r0);\n globals.animations___1572 = (undefined);\n s.tmp_0 = r0 = globals.animationStateStack___1573;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = pxsim_Array__length(globals.animationStateStack___1573);\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 5; continue; }\n r0 = pxsim_Array_.pop(globals.animationStateStack___1573);\n s.nextState___1597 = (r0);\n s.tmp_2 = if_scene_1_mk(s);\n s.tmp_2.arg0 = s.nextState___1597;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, \"scene\");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface[\"scene\"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields[\"scene\"]; }\n else { s.pc = 8; return s.tmp_2; }\n }\n case 8:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 == s.scene___1590);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.tmp_3 = if_state_1_mk(s);\n s.tmp_3.arg0 = s.nextState___1597;\n if (!s.tmp_3.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, \"state\");\n } else {\n s.tmp_3.fn = s.tmp_3.arg0.vtable.iface[\"state\"];\n if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields[\"state\"]; }\n else { s.pc = 9; return s.tmp_3; }\n }\n case 9:\n r0 = s.retval;\n globals.animations___1572 = (r0);\n { step = 4; continue; }\n case 3:\n r0 = pxsim_Array__push(globals.animationStateStack___1573, s.nextState___1597);\n case 4:\n case 5:\n case 6:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P1589.info = {\"start\":560,\"length\":398,\"line\":23,\"column\":28,\"endLine\":34,\"endColumn\":5,\"fileName\":\"pxt_modules/animation/legacy.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P1589_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P1589, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n scene___1590: undefined,\n nextState___1597: undefined,\n} }\n\n\n\n\n\nfunction inline__P22737(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_2 = Sprite_ay__P619_mk(s);\n s.tmp_2.arg0 = globals.bunny___22740;\n s.pc = 3; return s.tmp_2;\n case 3:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 == 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_3 = Sprite_vy__P616_mk(s);\n s.tmp_3.arg0 = globals.bunny___22740;\n s.tmp_3.arg1 = -160;\n s.pc = 4; return s.tmp_3;\n case 4:\n r0 = s.retval;\n s.tmp_0 = Sprite_ay__P620_mk(s);\n s.tmp_0.arg0 = globals.bunny___22740;\n s.tmp_0.arg1 = globals.gravity___22747;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P22737.info = {\"start\":151,\"length\":97,\"line\":4,\"column\":60,\"endLine\":9,\"endColumn\":1,\"fileName\":\"main.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P22737_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P22737, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n} }\n\n\n\n\n\nfunction inline__P22754(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = gameover__P22758_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P22754.info = {\"start\":32727,\"length\":50,\"line\":546,\"column\":58,\"endLine\":548,\"endColumn\":1,\"fileName\":\"main.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"sprite\",\"otherSprite\"]}\n\nfunction inline__P22754_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P22754, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction inline__P22798(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_2 = Sprite_bottom__P635_mk(s);\n s.tmp_2.arg0 = globals.bunny___22740;\n s.pc = 3; return s.tmp_2;\n case 3:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > 105);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_3 = Sprite_bottom__P636_mk(s);\n s.tmp_3.arg0 = globals.bunny___22740;\n s.tmp_3.arg1 = 105;\n s.pc = 4; return s.tmp_3;\n case 4:\n r0 = s.retval;\n s.tmp_0 = Sprite_vy__P616_mk(s);\n s.tmp_0.arg0 = globals.bunny___22740;\n s.tmp_0.arg1 = 0;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n s.tmp_0 = Sprite_ay__P620_mk(s);\n s.tmp_0.arg0 = globals.bunny___22740;\n s.tmp_0.arg1 = 0;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P22798.info = {\"start\":34622,\"length\":120,\"line\":614,\"column\":14,\"endLine\":620,\"endColumn\":1,\"fileName\":\"main.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P22798_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P22798, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n} }\n\n\n\n\n\nfunction inline__P22808(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_2 = Sprite_x__P609_mk(s);\n s.tmp_2.arg0 = globals.bird___22772;\n s.pc = 3; return s.tmp_2;\n case 3:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_3 = Sprite_setPosition__P639_mk(s);\n s.tmp_3.arg0 = globals.bird___22772;\n r0 = pxsim.Math_.randomRange(160, 240);\n s.tmp_3.arg1 = r0;\n r0 = pxsim.Math_.randomRange(20, 60);\n s.tmp_3.arg2 = r0;\n s.pc = 4; return s.tmp_3;\n case 4:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P22808.info = {\"start\":34758,\"length\":122,\"line\":621,\"column\":14,\"endLine\":625,\"endColumn\":1,\"fileName\":\"main.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P22808_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P22808, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n} }\n\n\n\n\n\nfunction inline__P22818(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = Sprite_x__P610_mk(s);\n s.tmp_1 = r0 = globals.bird___22772;\n s.tmp_0.arg0 = r0;\n s.tmp_3 = Sprite_x__P609_mk(s);\n s.tmp_3.arg0 = s.tmp_1;\n s.pc = 2; return s.tmp_3;\n case 2:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + -1);\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P22818.info = {\"start\":34909,\"length\":32,\"line\":626,\"column\":27,\"endLine\":628,\"endColumn\":1,\"fileName\":\"main.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P22818_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P22818, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n} }\n\n\n\n\n\nfunction inline__P22825(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.i___22834 = undefined;\n s.tmp_1 = game_runtime__P1033_mk(s);\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = (s.tmp_0 / 250);\n globals.difficultyFactor___22764 = (r0);\n r0 = (100 + globals.difficultyFactor___22764);\n globals.osbstacleSpeed___22763 = (r0);\n r0 = pxsim.Math_.randomRange(1, 3);\n globals.numObstacles___22762 = (r0);\n s.i___22834 = (0);\n case 1:\n r0 = (s.i___22834 < globals.numObstacles___22762);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n s.tmp_1 = r0 = globals.obstacles___22770;\n r0 = pxsim_Array__length(globals.obstacles___22770);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 - 1);\n s.tmp_3 = r0;\n r0 = pxsim.Math_.randomRange(0, s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_Array__getAt(s.tmp_1, s.tmp_2);\n globals.newObstacle___22761 = (r0);\n s.tmp_0 = sprites_createProjectileFromSide__P604_mk(s);\n s.tmp_0.arg0 = globals.newObstacle___22761;\n r0 = (0 - globals.osbstacleSpeed___22763);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = 0;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n globals.projectile___22760 = (r0);\n s.tmp_0 = Sprite_bottom__P636_mk(s);\n s.tmp_0.arg0 = globals.projectile___22760;\n s.tmp_0.arg1 = 105;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n s.tmp_0 = Sprite_setKind__P638_mk(s);\n s.tmp_0.arg0 = globals.projectile___22760;\n s.tmp_0.arg1 = globals.Obstacle___22731;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n s.tmp_0 = pause__P241_mk(s);\n r0 = (11500 / globals.osbstacleSpeed___22763);\n s.tmp_0.arg0 = r0;\n s.pc = 7; return s.tmp_0;\n case 7:\n r0 = s.retval;\n r0 = (s.i___22834 + 1);\n s.i___22834 = (r0);\n { step = 1; continue; }\n case 2:\n s.tmp_0 = pause__P241_mk(s);\n r0 = pxsim.Math_.randomRange(1500, 2500);\n s.tmp_0.arg0 = r0;\n s.pc = 8; return s.tmp_0;\n case 8:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P22825.info = {\"start\":34951,\"length\":519,\"line\":629,\"column\":8,\"endLine\":641,\"endColumn\":1,\"fileName\":\"main.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P22825_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P22825, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n i___22834: undefined,\n} }\n\n\n\n\n\nfunction inline__P22861(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_1 = Math_percentChance__P1154_mk(s);\n s.tmp_1.arg0 = 40;\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_2 = sprites_createProjectileFromSide__P604_mk(s);\n s.tmp_3 = r0 = globals.grassImages___22768;\n r0 = pxsim_Array__length(globals.grassImages___22768);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 - 1);\n s.tmp_5 = r0;\n r0 = pxsim.Math_.randomRange(0, s.tmp_5);\n s.tmp_4 = r0;\n r0 = pxsim_Array__getAt(s.tmp_3, s.tmp_4);\n s.tmp_2.arg0 = r0;\n s.tmp_10 = game_runtime__P1033_mk(s);\n s.pc = 5; return s.tmp_10;\n case 5:\n r0 = s.retval;\n s.tmp_9 = r0;\n r0 = (s.tmp_9 / 250);\n s.tmp_8 = r0;\n r0 = (-100 - s.tmp_8);\n s.tmp_7 = r0;\n r0 = (s.tmp_7 / 2);\n s.tmp_2.arg1 = r0;\n s.tmp_2.arg2 = 0;\n s.pc = 4; return s.tmp_2;\n case 4:\n r0 = s.retval;\n globals.grass___22759 = (r0);\n s.tmp_0 = Sprite_bottom__P636_mk(s);\n s.tmp_0.arg0 = globals.grass___22759;\n s.tmp_0.arg1 = 100;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n s.tmp_0 = if_z_2_mk(s);\n s.tmp_0.arg0 = globals.grass___22759;\n s.tmp_0.arg1 = -1;\n if (!s.tmp_0.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapSetByString(s.tmp_0.arg0, \"z\", s.tmp_0.arg1);\n } else {\n s.tmp_0.fn = s.tmp_0.arg0.vtable.iface[\"set/z\"];\n if (s.tmp_0.fn === null) { s.tmp_0.arg0.fields[\"z\"] = s.tmp_0.arg1; }\n else if (s.tmp_0.fn === undefined) { failedCast(s.tmp_0.arg0) }\n else { s.pc = 7; return s.tmp_0; }\n }\n case 7:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P22861.info = {\"start\":35499,\"length\":248,\"line\":642,\"column\":27,\"endLine\":648,\"endColumn\":1,\"fileName\":\"main.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P22861_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P22861, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n} }\n\n\n\n\n\nfunction inline__P22878(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals.over___22733);\n if (!r0) { step = 1; continue; }\n { step = 11; continue; }\n case 1:\n case 2:\n s.tmp_0 = info_changeScoreBy__P802_mk(s);\n s.tmp_0.arg0 = 1;\n s.pc = 12; return s.tmp_0;\n case 12:\n r0 = s.retval;\n s.tmp_2 = info_score__P798_mk(s);\n s.pc = 13; return s.tmp_2;\n case 13:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 3; continue; }\n r0 = s.tmp_0;\n { step = 4; continue; }\n case 3:\n s.tmp_5 = info_score__P798_mk(s);\n s.pc = 14; return s.tmp_5;\n case 14:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = (s.tmp_4 % 100);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 == 0);\n case 4:\n // jmp value (already in r0)\n s.tmp_6 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_6);\n if (!r0) { step = 5; continue; }\n s.tmp_7 = effects_ScreenEffect_startScreenEffect__P1416_mk(s);\n s.tmp_7.arg0 = globals.confetti___1424;\n s.tmp_7.arg1 = undefined;\n s.tmp_7.arg2 = undefined;\n s.pc = 15; return s.tmp_7;\n case 15:\n r0 = s.retval;\n { step = 10; continue; }\n case 5:\n s.tmp_2 = info_score__P798_mk(s);\n s.pc = 16; return s.tmp_2;\n case 16:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 6; continue; }\n r0 = s.tmp_0;\n { step = 7; continue; }\n case 6:\n s.tmp_6 = info_score__P798_mk(s);\n s.pc = 17; return s.tmp_6;\n case 17:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = (s.tmp_5 - 10);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 % 100);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 == 0);\n case 7:\n // jmp value (already in r0)\n s.tmp_7 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_7);\n if (!r0) { step = 8; continue; }\n s.tmp_8 = effects_ScreenEffect_endScreenEffect__P1417_mk(s);\n s.tmp_8.arg0 = globals.confetti___1424;\n s.pc = 18; return s.tmp_8;\n case 18:\n r0 = s.retval;\n case 8:\n case 9:\n case 10:\n case 11:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P22878.info = {\"start\":35776,\"length\":280,\"line\":649,\"column\":27,\"endLine\":657,\"endColumn\":1,\"fileName\":\"main.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P22878_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P22878, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n} }\n\n\n\n\n\nfunction inline__P22894(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_1 = Math_percentChance__P1154_mk(s);\n s.tmp_1.arg0 = 20;\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_2 = createCloud__P22750_mk(s);\n s.pc = 4; return s.tmp_2;\n case 4:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P22894.info = {\"start\":36086,\"length\":77,\"line\":658,\"column\":28,\"endLine\":662,\"endColumn\":1,\"fileName\":\"main.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P22894_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P22894, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n} }\n\n\n\n\n\nfunction inline__P22898(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_1 = Math_percentChance__P1154_mk(s);\n s.tmp_1.arg0 = 60;\n s.pc = 5; return s.tmp_1;\n case 5:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.tmp_2 = createTree__P22749_mk(s);\n s.pc = 6; return s.tmp_2;\n case 6:\n r0 = s.retval;\n s.tmp_1 = Math_percentChance__P1154_mk(s);\n s.tmp_1.arg0 = 50;\n s.pc = 7; return s.tmp_1;\n case 7:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_2 = pause__P241_mk(s);\n r0 = pxsim.Math_.randomRange(150, 300);\n s.tmp_2.arg0 = r0;\n s.pc = 8; return s.tmp_2;\n case 8:\n r0 = s.retval;\n s.tmp_0 = createTree__P22749_mk(s);\n s.pc = 9; return s.tmp_0;\n case 9:\n r0 = s.retval;\n case 1:\n case 2:\n case 3:\n case 4:\n s.tmp_0 = pause__P241_mk(s);\n s.tmp_0.arg0 = 1500;\n s.pc = 10; return s.tmp_0;\n case 10:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P22898.info = {\"start\":37807,\"length\":211,\"line\":721,\"column\":8,\"endLine\":730,\"endColumn\":1,\"fileName\":\"main.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P22898_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P22898, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n} }\n\n\n\n\n\nfunction createTree__P22749(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = sprites_createProjectileFromSide__P604_mk(s);\n s.tmp_1 = r0 = globals.trees___22769;\n r0 = pxsim_Array__length(globals.trees___22769);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 - 1);\n s.tmp_3 = r0;\n r0 = pxsim.Math_.randomRange(0, s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_Array__getAt(s.tmp_1, s.tmp_2);\n s.tmp_0.arg0 = r0;\n s.tmp_8 = game_runtime__P1033_mk(s);\n s.pc = 2; return s.tmp_8;\n case 2:\n r0 = s.retval;\n s.tmp_7 = r0;\n r0 = (s.tmp_7 / 250);\n s.tmp_6 = r0;\n r0 = (-100 - s.tmp_6);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 / 2);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = 0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n globals.tree___22766 = (r0);\n s.tmp_0 = Sprite_bottom__P636_mk(s);\n s.tmp_0.arg0 = globals.tree___22766;\n s.tmp_0.arg1 = 100;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.tmp_0 = if_z_2_mk(s);\n s.tmp_0.arg0 = globals.tree___22766;\n s.tmp_0.arg1 = -1;\n if (!s.tmp_0.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapSetByString(s.tmp_0.arg0, \"z\", s.tmp_0.arg1);\n } else {\n s.tmp_0.fn = s.tmp_0.arg0.vtable.iface[\"set/z\"];\n if (s.tmp_0.fn === null) { s.tmp_0.arg0.fields[\"z\"] = s.tmp_0.arg1; }\n else if (s.tmp_0.fn === undefined) { failedCast(s.tmp_0.arg0) }\n else { s.pc = 4; return s.tmp_0; }\n }\n case 4:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncreateTree__P22749.info = {\"start\":32286,\"length\":192,\"line\":536,\"column\":0,\"endLine\":540,\"endColumn\":1,\"fileName\":\"main.ts\",\"functionName\":\"createTree\",\"argumentNames\":[]}\n\nfunction createTree__P22749_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: createTree__P22749, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n} }\n\n\n\n\n\nfunction createCloud__P22750(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = sprites_createProjectileFromSide__P604_mk(s);\n s.tmp_1 = r0 = globals.clouds___22767;\n r0 = pxsim_Array__length(globals.clouds___22767);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 - 1);\n s.tmp_3 = r0;\n r0 = pxsim.Math_.randomRange(0, s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_Array__getAt(s.tmp_1, s.tmp_2);\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = -30;\n s.tmp_0.arg2 = 0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n globals.cloud___22765 = (r0);\n s.tmp_0 = Sprite_bottom__P636_mk(s);\n s.tmp_0.arg0 = globals.cloud___22765;\n r0 = pxsim.Math_.randomRange(30, 55);\n s.tmp_0.arg1 = r0;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n s.tmp_0 = if_z_2_mk(s);\n s.tmp_0.arg0 = globals.cloud___22765;\n s.tmp_0.arg1 = -2;\n if (!s.tmp_0.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapSetByString(s.tmp_0.arg0, \"z\", s.tmp_0.arg1);\n } else {\n s.tmp_0.fn = s.tmp_0.arg0.vtable.iface[\"set/z\"];\n if (s.tmp_0.fn === null) { s.tmp_0.arg0.fields[\"z\"] = s.tmp_0.arg1; }\n else if (s.tmp_0.fn === undefined) { failedCast(s.tmp_0.arg0) }\n else { s.pc = 3; return s.tmp_0; }\n }\n case 3:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncreateCloud__P22750.info = {\"start\":32479,\"length\":189,\"line\":541,\"column\":0,\"endLine\":545,\"endColumn\":1,\"fileName\":\"main.ts\",\"functionName\":\"createCloud\",\"argumentNames\":[]}\n\nfunction createCloud__P22750_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: createCloud__P22750, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n} }\n\n\n\n\n\nfunction effects_ScreenEffect_endScreenEffect__P1417(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, effects_ScreenEffect__C1414_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"source\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_1 = particles_ParticleSource_destroy__P1294_mk(s);\n r0 = s.arg0.fields[\"source\"];\n s.tmp_1.arg0 = r0;\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n r0 = (s.arg0).fields[\"source\"] = (undefined);\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\neffects_ScreenEffect_endScreenEffect__P1417.info = {\"start\":4539,\"length\":160,\"line\":121,\"column\":8,\"endLine\":126,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particleeffects.ts\",\"functionName\":\"endScreenEffect\",\"argumentNames\":[\"this\"]}\n\nfunction effects_ScreenEffect_endScreenEffect__P1417_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: effects_ScreenEffect_endScreenEffect__P1417, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleSource_destroy__P1294(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleSource__C1285_VT)) failedCast(r0);\n s.tmp_0 = particles_ParticleSource_enabled__P1293_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = false;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.tmp_0 = r0 = s.arg0;\n r0 = s.tmp_0.fields[\"pFlags\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"pFlags\"] = (s.tmp_1);\n s.tmp_0 = particles_ParticleSource__prune__P1289_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleSource_destroy__P1294.info = {\"start\":6601,\"length\":240,\"line\":221,\"column\":8,\"endLine\":226,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particles.ts\",\"functionName\":\"destroy\",\"argumentNames\":[\"this\"]}\n\nfunction particles_ParticleSource_destroy__P1294_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleSource_destroy__P1294, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleSource_enabled__P1293(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleSource__C1285_VT)) failedCast(r0);\n s.tmp_1 = r0 = s.arg1;\n s.tmp_3 = particles_ParticleSource_enabled__P1292_mk(s);\n s.tmp_3.arg0 = s.arg0;\n s.pc = 5; return s.tmp_3;\n case 5:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (s.tmp_1 !== s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n if (!r0) { step = 1; continue; }\n r0 = s.arg0.fields[\"pFlags\"];\n s.tmp_4 = r0;\n r0 = (s.tmp_4 | 1);\n { step = 2; continue; }\n case 1:\n r0 = s.arg0.fields[\"pFlags\"];\n s.tmp_5 = r0;\n r0 = (s.tmp_5 ^ 1);\n case 2:\n // jmp value (already in r0)\n s.tmp_6 = r0;\n r0 = (s.arg0).fields[\"pFlags\"] = (s.tmp_6);\n r0 = (s.arg0).fields[\"timer\"] = (0);\n case 3:\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleSource_enabled__P1293.info = {\"start\":6323,\"length\":214,\"line\":211,\"column\":8,\"endLine\":216,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particles.ts\",\"functionName\":\"enabled\",\"argumentNames\":[\"this\",\"v\"]}\n\nfunction particles_ParticleSource_enabled__P1293_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleSource_enabled__P1293, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleSource_enabled__P1292(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleSource__C1285_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"pFlags\"];\n s.tmp_4 = r0;\n r0 = (s.tmp_4 & 1);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleSource_enabled__P1292.info = {\"start\":6129,\"length\":76,\"line\":204,\"column\":8,\"endLine\":206,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particles.ts\",\"functionName\":\"enabled\",\"argumentNames\":[\"this\"]}\n\nfunction particles_ParticleSource_enabled__P1292_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleSource_enabled__P1292, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleSource__prune__P1289(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.scene___4922 = undefined;\n s.sources___4929 = undefined;\n s.current___4941 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleSource__C1285_VT)) failedCast(r0);\n case 1:\n r0 = s.arg0.fields[\"head\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 2; continue; }\n r0 = s.tmp_0;\n { step = 3; continue; }\n case 2:\n r0 = s.arg0.fields[\"head\"];\n r0 = r0.fields[\"lifespan\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 <= 0);\n case 3:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 4; continue; }\n r0 = s.arg0.fields[\"head\"];\n r0 = r0.fields[\"next\"];\n s.tmp_3 = r0;\n r0 = (s.arg0).fields[\"head\"] = (s.tmp_3);\n { step = 1; continue; }\n case 4:\n r0 = s.arg0.fields[\"pFlags\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 & 2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 5; continue; }\n r0 = s.tmp_0;\n { step = 6; continue; }\n case 5:\n r0 = s.arg0.fields[\"head\"];\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n case 6:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n if (!r0) { step = 13; continue; }\n s.tmp_5 = game_currentScene__P769_mk(s);\n s.pc = 21; return s.tmp_5;\n case 21:\n r0 = s.retval;\n s.scene___4922 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.scene___4922);\n if (!r0) { step = 7; continue; }\n r0 = s.scene___4922.fields[\"allSprites\"];\n s.tmp_0 = r0;\n r0 = pxsim_Array_.removeElement(s.tmp_0, s.arg0);\n case 7:\n case 8:\n s.tmp_0 = particles_particleSources__P1320_mk(s);\n s.pc = 22; return s.tmp_0;\n case 22:\n r0 = s.retval;\n s.sources___4929 = (r0);\n s.tmp_0 = r0 = s.sources___4929;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 9; continue; }\n r0 = s.tmp_0;\n { step = 10; continue; }\n case 9:\n r0 = pxsim_Array__length(s.sources___4929);\n case 10:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 11; continue; }\n r0 = pxsim_Array_.removeElement(s.sources___4929, s.arg0);\n case 11:\n case 12:\n r0 = s.arg0.fields[\"anchor\"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 == undefined);\n case 13:\n case 14:\n r0 = s.arg0.fields[\"head\"];\n s.current___4941 = (r0);\n case 15:\n s.tmp_0 = r0 = s.current___4941;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 16; continue; }\n r0 = s.tmp_0;\n { step = 17; continue; }\n case 16:\n r0 = s.current___4941.fields[\"next\"];\n case 17:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 20; continue; }\n r0 = s.current___4941.fields[\"next\"];\n r0 = r0.fields[\"lifespan\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 <= 0);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 18; continue; }\n r0 = s.current___4941.fields[\"next\"];\n r0 = r0.fields[\"next\"];\n s.tmp_4 = r0;\n r0 = (s.current___4941).fields[\"next\"] = (s.tmp_4);\n { step = 19; continue; }\n case 18:\n r0 = s.current___4941.fields[\"next\"];\n s.current___4941 = (r0);\n case 19:\n { step = 15; continue; }\n case 20:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleSource__prune__P1289.info = {\"start\":4921,\"length\":830,\"line\":163,\"column\":8,\"endLine\":186,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particles.ts\",\"functionName\":\"_prune\",\"argumentNames\":[\"this\"]}\n\nfunction particles_ParticleSource__prune__P1289_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleSource__prune__P1289, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n scene___4922: undefined,\n sources___4929: undefined,\n current___4941: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction particles_particleSources__P1320(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.sources___5026 = undefined;\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = r0.fields[\"particleSources\"];\n s.sources___5026 = (r0);\n r0 = s.sources___5026;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_particleSources__P1320.info = {\"start\":12361,\"length\":119,\"line\":409,\"column\":4,\"endLine\":412,\"endColumn\":5,\"fileName\":\"pxt_modules/game/particles.ts\",\"functionName\":\"particleSources\",\"argumentNames\":[]}\n\nfunction particles_particleSources__P1320_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_particleSources__P1320, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n sources___5026: undefined,\n} }\n\n\n\n\n\nfunction inline__P7538(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.factory___7541 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_pxtcore_mkClassInstance(particles_ConfettiFactory__C1364_VT);\n s.tmp_0 = r0;\n s.tmp_2 = if_width_1_mk(s);\n s.tmp_2.arg0 = s.arg0;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, \"width\");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface[\"width\"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields[\"width\"]; }\n else { s.pc = 3; return s.tmp_2; }\n }\n case 3:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 1; continue; }\n s.tmp_3 = if_width_1_mk(s);\n s.tmp_3.arg0 = s.arg0;\n if (!s.tmp_3.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, \"width\");\n } else {\n s.tmp_3.fn = s.tmp_3.arg0.vtable.iface[\"width\"];\n if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields[\"width\"]; }\n else { s.pc = 4; return s.tmp_3; }\n }\n case 4:\n r0 = s.retval;\n { step = 2; continue; }\n case 1:\n r0 = 16;\n case 2:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n s.tmp_5 = particles_ConfettiFactory_constructor__P1366_mk(s);\n s.tmp_5.arg0 = s.tmp_0;\n s.tmp_5.arg1 = s.tmp_4;\n s.tmp_5.arg2 = 16;\n s.pc = 5; return s.tmp_5;\n case 5:\n r0 = s.retval;\n s.factory___7541 = (s.tmp_0);\n s.tmp_0 = particles_SprayFactory_setSpeed__P1345_mk(s);\n s.tmp_0.arg0 = s.factory___7541;\n s.tmp_0.arg1 = 30;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkClassInstance(particles_ParticleSource__C1285_VT);\n s.tmp_0 = r0;\n s.tmp_1 = particles_ParticleSource_constructor__P1302_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = s.arg0;\n s.tmp_1.arg2 = s.arg1;\n s.tmp_1.arg3 = s.factory___7541;\n s.pc = 7; return s.tmp_1;\n case 7:\n r0 = s.retval;\n r0 = s.tmp_0;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P7538.info = {\"start\":7444,\"length\":284,\"line\":190,\"column\":59,\"endLine\":194,\"endColumn\":5,\"fileName\":\"pxt_modules/game/particleeffects.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"anchor\",\"particlesPerSecond\"]}\n\nfunction inline__P7538_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P7538, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n factory___7541: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleSource_constructor__P1302(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.sources___7563 = undefined;\n s.removedSource___7570 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleSource__C1285_VT)) failedCast(r0);\n s.tmp_0 = sprites_BaseSprite_constructor__P516_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = 0;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n s.tmp_0 = particles_init__P1305_mk(s);\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n s.tmp_0 = particles_particleSources__P1320_mk(s);\n s.pc = 7; return s.tmp_0;\n case 7:\n r0 = s.retval;\n s.sources___7563 = (r0);\n r0 = pxsim_Array__length(s.sources___7563);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 >= globals.MAX_SOURCES___1274);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_2 = particles_sortSources__P1308_mk(s);\n s.tmp_2.arg0 = s.sources___7563;\n s.pc = 8; return s.tmp_2;\n case 8:\n r0 = s.retval;\n r0 = pxsim_Array_.removeAt(s.sources___7563, 0);\n s.removedSource___7570 = (r0);\n s.tmp_0 = particles_ParticleSource_clear__P1295_mk(s);\n s.tmp_0.arg0 = s.removedSource___7570;\n s.pc = 9; return s.tmp_0;\n case 9:\n r0 = s.retval;\n s.tmp_0 = particles_ParticleSource_destroy__P1294_mk(s);\n s.tmp_0.arg0 = s.removedSource___7570;\n s.pc = 10; return s.tmp_0;\n case 10:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = (s.arg0).fields[\"pFlags\"] = (0);\n s.tmp_0 = particles_ParticleSource_setRate__P1297_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg2;\n s.pc = 11; return s.tmp_0;\n case 11:\n r0 = s.retval;\n s.tmp_0 = particles_ParticleSource_setAcceleration__P1290_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = 0;\n s.tmp_0.arg2 = 0;\n s.pc = 12; return s.tmp_0;\n case 12:\n r0 = s.retval;\n s.tmp_0 = particles_ParticleSource_setAnchor__P1296_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.pc = 13; return s.tmp_0;\n case 13:\n r0 = s.retval;\n r0 = (s.arg0).fields[\"lifespan\"] = (undefined);\n r0 = (s.arg0).fields[\"_dt\"] = (0);\n r0 = (s.arg0).fields[\"priority\"] = (0);\n s.tmp_0 = r0 = s.arg3;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = s.tmp_0;\n { step = 4; continue; }\n case 3:\n r0 = globals.defaultFactory___1303;\n case 4:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n s.tmp_2 = particles_ParticleSource_setFactory__P1299_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.tmp_2.arg1 = s.tmp_1;\n s.pc = 14; return s.tmp_2;\n case 14:\n r0 = s.retval;\n r0 = pxsim_Array__push(s.sources___7563, s.arg0);\n s.tmp_0 = particles_ParticleSource_enabled__P1293_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = true;\n s.pc = 15; return s.tmp_0;\n case 15:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleSource_constructor__P1302.info = {\"start\":2230,\"length\":899,\"line\":84,\"column\":8,\"endLine\":107,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particles.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"anchor\",\"particlesPerSecond\",\"factory\"]}\n\nfunction particles_ParticleSource_constructor__P1302_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleSource_constructor__P1302, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n sources___7563: undefined,\n removedSource___7570: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction particles_sortSources__P1308(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = helpers_arraySort__P43_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = inline__P7731;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_sortSources__P1308.info = {\"start\":9539,\"length\":129,\"line\":320,\"column\":4,\"endLine\":322,\"endColumn\":5,\"fileName\":\"pxt_modules/game/particles.ts\",\"functionName\":\"sortSources\",\"argumentNames\":[\"sources\"]}\n\nfunction particles_sortSources__P1308_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_sortSources__P1308, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P7731(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0.fields[\"priority\"];\n s.tmp_1 = r0;\n r0 = s.arg1.fields[\"priority\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_1 - s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = s.arg0.fields[\"id\"];\n s.tmp_3 = r0;\n r0 = s.arg1.fields[\"id\"];\n s.tmp_4 = r0;\n r0 = (s.tmp_3 - s.tmp_4);\n case 2:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n r0 = s.tmp_5;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P7731.info = {\"start\":9610,\"length\":50,\"line\":321,\"column\":21,\"endLine\":321,\"endColumn\":71,\"fileName\":\"pxt_modules/game/particles.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"a\",\"b\"]}\n\nfunction inline__P7731_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P7731, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction helpers_arraySort__P43(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = pxsim_Array__length(s.arg0);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 > 1);\n case 2:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 3; continue; }\n s.arg1 = (inline__P5795);\n case 3:\n case 4:\n s.tmp_0 = helpers_sortHelper__P42_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_arraySort__P43.info = {\"start\":3380,\"length\":859,\"line\":123,\"column\":4,\"endLine\":143,\"endColumn\":5,\"fileName\":\"pxt_modules/base/pxt-helpers.ts\",\"functionName\":\"arraySort\",\"argumentNames\":[\"arr\",\"callbackfn\"]}\n\nfunction helpers_arraySort__P43_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_arraySort__P43, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction inline__P5795(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.aIsUndef___5798 = undefined;\n s.bIsUndef___5801 = undefined;\n s.aIsNull___5809 = undefined;\n s.bIsNull___5812 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 === undefined);\n s.aIsUndef___5798 = (r0);\n r0 = (s.arg1 === undefined);\n s.bIsUndef___5801 = (r0);\n s.tmp_0 = r0 = s.aIsUndef___5798;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = s.bIsUndef___5801;\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 3; continue; }\n r0 = 0;\n { step = 17; continue; }\n { step = 8; continue; }\n case 3:\n r0 = pxsim_numops_toBoolDecr(s.aIsUndef___5798);\n if (!r0) { step = 4; continue; }\n r0 = 1;\n { step = 17; continue; }\n { step = 7; continue; }\n case 4:\n r0 = pxsim_numops_toBoolDecr(s.bIsUndef___5801);\n if (!r0) { step = 5; continue; }\n r0 = -1;\n { step = 17; continue; }\n case 5:\n case 6:\n case 7:\n case 8:\n r0 = (s.arg0 === null);\n s.aIsNull___5809 = (r0);\n r0 = (s.arg1 === null);\n s.bIsNull___5812 = (r0);\n s.tmp_0 = r0 = s.aIsNull___5809;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 9; continue; }\n r0 = s.tmp_0;\n { step = 10; continue; }\n case 9:\n r0 = s.bIsNull___5812;\n case 10:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 11; continue; }\n r0 = 0;\n { step = 17; continue; }\n { step = 16; continue; }\n case 11:\n r0 = pxsim_numops_toBoolDecr(s.aIsNull___5809);\n if (!r0) { step = 12; continue; }\n r0 = 1;\n { step = 17; continue; }\n { step = 15; continue; }\n case 12:\n r0 = pxsim_numops_toBoolDecr(s.bIsNull___5812);\n if (!r0) { step = 13; continue; }\n r0 = -1;\n { step = 17; continue; }\n case 13:\n case 14:\n case 15:\n case 16:\n if ((s.arg0) && (s.arg0).vtable) {\n setupResume(s, 18);\n pxsim_String__stringConv(s.arg0);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.arg0) + \"\"; }\n case 18:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = pxsim_String_.mkEmpty();\n s.tmp_4 = r0;\n r0 = pxsim_String__concat(s.tmp_3, s.tmp_4);\n s.tmp_2 = r0;\n if ((s.arg1) && (s.arg1).vtable) {\n setupResume(s, 19);\n pxsim_String__stringConv(s.arg1);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.arg1) + \"\"; }\n case 19:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = pxsim_String_.mkEmpty();\n s.tmp_7 = r0;\n r0 = pxsim_String__concat(s.tmp_6, s.tmp_7);\n s.tmp_5 = r0;\n r0 = pxsim_String_.compare(s.tmp_2, s.tmp_5);\n case 17:\n return leave(s, r0)\n default: oops()\n} } }\ninline__P5795.info = {\"start\":3543,\"length\":636,\"line\":125,\"column\":25,\"endLine\":140,\"endColumn\":13,\"fileName\":\"pxt_modules/base/pxt-helpers.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"a\",\"b\"]}\n\nfunction inline__P5795_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P5795, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n aIsUndef___5798: undefined,\n bIsUndef___5801: undefined,\n aIsNull___5809: undefined,\n bIsNull___5812: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction helpers_sortHelper__P42(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.len___5843 = undefined;\n s.i___5846 = undefined;\n s.j___5850 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_Array__length(s.arg0);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 <= 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n case 2:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 3; continue; }\n r0 = s.arg0;\n { step = 11; continue; }\n case 3:\n case 4:\n r0 = pxsim_Array__length(s.arg0);\n s.len___5843 = (r0);\n s.i___5846 = (0);\n case 5:\n s.tmp_1 = r0 = s.i___5846;\n r0 = (s.len___5843 - 1);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 10; continue; }\n r0 = (s.i___5846 + 1);\n s.j___5850 = (r0);\n case 6:\n r0 = (s.j___5850 < s.len___5843);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 9; continue; }\n s.tmp_3 = lambda_3_mk(s);\n s.tmp_3.argL = s.arg1;\n r0 = pxsim_Array__getAt(s.arg0, s.i___5846);\n s.tmp_3.arg0 = r0;\n r0 = pxsim_Array__getAt(s.arg0, s.j___5850);\n s.tmp_3.arg1 = r0;\n setupLambda(s.tmp_3, s.tmp_3.argL);\n s.pc = 12; return s.tmp_3;\n case 12:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (s.tmp_2 > 0);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 7; continue; }\n s.tmp_4 = helpers_swap__P41_mk(s);\n s.tmp_4.arg0 = s.arg0;\n s.tmp_4.arg1 = s.i___5846;\n s.tmp_4.arg2 = s.j___5850;\n s.pc = 13; return s.tmp_4;\n case 13:\n r0 = s.retval;\n case 7:\n case 8:\n r0 = (s.j___5850 + 1);\n s.j___5850 = (r0);\n { step = 6; continue; }\n case 9:\n r0 = (s.i___5846 + 1);\n s.i___5846 = (r0);\n { step = 5; continue; }\n case 10:\n r0 = s.arg0;\n case 11:\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_sortHelper__P42.info = {\"start\":2893,\"length\":481,\"line\":107,\"column\":4,\"endLine\":121,\"endColumn\":5,\"fileName\":\"pxt_modules/base/pxt-helpers.ts\",\"functionName\":\"sortHelper\",\"argumentNames\":[\"arr\",\"callbackfn\"]}\n\nfunction helpers_sortHelper__P42_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_sortHelper__P42, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n len___5843: undefined,\n i___5846: undefined,\n j___5850: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction helpers_swap__P41(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.temp___5873 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_Array__getAt(s.arg0, s.arg1);\n s.temp___5873 = (r0);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_1 = r0 = s.arg1;\n r0 = pxsim_Array__getAt(s.arg0, s.arg2);\n s.tmp_2 = r0;\n r0 = pxsim_Array_.setAt(s.tmp_0, s.tmp_1, s.tmp_2);\n r0 = pxsim_Array_.setAt(s.arg0, s.arg2, s.temp___5873);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_swap__P41.info = {\"start\":2747,\"length\":140,\"line\":101,\"column\":4,\"endLine\":105,\"endColumn\":5,\"fileName\":\"pxt_modules/base/pxt-helpers.ts\",\"functionName\":\"swap\",\"argumentNames\":[\"arr\",\"i\",\"j\"]}\n\nfunction helpers_swap__P41_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_swap__P41, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n temp___5873: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction particles_init__P1305(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.scene___7744 = undefined;\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n s.scene___7744 = (r0);\n r0 = s.scene___7744.fields[\"particleSources\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 3; continue; }\n case 1:\n case 2:\n s.tmp_1 = r0 = s.scene___7744;\n r0 = pxsim_Array__mk();\n s.tmp_2 = r0;\n r0 = (s.tmp_1).fields[\"particleSources\"] = (s.tmp_2);\n r0 = pxsim.control.millis();\n globals.lastUpdate___1282 = (r0);\n s.tmp_0 = game_onUpdate__P1027_mk(s);\n s.tmp_0.arg0 = particles_updateParticles__P1306;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n s.tmp_0 = game_onUpdateInterval__P1028_mk(s);\n s.tmp_0.arg0 = 250;\n s.tmp_0.arg1 = particles_pruneParticles__P1307;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n case 3:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_init__P1305.info = {\"start\":8745,\"length\":276,\"line\":292,\"column\":4,\"endLine\":299,\"endColumn\":5,\"fileName\":\"pxt_modules/game/particles.ts\",\"functionName\":\"init\",\"argumentNames\":[]}\n\nfunction particles_init__P1305_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_init__P1305, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n scene___7744: undefined,\n} }\n\n\n\n\n\nfunction particles_pruneParticles__P1307(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.sources___4886 = undefined;\n s.tmp_0 = particles_particleSources__P1320_mk(s);\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.sources___4886 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.sources___4886);\n if (!r0) { step = 1; continue; }\n s.tmp_0 = helpers_arrayForEach__P47_mk(s);\n s.tmp_1 = helpers_arraySlice__P52_mk(s);\n s.tmp_1.arg0 = s.sources___4886;\n s.tmp_1.arg1 = 0;\n r0 = pxsim_Array__length(s.sources___4886);\n s.tmp_1.arg2 = r0;\n s.pc = 5; return s.tmp_1;\n case 5:\n r0 = s.retval;\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = inline__P4895;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_pruneParticles__P1307.info = {\"start\":9373,\"length\":156,\"line\":315,\"column\":4,\"endLine\":318,\"endColumn\":5,\"fileName\":\"pxt_modules/game/particles.ts\",\"functionName\":\"pruneParticles\",\"argumentNames\":[]}\n\nfunction particles_pruneParticles__P1307_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_pruneParticles__P1307, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n sources___4886: undefined,\n} }\n\n\n\n\n\nfunction inline__P4895(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = particles_ParticleSource__prune__P1289_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P4895.info = {\"start\":9506,\"length\":15,\"line\":317,\"column\":62,\"endLine\":317,\"endColumn\":77,\"fileName\":\"pxt_modules/game/particles.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"s\"]}\n\nfunction inline__P4895_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P4895, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction helpers_arraySlice__P52(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.res___4962 = undefined;\n s.len___4964 = undefined;\n s.i___4990 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_Array__mk();\n s.res___4962 = (r0);\n r0 = pxsim_Array__length(s.arg0);\n s.len___4964 = (r0);\n r0 = (s.arg1 === undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.arg1 = (0);\n { step = 4; continue; }\n case 1:\n r0 = (s.arg1 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n s.tmp_1 = Math_max__P61_mk(s);\n r0 = (s.len___4964 + s.arg1);\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = 0;\n s.pc = 16; return s.tmp_1;\n case 16:\n r0 = s.retval;\n s.arg1 = (r0);\n case 2:\n case 3:\n case 4:\n r0 = (s.arg1 > s.len___4964);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = s.res___4962;\n { step = 15; continue; }\n case 5:\n case 6:\n r0 = (s.arg2 === undefined);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 7; continue; }\n s.arg2 = (s.len___4964);\n { step = 10; continue; }\n case 7:\n r0 = (s.arg2 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 8; continue; }\n r0 = (s.len___4964 + s.arg2);\n s.arg2 = (r0);\n case 8:\n case 9:\n case 10:\n r0 = (s.arg2 > s.len___4964);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 11; continue; }\n s.arg2 = (s.len___4964);\n case 11:\n case 12:\n s.i___4990 = (s.arg1);\n case 13:\n r0 = (s.i___4990 < s.arg2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 14; continue; }\n s.tmp_1 = r0 = s.res___4962;\n r0 = pxsim_Array__getAt(s.arg0, s.i___4990);\n s.tmp_2 = r0;\n r0 = pxsim_Array__push(s.tmp_1, s.tmp_2);\n r0 = (s.i___4990 + 1);\n s.i___4990 = (r0);\n { step = 13; continue; }\n case 14:\n r0 = s.res___4962;\n case 15:\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_arraySlice__P52.info = {\"start\":6626,\"length\":690,\"line\":215,\"column\":4,\"endLine\":240,\"endColumn\":5,\"fileName\":\"pxt_modules/base/pxt-helpers.ts\",\"functionName\":\"arraySlice\",\"argumentNames\":[\"arr\",\"start\",\"end\"]}\n\nfunction helpers_arraySlice__P52_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_arraySlice__P52, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n res___4962: undefined,\n len___4964: undefined,\n i___4990: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction Math_max__P61(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 >= s.arg1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.arg0;\n { step = 3; continue; }\n case 1:\n case 2:\n r0 = s.arg1;\n case 3:\n return leave(s, r0)\n default: oops()\n} } }\nMath_max__P61.info = {\"start\":10801,\"length\":105,\"line\":365,\"column\":4,\"endLine\":368,\"endColumn\":5,\"fileName\":\"pxt_modules/base/pxt-helpers.ts\",\"functionName\":\"max\",\"argumentNames\":[\"a\",\"b\"]}\n\nfunction Math_max__P61_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Math_max__P61, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction helpers_arrayForEach__P47(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.len___2852 = undefined;\n s.i___2855 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_Array__length(s.arg0);\n s.len___2852 = (r0);\n s.i___2855 = (0);\n case 1:\n r0 = (s.i___2855 < s.len___2852);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n s.tmp_1 = lambda_3_mk(s);\n s.tmp_1.argL = s.arg1;\n r0 = pxsim_Array__getAt(s.arg0, s.i___2855);\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = s.i___2855;\n setupLambda(s.tmp_1, s.tmp_1.argL);\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n r0 = (s.i___2855 + 1);\n s.i___2855 = (r0);\n { step = 1; continue; }\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_arrayForEach__P47.info = {\"start\":5156,\"length\":250,\"line\":170,\"column\":4,\"endLine\":175,\"endColumn\":5,\"fileName\":\"pxt_modules/base/pxt-helpers.ts\",\"functionName\":\"arrayForEach\",\"argumentNames\":[\"arr\",\"callbackfn\"]}\n\nfunction helpers_arrayForEach__P47_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_arrayForEach__P47, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n len___2852: undefined,\n i___2855: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction particles_updateParticles__P1306(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.sources___7758 = undefined;\n s.time___7763 = undefined;\n s.dt___7766 = undefined;\n s.i___7771 = undefined;\n s.tmp_0 = particles_particleSources__P1320_mk(s);\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n s.sources___7758 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.sources___7758);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 5; continue; }\n case 1:\n case 2:\n s.tmp_2 = particles_sortSources__P1308_mk(s);\n s.tmp_2.arg0 = s.sources___7758;\n s.pc = 7; return s.tmp_2;\n case 7:\n r0 = s.retval;\n r0 = pxsim.control.millis();\n s.time___7763 = (r0);\n r0 = (s.time___7763 - globals.lastUpdate___1282);\n s.dt___7766 = (r0);\n globals.lastUpdate___1282 = (s.time___7763);\n s.i___7771 = (0);\n case 3:\n s.tmp_1 = r0 = s.i___7771;\n r0 = pxsim_Array__length(s.sources___7758);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 4; continue; }\n s.tmp_3 = particles_ParticleSource__update__P1288_mk(s);\n r0 = pxsim_Array__getAt(s.sources___7758, s.i___7771);\n s.tmp_3.arg0 = r0;\n s.tmp_3.arg1 = s.dt___7766;\n s.pc = 8; return s.tmp_3;\n case 8:\n r0 = s.retval;\n r0 = (s.i___7771 + 1);\n s.i___7771 = (r0);\n { step = 3; continue; }\n case 4:\n case 5:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_updateParticles__P1306.info = {\"start\":9027,\"length\":340,\"line\":301,\"column\":4,\"endLine\":313,\"endColumn\":5,\"fileName\":\"pxt_modules/game/particles.ts\",\"functionName\":\"updateParticles\",\"argumentNames\":[]}\n\nfunction particles_updateParticles__P1306_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_updateParticles__P1306, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n sources___7758: undefined,\n time___7763: undefined,\n dt___7766: undefined,\n i___7771: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleSource__update__P1288(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.p___7825 = undefined;\n s.current___7841 = undefined;\n s.fixedDt___7848 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleSource__C1285_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.tmp_0.fields[\"timer\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - s.arg1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"timer\"] = (s.tmp_1);\n r0 = s.arg0.fields[\"lifespan\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 !== undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.tmp_2 = r0 = s.arg0;\n r0 = s.tmp_2.fields[\"lifespan\"];\n s.tmp_4 = r0;\n r0 = (s.tmp_4 - s.arg1);\n s.tmp_3 = r0;\n r0 = (s.tmp_2).fields[\"lifespan\"] = (s.tmp_3);\n r0 = s.arg0.fields[\"lifespan\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 <= 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = (s.arg0).fields[\"lifespan\"] = (undefined);\n s.tmp_0 = particles_ParticleSource_destroy__P1294_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 28; return s.tmp_0;\n case 28:\n r0 = s.retval;\n case 1:\n case 2:\n { step = 10; continue; }\n case 3:\n r0 = s.arg0.fields[\"anchor\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 4; continue; }\n r0 = s.tmp_0;\n { step = 5; continue; }\n case 4:\n s.tmp_2 = if_flags_1_mk(s);\n r0 = s.arg0.fields[\"anchor\"];\n s.tmp_2.arg0 = r0;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, \"flags\");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface[\"flags\"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields[\"flags\"]; }\n else { s.pc = 29; return s.tmp_2; }\n }\n case 29:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 !== undefined);\n case 5:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBool(s.tmp_3);\n if (r0) { step = 6; continue; }\n r0 = s.tmp_3;\n { step = 7; continue; }\n case 6:\n s.tmp_5 = if_flags_1_mk(s);\n r0 = s.arg0.fields[\"anchor\"];\n s.tmp_5.arg0 = r0;\n if (!s.tmp_5.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_5.arg0, \"flags\");\n } else {\n s.tmp_5.fn = s.tmp_5.arg0.vtable.iface[\"flags\"];\n if (s.tmp_5.fn == null) { s.retval = s.tmp_5.arg0.fields[\"flags\"]; }\n else { s.pc = 30; return s.tmp_5; }\n }\n case 30:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = (s.tmp_4 & 2);\n case 7:\n // jmp value (already in r0)\n s.tmp_6 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_6);\n if (!r0) { step = 8; continue; }\n r0 = (s.arg0).fields[\"lifespan\"] = (750);\n case 8:\n case 9:\n case 10:\n case 11:\n r0 = s.arg0.fields[\"timer\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 12; continue; }\n r0 = s.tmp_0;\n { step = 13; continue; }\n case 12:\n s.tmp_2 = particles_ParticleSource_enabled__P1292_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 31; return s.tmp_2;\n case 31:\n r0 = s.retval;\n case 13:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 16; continue; }\n s.tmp_4 = r0 = s.arg0;\n r0 = s.tmp_4.fields[\"timer\"];\n s.tmp_6 = r0;\n r0 = s.arg0.fields[\"period\"];\n s.tmp_7 = r0;\n r0 = (s.tmp_6 + s.tmp_7);\n s.tmp_5 = r0;\n r0 = (s.tmp_4).fields[\"timer\"] = (s.tmp_5);\n s.tmp_0 = particles_ParticleFactory__C1337_v0_2_mk(s);\n r0 = s.arg0.fields[\"_factory\"];\n s.tmp_0.arg0 = r0;\n r0 = s.arg0.fields[\"anchor\"];\n s.tmp_0.arg1 = r0;\n if (!checkSubtype(s.tmp_0.arg0, particles_ParticleFactory__C1337_VT)) failedCast(s.tmp_0.arg0);\n s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.createParticle;\n s.pc = 32; return s.tmp_0;\n case 32:\n r0 = s.retval;\n s.p___7825 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.p___7825);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 14; continue; }\n { step = 11; continue; }\n case 14:\n case 15:\n r0 = s.arg0.fields[\"head\"];\n s.tmp_2 = r0;\n r0 = (s.p___7825).fields[\"next\"] = (s.tmp_2);\n r0 = (s.arg0).fields[\"head\"] = (s.p___7825);\n { step = 11; continue; }\n case 16:\n r0 = s.arg0.fields[\"head\"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 17; continue; }\n { step = 27; continue; }\n case 17:\n case 18:\n r0 = s.arg0.fields[\"head\"];\n s.current___7841 = (r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.tmp_0.fields[\"_dt\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.arg1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"_dt\"] = (s.tmp_1);\n r0 = s.arg0.fields[\"_dt\"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 * 256);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 | 0);\n s.fixedDt___7848 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.fixedDt___7848);\n if (!r0) { step = 23; continue; }\n case 19:\n r0 = s.current___7841.fields[\"lifespan\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 20; continue; }\n s.tmp_2 = r0 = s.current___7841;\n r0 = s.tmp_2.fields[\"lifespan\"];\n s.tmp_4 = r0;\n r0 = (s.tmp_4 - s.arg1);\n s.tmp_3 = r0;\n r0 = (s.tmp_2).fields[\"lifespan\"] = (s.tmp_3);\n s.tmp_0 = particles_ParticleSource__C1285_v4_3_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.current___7841;\n s.tmp_0.arg2 = s.fixedDt___7848;\n if (!checkSubtype(s.tmp_0.arg0, particles_ParticleSource__C1285_VT)) failedCast(s.tmp_0.arg0);\n s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.updateParticle;\n s.pc = 33; return s.tmp_0;\n case 33:\n r0 = s.retval;\n case 20:\n case 21:\n r0 = s.current___7841.fields[\"next\"];\n s.tmp_0 = r0;\n s.current___7841 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 22; continue; }\n { step = 19; continue; }\n case 22:\n r0 = (s.arg0).fields[\"_dt\"] = (0);\n { step = 26; continue; }\n case 23:\n case 24:\n s.tmp_0 = r0 = s.current___7841;\n r0 = s.tmp_0.fields[\"lifespan\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - s.arg1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"lifespan\"] = (s.tmp_1);\n r0 = s.current___7841.fields[\"next\"];\n s.tmp_0 = r0;\n s.current___7841 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 25; continue; }\n { step = 24; continue; }\n case 25:\n case 26:\n case 27:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleSource__update__P1288.info = {\"start\":3511,\"length\":1400,\"line\":121,\"column\":8,\"endLine\":161,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particles.ts\",\"functionName\":\"_update\",\"argumentNames\":[\"this\",\"dt\"]}\n\nfunction particles_ParticleSource__update__P1288_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleSource__update__P1288, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n p___7825: undefined,\n current___7841: undefined,\n fixedDt___7848: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleFactory_createParticle__P1338(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.p___7941 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleFactory__C1337_VT)) failedCast(r0);\n r0 = pxsim_pxtcore_mkClassInstance(particles_Particle__C1283_VT);\n s.p___7941 = (r0);\n s.tmp_0 = r0 = s.p___7941;\n s.tmp_3 = if_x_1_mk(s);\n s.tmp_3.arg0 = s.arg1;\n if (!s.tmp_3.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, \"x\");\n } else {\n s.tmp_3.fn = s.tmp_3.arg0.vtable.iface[\"x\"];\n if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields[\"x\"]; }\n else { s.pc = 1; return s.tmp_3; }\n }\n case 1:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (s.tmp_2 * 256);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"_x\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.p___7941;\n s.tmp_3 = if_y_1_mk(s);\n s.tmp_3.arg0 = s.arg1;\n if (!s.tmp_3.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, \"y\");\n } else {\n s.tmp_3.fn = s.tmp_3.arg0.vtable.iface[\"y\"];\n if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields[\"y\"]; }\n else { s.pc = 2; return s.tmp_3; }\n }\n case 2:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (s.tmp_2 * 256);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"_y\"] = (s.tmp_1);\n r0 = (s.p___7941).fields[\"vx\"] = (globals.zeroFx8___79);\n r0 = (s.p___7941).fields[\"vy\"] = (globals.zeroFx8___79);\n r0 = (s.p___7941).fields[\"lifespan\"] = (500);\n r0 = s.p___7941;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleFactory_createParticle__P1338.info = {\"start\":1822,\"length\":282,\"line\":67,\"column\":8,\"endLine\":77,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particlefactories.ts\",\"functionName\":\"createParticle\",\"argumentNames\":[\"this\",\"anchor\"]}\n\nfunction particles_ParticleFactory_createParticle__P1338_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleFactory_createParticle__P1338, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n p___7941: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleSource_updateParticle__P1300(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleSource__C1285_VT)) failedCast(r0);\n r0 = (s.arg2 >> 10);\n s.arg2 = (r0);\n s.tmp_0 = r0 = s.arg1;\n r0 = s.arg1.fields[\"vx\"];\n s.tmp_2 = r0;\n r0 = s.arg0.fields[\"ax\"];\n s.tmp_4 = r0;\n r0 = pxsim.Math_.imul(s.tmp_4, s.arg2);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 >> 8);\n s.tmp_3 = r0;\n r0 = (s.tmp_2 + s.tmp_3);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"vx\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg1;\n r0 = s.arg1.fields[\"vy\"];\n s.tmp_2 = r0;\n r0 = s.arg0.fields[\"ay\"];\n s.tmp_4 = r0;\n r0 = pxsim.Math_.imul(s.tmp_4, s.arg2);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 >> 8);\n s.tmp_3 = r0;\n r0 = (s.tmp_2 + s.tmp_3);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"vy\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg1;\n r0 = s.arg1.fields[\"_x\"];\n s.tmp_2 = r0;\n r0 = s.arg1.fields[\"vx\"];\n s.tmp_4 = r0;\n r0 = pxsim.Math_.imul(s.tmp_4, s.arg2);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 >> 8);\n s.tmp_3 = r0;\n r0 = (s.tmp_2 + s.tmp_3);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"_x\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg1;\n r0 = s.arg1.fields[\"_y\"];\n s.tmp_2 = r0;\n r0 = s.arg1.fields[\"vy\"];\n s.tmp_4 = r0;\n r0 = pxsim.Math_.imul(s.tmp_4, s.arg2);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 >> 8);\n s.tmp_3 = r0;\n r0 = (s.tmp_2 + s.tmp_3);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"_y\"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleSource_updateParticle__P1300.info = {\"start\":7756,\"length\":357,\"line\":265,\"column\":8,\"endLine\":273,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particles.ts\",\"functionName\":\"updateParticle\",\"argumentNames\":[\"this\",\"p\",\"fixedDt\"]}\n\nfunction particles_ParticleSource_updateParticle__P1300_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleSource_updateParticle__P1300, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction Fx_rightShift__P97(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 >> s.arg1);\n return leave(s, r0)\n default: oops()\n} } }\nFx_rightShift__P97.info = {\"start\":1883,\"length\":108,\"line\":62,\"column\":4,\"endLine\":64,\"endColumn\":5,\"fileName\":\"pxt_modules/base/fixed.ts\",\"functionName\":\"rightShift\",\"argumentNames\":[\"a\",\"n\"]}\n\nfunction Fx_rightShift__P97_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Fx_rightShift__P97, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Fx_mul__P89(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim.Math_.imul(s.arg0, s.arg1);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 >> 8);\n return leave(s, r0)\n default: oops()\n} } }\nFx_mul__P89.info = {\"start\":859,\"length\":133,\"line\":29,\"column\":4,\"endLine\":31,\"endColumn\":5,\"fileName\":\"pxt_modules/base/fixed.ts\",\"functionName\":\"mul\",\"argumentNames\":[\"a\",\"b\"]}\n\nfunction Fx_mul__P89_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Fx_mul__P89, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Fx_add__P86(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 + s.arg1);\n return leave(s, r0)\n default: oops()\n} } }\nFx_add__P86.info = {\"start\":498,\"length\":118,\"line\":20,\"column\":4,\"endLine\":22,\"endColumn\":5,\"fileName\":\"pxt_modules/base/fixed.ts\",\"functionName\":\"add\",\"argumentNames\":[\"a\",\"b\"]}\n\nfunction Fx_add__P86_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Fx_add__P86, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction particles_SprayFactory_constructor__P1347(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_SprayFactory__C1341_VT)) failedCast(r0);\n r0 = undefined;\n s.tmp_0 = particles_initTrig__P1331_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.tmp_0 = particles_SprayFactory_setSpeed__P1345_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n s.tmp_0 = particles_SprayFactory_setDirection__P1346_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg2;\n s.tmp_0.arg2 = s.arg3;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_SprayFactory_constructor__P1347.info = {\"start\":2623,\"length\":218,\"line\":98,\"column\":8,\"endLine\":103,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particlefactories.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"speed\",\"centerDegrees\",\"arcDegrees\"]}\n\nfunction particles_SprayFactory_constructor__P1347_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_SprayFactory_constructor__P1347, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction particles_SprayFactory_setDirection__P1346(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_SprayFactory__C1341_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_4 = particles_toRadians__P1336_mk(s);\n s.tmp_5 = r0 = s.arg1;\n r0 = (s.arg2 >> 1);\n s.tmp_6 = r0;\n r0 = (s.tmp_5 - s.tmp_6);\n s.tmp_4.arg0 = r0;\n s.pc = 1; return s.tmp_4;\n case 1:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_3 / globals.angleSlice___1328);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"minAngle\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_4 = particles_toRadians__P1336_mk(s);\n s.tmp_4.arg0 = s.arg2;\n s.pc = 2; return s.tmp_4;\n case 2:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_3 / globals.angleSlice___1328);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"spread\"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_SprayFactory_setDirection__P1346.info = {\"start\":3424,\"length\":228,\"line\":123,\"column\":8,\"endLine\":126,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particlefactories.ts\",\"functionName\":\"setDirection\",\"argumentNames\":[\"this\",\"centerDegrees\",\"arcDegrees\"]}\n\nfunction particles_SprayFactory_setDirection__P1346_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_SprayFactory_setDirection__P1346, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction particles_toRadians__P1336(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_3 = Math_abs__P59_mk(s);\n s.tmp_3.arg0 = s.arg0;\n s.pc = 3; return s.tmp_3;\n case 3:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (s.tmp_2 % 360);\n s.tmp_1 = r0;\n r0 = (360 - s.tmp_1);\n s.arg0 = (r0);\n { step = 2; continue; }\n case 1:\n r0 = (s.arg0 % 360);\n s.arg0 = (r0);\n case 2:\n r0 = (s.arg0 * globals.ratio___1334);\n return leave(s, r0)\n default: oops()\n} } }\nparticles_toRadians__P1336.info = {\"start\":1307,\"length\":206,\"line\":45,\"column\":4,\"endLine\":52,\"endColumn\":5,\"fileName\":\"pxt_modules/game/particlefactories.ts\",\"functionName\":\"toRadians\",\"argumentNames\":[\"degrees\"]}\n\nfunction particles_toRadians__P1336_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_toRadians__P1336, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleFactory_constructor__P1340(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleFactory__C1337_VT)) failedCast(r0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleFactory_constructor__P1340.info = {\"start\":1617,\"length\":78,\"line\":59,\"column\":8,\"endLine\":61,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particlefactories.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\"]}\n\nfunction particles_ParticleFactory_constructor__P1340_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleFactory_constructor__P1340, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction particles_initTrig__P1331(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals.cachedSin___1321);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_2 = particles_cacheSin__P1332_mk(s);\n s.tmp_2.arg0 = 100;\n s.pc = 3; return s.tmp_2;\n case 3:\n r0 = s.retval;\n globals.cachedSin___1321 = (r0);\n s.tmp_0 = particles_cacheCos__P1333_mk(s);\n s.tmp_0.arg0 = 100;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n globals.cachedCos___1322 = (r0);\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_initTrig__P1331.info = {\"start\":291,\"length\":155,\"line\":11,\"column\":4,\"endLine\":16,\"endColumn\":5,\"fileName\":\"pxt_modules/game/particlefactories.ts\",\"functionName\":\"initTrig\",\"argumentNames\":[]}\n\nfunction particles_initTrig__P1331_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_initTrig__P1331, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n} }\n\n\n\n\n\nfunction particles_cacheCos__P1333(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.cos___7647 = undefined;\n s.anglePerSlice___7649 = undefined;\n s.i___7652 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_Array__mk();\n s.cos___7647 = (r0);\n r0 = (2 * 3.141592653589793);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 / s.arg0);\n s.anglePerSlice___7649 = (r0);\n s.i___7652 = (0);\n case 1:\n r0 = (s.i___7652 < s.arg0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n s.tmp_1 = r0 = s.cos___7647;\n r0 = (s.i___7652 * s.anglePerSlice___7649);\n s.tmp_4 = r0;\n r0 = pxsim.Math_.cos(s.tmp_4);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 * 256);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 | 0);\n s.tmp_2 = r0;\n r0 = pxsim_Array__push(s.tmp_1, s.tmp_2);\n r0 = (s.i___7652 + 1);\n s.i___7652 = (r0);\n { step = 1; continue; }\n case 2:\n r0 = s.cos___7647;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_cacheCos__P1333.info = {\"start\":1005,\"length\":263,\"line\":35,\"column\":4,\"endLine\":42,\"endColumn\":5,\"fileName\":\"pxt_modules/game/particlefactories.ts\",\"functionName\":\"cacheCos\",\"argumentNames\":[\"slices\"]}\n\nfunction particles_cacheCos__P1333_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_cacheCos__P1333, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n cos___7647: undefined,\n anglePerSlice___7649: undefined,\n i___7652: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction particles_cacheSin__P1332(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.sin___7668 = undefined;\n s.anglePerSlice___7670 = undefined;\n s.i___7673 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_Array__mk();\n s.sin___7668 = (r0);\n r0 = (2 * 3.141592653589793);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 / s.arg0);\n s.anglePerSlice___7670 = (r0);\n s.i___7673 = (0);\n case 1:\n r0 = (s.i___7673 < s.arg0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n s.tmp_1 = r0 = s.sin___7668;\n r0 = (s.i___7673 * s.anglePerSlice___7670);\n s.tmp_4 = r0;\n r0 = pxsim.Math_.sin(s.tmp_4);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 * 256);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 | 0);\n s.tmp_2 = r0;\n r0 = pxsim_Array__push(s.tmp_1, s.tmp_2);\n r0 = (s.i___7673 + 1);\n s.i___7673 = (r0);\n { step = 1; continue; }\n case 2:\n r0 = s.sin___7668;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_cacheSin__P1332.info = {\"start\":594,\"length\":263,\"line\":22,\"column\":4,\"endLine\":29,\"endColumn\":5,\"fileName\":\"pxt_modules/game/particlefactories.ts\",\"functionName\":\"cacheSin\",\"argumentNames\":[\"slices\"]}\n\nfunction particles_cacheSin__P1332_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_cacheSin__P1332, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n sin___7668: undefined,\n anglePerSlice___7670: undefined,\n i___7673: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleSource_setFactory__P1299(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleSource__C1285_VT)) failedCast(r0);\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n if (!r0) { step = 1; continue; }\n r0 = (s.arg0).fields[\"_factory\"] = (s.arg1);\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleSource_setFactory__P1299.info = {\"start\":7632,\"length\":114,\"line\":260,\"column\":8,\"endLine\":263,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particles.ts\",\"functionName\":\"setFactory\",\"argumentNames\":[\"this\",\"factory\"]}\n\nfunction particles_ParticleSource_setFactory__P1299_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleSource_setFactory__P1299, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleSource_setRate__P1297(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleSource__C1285_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = (1000 / s.arg1);\n s.tmp_2 = r0;\n r0 = pxsim.Math_.ceil(s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"period\"] = (s.tmp_1);\n r0 = (s.arg0).fields[\"timer\"] = (0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleSource_setRate__P1297.info = {\"start\":7310,\"length\":139,\"line\":247,\"column\":8,\"endLine\":250,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particles.ts\",\"functionName\":\"setRate\",\"argumentNames\":[\"this\",\"particlesPerSecond\"]}\n\nfunction particles_ParticleSource_setRate__P1297_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleSource_setRate__P1297, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleSource_setAnchor__P1296(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleSource__C1285_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"anchor\"] = (s.arg1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleSource_setAnchor__P1296.info = {\"start\":7101,\"length\":79,\"line\":239,\"column\":8,\"endLine\":241,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particles.ts\",\"functionName\":\"setAnchor\",\"argumentNames\":[\"this\",\"anchor\"]}\n\nfunction particles_ParticleSource_setAnchor__P1296_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleSource_setAnchor__P1296, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleSource_clear__P1295(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleSource__C1285_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"head\"] = (undefined);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleSource_clear__P1295.info = {\"start\":6931,\"length\":54,\"line\":231,\"column\":8,\"endLine\":233,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particles.ts\",\"functionName\":\"clear\",\"argumentNames\":[\"this\"]}\n\nfunction particles_ParticleSource_clear__P1295_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleSource_clear__P1295, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleSource_setAcceleration__P1290(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleSource__C1285_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg1 * 256);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"ax\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg2 * 256);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"ay\"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleSource_setAcceleration__P1290.info = {\"start\":5843,\"length\":113,\"line\":191,\"column\":8,\"endLine\":194,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particles.ts\",\"functionName\":\"setAcceleration\",\"argumentNames\":[\"this\",\"ax\",\"ay\"]}\n\nfunction particles_ParticleSource_setAcceleration__P1290_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleSource_setAcceleration__P1290, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction sprites_BaseSprite_constructor__P516(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_BaseSprite__C508_VT)) failedCast(r0);\n s.tmp_0 = sprites_BaseSprite_z__P511_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.tmp_0 = scene_Scene_addSprite__P927_mk(s);\n s.tmp_1 = game_currentScene__P769_mk(s);\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = s.arg0;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_BaseSprite_constructor__P516.info = {\"start\":344,\"length\":170,\"line\":15,\"column\":8,\"endLine\":20,\"endColumn\":9,\"fileName\":\"pxt_modules/game/basesprite.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"z\"]}\n\nfunction sprites_BaseSprite_constructor__P516_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_BaseSprite_constructor__P516, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction scene_Scene_addSprite__P927(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Scene__C923_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"allSprites\"];\n s.tmp_0 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.arg1);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.tmp_0.fields[\"spriteNextId\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + 1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"spriteNextId\"] = (s.tmp_1);\n s.tmp_3 = if_id_2_mk(s);\n s.tmp_3.arg0 = s.arg1;\n s.tmp_3.arg1 = s.tmp_2;\n if (!s.tmp_3.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapSetByString(s.tmp_3.arg0, \"id\", s.tmp_3.arg1);\n } else {\n s.tmp_3.fn = s.tmp_3.arg0.vtable.iface[\"set/id\"];\n if (s.tmp_3.fn === null) { s.tmp_3.arg0.fields[\"id\"] = s.tmp_3.arg1; }\n else if (s.tmp_3.fn === undefined) { failedCast(s.tmp_3.arg0) }\n else { s.pc = 1; return s.tmp_3; }\n }\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_Scene_addSprite__P927.info = {\"start\":5795,\"length\":128,\"line\":168,\"column\":8,\"endLine\":171,\"endColumn\":9,\"fileName\":\"pxt_modules/game/scene.ts\",\"functionName\":\"addSprite\",\"argumentNames\":[\"this\",\"sprite\"]}\n\nfunction scene_Scene_addSprite__P927_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Scene_addSprite__P927, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction sprites_BaseSprite_z__P511(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_BaseSprite__C508_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_z\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 !== s.arg1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = (s.arg0).fields[\"_z\"] = (s.arg1);\n s.tmp_1 = game_currentScene__P769_mk(s);\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = s.tmp_0.fields[\"flags\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 | 2);\n s.tmp_2 = r0;\n r0 = (s.tmp_0).fields[\"flags\"] = (s.tmp_2);\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_BaseSprite_z__P511.info = {\"start\":656,\"length\":174,\"line\":30,\"column\":8,\"endLine\":35,\"endColumn\":9,\"fileName\":\"pxt_modules/game/basesprite.ts\",\"functionName\":\"z\",\"argumentNames\":[\"this\",\"v\"]}\n\nfunction sprites_BaseSprite_z__P511_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_BaseSprite_z__P511, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction sprites_BaseSprite_z__P510(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_BaseSprite__C508_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_z\"];\n return leave(s, r0)\n default: oops()\n} } }\nsprites_BaseSprite_z__P510.info = {\"start\":591,\"length\":55,\"line\":26,\"column\":8,\"endLine\":28,\"endColumn\":9,\"fileName\":\"pxt_modules/game/basesprite.ts\",\"functionName\":\"z\",\"argumentNames\":[\"this\"]}\n\nfunction sprites_BaseSprite_z__P510_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_BaseSprite_z__P510, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction helpers_arrayShift__P38(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_Array_.removeAt(s.arg0, 0);\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_arrayShift__P38.info = {\"start\":1762,\"length\":82,\"line\":69,\"column\":4,\"endLine\":71,\"endColumn\":5,\"fileName\":\"pxt_modules/base/pxt-helpers.ts\",\"functionName\":\"arrayShift\",\"argumentNames\":[\"arr\"]}\n\nfunction helpers_arrayShift__P38_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_arrayShift__P38, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction particles_SprayFactory_setSpeed__P1345(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_SprayFactory__C1341_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg1 * 256);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"speed\"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_SprayFactory_setSpeed__P1345.info = {\"start\":3322,\"length\":92,\"line\":119,\"column\":8,\"endLine\":121,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particlefactories.ts\",\"functionName\":\"setSpeed\",\"argumentNames\":[\"this\",\"pixelsPerSecond\"]}\n\nfunction particles_SprayFactory_setSpeed__P1345_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_SprayFactory_setSpeed__P1345, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction particles_ConfettiFactory_constructor__P1366(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.confetti___7975 = undefined;\n s.i___7991 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ConfettiFactory__C1364_VT)) failedCast(r0);\n r0 = pxsim_Array__mk();\n s.tmp_0 = r0;\n r0 = pxsim.image.ofBuffer(_hex7978);\n s.tmp_1 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_1);\n r0 = pxsim.image.ofBuffer(_hex7980);\n s.tmp_2 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_2);\n r0 = pxsim.image.ofBuffer(_hex7982);\n s.tmp_3 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_3);\n r0 = pxsim.image.ofBuffer(_hex7984);\n s.tmp_4 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_4);\n r0 = pxsim.image.ofBuffer(_hex7986);\n s.tmp_5 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_5);\n s.confetti___7975 = (s.tmp_0);\n s.tmp_0 = particles_ShapeFactory_constructor__P1363_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.tmp_0.arg2 = s.arg2;\n r0 = pxsim_Array__getAt(s.confetti___7975, 0);\n s.tmp_0.arg3 = r0;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.i___7991 = (1);\n case 1:\n s.tmp_1 = r0 = s.i___7991;\n r0 = pxsim_Array__length(s.confetti___7975);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n s.tmp_3 = particles_ShapeFactory_addShape__P1360_mk(s);\n s.tmp_3.arg0 = s.arg0;\n r0 = pxsim_Array__getAt(s.confetti___7975, s.i___7991);\n s.tmp_3.arg1 = r0;\n s.pc = 4; return s.tmp_3;\n case 4:\n r0 = s.retval;\n r0 = (s.i___7991 + 1);\n s.i___7991 = (r0);\n { step = 1; continue; }\n case 2:\n r0 = (s.arg0).fields[\"minLifespan\"] = (1000);\n r0 = (s.arg0).fields[\"maxLifespan\"] = (4500);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ConfettiFactory_constructor__P1366.info = {\"start\":7755,\"length\":706,\"line\":247,\"column\":8,\"endLine\":274,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particlefactories.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"xRange\",\"yRange\"]}\n\nfunction particles_ConfettiFactory_constructor__P1366_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ConfettiFactory_constructor__P1366, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n confetti___7975: undefined,\n i___7991: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\nconst _hex7978 = pxsim.BufferMethods.createBufferFromHex(\"87040100010000000f000000\")\nconst _hex7980 = pxsim.BufferMethods.createBufferFromHex(\"8704010002000000ff000000\")\nconst _hex7982 = pxsim.BufferMethods.createBufferFromHex(\"87040200010000000f0000000f000000\")\nconst _hex7984 = pxsim.BufferMethods.createBufferFromHex(\"8704020002000000ff0000000f000000\")\nconst _hex7986 = pxsim.BufferMethods.createBufferFromHex(\"87040200020000000f000000ff000000\")\n\n\n\n\nfunction particles_ShapeFactory_constructor__P1363(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ShapeFactory__C1358_VT)) failedCast(r0);\n s.tmp_0 = particles_AreaFactory_constructor__P1352_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.tmp_0.arg2 = s.arg2;\n s.tmp_0.arg3 = undefined;\n s.tmp_0.arg4 = undefined;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = pxsim_Array__mk();\n s.tmp_0 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.arg3);\n r0 = (s.arg0).fields[\"sources\"] = (s.tmp_0);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_ImageMethods.width(s.arg3);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 >> 1);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 * 256);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"ox\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_ImageMethods.height(s.arg3);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 >> 1);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 * 256);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"oy\"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ShapeFactory_constructor__P1363.info = {\"start\":6668,\"length\":285,\"line\":212,\"column\":8,\"endLine\":219,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particlefactories.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"xRange\",\"yRange\",\"source\"]}\n\nfunction particles_ShapeFactory_constructor__P1363_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ShapeFactory_constructor__P1363, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction particles_AreaFactory_constructor__P1352(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_AreaFactory__C1348_VT)) failedCast(r0);\n s.tmp_0 = particles_SprayFactory_constructor__P1347_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = 40;\n s.tmp_0.arg2 = 0;\n s.tmp_0.arg3 = 90;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n r0 = (s.arg0).fields[\"xRange\"] = (s.arg1);\n r0 = (s.arg0).fields[\"yRange\"] = (s.arg2);\n r0 = pxsim_numops_toBoolDecr(s.arg3);\n if (!r0) { step = 1; continue; }\n r0 = s.arg3;\n { step = 2; continue; }\n case 1:\n r0 = 150;\n case 2:\n // jmp value (already in r0)\n s.tmp_0 = r0;\n r0 = (s.arg0).fields[\"minLifespan\"] = (s.tmp_0);\n r0 = pxsim_numops_toBoolDecr(s.arg4);\n if (!r0) { step = 3; continue; }\n r0 = s.arg4;\n { step = 4; continue; }\n case 3:\n r0 = 850;\n case 4:\n // jmp value (already in r0)\n s.tmp_0 = r0;\n r0 = (s.arg0).fields[\"maxLifespan\"] = (s.tmp_0);\n r0 = pxsim_pxtcore_mkClassInstance(Math_FastRandom__C1156_VT);\n s.tmp_0 = r0;\n s.tmp_1 = Math_FastRandom_constructor__P1163_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = undefined;\n s.pc = 6; return s.tmp_1;\n case 6:\n r0 = s.retval;\n r0 = (s.arg0).fields[\"galois\"] = (s.tmp_0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_AreaFactory_constructor__P1352.info = {\"start\":3950,\"length\":374,\"line\":139,\"column\":8,\"endLine\":146,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particlefactories.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"xRange\",\"yRange\",\"minLifespan\",\"maxLifespan\"]}\n\nfunction particles_AreaFactory_constructor__P1352_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_AreaFactory_constructor__P1352, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n} }\n\n\n\n\n\nfunction particles_ShapeFactory_addShape__P1360(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ShapeFactory__C1358_VT)) failedCast(r0);\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n if (!r0) { step = 1; continue; }\n r0 = s.arg0.fields[\"sources\"];\n s.tmp_0 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.arg1);\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ShapeFactory_addShape__P1360.info = {\"start\":7079,\"length\":83,\"line\":225,\"column\":8,\"endLine\":227,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particlefactories.ts\",\"functionName\":\"addShape\",\"argumentNames\":[\"this\",\"shape\"]}\n\nfunction particles_ShapeFactory_addShape__P1360_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ShapeFactory_addShape__P1360, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction effects_ScreenEffect_constructor__P1418(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, effects_ScreenEffect__C1414_VT)) failedCast(r0);\n s.tmp_0 = effects_ParticleEffect_constructor__P1407_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.tmp_0.arg2 = s.arg3;\n s.tmp_0.arg3 = s.arg4;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = (s.arg0).fields[\"sceneDefaultRate\"] = (s.arg2);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\neffects_ScreenEffect_constructor__P1418.info = {\"start\":2771,\"length\":332,\"line\":80,\"column\":8,\"endLine\":84,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particleeffects.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"anchorDefault\",\"sceneDefault\",\"defaultLifespan\",\"sourceFactory\"]}\n\nfunction effects_ScreenEffect_constructor__P1418_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: effects_ScreenEffect_constructor__P1418, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n} }\n\n\n\n\n\nfunction effects_ParticleEffect_constructor__P1407(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, effects_ParticleEffect__C1404_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"sourceFactory\"] = (s.arg3);\n r0 = (s.arg0).fields[\"defaultRate\"] = (s.arg1);\n r0 = (s.arg0).fields[\"defaultLifespan\"] = (s.arg2);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\neffects_ParticleEffect_constructor__P1407.info = {\"start\":384,\"length\":364,\"line\":13,\"column\":8,\"endLine\":18,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particleeffects.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"defaultParticlesPerSecond\",\"defaultLifespan\",\"sourceFactory\"]}\n\nfunction effects_ParticleEffect_constructor__P1407_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: effects_ParticleEffect_constructor__P1407, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction effects_ScreenEffect_startScreenEffect__P1416(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, effects_ScreenEffect__C1414_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"sourceFactory\"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 13; continue; }\n case 1:\n case 2:\n r0 = s.arg0.fields[\"source\"];\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBool(s.tmp_3);\n if (r0) { step = 3; continue; }\n r0 = s.tmp_3;\n { step = 4; continue; }\n case 3:\n s.tmp_4 = particles_ParticleSource_enabled__P1292_mk(s);\n r0 = s.arg0.fields[\"source\"];\n s.tmp_4.arg0 = r0;\n s.pc = 14; return s.tmp_4;\n case 14:\n r0 = s.retval;\n case 4:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_5);\n if (!r0) { step = 7; continue; }\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n if (!r0) { step = 5; continue; }\n r0 = s.arg0.fields[\"source\"];\n s.tmp_6 = r0;\n r0 = (s.tmp_6).fields[\"lifespan\"] = (s.arg1);\n case 5:\n case 6:\n { step = 13; continue; }\n case 7:\n case 8:\n s.tmp_0 = effects_ScreenEffect_endScreenEffect__P1417_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 15; return s.tmp_0;\n case 15:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkClassInstance(effects_SceneAnchor__C1408_VT);\n s.tmp_0 = r0;\n s.tmp_1 = effects_SceneAnchor_constructor__P1413_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.pc = 16; return s.tmp_1;\n case 16:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(s.arg2);\n if (!r0) { step = 9; continue; }\n r0 = s.arg2;\n { step = 10; continue; }\n case 9:\n r0 = s.arg0.fields[\"sceneDefaultRate\"];\n case 10:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n s.tmp_3 = r0 = s.arg0;\n s.tmp_5 = lambda_3_mk(s);\n r0 = s.arg0.fields[\"sourceFactory\"];\n s.tmp_5.argL = r0;\n s.tmp_5.arg0 = s.tmp_0;\n s.tmp_5.arg1 = s.tmp_2;\n setupLambda(s.tmp_5, s.tmp_5.argL);\n s.pc = 17; return s.tmp_5;\n case 17:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = (s.tmp_3).fields[\"source\"] = (s.tmp_4);\n r0 = s.arg0.fields[\"source\"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0).fields[\"priority\"] = (10);\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n if (!r0) { step = 11; continue; }\n r0 = s.arg0.fields[\"source\"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0).fields[\"lifespan\"] = (s.arg1);\n case 11:\n case 12:\n case 13:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\neffects_ScreenEffect_startScreenEffect__P1416.info = {\"start\":3541,\"length\":601,\"line\":96,\"column\":8,\"endLine\":111,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particleeffects.ts\",\"functionName\":\"startScreenEffect\",\"argumentNames\":[\"this\",\"duration\",\"particlesPerSecond\"]}\n\nfunction effects_ScreenEffect_startScreenEffect__P1416_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: effects_ScreenEffect_startScreenEffect__P1416, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction effects_SceneAnchor_constructor__P1413(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, effects_SceneAnchor__C1408_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_2 = game_currentScene__P769_mk(s);\n s.pc = 1; return s.tmp_2;\n case 1:\n r0 = s.retval;\n r0 = r0.fields[\"camera\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"camera\"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\neffects_SceneAnchor_constructor__P1413.info = {\"start\":2156,\"length\":79,\"line\":54,\"column\":8,\"endLine\":56,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particleeffects.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\"]}\n\nfunction effects_SceneAnchor_constructor__P1413_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: effects_SceneAnchor_constructor__P1413, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction info_score__P798(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = info_PlayerInfo_score__P827_mk(s);\n s.tmp_0.arg0 = globals.player1___845;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_score__P798.info = {\"start\":6767,\"length\":63,\"line\":224,\"column\":4,\"endLine\":226,\"endColumn\":5,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"score\",\"argumentNames\":[]}\n\nfunction info_score__P798_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_score__P798, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction info_PlayerInfo_constructor__P840(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, info_PlayerInfo__C823_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"_player\"] = (s.arg1);\n r0 = (s.arg0).fields[\"border\"] = (1);\n r0 = (s.arg0).fields[\"fc\"] = (1);\n r0 = (s.arg0).fields[\"visilibity\"] = (0);\n r0 = (s.arg0).fields[\"showScore\"] = (undefined);\n r0 = (s.arg0).fields[\"showLife\"] = (undefined);\n r0 = (s.arg0).fields[\"showPlayer\"] = (undefined);\n r0 = (s.arg0).fields[\"left\"] = (undefined);\n r0 = (s.arg0).fields[\"up\"] = (undefined);\n r0 = s.arg0.fields[\"_player\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 === 1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = pxsim_ImageMethods.isMono(globals.screen___464);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 1; continue; }\n r0 = 0;\n { step = 2; continue; }\n case 1:\n r0 = 2;\n case 2:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = (s.arg0).fields[\"bg\"] = (s.tmp_3);\n r0 = (s.arg0).fields[\"x\"] = (0);\n r0 = (s.arg0).fields[\"y\"] = (0);\n { step = 14; continue; }\n case 3:\n r0 = (s.arg1 === 2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 6; continue; }\n r0 = pxsim_ImageMethods.isMono(globals.screen___464);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 4; continue; }\n r0 = 0;\n { step = 5; continue; }\n case 4:\n r0 = 8;\n case 5:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = (s.arg0).fields[\"bg\"] = (s.tmp_2);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"x\"] = (s.tmp_1);\n r0 = (s.arg0).fields[\"y\"] = (0);\n r0 = (s.arg0).fields[\"left\"] = (true);\n { step = 13; continue; }\n case 6:\n r0 = (s.arg1 === 3);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 9; continue; }\n r0 = pxsim_ImageMethods.isMono(globals.screen___464);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 7; continue; }\n r0 = 0;\n { step = 8; continue; }\n case 7:\n r0 = 4;\n case 8:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = (s.arg0).fields[\"bg\"] = (s.tmp_2);\n r0 = (s.arg0).fields[\"x\"] = (0);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"y\"] = (s.tmp_1);\n r0 = (s.arg0).fields[\"up\"] = (true);\n { step = 12; continue; }\n case 9:\n r0 = pxsim_ImageMethods.isMono(globals.screen___464);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 10; continue; }\n r0 = 0;\n { step = 11; continue; }\n case 10:\n r0 = 7;\n case 11:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = (s.arg0).fields[\"bg\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"x\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"y\"] = (s.tmp_1);\n r0 = (s.arg0).fields[\"left\"] = (true);\n r0 = (s.arg0).fields[\"up\"] = (true);\n case 12:\n case 13:\n case 14:\n r0 = pxsim_numops_toBoolDecr(globals.players___746);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 15; continue; }\n r0 = pxsim_Array__mk();\n globals.players___746 = (r0);\n case 15:\n case 16:\n s.tmp_0 = r0 = globals.players___746;\n r0 = s.arg0.fields[\"_player\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - 1);\n s.tmp_1 = r0;\n r0 = pxsim_Array_.setAt(s.tmp_0, s.tmp_1, s.arg0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_PlayerInfo_constructor__P840.info = {\"start\":15459,\"length\":1370,\"line\":516,\"column\":8,\"endLine\":553,\"endColumn\":9,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"player\"]}\n\nfunction info_PlayerInfo_constructor__P840_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_PlayerInfo_constructor__P840, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction info_PlayerInfo_score__P827(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.state___4124 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, info_PlayerInfo__C823_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"showScore\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 === undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = (s.arg0).fields[\"showScore\"] = (true);\n case 1:\n case 2:\n r0 = s.arg0.fields[\"showPlayer\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 === undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = (s.arg0).fields[\"showPlayer\"] = (true);\n case 3:\n case 4:\n s.tmp_0 = info_PlayerInfo_getState__P825_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 7; return s.tmp_0;\n case 7:\n r0 = s.retval;\n s.state___4124 = (r0);\n r0 = s.state___4124.fields[\"score\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 == null);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = (s.state___4124).fields[\"score\"] = (0);\n case 5:\n case 6:\n r0 = s.state___4124.fields[\"score\"];\n return leave(s, r0)\n default: oops()\n} } }\ninfo_PlayerInfo_score__P827.info = {\"start\":17505,\"length\":314,\"line\":579,\"column\":8,\"endLine\":588,\"endColumn\":9,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"score\",\"argumentNames\":[\"this\"]}\n\nfunction info_PlayerInfo_score__P827_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_PlayerInfo_score__P827, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n state___4124: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction info_PlayerInfo_getState__P825(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, info_PlayerInfo__C823_VT)) failedCast(r0);\n s.tmp_0 = info_PlayerInfo_init__P824_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = globals.infoState___745.fields[\"playerStates\"];\n s.tmp_0 = r0;\n r0 = s.arg0.fields[\"_player\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - 1);\n s.tmp_1 = r0;\n r0 = pxsim_Array__getAt(s.tmp_0, s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\ninfo_PlayerInfo_getState__P825.info = {\"start\":17101,\"length\":121,\"line\":563,\"column\":8,\"endLine\":566,\"endColumn\":9,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"getState\",\"argumentNames\":[\"this\"]}\n\nfunction info_PlayerInfo_getState__P825_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_PlayerInfo_getState__P825, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction info_PlayerInfo_init__P824(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, info_PlayerInfo__C823_VT)) failedCast(r0);\n s.tmp_0 = info_initHUD__P793_mk(s);\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n r0 = s.arg0.fields[\"_player\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > 1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_2 = info_initMultiHUD__P794_mk(s);\n s.pc = 6; return s.tmp_2;\n case 6:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = globals.infoState___745.fields[\"playerStates\"];\n s.tmp_3 = r0;\n r0 = s.arg0.fields[\"_player\"];\n s.tmp_5 = r0;\n r0 = (s.tmp_5 - 1);\n s.tmp_4 = r0;\n r0 = pxsim_Array__getAt(s.tmp_3, s.tmp_4);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = pxsim_pxtcore_mkClassInstance(info_PlayerState__C740_VT);\n s.tmp_6 = r0;\n r0 = undefined;\n r0 = globals.infoState___745.fields[\"playerStates\"];\n s.tmp_7 = r0;\n r0 = s.arg0.fields[\"_player\"];\n s.tmp_9 = r0;\n r0 = (s.tmp_9 - 1);\n s.tmp_8 = r0;\n r0 = pxsim_Array_.setAt(s.tmp_7, s.tmp_8, s.tmp_6);\n case 3:\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_PlayerInfo_init__P824.info = {\"start\":16839,\"length\":252,\"line\":555,\"column\":8,\"endLine\":561,\"endColumn\":9,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"init\",\"argumentNames\":[\"this\"]}\n\nfunction info_PlayerInfo_init__P824_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_PlayerInfo_init__P824, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction info_initMultiHUD__P794(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = globals.infoState___745.fields[\"visibilityFlag\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 & 16);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 5; continue; }\n case 1:\n case 2:\n s.tmp_2 = r0 = globals.infoState___745;\n r0 = s.tmp_2.fields[\"visibilityFlag\"];\n s.tmp_4 = r0;\n r0 = (s.tmp_4 | 16);\n s.tmp_3 = r0;\n r0 = (s.tmp_2).fields[\"visibilityFlag\"] = (s.tmp_3);\n r0 = globals.infoState___745.fields[\"visibilityFlag\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 & 32);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.tmp_4 = r0 = globals.infoState___745;\n s.tmp_6 = info_defaultMultiplayerHeartImage__P796_mk(s);\n s.pc = 6; return s.tmp_6;\n case 6:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = (s.tmp_4).fields[\"heartImage\"] = (s.tmp_5);\n case 3:\n case 4:\n s.tmp_0 = r0 = globals.infoState___745;\n r0 = pxsim.image.ofBuffer(_hex4292);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"multiplierImage\"] = (s.tmp_1);\n case 5:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_initMultiHUD__P794.info = {\"start\":4706,\"length\":393,\"line\":150,\"column\":4,\"endLine\":161,\"endColumn\":5,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"initMultiHUD\",\"argumentNames\":[]}\n\nfunction info_initMultiHUD__P794_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_initMultiHUD__P794, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n} }\n\nconst _hex4292 = pxsim.BufferMethods.createBufferFromHex(\"8704030003000000010100001000000001010000\")\n\n\n\n\nfunction info_defaultMultiplayerHeartImage__P796(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_ImageMethods.isMono(globals.screen___464);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim.image.ofBuffer(_hex4296);\n { step = 2; continue; }\n case 1:\n r0 = pxsim.image.ofBuffer(_hex4298);\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = s.tmp_1;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_defaultMultiplayerHeartImage__P796.info = {\"start\":5703,\"length\":503,\"line\":186,\"column\":4,\"endLine\":203,\"endColumn\":5,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"defaultMultiplayerHeartImage\",\"argumentNames\":[]}\n\nfunction info_defaultMultiplayerHeartImage__P796_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_defaultMultiplayerHeartImage__P796, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n} }\n\nconst _hex4296 = pxsim.BufferMethods.createBufferFromHex(\"870407000500000000000000100100000110000010000100011000001001000000000000\")\nconst _hex4298 = pxsim.BufferMethods.createBufferFromHex(\"870407000500000000000000100100002112000010240100411200001001000000000000\")\n\n\n\n\nfunction info_initHUD__P793(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals.infoState___745);\n if (!r0) { step = 1; continue; }\n { step = 3; continue; }\n case 1:\n case 2:\n r0 = pxsim_pxtcore_mkClassInstance(info_InfoState__C742_VT);\n s.tmp_0 = r0;\n s.tmp_1 = info_InfoState_constructor__P743_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.pc = 4; return s.tmp_1;\n case 4:\n r0 = s.retval;\n globals.infoState___745 = (s.tmp_0);\n s.tmp_0 = scene_createRenderable__P896_mk(s);\n s.tmp_0.arg0 = 100;\n s.tmp_0.arg1 = inline__P4306;\n s.tmp_0.arg2 = undefined;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n case 3:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_initHUD__P793.info = {\"start\":2588,\"length\":2112,\"line\":97,\"column\":4,\"endLine\":148,\"endColumn\":5,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"initHUD\",\"argumentNames\":[]}\n\nfunction info_initHUD__P793_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_initHUD__P793, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n} }\n\n\n\n\n\nfunction inline__P4306(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.ps___4313 = undefined;\n s.p___4332 = undefined;\n s.scene___4363 = undefined;\n s.elapsed___4365 = undefined;\n s.t___4372 = undefined;\n r0 = pxsim_numops_toBoolDecr(globals.infoState___745);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 23; continue; }\n case 1:\n case 2:\n r0 = globals.infoState___745.fields[\"visibilityFlag\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 & 16);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.tmp_2 = helpers_arrayFilter__P48_mk(s);\n s.tmp_2.arg0 = globals.players___746;\n s.tmp_2.arg1 = inline__P4316;\n s.pc = 24; return s.tmp_2;\n case 24:\n r0 = s.retval;\n s.ps___4313 = (r0);\n s.tmp_0 = helpers_arrayForEach__P47_mk(s);\n s.tmp_0.arg0 = s.ps___4313;\n s.tmp_0.arg1 = inline__P4322;\n s.pc = 25; return s.tmp_0;\n case 25:\n r0 = s.retval;\n s.tmp_0 = helpers_arrayForEach__P47_mk(s);\n s.tmp_0.arg0 = s.ps___4313;\n s.tmp_0.arg1 = inline__P4328;\n s.pc = 26; return s.tmp_0;\n case 26:\n r0 = s.retval;\n { step = 12; continue; }\n case 3:\n s.p___4332 = (globals.player1___845);\n s.tmp_1 = info_PlayerInfo_hasScore__P830_mk(s);\n s.tmp_1.arg0 = s.p___4332;\n s.pc = 27; return s.tmp_1;\n case 27:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 4; continue; }\n r0 = s.tmp_0;\n { step = 5; continue; }\n case 4:\n r0 = globals.infoState___745.fields[\"visibilityFlag\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 & 2);\n case 5:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 6; continue; }\n s.tmp_4 = info_PlayerInfo_drawScore__P838_mk(s);\n s.tmp_4.arg0 = s.p___4332;\n s.pc = 28; return s.tmp_4;\n case 28:\n r0 = s.retval;\n case 6:\n case 7:\n s.tmp_1 = info_PlayerInfo_hasLife__P834_mk(s);\n s.tmp_1.arg0 = s.p___4332;\n s.pc = 29; return s.tmp_1;\n case 29:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 8; continue; }\n r0 = s.tmp_0;\n { step = 9; continue; }\n case 8:\n r0 = globals.infoState___745.fields[\"visibilityFlag\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 & 4);\n case 9:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 10; continue; }\n s.tmp_4 = info_PlayerInfo_drawLives__P839_mk(s);\n s.tmp_4.arg0 = s.p___4332;\n s.pc = 30; return s.tmp_4;\n case 30:\n r0 = s.retval;\n case 10:\n case 11:\n s.tmp_0 = info_PlayerInfo_raiseLifeZero__P836_mk(s);\n s.tmp_0.arg0 = s.p___4332;\n s.tmp_0.arg1 = true;\n s.pc = 31; return s.tmp_0;\n case 31:\n r0 = s.retval;\n case 12:\n r0 = globals.infoState___745.fields[\"gameEnd\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 !== undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 13; continue; }\n r0 = s.tmp_0;\n { step = 14; continue; }\n case 13:\n r0 = globals.infoState___745.fields[\"visibilityFlag\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 & 1);\n case 14:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 21; continue; }\n s.tmp_4 = game_currentScene__P769_mk(s);\n s.pc = 32; return s.tmp_4;\n case 32:\n r0 = s.retval;\n s.scene___4363 = (r0);\n r0 = globals.infoState___745.fields[\"gameEnd\"];\n s.tmp_0 = r0;\n r0 = s.scene___4363.fields[\"_millis\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_0 - s.tmp_1);\n s.elapsed___4365 = (r0);\n s.tmp_0 = info_drawTimer__P822_mk(s);\n s.tmp_0.arg0 = s.elapsed___4365;\n s.pc = 33; return s.tmp_0;\n case 33:\n r0 = s.retval;\n r0 = (s.elapsed___4365 / 1000);\n s.t___4372 = (r0);\n r0 = (s.t___4372 <= 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 19; continue; }\n s.t___4372 = (0);\n r0 = globals.infoState___745.fields[\"countdownExpired\"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 17; continue; }\n r0 = (globals.infoState___745).fields[\"countdownExpired\"] = (true);\n r0 = globals.infoState___745.fields[\"countdownEndHandler\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 15; continue; }\n s.tmp_1 = lambda_1_mk(s);\n r0 = globals.infoState___745.fields[\"countdownEndHandler\"];\n s.tmp_1.argL = r0;\n setupLambda(s.tmp_1, s.tmp_1.argL);\n s.pc = 34; return s.tmp_1;\n case 34:\n r0 = s.retval;\n r0 = (globals.infoState___745).fields[\"gameEnd\"] = (undefined);\n { step = 16; continue; }\n case 15:\n s.tmp_0 = game_over__P1026_mk(s);\n s.tmp_0.arg0 = false;\n s.tmp_0.arg1 = undefined;\n s.pc = 35; return s.tmp_0;\n case 35:\n r0 = s.retval;\n case 16:\n case 17:\n case 18:\n case 19:\n case 20:\n case 21:\n case 22:\n case 23:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P4306.info = {\"start\":2748,\"length\":1935,\"line\":104,\"column\":12,\"endLine\":146,\"endColumn\":13,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P4306_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P4306, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n ps___4313: undefined,\n p___4332: undefined,\n scene___4363: undefined,\n elapsed___4365: undefined,\n t___4372: undefined,\n} }\n\n\n\n\n\nfunction inline__P4316(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_numops_toBoolDecr(s.arg0);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\ninline__P4316.info = {\"start\":2996,\"length\":8,\"line\":109,\"column\":46,\"endLine\":109,\"endColumn\":54,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"p\"]}\n\nfunction inline__P4316_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P4316, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P4322(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = info_PlayerInfo_drawPlayer__P837_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P4322.info = {\"start\":3080,\"length\":19,\"line\":111,\"column\":31,\"endLine\":111,\"endColumn\":50,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"p\"]}\n\nfunction inline__P4322_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P4322, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P4328(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = info_PlayerInfo_raiseLifeZero__P836_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = false;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P4328.info = {\"start\":3182,\"length\":27,\"line\":113,\"column\":31,\"endLine\":113,\"endColumn\":58,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"p\"]}\n\nfunction inline__P4328_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P4328, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_over__P1026(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.scoreInfo___4404 = undefined;\n s.highScore___4407 = undefined;\n s.overDialog___4434 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = game_init__P1018_mk(s);\n s.pc = 18; return s.tmp_0;\n case 18:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(globals.__isOver___1014);\n if (!r0) { step = 1; continue; }\n { step = 17; continue; }\n case 1:\n case 2:\n globals.__isOver___1014 = (true);\n r0 = pxsim_numops_toBoolDecr(globals.__gameOverHandler___1013);\n if (!r0) { step = 3; continue; }\n s.tmp_0 = lambda_2_mk(s);\n s.tmp_0.argL = globals.__gameOverHandler___1013;\n s.tmp_0.arg0 = s.arg0;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 19; return s.tmp_0;\n case 19:\n r0 = s.retval;\n { step = 16; continue; }\n case 3:\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 6; continue; }\n r0 = pxsim_numops_toBoolDecr(s.arg0);\n if (!r0) { step = 4; continue; }\n r0 = globals.winEffect___1001;\n { step = 5; continue; }\n case 4:\n r0 = globals.loseEffect___1003;\n case 5:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n s.arg1 = (s.tmp_2);\n case 6:\n case 7:\n s.tmp_0 = info_PlayerInfo_getState__P825_mk(s);\n s.tmp_0.arg0 = globals.player1___845;\n s.pc = 20; return s.tmp_0;\n case 20:\n r0 = s.retval;\n s.scoreInfo___4404 = (r0);\n s.tmp_0 = info_highScore__P800_mk(s);\n s.pc = 21; return s.tmp_0;\n case 21:\n r0 = s.retval;\n s.highScore___4407 = (r0);\n r0 = s.scoreInfo___4404.fields[\"score\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > s.highScore___4407);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 8; continue; }\n s.tmp_2 = info_saveHighScore__P797_mk(s);\n s.pc = 22; return s.tmp_2;\n case 22:\n r0 = s.retval;\n case 8:\n case 9:\n case 10:\n s.tmp_0 = r0 = globals._sceneStack___1009;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 11; continue; }\n r0 = s.tmp_0;\n { step = 12; continue; }\n case 11:\n r0 = pxsim_Array__length(globals._sceneStack___1009);\n case 12:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 13; continue; }\n s.tmp_2 = scene_Scene_destroy__P928_mk(s);\n s.tmp_2.arg0 = globals._scene___1008;\n s.pc = 23; return s.tmp_2;\n case 23:\n r0 = s.retval;\n s.tmp_0 = game_popScene__P1020_mk(s);\n s.pc = 24; return s.tmp_0;\n case 24:\n r0 = s.retval;\n { step = 10; continue; }\n case 13:\n s.tmp_0 = game_pushScene__P1019_mk(s);\n s.pc = 25; return s.tmp_0;\n case 25:\n r0 = s.retval;\n s.tmp_0 = scene_setBackgroundImage__P937_mk(s);\n r0 = pxsim_ImageMethods.clone(globals.screen___464);\n s.tmp_0.arg0 = r0;\n s.pc = 26; return s.tmp_0;\n case 26:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(s.arg0);\n if (!r0) { step = 14; continue; }\n s.tmp_0 = music_Melody_play__P357_mk(s);\n s.tmp_0.arg0 = globals.winSound___1007;\n s.tmp_0.arg1 = 255;\n s.pc = 27; return s.tmp_0;\n case 27:\n r0 = s.retval;\n { step = 15; continue; }\n case 14:\n s.tmp_0 = music_Melody_play__P357_mk(s);\n s.tmp_0.arg0 = globals.loseSound___1005;\n s.tmp_0.arg1 = 255;\n s.pc = 28; return s.tmp_0;\n case 28:\n r0 = s.retval;\n case 15:\n s.tmp_0 = if_startScreenEffect_1_mk(s);\n s.tmp_0.arg0 = s.arg1;\n s.tmp_0.fn = s.tmp_0.arg0.vtable.iface[\"startScreenEffect\"];\n if (s.tmp_0.fn == null) { s.retval = s.tmp_0.arg0.fields[\"startScreenEffect\"]; }\n else { s.pc = 29; return s.tmp_0; }\n case 29:\n r0 = s.retval;\n s.tmp_0 = pause__P241_mk(s);\n s.tmp_0.arg0 = 400;\n s.pc = 30; return s.tmp_0;\n case 30:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkClassInstance(game_GameOverDialog__C983_VT);\n s.tmp_0 = r0;\n s.tmp_1 = game_GameOverDialog_constructor__P988_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = s.arg0;\n r0 = s.scoreInfo___4404.fields[\"score\"];\n s.tmp_1.arg2 = r0;\n s.tmp_1.arg3 = s.highScore___4407;\n s.pc = 31; return s.tmp_1;\n case 31:\n r0 = s.retval;\n s.overDialog___4434 = (s.tmp_0);\n r0 = pxsim_pxtcore_mkAction(1, inline__P4444);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.overDialog___4434);\n s.tmp_1 = scene_createRenderable__P896_mk(s);\n s.tmp_1.arg0 = 100;\n s.tmp_1.arg1 = s.tmp_0;\n s.tmp_1.arg2 = undefined;\n s.pc = 32; return s.tmp_1;\n case 32:\n r0 = s.retval;\n s.tmp_0 = pause__P241_mk(s);\n s.tmp_0.arg0 = 500;\n s.pc = 33; return s.tmp_0;\n case 33:\n r0 = s.retval;\n s.tmp_0 = game_GameOverDialog_displayCursor__P985_mk(s);\n s.tmp_0.arg0 = s.overDialog___4434;\n s.pc = 34; return s.tmp_0;\n case 34:\n r0 = s.retval;\n s.tmp_0 = game_waitAnyButton__P1016_mk(s);\n s.pc = 35; return s.tmp_0;\n case 35:\n r0 = s.retval;\n setupResume(s, 36);\n pxsim.control.reset();\n checkResumeConsumed();\n return;\n case 36:\n r0 = s.retval;\n case 16:\n case 17:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_over__P1026.info = {\"start\":5311,\"length\":1776,\"line\":180,\"column\":4,\"endLine\":231,\"endColumn\":5,\"fileName\":\"pxt_modules/game/game.ts\",\"functionName\":\"over\",\"argumentNames\":[\"win\",\"effect\"]}\n\nfunction game_over__P1026_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_over__P1026, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n scoreInfo___4404: undefined,\n highScore___4407: undefined,\n overDialog___4434: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction inline__P4444(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = game_GameOverDialog__C983_v0_1_mk(s);\n s.tmp_0.arg0 = s.caps[0];\n if (!checkSubtype(s.tmp_0.arg0, game_GameOverDialog__C983_VT)) failedCast(s.tmp_0.arg0);\n s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.update;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.tmp_0 = r0 = s.arg0;\n r0 = s.caps[0].fields[\"image\"];\n s.tmp_1 = r0;\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n s.tmp_4 = r0;\n r0 = s.caps[0].fields[\"image\"];\n s.tmp_6 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_6);\n s.tmp_5 = r0;\n r0 = (s.tmp_4 - s.tmp_5);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 >> 1);\n s.tmp_2 = r0;\n r0 = pxsim_ImageMethods.drawTransparentImage(s.tmp_0, s.tmp_1, 0, s.tmp_2);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P4444.info = {\"start\":6650,\"length\":256,\"line\":217,\"column\":48,\"endLine\":224,\"endColumn\":13,\"fileName\":\"pxt_modules/game/game.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"target\"]}\n\nfunction inline__P4444_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P4444, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_popScene__P1020(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.oldScene___5046 = undefined;\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 11; return s.tmp_0;\n case 11:\n r0 = s.retval;\n s.oldScene___5046 = (r0);\n s.tmp_0 = r0 = globals._sceneStack___1009;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = pxsim_Array__length(globals._sceneStack___1009);\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 3; continue; }\n r0 = pxsim_Array_.pop(globals._sceneStack___1009);\n globals._scene___1008 = (r0);\n s.tmp_0 = control_popEventContext__P237_mk(s);\n s.pc = 12; return s.tmp_0;\n case 12:\n r0 = s.retval;\n { step = 6; continue; }\n case 3:\n r0 = pxsim_numops_toBoolDecr(globals._scene___1008);\n if (!r0) { step = 4; continue; }\n s.tmp_0 = control_popEventContext__P237_mk(s);\n s.pc = 13; return s.tmp_0;\n case 13:\n r0 = s.retval;\n globals._scene___1008 = (undefined);\n case 4:\n case 5:\n case 6:\n r0 = pxsim_numops_toBoolDecr(globals._scene___1008);\n if (!r0) { step = 7; continue; }\n s.tmp_0 = particles_enableAll__P1319_mk(s);\n s.pc = 14; return s.tmp_0;\n case 14:\n r0 = s.retval;\n case 7:\n case 8:\n r0 = pxsim_numops_toBoolDecr(globals._scenePopHandlers___1011);\n if (!r0) { step = 9; continue; }\n r0 = pxsim_pxtcore_mkAction(1, inline__P5065);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.oldScene___5046);\n s.tmp_1 = helpers_arrayForEach__P47_mk(s);\n s.tmp_1.arg0 = globals._scenePopHandlers___1011;\n s.tmp_1.arg1 = s.tmp_0;\n s.pc = 15; return s.tmp_1;\n case 15:\n r0 = s.retval;\n case 9:\n case 10:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_popScene__P1020.info = {\"start\":1962,\"length\":548,\"line\":74,\"column\":4,\"endLine\":92,\"endColumn\":5,\"fileName\":\"pxt_modules/game/game.ts\",\"functionName\":\"popScene\",\"argumentNames\":[]}\n\nfunction game_popScene__P1020_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_popScene__P1020, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n oldScene___5046: undefined,\n} }\n\n\n\n\n\nfunction inline__P5065(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = lambda_2_mk(s);\n s.tmp_0.argL = s.arg0;\n s.tmp_0.arg0 = s.caps[0];\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P5065.info = {\"start\":2474,\"length\":18,\"line\":90,\"column\":38,\"endLine\":90,\"endColumn\":56,\"fileName\":\"pxt_modules/game/game.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"cb\"]}\n\nfunction inline__P5065_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P5065, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction particles_enableAll__P1319(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.sources___5069 = undefined;\n s.tmp_0 = particles_particleSources__P1320_mk(s);\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.sources___5069 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.sources___5069);\n if (!r0) { step = 1; continue; }\n s.tmp_0 = helpers_arrayForEach__P47_mk(s);\n s.tmp_0.arg0 = s.sources___5069;\n s.tmp_0.arg1 = inline__P5074;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n s.tmp_0 = particles_pruneParticles__P1307_mk(s);\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_enableAll__P1319.info = {\"start\":12162,\"length\":193,\"line\":401,\"column\":4,\"endLine\":407,\"endColumn\":5,\"fileName\":\"pxt_modules/game/particles.ts\",\"functionName\":\"enableAll\",\"argumentNames\":[]}\n\nfunction particles_enableAll__P1319_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_enableAll__P1319, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n sources___5069: undefined,\n} }\n\n\n\n\n\nfunction inline__P5074(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = particles_ParticleSource_enabled__P1293_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = true;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = true;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P5074.info = {\"start\":12286,\"length\":21,\"line\":404,\"column\":28,\"endLine\":404,\"endColumn\":49,\"fileName\":\"pxt_modules/game/particles.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"s\"]}\n\nfunction inline__P5074_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P5074, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction control_popEventContext__P237(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.ctx___5080 = undefined;\n s.context___5087 = undefined;\n r0 = pxsim_numops_toBoolDecr(globals.eventContexts___234);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 7; continue; }\n case 1:\n case 2:\n r0 = pxsim_Array_.pop(globals.eventContexts___234);\n s.ctx___5080 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.ctx___5080);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n { step = 7; continue; }\n case 3:\n case 4:\n s.tmp_2 = control_EventContext_unregister__P225_mk(s);\n s.tmp_2.arg0 = s.ctx___5080;\n s.pc = 8; return s.tmp_2;\n case 8:\n r0 = s.retval;\n s.tmp_0 = r0 = globals.eventContexts___234;\n r0 = pxsim_Array__length(globals.eventContexts___234);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - 1);\n s.tmp_1 = r0;\n r0 = pxsim_Array__getAt(s.tmp_0, s.tmp_1);\n s.context___5087 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.context___5087);\n if (!r0) { step = 5; continue; }\n s.tmp_0 = control_EventContext_register__P224_mk(s);\n s.tmp_0.arg0 = s.context___5087;\n s.pc = 9; return s.tmp_0;\n case 9:\n r0 = s.retval;\n { step = 6; continue; }\n case 5:\n globals.eventContexts___234 = (undefined);\n case 6:\n case 7:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_popEventContext__P237.info = {\"start\":6831,\"length\":413,\"line\":213,\"column\":4,\"endLine\":227,\"endColumn\":5,\"fileName\":\"pxt_modules/base/eventcontext.ts\",\"functionName\":\"popEventContext\",\"argumentNames\":[]}\n\nfunction control_popEventContext__P237_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_popEventContext__P237, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n ctx___5080: undefined,\n context___5087: undefined,\n} }\n\n\n\n\n\nfunction control_EventContext_unregister__P225(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.h___5250 = undefined;\n s.unnamed48___U1 = undefined;\n s.unnamed49___U2 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, control_EventContext__C220_VT)) failedCast(r0);\n s.h___5250 = (undefined);\n s.h___5250 = (undefined);\n r0 = s.arg0.fields[\"handlers\"];\n s.unnamed48___U1 = (r0);\n s.unnamed49___U2 = (0);\n case 1:\n s.tmp_0 = r0 = s.unnamed49___U2;\n r0 = pxsim_Array__length(s.unnamed48___U1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 2; continue; }\n r0 = pxsim_Array__getAt(s.unnamed48___U1, s.unnamed49___U2);\n s.h___5250 = (r0);\n s.tmp_2 = control_EventHandler_unregister__P217_mk(s);\n s.tmp_2.arg0 = s.h___5250;\n s.pc = 3; return s.tmp_2;\n case 3:\n r0 = s.retval;\n r0 = (s.unnamed49___U2 + 1);\n s.unnamed49___U2 = (r0);\n { step = 1; continue; }\n case 2:\n s.unnamed48___U1 = (undefined);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.tmp_0.fields[\"frameWorker\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + 1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"frameWorker\"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_EventContext_unregister__P225.info = {\"start\":4081,\"length\":131,\"line\":126,\"column\":8,\"endLine\":130,\"endColumn\":9,\"fileName\":\"pxt_modules/base/eventcontext.ts\",\"functionName\":\"unregister\",\"argumentNames\":[\"this\"]}\n\nfunction control_EventContext_unregister__P225_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_EventContext_unregister__P225, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n h___5250: undefined,\n unnamed48___U1: undefined,\n unnamed49___U2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction control_EventHandler_unregister__P217(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, control_EventHandler__C215_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"src\"];\n s.tmp_0 = r0;\n r0 = s.arg0.fields[\"value\"];\n s.tmp_1 = r0;\n r0 = s.arg0.fields[\"flags\"];\n s.tmp_2 = r0;\n r0 = pxsim.control.internalOnEvent(s.tmp_0, s.tmp_1, control_doNothing__P219, s.tmp_2);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_EventHandler_unregister__P217.info = {\"start\":1244,\"length\":106,\"line\":40,\"column\":8,\"endLine\":42,\"endColumn\":9,\"fileName\":\"pxt_modules/base/eventcontext.ts\",\"functionName\":\"unregister\",\"argumentNames\":[\"this\"]}\n\nfunction control_EventHandler_unregister__P217_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_EventHandler_unregister__P217, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction control_doNothing__P219(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_doNothing__P219.info = {\"start\":1362,\"length\":24,\"line\":45,\"column\":4,\"endLine\":45,\"endColumn\":28,\"fileName\":\"pxt_modules/base/eventcontext.ts\",\"functionName\":\"doNothing\",\"argumentNames\":[]}\n\nfunction control_doNothing__P219_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_doNothing__P219, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n} }\n\n\n\n\n\nfunction control_EventContext_register__P224(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.h___5099 = undefined;\n s.unnamed46___U1 = undefined;\n s.unnamed47___U2 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, control_EventContext__C220_VT)) failedCast(r0);\n s.h___5099 = (undefined);\n s.h___5099 = (undefined);\n r0 = s.arg0.fields[\"handlers\"];\n s.unnamed46___U1 = (r0);\n s.unnamed47___U2 = (0);\n case 1:\n s.tmp_0 = r0 = s.unnamed47___U2;\n r0 = pxsim_Array__length(s.unnamed46___U1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 2; continue; }\n r0 = pxsim_Array__getAt(s.unnamed46___U1, s.unnamed47___U2);\n s.h___5099 = (r0);\n s.tmp_2 = control_EventHandler_register__P216_mk(s);\n s.tmp_2.arg0 = s.h___5099;\n s.pc = 3; return s.tmp_2;\n case 3:\n r0 = s.retval;\n r0 = (s.unnamed47___U2 + 1);\n s.unnamed47___U2 = (r0);\n { step = 1; continue; }\n case 2:\n s.unnamed46___U1 = (undefined);\n s.tmp_0 = control_EventContext_registerFrameCallbacks__P223_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_EventContext_register__P224.info = {\"start\":3933,\"length\":138,\"line\":120,\"column\":8,\"endLine\":124,\"endColumn\":9,\"fileName\":\"pxt_modules/base/eventcontext.ts\",\"functionName\":\"register\",\"argumentNames\":[\"this\"]}\n\nfunction control_EventContext_register__P224_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_EventContext_register__P224, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n h___5099: undefined,\n unnamed46___U1: undefined,\n unnamed47___U2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction control_EventContext_registerFrameCallbacks__P223(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.worker___5124 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, control_EventContext__C220_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"frameCallbacks\"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 3; continue; }\n case 1:\n case 2:\n r0 = (s.arg0).fields[\"framesInSample\"] = (0);\n r0 = (s.arg0).fields[\"timeInSample\"] = (0);\n r0 = (s.arg0).fields[\"deltaTimeMillis\"] = (0);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim.control.millis();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"prevTimeMillis\"] = (s.tmp_1);\n r0 = s.arg0.fields[\"frameWorker\"];\n s.worker___5124 = (r0);\n r0 = pxsim_pxtcore_mkAction(2, inline__P5130);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.worker___5124);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.arg0);\n r0 = pxsim.control.runInParallel(s.tmp_0);\n case 3:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_EventContext_registerFrameCallbacks__P223.info = {\"start\":3412,\"length\":511,\"line\":104,\"column\":8,\"endLine\":118,\"endColumn\":9,\"fileName\":\"pxt_modules/base/eventcontext.ts\",\"functionName\":\"registerFrameCallbacks\",\"argumentNames\":[\"this\"]}\n\nfunction control_EventContext_registerFrameCallbacks__P223_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_EventContext_registerFrameCallbacks__P223, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n worker___5124: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P5130(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.delay___5135 = undefined;\n case 1:\n r0 = s.caps[1].fields[\"frameWorker\"];\n s.tmp_1 = r0;\n r0 = (s.caps[0] == s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n s.tmp_2 = control_EventContext_runCallbacks__P222_mk(s);\n s.tmp_2.arg0 = s.caps[1];\n s.pc = 3; return s.tmp_2;\n case 3:\n r0 = s.retval;\n s.delay___5135 = (r0);\n s.tmp_0 = pause__P241_mk(s);\n s.tmp_0.arg0 = s.delay___5135;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n { step = 1; continue; }\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P5130.info = {\"start\":3735,\"length\":177,\"line\":112,\"column\":34,\"endLine\":117,\"endColumn\":13,\"fileName\":\"pxt_modules/base/eventcontext.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P5130_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P5130, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n delay___5135: undefined,\n} }\n\n\n\n\n\nfunction control_EventContext_runCallbacks__P222(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.loopStart___5142 = undefined;\n s.f___5154 = undefined;\n s.unnamed44___U2 = undefined;\n s.unnamed45___U3 = undefined;\n s.runtime___5160 = undefined;\n s.fps___5176 = undefined;\n s.delay___5226 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, control_EventContext__C220_VT)) failedCast(r0);\n r0 = pxsim.control.millis();\n s.loopStart___5142 = (r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.arg0.fields[\"prevTimeMillis\"];\n s.tmp_2 = r0;\n r0 = (s.loopStart___5142 - s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"deltaTimeMillis\"] = (s.tmp_1);\n r0 = (s.arg0).fields[\"prevTimeMillis\"] = (s.loopStart___5142);\n s.f___5154 = (undefined);\n s.f___5154 = (undefined);\n r0 = s.arg0.fields[\"frameCallbacks\"];\n s.unnamed44___U2 = (r0);\n s.unnamed45___U3 = (0);\n case 1:\n s.tmp_0 = r0 = s.unnamed45___U3;\n r0 = pxsim_Array__length(s.unnamed44___U2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 2; continue; }\n r0 = pxsim_Array__getAt(s.unnamed44___U2, s.unnamed45___U3);\n s.f___5154 = (r0);\n s.tmp_2 = lambda_1_mk(s);\n r0 = s.f___5154.fields[\"handler\"];\n s.tmp_2.argL = r0;\n setupLambda(s.tmp_2, s.tmp_2.argL);\n s.pc = 11; return s.tmp_2;\n case 11:\n r0 = s.retval;\n r0 = (s.unnamed45___U3 + 1);\n s.unnamed45___U3 = (r0);\n { step = 1; continue; }\n case 2:\n s.unnamed44___U2 = (undefined);\n r0 = pxsim.control.millis();\n s.tmp_0 = r0;\n r0 = (s.tmp_0 - s.loopStart___5142);\n s.runtime___5160 = (r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.tmp_0.fields[\"timeInSample\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.runtime___5160);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"timeInSample\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.tmp_0.fields[\"framesInSample\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + 1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"framesInSample\"] = (s.tmp_1);\n r0 = s.arg0.fields[\"timeInSample\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > 1000);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = s.tmp_0;\n { step = 4; continue; }\n case 3:\n r0 = s.arg0.fields[\"framesInSample\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 > 30);\n case 4:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 9; continue; }\n r0 = s.arg0.fields[\"framesInSample\"];\n s.tmp_4 = r0;\n r0 = s.arg0.fields[\"timeInSample\"];\n s.tmp_6 = r0;\n r0 = (s.tmp_6 / 1000);\n s.tmp_5 = r0;\n r0 = (s.tmp_4 / s.tmp_5);\n s.fps___5176 = (r0);\n r0 = pxsim.Math_.round(s.fps___5176);\n s.tmp_1 = r0;\n if ((s.tmp_1) && (s.tmp_1).vtable) {\n setupResume(s, 12);\n pxsim_String__stringConv(s.tmp_1);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_1) + \"\"; }\n case 12:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_String__concat(\"fps:\", s.tmp_0);\n globals.control_EventContext_lastStats___231 = (r0);\n r0 = (s.fps___5176 < 99);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n if ((globals.control_EventContext_lastStats___231) && (globals.control_EventContext_lastStats___231).vtable) {\n setupResume(s, 13);\n pxsim_String__stringConv(globals.control_EventContext_lastStats___231);\n checkResumeConsumed();\n return;\n } else { s.retval = (globals.control_EventContext_lastStats___231) + \"\"; }\n case 13:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.fps___5176 * 10);\n s.tmp_7 = r0;\n r0 = pxsim.Math_.round(s.tmp_7);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 % 10);\n s.tmp_5 = r0;\n if ((s.tmp_5) && (s.tmp_5).vtable) {\n setupResume(s, 14);\n pxsim_String__stringConv(s.tmp_5);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_5) + \"\"; }\n case 14:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = pxsim_String__concat(\".\", s.tmp_4);\n s.tmp_3 = r0;\n if ((s.tmp_3) && (s.tmp_3).vtable) {\n setupResume(s, 15);\n pxsim_String__stringConv(s.tmp_3);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_3) + \"\"; }\n case 15:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = pxsim_String__concat(s.tmp_1, s.tmp_2);\n globals.control_EventContext_lastStats___231 = (r0);\n case 5:\n case 6:\n r0 = pxsim.control.profilingEnabled();\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 7; continue; }\n r0 = pxsim_String_.mkEmpty();\n s.tmp_5 = r0;\n r0 = (s.fps___5176 * 100);\n s.tmp_8 = r0;\n r0 = (s.tmp_8 | 0);\n s.tmp_7 = r0;\n if ((s.tmp_7) && (s.tmp_7).vtable) {\n setupResume(s, 16);\n pxsim_String__stringConv(s.tmp_7);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_7) + \"\"; }\n case 16:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = pxsim_String__concat(s.tmp_5, s.tmp_6);\n s.tmp_4 = r0;\n r0 = pxsim_String__concat(s.tmp_4, \"/100 fps - \");\n s.tmp_3 = r0;\n r0 = s.arg0.fields[\"framesInSample\"];\n s.tmp_10 = r0;\n if ((s.tmp_10) && (s.tmp_10).vtable) {\n setupResume(s, 17);\n pxsim_String__stringConv(s.tmp_10);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_10) + \"\"; }\n case 17:\n r0 = s.retval;\n s.tmp_9 = r0;\n r0 = pxsim_String__concat(s.tmp_3, s.tmp_9);\n s.tmp_2 = r0;\n r0 = pxsim_String__concat(s.tmp_2, \" frames\");\n s.tmp_1 = r0;\n r0 = pxsim.control.dmesg(s.tmp_1);\n r0 = pxsim.control.gc();\n r0 = pxsim_pxtcore.dumpPerfCounters();\n case 7:\n case 8:\n r0 = (s.arg0).fields[\"timeInSample\"] = (0);\n r0 = (s.arg0).fields[\"framesInSample\"] = (0);\n case 9:\n case 10:\n s.tmp_0 = Math_max__P61_mk(s);\n s.tmp_0.arg0 = 1;\n r0 = (20 - s.runtime___5160);\n s.tmp_0.arg1 = r0;\n s.pc = 18; return s.tmp_0;\n case 18:\n r0 = s.retval;\n s.delay___5226 = (r0);\n r0 = s.delay___5226;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_EventContext_runCallbacks__P222.info = {\"start\":2188,\"length\":1214,\"line\":75,\"column\":8,\"endLine\":102,\"endColumn\":9,\"fileName\":\"pxt_modules/base/eventcontext.ts\",\"functionName\":\"runCallbacks\",\"argumentNames\":[\"this\"]}\n\nfunction control_EventContext_runCallbacks__P222_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_EventContext_runCallbacks__P222, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n loopStart___5142: undefined,\n f___5154: undefined,\n unnamed44___U2: undefined,\n unnamed45___U3: undefined,\n runtime___5160: undefined,\n fps___5176: undefined,\n delay___5226: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction control_EventHandler_register__P216(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, control_EventHandler__C215_VT)) failedCast(r0);\n r0 = pxsim_pxtcore_mkAction(1, inline__P5239);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n r0 = s.arg0.fields[\"src\"];\n s.tmp_1 = r0;\n r0 = s.arg0.fields[\"value\"];\n s.tmp_2 = r0;\n r0 = s.arg0.fields[\"flags\"];\n s.tmp_3 = r0;\n r0 = pxsim.control.internalOnEvent(s.tmp_1, s.tmp_2, s.tmp_0, s.tmp_3);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_EventHandler_register__P216.info = {\"start\":1069,\"length\":165,\"line\":34,\"column\":8,\"endLine\":38,\"endColumn\":9,\"fileName\":\"pxt_modules/base/eventcontext.ts\",\"functionName\":\"register\",\"argumentNames\":[\"this\"]}\n\nfunction control_EventHandler_register__P216_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_EventHandler_register__P216, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P5239(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = s.caps[0].fields[\"handler\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_1 = lambda_1_mk(s);\n r0 = s.caps[0].fields[\"handler\"];\n s.tmp_1.argL = r0;\n setupLambda(s.tmp_1, s.tmp_1.argL);\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P5239.info = {\"start\":1140,\"length\":71,\"line\":35,\"column\":58,\"endLine\":37,\"endColumn\":13,\"fileName\":\"pxt_modules/base/eventcontext.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P5239_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P5239, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n} }\n\n\n\n\n\nfunction game_pushScene__P1019(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.oldScene___4855 = undefined;\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n s.oldScene___4855 = (r0);\n s.tmp_0 = particles_clearAll__P1317_mk(s);\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n s.tmp_0 = particles_disableAll__P1318_mk(s);\n s.pc = 7; return s.tmp_0;\n case 7:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(globals._sceneStack___1009);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_Array__mk();\n globals._sceneStack___1009 = (r0);\n case 1:\n case 2:\n r0 = pxsim_Array__push(globals._sceneStack___1009, globals._scene___1008);\n globals._scene___1008 = (undefined);\n s.tmp_0 = game_init__P1018_mk(s);\n s.pc = 8; return s.tmp_0;\n case 8:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(globals._scenePushHandlers___1010);\n if (!r0) { step = 3; continue; }\n r0 = pxsim_pxtcore_mkAction(1, inline__P4872);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.oldScene___4855);\n s.tmp_1 = helpers_arrayForEach__P47_mk(s);\n s.tmp_1.arg0 = globals._scenePushHandlers___1010;\n s.tmp_1.arg1 = s.tmp_0;\n s.pc = 9; return s.tmp_1;\n case 9:\n r0 = s.retval;\n case 3:\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_pushScene__P1019.info = {\"start\":1587,\"length\":369,\"line\":60,\"column\":4,\"endLine\":72,\"endColumn\":5,\"fileName\":\"pxt_modules/game/game.ts\",\"functionName\":\"pushScene\",\"argumentNames\":[]}\n\nfunction game_pushScene__P1019_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_pushScene__P1019, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n oldScene___4855: undefined,\n} }\n\n\n\n\n\nfunction inline__P4872(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = lambda_2_mk(s);\n s.tmp_0.argL = s.arg0;\n s.tmp_0.arg0 = s.caps[0];\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P4872.info = {\"start\":1920,\"length\":18,\"line\":70,\"column\":39,\"endLine\":70,\"endColumn\":57,\"fileName\":\"pxt_modules/game/game.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"cb\"]}\n\nfunction inline__P4872_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P4872, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction particles_disableAll__P1318(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.sources___4876 = undefined;\n s.tmp_0 = particles_particleSources__P1320_mk(s);\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.sources___4876 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.sources___4876);\n if (!r0) { step = 1; continue; }\n s.tmp_0 = helpers_arrayForEach__P47_mk(s);\n s.tmp_0.arg0 = s.sources___4876;\n s.tmp_0.arg1 = inline__P4881;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n s.tmp_0 = particles_pruneParticles__P1307_mk(s);\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_disableAll__P1318.info = {\"start\":11883,\"length\":195,\"line\":390,\"column\":4,\"endLine\":396,\"endColumn\":5,\"fileName\":\"pxt_modules/game/particles.ts\",\"functionName\":\"disableAll\",\"argumentNames\":[]}\n\nfunction particles_disableAll__P1318_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_disableAll__P1318, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n sources___4876: undefined,\n} }\n\n\n\n\n\nfunction inline__P4881(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = particles_ParticleSource_enabled__P1293_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = false;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = false;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P4881.info = {\"start\":12008,\"length\":22,\"line\":393,\"column\":28,\"endLine\":393,\"endColumn\":50,\"fileName\":\"pxt_modules/game/particles.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"s\"]}\n\nfunction inline__P4881_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P4881, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction particles_clearAll__P1317(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.sources___5032 = undefined;\n s.tmp_0 = particles_particleSources__P1320_mk(s);\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.sources___5032 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.sources___5032);\n if (!r0) { step = 1; continue; }\n s.tmp_0 = helpers_arrayForEach__P47_mk(s);\n s.tmp_0.arg0 = s.sources___5032;\n s.tmp_0.arg1 = inline__P5037;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n s.tmp_0 = particles_pruneParticles__P1307_mk(s);\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_clearAll__P1317.info = {\"start\":11611,\"length\":185,\"line\":379,\"column\":4,\"endLine\":385,\"endColumn\":5,\"fileName\":\"pxt_modules/game/particles.ts\",\"functionName\":\"clearAll\",\"argumentNames\":[]}\n\nfunction particles_clearAll__P1317_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_clearAll__P1317, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n sources___5032: undefined,\n} }\n\n\n\n\n\nfunction inline__P5037(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = particles_ParticleSource_clear__P1295_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P5037.info = {\"start\":11734,\"length\":14,\"line\":382,\"column\":28,\"endLine\":382,\"endColumn\":42,\"fileName\":\"pxt_modules/game/particles.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"s\"]}\n\nfunction inline__P5037_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P5037, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_init__P1018(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals._scene___1008);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_pxtcore_mkClassInstance(scene_Scene__C923_VT);\n s.tmp_2 = r0;\n s.tmp_3 = scene_Scene_constructor__P932_mk(s);\n s.tmp_3.arg0 = s.tmp_2;\n s.tmp_4 = control_pushEventContext__P236_mk(s);\n s.pc = 12; return s.tmp_4;\n case 12:\n r0 = s.retval;\n s.tmp_3.arg1 = r0;\n s.pc = 11; return s.tmp_3;\n case 11:\n r0 = s.retval;\n globals._scene___1008 = (s.tmp_2);\n case 1:\n case 2:\n s.tmp_0 = scene_Scene_init__P924_mk(s);\n s.tmp_0.arg0 = globals._scene___1008;\n s.pc = 13; return s.tmp_0;\n case 13:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(globals.winEffect___1001);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n globals.winEffect___1001 = (globals.confetti___1424);\n case 3:\n case 4:\n r0 = pxsim_numops_toBoolDecr(globals.loseEffect___1003);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n globals.loseEffect___1003 = (globals.melt___1444);\n case 5:\n case 6:\n r0 = pxsim_numops_toBoolDecr(globals.winSound___1007);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 7; continue; }\n globals.winSound___1007 = (globals.powerUp___371);\n case 7:\n case 8:\n r0 = pxsim_numops_toBoolDecr(globals.loseSound___1005);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 9; continue; }\n globals.loseSound___1005 = (globals.wawawawaa___368);\n case 9:\n case 10:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_init__P1018.info = {\"start\":1202,\"length\":379,\"line\":45,\"column\":4,\"endLine\":58,\"endColumn\":5,\"fileName\":\"pxt_modules/game/game.ts\",\"functionName\":\"init\",\"argumentNames\":[]}\n\nfunction game_init__P1018_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_init__P1018, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n} }\n\n\n\n\n\nfunction inline__P5347(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.rounds___5350 = undefined;\n s.j___5355 = undefined;\n s.x___5359 = undefined;\n s.y___5364 = undefined;\n s.c___5369 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_ImageMethods.width(s.arg0);\n s.tmp_1 = r0;\n r0 = pxsim_ImageMethods.height(s.arg0);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 * s.tmp_2);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 >> 5);\n s.rounds___5350 = (r0);\n s.j___5355 = (0);\n case 1:\n r0 = (s.j___5355 < s.rounds___5350);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n s.tmp_1 = Math_FastRandom_randomRange__P1158_mk(s);\n s.tmp_1.arg0 = s.arg1;\n s.tmp_1.arg1 = 0;\n r0 = pxsim_ImageMethods.width(s.arg0);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - 1);\n s.tmp_1.arg2 = r0;\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n s.x___5359 = (r0);\n s.tmp_0 = Math_FastRandom_randomRange__P1158_mk(s);\n s.tmp_0.arg0 = s.arg1;\n s.tmp_0.arg1 = 0;\n r0 = pxsim_ImageMethods.height(s.arg0);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - 3);\n s.tmp_0.arg2 = r0;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n s.y___5364 = (r0);\n r0 = pxsim_ImageMethods.getPixel(s.arg0, s.x___5359, s.y___5364);\n s.c___5369 = (r0);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_1 = r0 = s.x___5359;\n r0 = (s.y___5364 + 1);\n s.tmp_2 = r0;\n r0 = pxsim_ImageMethods.setPixel(s.tmp_0, s.tmp_1, s.tmp_2, s.c___5369);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_1 = r0 = s.x___5359;\n r0 = (s.y___5364 + 2);\n s.tmp_2 = r0;\n r0 = pxsim_ImageMethods.setPixel(s.tmp_0, s.tmp_1, s.tmp_2, s.c___5369);\n r0 = (s.j___5355 + 1);\n s.j___5355 = (r0);\n { step = 1; continue; }\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P5347.info = {\"start\":2652,\"length\":386,\"line\":72,\"column\":45,\"endLine\":81,\"endColumn\":5,\"fileName\":\"pxt_modules/game/effects.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"input\",\"r\"]}\n\nfunction inline__P5347_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P5347, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n rounds___5350: undefined,\n j___5355: undefined,\n x___5359: undefined,\n y___5364: undefined,\n c___5369: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Math_FastRandom_randomRange__P1158(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Math_FastRandom__C1156_VT)) failedCast(r0);\n r0 = (s.arg2 > s.arg1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_2 = Math_FastRandom_next__P1157_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 3; return s.tmp_2;\n case 3:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.arg2 - s.arg1);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 + 1);\n s.tmp_3 = r0;\n r0 = (s.tmp_1 % s.tmp_3);\n { step = 2; continue; }\n case 1:\n r0 = 0;\n case 2:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n r0 = (s.arg1 + s.tmp_5);\n return leave(s, r0)\n default: oops()\n} } }\nMath_FastRandom_randomRange__P1158.info = {\"start\":2046,\"length\":131,\"line\":61,\"column\":8,\"endLine\":63,\"endColumn\":9,\"fileName\":\"pxt_modules/game/mathUtil.ts\",\"functionName\":\"randomRange\",\"argumentNames\":[\"this\",\"min\",\"max\"]}\n\nfunction Math_FastRandom_randomRange__P1158_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Math_FastRandom_randomRange__P1158, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction Math_FastRandom_next__P1157(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Math_FastRandom__C1156_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.arg0.fields[\"lfsr\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 >> 1);\n s.tmp_2 = r0;\n r0 = s.arg0.fields[\"lfsr\"];\n s.tmp_7 = r0;\n r0 = (s.tmp_7 & 1);\n s.tmp_6 = r0;\n r0 = (0 - s.tmp_6);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 & 46080);\n s.tmp_4 = r0;\n r0 = (s.tmp_2 ^ s.tmp_4);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"lfsr\"] = (s.tmp_1);\n r0 = s.tmp_1;\n return leave(s, r0)\n default: oops()\n} } }\nMath_FastRandom_next__P1157.info = {\"start\":1680,\"length\":107,\"line\":52,\"column\":8,\"endLine\":54,\"endColumn\":9,\"fileName\":\"pxt_modules/game/mathUtil.ts\",\"functionName\":\"next\",\"argumentNames\":[\"this\"]}\n\nfunction Math_FastRandom_next__P1157_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Math_FastRandom_next__P1157, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction effects_ImageEffect_constructor__P1442(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, effects_ImageEffect__C1438_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"effect\"] = (s.arg2);\n r0 = pxsim_pxtcore_mkClassInstance(Math_FastRandom__C1156_VT);\n s.tmp_0 = r0;\n s.tmp_1 = Math_FastRandom_constructor__P1163_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = undefined;\n s.pc = 1; return s.tmp_1;\n case 1:\n r0 = s.retval;\n r0 = (s.arg0).fields[\"fastRandom\"] = (s.tmp_0);\n r0 = (s.arg0).fields[\"preferredDelay\"] = (s.arg1);\n r0 = (s.arg0).fields[\"times\"] = (undefined);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\neffects_ImageEffect_constructor__P1442.info = {\"start\":410,\"length\":290,\"line\":10,\"column\":8,\"endLine\":15,\"endColumn\":9,\"fileName\":\"pxt_modules/game/effects.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"defaultRate\",\"effectFactory\"]}\n\nfunction effects_ImageEffect_constructor__P1442_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: effects_ImageEffect_constructor__P1442, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction scene_Scene_constructor__P932(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Scene__C923_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"eventContext\"] = (s.arg1);\n r0 = (s.arg0).fields[\"flags\"] = (0);\n r0 = pxsim_pxtcore_mkClassInstance(ArcadePhysicsEngine__C727_VT);\n s.tmp_0 = r0;\n s.tmp_1 = ArcadePhysicsEngine_constructor__P739_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = 500;\n s.tmp_1.arg2 = 2;\n s.tmp_1.arg3 = 4;\n s.pc = 1; return s.tmp_1;\n case 1:\n r0 = s.retval;\n r0 = (s.arg0).fields[\"physicsEngine\"] = (s.tmp_0);\n r0 = pxsim_pxtcore_mkClassInstance(scene_Camera__C886_VT);\n s.tmp_0 = r0;\n s.tmp_1 = scene_Camera_constructor__P889_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n r0 = (s.arg0).fields[\"camera\"] = (s.tmp_0);\n r0 = pxsim_pxtcore_mkClassInstance(scene_Background__C846_VT);\n s.tmp_0 = r0;\n s.tmp_1 = scene_Background_constructor__P852_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n r0 = s.arg0.fields[\"camera\"];\n s.tmp_1.arg1 = r0;\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n r0 = (s.arg0).fields[\"background\"] = (s.tmp_0);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"destroyedHandlers\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"createdHandlers\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"overlapHandlers\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_pxtrt.mkMap();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"overlapMap\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"collisionHandlers\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"gameForeverHandlers\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_pxtrt.mkMap();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"spritesByKind\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"controlledSprites\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_pxtrt.mkMap();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"_data\"] = (s.tmp_1);\n r0 = (s.arg0).fields[\"_millis\"] = (0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_Scene_constructor__P932.info = {\"start\":2508,\"length\":672,\"line\":81,\"column\":8,\"endLine\":97,\"endColumn\":9,\"fileName\":\"pxt_modules/game/scene.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"eventContext\"]}\n\nfunction scene_Scene_constructor__P932_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Scene_constructor__P932, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction scene_Camera_constructor__P889(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Camera__C886_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"offsetX\"] = (0);\n r0 = (s.arg0).fields[\"offsetY\"] = (0);\n r0 = (s.arg0).fields[\"drawOffsetX\"] = (0);\n r0 = (s.arg0).fields[\"drawOffsetY\"] = (0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_Camera_constructor__P889.info = {\"start\":427,\"length\":154,\"line\":14,\"column\":8,\"endLine\":20,\"endColumn\":9,\"fileName\":\"pxt_modules/game/camera.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\"]}\n\nfunction scene_Camera_constructor__P889_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Camera_constructor__P889, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_Background_constructor__P852(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Background__C846_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"color\"] = (0);\n r0 = (s.arg0).fields[\"camera\"] = (s.arg1);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"_layers\"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_Background_constructor__P852.info = {\"start\":367,\"length\":132,\"line\":20,\"column\":8,\"endLine\":24,\"endColumn\":9,\"fileName\":\"pxt_modules/game/background.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"camera\"]}\n\nfunction scene_Background_constructor__P852_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Background_constructor__P852, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction ArcadePhysicsEngine_constructor__P739(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, ArcadePhysicsEngine__C727_VT)) failedCast(r0);\n r0 = undefined;\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"sprites\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg1 * 256);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"maxVelocity\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.arg0.fields[\"maxVelocity\"];\n s.tmp_2 = r0;\n r0 = (0 - s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"maxNegativeVelocity\"] = (s.tmp_1);\n r0 = pxsim_pxtcore_mkClassInstance(sprites_SpriteMap__C659_VT);\n s.tmp_0 = r0;\n s.tmp_1 = sprites_SpriteMap_constructor__P671_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.pc = 1; return s.tmp_1;\n case 1:\n r0 = s.retval;\n r0 = (s.arg0).fields[\"map\"] = (s.tmp_0);\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg2 * 256);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"minSingleStep\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg3 * 256);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"maxSingleStep\"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nArcadePhysicsEngine_constructor__P739.info = {\"start\":1262,\"length\":368,\"line\":53,\"column\":4,\"endLine\":61,\"endColumn\":5,\"fileName\":\"pxt_modules/game/physics.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"maxVelocity\",\"minSingleStep\",\"maxSingleStep\"]}\n\nfunction ArcadePhysicsEngine_constructor__P739_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: ArcadePhysicsEngine_constructor__P739, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction PhysicsEngine_constructor__P715(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, PhysicsEngine__C708_VT)) failedCast(r0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nPhysicsEngine_constructor__P715.info = {\"start\":26,\"length\":21,\"line\":1,\"column\":4,\"endLine\":2,\"endColumn\":5,\"fileName\":\"pxt_modules/game/physics.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\"]}\n\nfunction PhysicsEngine_constructor__P715_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: PhysicsEngine_constructor__P715, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction sprites_SpriteMap_constructor__P671(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_SpriteMap__C659_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"buckets\"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_SpriteMap_constructor__P671.info = {\"start\":237,\"length\":56,\"line\":8,\"column\":8,\"endLine\":10,\"endColumn\":9,\"fileName\":\"pxt_modules/game/spritemap.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\"]}\n\nfunction sprites_SpriteMap_constructor__P671_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_SpriteMap_constructor__P671, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Fx_neg__P84(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = (0 - s.arg0);\n return leave(s, r0)\n default: oops()\n} } }\nFx_neg__P84.info = {\"start\":298,\"length\":88,\"line\":14,\"column\":4,\"endLine\":16,\"endColumn\":5,\"fileName\":\"pxt_modules/base/fixed.ts\",\"functionName\":\"neg\",\"argumentNames\":[\"a\"]}\n\nfunction Fx_neg__P84_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Fx_neg__P84, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_Scene_init__P924(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Scene__C923_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"allSprites\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 3; continue; }\n case 1:\n case 2:\n s.tmp_1 = power_poke__P392_mk(s);\n s.pc = 4; return s.tmp_1;\n case 4:\n r0 = s.retval;\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"allSprites\"] = (s.tmp_1);\n r0 = (s.arg0).fields[\"spriteNextId\"] = (0);\n r0 = pxsim_pxtcore_mkAction(1, inline__P5404);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n s.tmp_1 = control_EventContext_registerFrameHandler__P226_mk(s);\n r0 = s.arg0.fields[\"eventContext\"];\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = 8;\n s.tmp_1.arg2 = s.tmp_0;\n s.pc = 5; return s.tmp_1;\n case 5:\n r0 = s.retval;\n s.tmp_0 = control_EventContext_registerFrameHandler__P226_mk(s);\n r0 = s.arg0.fields[\"eventContext\"];\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = 13;\n s.tmp_0.arg2 = controller__moveSprites__P556;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkAction(1, inline__P5427);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n s.tmp_1 = control_EventContext_registerFrameHandler__P226_mk(s);\n r0 = s.arg0.fields[\"eventContext\"];\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = 15;\n s.tmp_1.arg2 = s.tmp_0;\n s.pc = 7; return s.tmp_1;\n case 7:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkAction(1, inline__P5455);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n s.tmp_1 = control_EventContext_registerFrameHandler__P226_mk(s);\n r0 = s.arg0.fields[\"eventContext\"];\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = 90;\n s.tmp_1.arg2 = s.tmp_0;\n s.pc = 8; return s.tmp_1;\n case 8:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkAction(1, inline__P5467);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n s.tmp_1 = control_EventContext_registerFrameHandler__P226_mk(s);\n r0 = s.arg0.fields[\"eventContext\"];\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = 150;\n s.tmp_1.arg2 = s.tmp_0;\n s.pc = 9; return s.tmp_1;\n case 9:\n r0 = s.retval;\n s.tmp_0 = control_EventContext_registerFrameHandler__P226_mk(s);\n r0 = s.arg0.fields[\"eventContext\"];\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = 200;\n s.tmp_0.arg2 = control___screen_update__P435;\n s.pc = 10; return s.tmp_0;\n case 10:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkAction(1, inline__P5497);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n s.tmp_1 = helpers_arrayForEach__P47_mk(s);\n s.tmp_1.arg0 = globals.scene_Scene_initializers___931;\n s.tmp_1.arg1 = s.tmp_0;\n s.pc = 11; return s.tmp_1;\n case 11:\n r0 = s.retval;\n case 3:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_Scene_init__P924.info = {\"start\":3190,\"length\":2391,\"line\":99,\"column\":8,\"endLine\":155,\"endColumn\":9,\"fileName\":\"pxt_modules/game/scene.ts\",\"functionName\":\"init\",\"argumentNames\":[\"this\"]}\n\nfunction scene_Scene_init__P924_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Scene_init__P924, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P5404(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = r0 = s.caps[0];\n r0 = s.tmp_0.fields[\"_millis\"];\n s.tmp_2 = r0;\n r0 = s.caps[0].fields[\"eventContext\"];\n r0 = r0.fields[\"deltaTimeMillis\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_2 + s.tmp_3);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"_millis\"] = (s.tmp_1);\n s.tmp_0 = controller___update__P582_mk(s);\n r0 = s.caps[0].fields[\"eventContext\"];\n s.tmp_1 = r0;\n r0 = s.tmp_1.fields[\"deltaTimeMillis\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 / 1000);\n s.tmp_0.arg0 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P5404.info = {\"start\":3480,\"length\":217,\"line\":106,\"column\":72,\"endLine\":110,\"endColumn\":13,\"fileName\":\"pxt_modules/game/scene.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P5404_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P5404, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n} }\n\n\n\n\n\nfunction inline__P5427(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.dt___5430 = undefined;\n s.s___5442 = undefined;\n s.unnamed66___U2 = undefined;\n s.unnamed67___U3 = undefined;\n r0 = s.caps[0].fields[\"eventContext\"];\n s.tmp_0 = r0;\n r0 = s.tmp_0.fields[\"deltaTimeMillis\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 / 1000);\n s.dt___5430 = (r0);\n s.tmp_0 = PhysicsEngine__C708_v4_2_mk(s);\n r0 = s.caps[0].fields[\"physicsEngine\"];\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = s.dt___5430;\n if (!checkSubtype(s.tmp_0.arg0, PhysicsEngine__C708_VT)) failedCast(s.tmp_0.arg0);\n s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.move;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.tmp_0 = scene_Camera_update__P888_mk(s);\n r0 = s.caps[0].fields[\"camera\"];\n s.tmp_0.arg0 = r0;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n s.s___5442 = (undefined);\n s.s___5442 = (undefined);\n r0 = s.caps[0].fields[\"allSprites\"];\n s.unnamed66___U2 = (r0);\n s.unnamed67___U3 = (0);\n case 1:\n s.tmp_0 = r0 = s.unnamed67___U3;\n r0 = pxsim_Array__length(s.unnamed66___U2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 2; continue; }\n r0 = pxsim_Array__getAt(s.unnamed66___U2, s.unnamed67___U3);\n s.s___5442 = (r0);\n s.tmp_2 = if___update_3_mk(s);\n s.tmp_2.arg0 = s.s___5442;\n r0 = s.caps[0].fields[\"camera\"];\n s.tmp_2.arg1 = r0;\n s.tmp_2.arg2 = s.dt___5430;\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface[\"__update\"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields[\"__update\"]; }\n else { s.pc = 5; return s.tmp_2; }\n case 5:\n r0 = s.retval;\n r0 = (s.unnamed67___U3 + 1);\n s.unnamed67___U3 = (r0);\n { step = 1; continue; }\n case 2:\n s.unnamed66___U2 = (undefined);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P5427.info = {\"start\":3992,\"length\":328,\"line\":115,\"column\":69,\"endLine\":124,\"endColumn\":13,\"fileName\":\"pxt_modules/game/scene.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P5427_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P5427, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n dt___5430: undefined,\n s___5442: undefined,\n unnamed66___U2: undefined,\n unnamed67___U3: undefined,\n} }\n\n\n\n\n\nfunction inline__P5455(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = (s.caps[0]).fields[\"cachedRender\"] = (undefined);\n s.tmp_0 = scene_Scene_renderCore__P930_mk(s);\n s.tmp_0.arg0 = s.caps[0];\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P5455.info = {\"start\":4495,\"length\":160,\"line\":130,\"column\":76,\"endLine\":134,\"endColumn\":13,\"fileName\":\"pxt_modules/game/scene.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P5455_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P5455, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction inline__P5467(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = r0 = globals.stats___999;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = globals.control_EventContext_onStats___232;\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 3; continue; }\n s.tmp_2 = lambda_2_mk(s);\n s.tmp_2.argL = globals.control_EventContext_onStats___232;\n if ((globals.control_EventContext_lastStats___231) && (globals.control_EventContext_lastStats___231).vtable) {\n setupResume(s, 8);\n pxsim_String__stringConv(globals.control_EventContext_lastStats___231);\n checkResumeConsumed();\n return;\n } else { s.retval = (globals.control_EventContext_lastStats___231) + \"\"; }\n case 8:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = s.caps[0].fields[\"allSprites\"];\n s.tmp_8 = r0;\n r0 = pxsim_Array__length(s.tmp_8);\n s.tmp_7 = r0;\n if ((s.tmp_7) && (s.tmp_7).vtable) {\n setupResume(s, 9);\n pxsim_String__stringConv(s.tmp_7);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_7) + \"\"; }\n case 9:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = pxsim_String__concat(\" sprites:\", s.tmp_6);\n s.tmp_5 = r0;\n if ((s.tmp_5) && (s.tmp_5).vtable) {\n setupResume(s, 10);\n pxsim_String__stringConv(s.tmp_5);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_5) + \"\"; }\n case 10:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = pxsim_String__concat(s.tmp_3, s.tmp_4);\n s.tmp_2.arg0 = r0;\n setupLambda(s.tmp_2, s.tmp_2.argL);\n s.pc = 7; return s.tmp_2;\n case 7:\n r0 = s.retval;\n case 3:\n case 4:\n r0 = pxsim_numops_toBoolDecr(globals.debug___998);\n if (!r0) { step = 5; continue; }\n s.tmp_0 = PhysicsEngine__C708_v3_1_mk(s);\n r0 = s.caps[0].fields[\"physicsEngine\"];\n s.tmp_0.arg0 = r0;\n if (!checkSubtype(s.tmp_0.arg0, PhysicsEngine__C708_VT)) failedCast(s.tmp_0.arg0);\n s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.draw;\n s.pc = 11; return s.tmp_0;\n case 11:\n r0 = s.retval;\n case 5:\n case 6:\n s.tmp_0 = game_consoleOverlay_draw__P1271_mk(s);\n s.pc = 12; return s.tmp_0;\n case 12:\n r0 = s.retval;\n r0 = (s.caps[0]).fields[\"flags\"] = (0);\n s.tmp_0 = power_checkDeepSleep__P393_mk(s);\n s.pc = 13; return s.tmp_0;\n case 13:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P5467.info = {\"start\":4772,\"length\":567,\"line\":136,\"column\":80,\"endLine\":150,\"endColumn\":13,\"fileName\":\"pxt_modules/game/scene.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P5467_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P5467, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n} }\n\n\n\n\n\nfunction inline__P5497(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = lambda_2_mk(s);\n s.tmp_0.argL = s.arg0;\n s.tmp_0.arg0 = s.caps[0];\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P5497.info = {\"start\":5557,\"length\":12,\"line\":154,\"column\":39,\"endLine\":154,\"endColumn\":51,\"fileName\":\"pxt_modules/game/scene.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"f\"]}\n\nfunction inline__P5497_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P5497, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_consoleOverlay_draw__P1271(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.height___5534 = undefined;\n s.top___5538 = undefined;\n s.i___5543 = undefined;\n s.t___5554 = undefined;\n s.tOff___5560 = undefined;\n s.tab___5562 = undefined;\n s.unnamed70___U6 = undefined;\n s.unnamed71___U7 = undefined;\n s.padding___5564 = undefined;\n r0 = pxsim_numops_toBoolDecr(globals.consoleStrings___1239);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = pxsim_numops_toBoolDecr(globals.instance___1164);\n s.tmp_4 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_4);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n case 2:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_5);\n if (!r0) { step = 3; continue; }\n { step = 13; continue; }\n case 3:\n case 4:\n s.tmp_7 = if_charHeight_1_mk(s);\n s.tmp_7.arg0 = globals.consoleFont___1244;\n if (!s.tmp_7.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_7.arg0, \"charHeight\");\n } else {\n s.tmp_7.fn = s.tmp_7.arg0.vtable.iface[\"charHeight\"];\n if (s.tmp_7.fn == null) { s.retval = s.tmp_7.arg0.fields[\"charHeight\"]; }\n else { s.pc = 14; return s.tmp_7; }\n }\n case 14:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = (s.tmp_6 + 2);\n s.height___5534 = (r0);\n r0 = pxsim_numops_toBoolDecr(globals.stats___999);\n if (!r0) { step = 5; continue; }\n r0 = s.height___5534;\n { step = 6; continue; }\n case 5:\n r0 = 0;\n case 6:\n // jmp value (already in r0)\n s.tmp_0 = r0;\n r0 = (2 + s.tmp_0);\n s.top___5538 = (r0);\n s.i___5543 = (0);\n case 7:\n s.tmp_1 = r0 = s.i___5543;\n r0 = pxsim_Array__length(globals.consoleStrings___1239);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 12; continue; }\n r0 = pxsim_Array__getAt(globals.consoleStrings___1239, s.i___5543);\n s.tmp_5 = r0;\n r0 = pxsim_String_.indexOf(s.tmp_5, \"\\\\t\", undefined);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 >= 0);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 10; continue; }\n s.tmp_6 = helpers_stringSplit__P55_mk(s);\n r0 = pxsim_Array__getAt(globals.consoleStrings___1239, s.i___5543);\n s.tmp_6.arg0 = r0;\n s.tmp_6.arg1 = \"\\\\t\";\n s.tmp_6.arg2 = undefined;\n s.pc = 15; return s.tmp_6;\n case 15:\n r0 = s.retval;\n s.t___5554 = (r0);\n s.tOff___5560 = (0);\n s.tab___5562 = (undefined);\n s.tab___5562 = (undefined);\n s.unnamed70___U6 = (s.t___5554);\n s.unnamed71___U7 = (0);\n case 8:\n s.tmp_0 = r0 = s.unnamed71___U7;\n r0 = pxsim_Array__length(s.unnamed70___U6);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 9; continue; }\n r0 = pxsim_Array__getAt(s.unnamed70___U6, s.unnamed71___U7);\n s.tab___5562 = (r0);\n s.tmp_2 = r0 = globals.tabSize___1240;\n s.tmp_5 = r0 = s.tOff___5560;\n r0 = pxsim_String_.length(s.tab___5562);\n s.tmp_6 = r0;\n r0 = (s.tmp_5 + s.tmp_6);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 % globals.tabSize___1240);\n s.tmp_3 = r0;\n r0 = (s.tmp_2 - s.tmp_3);\n s.padding___5564 = (r0);\n s.tmp_0 = helpers_imagePrint__P432_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_0.arg1 = s.tab___5562;\n s.tmp_2 = r0 = s.tOff___5560;\n s.tmp_4 = if_charWidth_1_mk(s);\n s.tmp_4.arg0 = globals.consoleFont___1244;\n if (!s.tmp_4.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_4.arg0, \"charWidth\");\n } else {\n s.tmp_4.fn = s.tmp_4.arg0.vtable.iface[\"charWidth\"];\n if (s.tmp_4.fn == null) { s.retval = s.tmp_4.arg0.fields[\"charWidth\"]; }\n else { s.pc = 17; return s.tmp_4; }\n }\n case 17:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_2 * s.tmp_3);\n s.tmp_1 = r0;\n r0 = (4 + s.tmp_1);\n s.tmp_0.arg2 = r0;\n s.tmp_5 = r0 = s.top___5538;\n r0 = (s.i___5543 * s.height___5534);\n s.tmp_6 = r0;\n r0 = (s.tmp_5 + s.tmp_6);\n s.tmp_0.arg3 = r0;\n s.tmp_0.arg4 = globals.consoleColor___1238;\n s.tmp_0.arg5 = globals.consoleFont___1244;\n s.tmp_0.arg6 = undefined;\n s.pc = 16; return s.tmp_0;\n case 16:\n r0 = s.retval;\n s.tmp_0 = r0 = s.tOff___5560;\n r0 = pxsim_String_.length(s.tab___5562);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.padding___5564);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n s.tOff___5560 = (r0);\n r0 = (s.unnamed71___U7 + 1);\n s.unnamed71___U7 = (r0);\n { step = 8; continue; }\n case 9:\n s.unnamed70___U6 = (undefined);\n { step = 11; continue; }\n case 10:\n s.tmp_0 = helpers_imagePrint__P432_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n r0 = pxsim_Array__getAt(globals.consoleStrings___1239, s.i___5543);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = 4;\n s.tmp_1 = r0 = s.top___5538;\n r0 = (s.i___5543 * s.height___5534);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 + s.tmp_2);\n s.tmp_0.arg3 = r0;\n s.tmp_0.arg4 = globals.consoleColor___1238;\n s.tmp_0.arg5 = globals.consoleFont___1244;\n s.tmp_0.arg6 = undefined;\n s.pc = 18; return s.tmp_0;\n case 18:\n r0 = s.retval;\n case 11:\n r0 = (s.i___5543 + 1);\n s.i___5543 = (r0);\n { step = 7; continue; }\n case 12:\n case 13:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_consoleOverlay_draw__P1271.info = {\"start\":1364,\"length\":859,\"line\":44,\"column\":4,\"endLine\":61,\"endColumn\":5,\"fileName\":\"pxt_modules/game/console.ts\",\"functionName\":\"draw\",\"argumentNames\":[]}\n\nfunction game_consoleOverlay_draw__P1271_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_consoleOverlay_draw__P1271, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n height___5534: undefined,\n top___5538: undefined,\n i___5543: undefined,\n t___5554: undefined,\n tOff___5560: undefined,\n tab___5562: undefined,\n unnamed70___U6: undefined,\n unnamed71___U7: undefined,\n padding___5564: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_isVisible__P1198(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals.instance___1164);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_isVisible__P1198.info = {\"start\":12489,\"length\":62,\"line\":378,\"column\":4,\"endLine\":380,\"endColumn\":5,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"isVisible\",\"argumentNames\":[]}\n\nfunction scene_systemMenu_isVisible__P1198_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_isVisible__P1198, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n} }\n\n\n\n\n\nfunction helpers_imagePrint__P432(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.x0___2456 = undefined;\n s.cp___2458 = undefined;\n s.mult___2459 = undefined;\n s.dataW___2465 = undefined;\n s.dataH___2471 = undefined;\n s.byteHeight___2477 = undefined;\n s.charSize___2480 = undefined;\n s.dataSize___2483 = undefined;\n s.fontdata___2486 = undefined;\n s.lastchar___2490 = undefined;\n s.imgBuf___2497 = undefined;\n s.xOffset___2518 = undefined;\n s.yOffset___2519 = undefined;\n s.ch___2533 = undefined;\n s.l___2550 = undefined;\n s.r___2551 = undefined;\n s.off___2553 = undefined;\n s.guess___2554 = undefined;\n s.m___2570 = undefined;\n s.v___2575 = undefined;\n s.i___2622 = undefined;\n s.j___2626 = undefined;\n s.mask___2627 = undefined;\n s.c___2628 = undefined;\n s.n___2643 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.arg5 = (s.lambdaArgs[5]);\n s.arg6 = (s.lambdaArgs[6]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg2 | 0);\n s.arg2 = (r0);\n r0 = (s.arg3 | 0);\n s.arg3 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.arg5);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_2 = image_getFontForText__P425_mk(s);\n s.tmp_2.arg0 = s.arg1;\n s.pc = 39; return s.tmp_2;\n case 39:\n r0 = s.retval;\n s.arg5 = (r0);\n case 1:\n case 2:\n r0 = pxsim_numops_toBoolDecr(s.arg4);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.arg4 = (1);\n case 3:\n case 4:\n s.x0___2456 = (s.arg2);\n s.cp___2458 = (0);\n s.tmp_1 = if_multiplier_1_mk(s);\n s.tmp_1.arg0 = s.arg5;\n if (!s.tmp_1.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, \"multiplier\");\n } else {\n s.tmp_1.fn = s.tmp_1.arg0.vtable.iface[\"multiplier\"];\n if (s.tmp_1.fn == null) { s.retval = s.tmp_1.arg0.fields[\"multiplier\"]; }\n else { s.pc = 40; return s.tmp_1; }\n }\n case 40:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n s.tmp_2 = if_multiplier_1_mk(s);\n s.tmp_2.arg0 = s.arg5;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, \"multiplier\");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface[\"multiplier\"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields[\"multiplier\"]; }\n else { s.pc = 41; return s.tmp_2; }\n }\n case 41:\n r0 = s.retval;\n { step = 6; continue; }\n case 5:\n r0 = 1;\n case 6:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n s.mult___2459 = (s.tmp_3);\n s.tmp_1 = if_charWidth_1_mk(s);\n s.tmp_1.arg0 = s.arg5;\n if (!s.tmp_1.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, \"charWidth\");\n } else {\n s.tmp_1.fn = s.tmp_1.arg0.vtable.iface[\"charWidth\"];\n if (s.tmp_1.fn == null) { s.retval = s.tmp_1.arg0.fields[\"charWidth\"]; }\n else { s.pc = 42; return s.tmp_1; }\n }\n case 42:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim.Math_.idiv(s.tmp_0, s.mult___2459);\n s.dataW___2465 = (r0);\n s.tmp_1 = if_charHeight_1_mk(s);\n s.tmp_1.arg0 = s.arg5;\n if (!s.tmp_1.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, \"charHeight\");\n } else {\n s.tmp_1.fn = s.tmp_1.arg0.vtable.iface[\"charHeight\"];\n if (s.tmp_1.fn == null) { s.retval = s.tmp_1.arg0.fields[\"charHeight\"]; }\n else { s.pc = 43; return s.tmp_1; }\n }\n case 43:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim.Math_.idiv(s.tmp_0, s.mult___2459);\n s.dataH___2471 = (r0);\n r0 = (s.dataH___2471 + 7);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 >> 3);\n s.byteHeight___2477 = (r0);\n r0 = (s.byteHeight___2477 * s.dataW___2465);\n s.charSize___2480 = (r0);\n r0 = (2 + s.charSize___2480);\n s.dataSize___2483 = (r0);\n s.tmp_0 = if_data_1_mk(s);\n s.tmp_0.arg0 = s.arg5;\n if (!s.tmp_0.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_0.arg0, \"data\");\n } else {\n s.tmp_0.fn = s.tmp_0.arg0.vtable.iface[\"data\"];\n if (s.tmp_0.fn == null) { s.retval = s.tmp_0.arg0.fields[\"data\"]; }\n else { s.pc = 44; return s.tmp_0; }\n }\n case 44:\n r0 = s.retval;\n s.fontdata___2486 = (r0);\n r0 = pxsim.BufferMethods.length(s.fontdata___2486);\n s.tmp_1 = r0;\n r0 = pxsim.Math_.idiv(s.tmp_1, s.dataSize___2483);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 - 1);\n s.lastchar___2490 = (r0);\n r0 = (s.mult___2459 == 1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 7; continue; }\n r0 = (8 + s.charSize___2480);\n s.tmp_1 = r0;\n r0 = pxsim.control.createBuffer(s.tmp_1);\n s.imgBuf___2497 = (r0);\n r0 = pxsim.BufferMethods.setByte(s.imgBuf___2497, 0, 135);\n r0 = pxsim.BufferMethods.setByte(s.imgBuf___2497, 1, 1);\n r0 = pxsim.BufferMethods.setByte(s.imgBuf___2497, 2, s.dataW___2465);\n r0 = pxsim.BufferMethods.setByte(s.imgBuf___2497, 4, s.dataH___2471);\n case 7:\n case 8:\n case 9:\n s.tmp_1 = r0 = s.cp___2458;\n r0 = pxsim_String_.length(s.arg1);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 38; continue; }\n s.xOffset___2518 = (0);\n s.yOffset___2519 = (0);\n s.tmp_0 = r0 = s.arg6;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 10; continue; }\n r0 = s.tmp_0;\n { step = 11; continue; }\n case 10:\n s.tmp_1 = r0 = s.cp___2458;\n r0 = pxsim_Array__length(s.arg6);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n case 11:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 12; continue; }\n s.tmp_4 = if_xOffset_1_mk(s);\n r0 = pxsim_Array__getAt(s.arg6, s.cp___2458);\n s.tmp_4.arg0 = r0;\n if (!s.tmp_4.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_4.arg0, \"xOffset\");\n } else {\n s.tmp_4.fn = s.tmp_4.arg0.vtable.iface[\"xOffset\"];\n if (s.tmp_4.fn == null) { s.retval = s.tmp_4.arg0.fields[\"xOffset\"]; }\n else { s.pc = 45; return s.tmp_4; }\n }\n case 45:\n r0 = s.retval;\n s.xOffset___2518 = (r0);\n s.tmp_0 = if_yOffset_1_mk(s);\n r0 = pxsim_Array__getAt(s.arg6, s.cp___2458);\n s.tmp_0.arg0 = r0;\n if (!s.tmp_0.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_0.arg0, \"yOffset\");\n } else {\n s.tmp_0.fn = s.tmp_0.arg0.vtable.iface[\"yOffset\"];\n if (s.tmp_0.fn == null) { s.retval = s.tmp_0.arg0.fields[\"yOffset\"]; }\n else { s.pc = 46; return s.tmp_0; }\n }\n case 46:\n r0 = s.retval;\n s.yOffset___2519 = (r0);\n case 12:\n case 13:\n s.tmp_0 = r0 = s.cp___2458;\n r0 = (s.tmp_0 + 1);\n s.cp___2458 = (r0);\n r0 = pxsim_String_.charCodeAt(s.arg1, s.tmp_0);\n s.ch___2533 = (r0);\n r0 = (s.ch___2533 == 10);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 14; continue; }\n s.tmp_1 = r0 = s.arg3;\n s.tmp_4 = if_charHeight_1_mk(s);\n s.tmp_4.arg0 = s.arg5;\n if (!s.tmp_4.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_4.arg0, \"charHeight\");\n } else {\n s.tmp_4.fn = s.tmp_4.arg0.vtable.iface[\"charHeight\"];\n if (s.tmp_4.fn == null) { s.retval = s.tmp_4.arg0.fields[\"charHeight\"]; }\n else { s.pc = 47; return s.tmp_4; }\n }\n case 47:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_3 + 2);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 + s.tmp_2);\n s.arg3 = (r0);\n s.arg2 = (s.x0___2456);\n case 14:\n case 15:\n r0 = (s.ch___2533 < 32);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 16; continue; }\n { step = 9; continue; }\n case 16:\n case 17:\n s.l___2550 = (0);\n s.r___2551 = (s.lastchar___2490);\n s.off___2553 = (0);\n r0 = (s.ch___2533 - 32);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 * s.dataSize___2483);\n s.guess___2554 = (r0);\n r0 = pxsim.BufferMethods.getNumber(s.fontdata___2486, 4, s.guess___2554);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 == s.ch___2533);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 18; continue; }\n s.off___2553 = (s.guess___2554);\n { step = 25; continue; }\n case 18:\n case 19:\n r0 = (s.l___2550 <= s.r___2551);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 24; continue; }\n s.tmp_1 = r0 = s.l___2550;\n r0 = (s.r___2551 - s.l___2550);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 >> 1);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 + s.tmp_2);\n s.m___2570 = (r0);\n s.tmp_0 = r0 = s.fontdata___2486;\n r0 = (s.m___2570 * s.dataSize___2483);\n s.tmp_1 = r0;\n r0 = pxsim.BufferMethods.getNumber(s.tmp_0, 4, s.tmp_1);\n s.v___2575 = (r0);\n r0 = (s.v___2575 == s.ch___2533);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 20; continue; }\n r0 = (s.m___2570 * s.dataSize___2483);\n s.off___2553 = (r0);\n { step = 24; continue; }\n case 20:\n case 21:\n r0 = (s.v___2575 < s.ch___2533);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 22; continue; }\n r0 = (s.m___2570 + 1);\n s.l___2550 = (r0);\n { step = 23; continue; }\n case 22:\n r0 = (s.m___2570 - 1);\n s.r___2551 = (r0);\n case 23:\n { step = 19; continue; }\n case 24:\n case 25:\n r0 = (s.mult___2459 == 1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 26; continue; }\n s.tmp_1 = r0 = s.imgBuf___2497;\n s.tmp_3 = r0 = s.fontdata___2486;\n r0 = (s.off___2553 + 2);\n s.tmp_4 = r0;\n r0 = pxsim.BufferMethods.slice(s.tmp_3, s.tmp_4, s.charSize___2480);\n s.tmp_2 = r0;\n r0 = pxsim.BufferMethods.write(s.tmp_1, 8, s.tmp_2);\n s.tmp_0 = helpers_imageDrawIcon__P410_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.imgBuf___2497;\n r0 = (s.arg2 + s.xOffset___2518);\n s.tmp_0.arg2 = r0;\n r0 = (s.arg3 + s.yOffset___2519);\n s.tmp_0.arg3 = r0;\n s.tmp_0.arg4 = s.arg4;\n s.pc = 48; return s.tmp_0;\n case 48:\n r0 = s.retval;\n s.tmp_0 = r0 = s.arg2;\n s.tmp_2 = if_charWidth_1_mk(s);\n s.tmp_2.arg0 = s.arg5;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, \"charWidth\");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface[\"charWidth\"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields[\"charWidth\"]; }\n else { s.pc = 49; return s.tmp_2; }\n }\n case 49:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n s.arg2 = (r0);\n { step = 37; continue; }\n case 26:\n r0 = (s.off___2553 + 2);\n s.off___2553 = (r0);\n s.i___2622 = (0);\n case 27:\n r0 = (s.i___2622 < s.dataW___2465);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 36; continue; }\n s.j___2626 = (0);\n s.mask___2627 = (1);\n s.tmp_0 = r0 = s.off___2553;\n r0 = (s.tmp_0 + 1);\n s.off___2553 = (r0);\n r0 = pxsim.BufferMethods.getByte(s.fontdata___2486, s.tmp_0);\n s.c___2628 = (r0);\n case 28:\n r0 = (s.j___2626 < s.dataH___2471);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 35; continue; }\n r0 = (s.mask___2627 == 256);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 29; continue; }\n s.tmp_2 = r0 = s.off___2553;\n r0 = (s.tmp_2 + 1);\n s.off___2553 = (r0);\n r0 = pxsim.BufferMethods.getByte(s.fontdata___2486, s.tmp_2);\n s.c___2628 = (r0);\n s.mask___2627 = (1);\n case 29:\n case 30:\n s.n___2643 = (0);\n case 31:\n r0 = (s.c___2628 & s.mask___2627);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 32; continue; }\n r0 = (s.n___2643 + 1);\n s.n___2643 = (r0);\n r0 = (s.mask___2627 << 1);\n s.mask___2627 = (r0);\n { step = 31; continue; }\n case 32:\n r0 = pxsim_numops_toBoolDecr(s.n___2643);\n if (!r0) { step = 33; continue; }\n s.tmp_0 = helpers_imageFillRect__P411_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_1 = r0 = s.arg2;\n r0 = (s.xOffset___2518 * s.mult___2459);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 + s.tmp_2);\n s.tmp_0.arg1 = r0;\n s.tmp_3 = r0 = s.arg3;\n r0 = (s.j___2626 + s.yOffset___2519);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 * s.mult___2459);\n s.tmp_4 = r0;\n r0 = (s.tmp_3 + s.tmp_4);\n s.tmp_0.arg2 = r0;\n s.tmp_0.arg3 = s.mult___2459;\n r0 = (s.mult___2459 * s.n___2643);\n s.tmp_0.arg4 = r0;\n s.tmp_0.arg5 = s.arg4;\n s.pc = 50; return s.tmp_0;\n case 50:\n r0 = s.retval;\n r0 = (s.j___2626 + s.n___2643);\n s.j___2626 = (r0);\n { step = 34; continue; }\n case 33:\n r0 = (s.mask___2627 << 1);\n s.mask___2627 = (r0);\n r0 = (s.j___2626 + 1);\n s.j___2626 = (r0);\n case 34:\n { step = 28; continue; }\n case 35:\n r0 = (s.arg2 + s.mult___2459);\n s.arg2 = (r0);\n r0 = (s.i___2622 + 1);\n s.i___2622 = (r0);\n { step = 27; continue; }\n case 36:\n case 37:\n { step = 9; continue; }\n case 38:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_imagePrint__P432.info = {\"start\":15326,\"length\":3300,\"line\":213,\"column\":4,\"endLine\":306,\"endColumn\":5,\"fileName\":\"pxt_modules/screen/text.ts\",\"functionName\":\"imagePrint\",\"argumentNames\":[\"img\",\"text\",\"x\",\"y\",\"color\",\"font\",\"offsets\"]}\n\nfunction helpers_imagePrint__P432_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_imagePrint__P432, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n x0___2456: undefined,\n cp___2458: undefined,\n mult___2459: undefined,\n dataW___2465: undefined,\n dataH___2471: undefined,\n byteHeight___2477: undefined,\n charSize___2480: undefined,\n dataSize___2483: undefined,\n fontdata___2486: undefined,\n lastchar___2490: undefined,\n imgBuf___2497: undefined,\n xOffset___2518: undefined,\n yOffset___2519: undefined,\n ch___2533: undefined,\n l___2550: undefined,\n r___2551: undefined,\n off___2553: undefined,\n guess___2554: undefined,\n m___2570: undefined,\n v___2575: undefined,\n i___2622: undefined,\n j___2626: undefined,\n mask___2627: undefined,\n c___2628: undefined,\n n___2643: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n arg5: undefined,\n arg6: undefined,\n} }\n\n\n\n\n\nfunction image_getFontForText__P425(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.i___2721 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.i___2721 = (0);\n case 1:\n s.tmp_1 = r0 = s.i___2721;\n r0 = pxsim_String_.length(s.arg0);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 4; continue; }\n r0 = pxsim_String_.charCodeAt(s.arg0, s.i___2721);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 > 8192);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 2; continue; }\n r0 = globals.font12___424;\n { step = 5; continue; }\n case 2:\n case 3:\n r0 = (s.i___2721 + 1);\n s.i___2721 = (r0);\n { step = 1; continue; }\n case 4:\n r0 = globals.font8___423;\n case 5:\n return leave(s, r0)\n default: oops()\n} } }\nimage_getFontForText__P425.info = {\"start\":11713,\"length\":259,\"line\":136,\"column\":4,\"endLine\":143,\"endColumn\":5,\"fileName\":\"pxt_modules/screen/text.ts\",\"functionName\":\"getFontForText\",\"argumentNames\":[\"text\"]}\n\nfunction image_getFontForText__P425_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: image_getFontForText__P425, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n i___2721: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction helpers_imageFillRect__P411(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.arg5 = (s.lambdaArgs[5]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = r0 = s.arg0;\n s.tmp_2 = helpers_pack__P408_mk(s);\n s.tmp_2.arg0 = s.arg1;\n s.tmp_2.arg1 = s.arg2;\n s.pc = 1; return s.tmp_2;\n case 1:\n r0 = s.retval;\n s.tmp_1 = r0;\n s.tmp_4 = helpers_pack__P408_mk(s);\n s.tmp_4.arg0 = s.arg3;\n s.tmp_4.arg1 = s.arg4;\n s.pc = 2; return s.tmp_4;\n case 2:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods._fillRect(s.tmp_0, s.tmp_1, s.tmp_3, s.arg5);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_imageFillRect__P411.info = {\"start\":3648,\"length\":159,\"line\":131,\"column\":4,\"endLine\":133,\"endColumn\":5,\"fileName\":\"pxt_modules/screen/image.ts\",\"functionName\":\"imageFillRect\",\"argumentNames\":[\"img\",\"x\",\"y\",\"w\",\"h\",\"c\"]}\n\nfunction helpers_imageFillRect__P411_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_imageFillRect__P411, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n arg5: undefined,\n} }\n\n\n\n\n\nfunction helpers_pack__P408(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n s.tmp_2 = Math_clamp__P58_mk(s);\n s.tmp_2.arg0 = -30000;\n s.tmp_2.arg1 = 30000;\n r0 = (s.arg0 | 0);\n s.tmp_2.arg2 = r0;\n s.pc = 1; return s.tmp_2;\n case 1:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 & 65535);\n s.tmp_0 = r0;\n s.tmp_5 = Math_clamp__P58_mk(s);\n s.tmp_5.arg0 = -30000;\n s.tmp_5.arg1 = 30000;\n r0 = (s.arg1 | 0);\n s.tmp_5.arg2 = r0;\n s.pc = 2; return s.tmp_5;\n case 2:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = (s.tmp_4 << 16);\n s.tmp_3 = r0;\n r0 = (s.tmp_0 | s.tmp_3);\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_pack__P408.info = {\"start\":3151,\"length\":145,\"line\":120,\"column\":4,\"endLine\":122,\"endColumn\":5,\"fileName\":\"pxt_modules/screen/image.ts\",\"functionName\":\"pack\",\"argumentNames\":[\"x\",\"y\"]}\n\nfunction helpers_pack__P408_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_pack__P408, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Math_clamp__P58(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = Math_min__P62_mk(s);\n s.tmp_0.arg0 = s.arg1;\n s.tmp_1 = Math_max__P61_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.tmp_1.arg1 = s.arg2;\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n return leave(s, r0)\n default: oops()\n} } }\nMath_clamp__P58.info = {\"start\":9924,\"length\":130,\"line\":339,\"column\":4,\"endLine\":341,\"endColumn\":5,\"fileName\":\"pxt_modules/base/pxt-helpers.ts\",\"functionName\":\"clamp\",\"argumentNames\":[\"min\",\"max\",\"value\"]}\n\nfunction Math_clamp__P58_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Math_clamp__P58, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction Math_min__P62(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 <= s.arg1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.arg0;\n { step = 3; continue; }\n case 1:\n case 2:\n r0 = s.arg1;\n case 3:\n return leave(s, r0)\n default: oops()\n} } }\nMath_min__P62.info = {\"start\":10994,\"length\":105,\"line\":373,\"column\":4,\"endLine\":376,\"endColumn\":5,\"fileName\":\"pxt_modules/base/pxt-helpers.ts\",\"functionName\":\"min\",\"argumentNames\":[\"a\",\"b\"]}\n\nfunction Math_min__P62_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Math_min__P62, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction helpers_imageDrawIcon__P410(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = r0 = s.arg0;\n s.tmp_1 = r0 = s.arg1;\n s.tmp_3 = helpers_pack__P408_mk(s);\n s.tmp_3.arg0 = s.arg2;\n s.tmp_3.arg1 = s.arg3;\n s.pc = 1; return s.tmp_3;\n case 1:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = pxsim_ImageMethods._drawIcon(s.tmp_0, s.tmp_1, s.tmp_2, s.arg4);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_imageDrawIcon__P410.info = {\"start\":3498,\"length\":145,\"line\":128,\"column\":4,\"endLine\":130,\"endColumn\":5,\"fileName\":\"pxt_modules/screen/image.ts\",\"functionName\":\"imageDrawIcon\",\"argumentNames\":[\"img\",\"icon\",\"x\",\"y\",\"c\"]}\n\nfunction helpers_imageDrawIcon__P410_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_imageDrawIcon__P410, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n} }\n\n\n\n\n\nfunction helpers_stringSplit__P55(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.A___5609 = undefined;\n s.lim___5611 = undefined;\n s.s___5619 = undefined;\n s.p___5622 = undefined;\n s.R___5623 = undefined;\n s.z___5634 = undefined;\n s.T___5645 = undefined;\n s.q___5646 = undefined;\n s.e___5651 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_Array__mk();\n s.A___5609 = (r0);\n s.lim___5611 = (0);\n r0 = (s.arg2 === undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = (1 << 29);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - 1);\n s.lim___5611 = (r0);\n { step = 4; continue; }\n case 1:\n r0 = (s.arg2 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n s.lim___5611 = (0);\n { step = 3; continue; }\n case 2:\n r0 = (s.arg2 | 0);\n s.lim___5611 = (r0);\n case 3:\n case 4:\n r0 = pxsim_String_.length(s.arg0);\n s.s___5619 = (r0);\n s.p___5622 = (0);\n s.R___5623 = (s.arg1);\n r0 = (s.lim___5611 == 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = s.A___5609;\n { step = 21; continue; }\n case 5:\n case 6:\n r0 = (s.arg1 === undefined);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 7; continue; }\n r0 = pxsim_Array_.setAt(s.A___5609, 0, s.arg0);\n r0 = s.A___5609;\n { step = 21; continue; }\n case 7:\n case 8:\n r0 = (s.s___5619 == 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 11; continue; }\n s.tmp_1 = helpers_splitMatch__P56_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.tmp_1.arg1 = 0;\n s.tmp_1.arg2 = s.R___5623;\n s.pc = 22; return s.tmp_1;\n case 22:\n r0 = s.retval;\n s.z___5634 = (r0);\n r0 = (s.z___5634 > -1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 9; continue; }\n r0 = s.A___5609;\n { step = 21; continue; }\n case 9:\n case 10:\n r0 = pxsim_Array_.setAt(s.A___5609, 0, s.arg0);\n r0 = s.A___5609;\n { step = 21; continue; }\n case 11:\n case 12:\n s.q___5646 = (s.p___5622);\n case 13:\n r0 = (s.q___5646 != s.s___5619);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 20; continue; }\n s.tmp_1 = helpers_splitMatch__P56_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.tmp_1.arg1 = s.q___5646;\n s.tmp_1.arg2 = s.R___5623;\n s.pc = 23; return s.tmp_1;\n case 23:\n r0 = s.retval;\n s.e___5651 = (r0);\n r0 = (s.e___5651 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 14; continue; }\n r0 = (s.q___5646 + 1);\n s.q___5646 = (r0);\n { step = 19; continue; }\n case 14:\n r0 = (s.e___5651 == s.p___5622);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 15; continue; }\n r0 = (s.q___5646 + 1);\n s.q___5646 = (r0);\n { step = 18; continue; }\n case 15:\n s.tmp_0 = helpers_stringSlice__P53_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.p___5622;\n s.tmp_0.arg2 = s.q___5646;\n s.pc = 24; return s.tmp_0;\n case 24:\n r0 = s.retval;\n s.T___5645 = (r0);\n r0 = pxsim_Array__push(s.A___5609, s.T___5645);\n r0 = pxsim_Array__length(s.A___5609);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 == s.lim___5611);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 16; continue; }\n r0 = s.A___5609;\n { step = 21; continue; }\n case 16:\n case 17:\n s.p___5622 = (s.e___5651);\n s.q___5646 = (s.p___5622);\n case 18:\n case 19:\n { step = 13; continue; }\n case 20:\n s.tmp_0 = helpers_stringSlice__P53_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.p___5622;\n s.tmp_0.arg2 = s.q___5646;\n s.pc = 25; return s.tmp_0;\n case 25:\n r0 = s.retval;\n s.T___5645 = (r0);\n r0 = pxsim_Array__push(s.A___5609, s.T___5645);\n r0 = s.A___5609;\n case 21:\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_stringSplit__P55.info = {\"start\":8205,\"length\":1319,\"line\":276,\"column\":4,\"endLine\":320,\"endColumn\":5,\"fileName\":\"pxt_modules/base/pxt-helpers.ts\",\"functionName\":\"stringSplit\",\"argumentNames\":[\"S\",\"separator\",\"limit\"]}\n\nfunction helpers_stringSplit__P55_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_stringSplit__P55, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n A___5609: undefined,\n lim___5611: undefined,\n s___5619: undefined,\n p___5622: undefined,\n R___5623: undefined,\n z___5634: undefined,\n T___5645: undefined,\n q___5646: undefined,\n e___5651: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction helpers_splitMatch__P56(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.r___5719 = undefined;\n s.s___5722 = undefined;\n s.i___5729 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_String_.length(s.arg2);\n s.r___5719 = (r0);\n r0 = pxsim_String_.length(s.arg0);\n s.s___5722 = (r0);\n r0 = (s.arg1 + s.r___5719);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > s.s___5722);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = -1;\n { step = 7; continue; }\n case 1:\n case 2:\n s.i___5729 = (0);\n case 3:\n r0 = (s.i___5729 < s.r___5719);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 6; continue; }\n s.tmp_3 = r0 = s.arg0;\n r0 = (s.arg1 + s.i___5729);\n s.tmp_4 = r0;\n r0 = pxsim_String_.charAt(s.tmp_3, s.tmp_4);\n s.tmp_2 = r0;\n r0 = pxsim_String_.charAt(s.arg2, s.i___5729);\n s.tmp_5 = r0;\n r0 = (s.tmp_2 != s.tmp_5);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 4; continue; }\n r0 = -1;\n { step = 7; continue; }\n case 4:\n case 5:\n r0 = (s.i___5729 + 1);\n s.i___5729 = (r0);\n { step = 3; continue; }\n case 6:\n r0 = (s.arg1 + s.r___5719);\n case 7:\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_splitMatch__P56.info = {\"start\":9530,\"length\":289,\"line\":322,\"column\":4,\"endLine\":331,\"endColumn\":5,\"fileName\":\"pxt_modules/base/pxt-helpers.ts\",\"functionName\":\"splitMatch\",\"argumentNames\":[\"S\",\"q\",\"R\"]}\n\nfunction helpers_splitMatch__P56_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_splitMatch__P56, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n r___5719: undefined,\n s___5722: undefined,\n i___5729: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction helpers_stringSlice__P53(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.len___5693 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_String_.length(s.arg0);\n s.len___5693 = (r0);\n r0 = (s.arg1 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_1 = Math_max__P61_mk(s);\n r0 = (s.len___5693 + s.arg1);\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = 0;\n s.pc = 7; return s.tmp_1;\n case 7:\n r0 = s.retval;\n s.arg1 = (r0);\n case 1:\n case 2:\n r0 = (s.arg2 == null);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.arg2 = (s.len___5693);\n case 3:\n case 4:\n r0 = (s.arg2 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = (s.len___5693 + s.arg2);\n s.arg2 = (r0);\n case 5:\n case 6:\n s.tmp_0 = r0 = s.arg0;\n s.tmp_1 = r0 = s.arg1;\n r0 = (s.arg2 - s.arg1);\n s.tmp_2 = r0;\n r0 = pxsim_String_.substr(s.tmp_0, s.tmp_1, s.tmp_2);\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_stringSlice__P53.info = {\"start\":7322,\"length\":365,\"line\":242,\"column\":4,\"endLine\":258,\"endColumn\":5,\"fileName\":\"pxt_modules/base/pxt-helpers.ts\",\"functionName\":\"stringSlice\",\"argumentNames\":[\"s\",\"start\",\"end\"]}\n\nfunction helpers_stringSlice__P53_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_stringSlice__P53, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n len___5693: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction scene_Scene_renderCore__P930(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.s___5780 = undefined;\n s.unnamed68___U1 = undefined;\n s.unnamed69___U2 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Scene__C923_VT)) failedCast(r0);\n s.tmp_0 = scene_Background_draw__P851_mk(s);\n r0 = s.arg0.fields[\"background\"];\n s.tmp_0.arg0 = r0;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n r0 = s.arg0.fields[\"flags\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 & 2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_2 = helpers_arraySort__P43_mk(s);\n r0 = s.arg0.fields[\"allSprites\"];\n s.tmp_2.arg0 = r0;\n s.tmp_2.arg1 = inline__P5763;\n s.pc = 6; return s.tmp_2;\n case 6:\n r0 = s.retval;\n case 1:\n case 2:\n s.s___5780 = (undefined);\n s.s___5780 = (undefined);\n r0 = s.arg0.fields[\"allSprites\"];\n s.unnamed68___U1 = (r0);\n s.unnamed69___U2 = (0);\n case 3:\n s.tmp_0 = r0 = s.unnamed69___U2;\n r0 = pxsim_Array__length(s.unnamed68___U1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 4; continue; }\n r0 = pxsim_Array__getAt(s.unnamed68___U1, s.unnamed69___U2);\n s.s___5780 = (r0);\n s.tmp_2 = if___draw_2_mk(s);\n s.tmp_2.arg0 = s.s___5780;\n r0 = s.arg0.fields[\"camera\"];\n s.tmp_2.arg1 = r0;\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface[\"__draw\"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields[\"__draw\"]; }\n else { s.pc = 7; return s.tmp_2; }\n case 7:\n r0 = s.retval;\n r0 = (s.unnamed69___U2 + 1);\n s.unnamed69___U2 = (r0);\n { step = 3; continue; }\n case 4:\n s.unnamed68___U1 = (undefined);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_Scene_renderCore__P930.info = {\"start\":6966,\"length\":490,\"line\":206,\"column\":8,\"endLine\":219,\"endColumn\":9,\"fileName\":\"pxt_modules/game/scene.ts\",\"functionName\":\"renderCore\",\"argumentNames\":[\"this\"]}\n\nfunction scene_Scene_renderCore__P930_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Scene_renderCore__P930, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n s___5780: undefined,\n unnamed68___U1: undefined,\n unnamed69___U2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P5763(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n s.tmp_2 = if_z_1_mk(s);\n s.tmp_2.arg0 = s.arg0;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, \"z\");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface[\"z\"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields[\"z\"]; }\n else { s.pc = 3; return s.tmp_2; }\n }\n case 3:\n r0 = s.retval;\n s.tmp_1 = r0;\n s.tmp_4 = if_z_1_mk(s);\n s.tmp_4.arg0 = s.arg1;\n if (!s.tmp_4.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_4.arg0, \"z\");\n } else {\n s.tmp_4.fn = s.tmp_4.arg0.vtable.iface[\"z\"];\n if (s.tmp_4.fn == null) { s.retval = s.tmp_4.arg0.fields[\"z\"]; }\n else { s.pc = 4; return s.tmp_4; }\n }\n case 4:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_1 - s.tmp_3);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n s.tmp_6 = if_id_1_mk(s);\n s.tmp_6.arg0 = s.arg0;\n if (!s.tmp_6.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_6.arg0, \"id\");\n } else {\n s.tmp_6.fn = s.tmp_6.arg0.vtable.iface[\"id\"];\n if (s.tmp_6.fn == null) { s.retval = s.tmp_6.arg0.fields[\"id\"]; }\n else { s.pc = 5; return s.tmp_6; }\n }\n case 5:\n r0 = s.retval;\n s.tmp_5 = r0;\n s.tmp_8 = if_id_1_mk(s);\n s.tmp_8.arg0 = s.arg1;\n if (!s.tmp_8.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_8.arg0, \"id\");\n } else {\n s.tmp_8.fn = s.tmp_8.arg0.vtable.iface[\"id\"];\n if (s.tmp_8.fn == null) { s.retval = s.tmp_8.arg0.fields[\"id\"]; }\n else { s.pc = 6; return s.tmp_8; }\n }\n case 6:\n r0 = s.retval;\n s.tmp_7 = r0;\n r0 = (s.tmp_5 - s.tmp_7);\n case 2:\n // jmp value (already in r0)\n s.tmp_9 = r0;\n r0 = s.tmp_9;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P5763.info = {\"start\":7225,\"length\":52,\"line\":212,\"column\":37,\"endLine\":212,\"endColumn\":89,\"fileName\":\"pxt_modules/game/scene.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"a\",\"b\"]}\n\nfunction inline__P5763_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P5763, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction scene_Background_draw__P851(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Background__C846_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"color\"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.fill(globals.screen___464, s.tmp_0);\n r0 = s.arg0.fields[\"_image\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.arg0.fields[\"_image\"];\n s.tmp_1 = r0;\n r0 = pxsim_ImageMethods.drawTransparentImage(globals.screen___464, s.tmp_1, 0, 0);\n case 1:\n case 2:\n r0 = s.arg0.fields[\"_layers\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = pxsim_pxtcore_mkAction(1, inline__P5905);\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_1, 0, s.arg0);\n s.tmp_2 = helpers_arrayForEach__P47_mk(s);\n r0 = s.arg0.fields[\"_layers\"];\n s.tmp_2.arg0 = r0;\n s.tmp_2.arg1 = s.tmp_1;\n s.pc = 5; return s.tmp_2;\n case 5:\n r0 = s.retval;\n case 3:\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_Background_draw__P851.info = {\"start\":1166,\"length\":545,\"line\":48,\"column\":8,\"endLine\":60,\"endColumn\":9,\"fileName\":\"pxt_modules/game/background.ts\",\"functionName\":\"draw\",\"argumentNames\":[\"this\"]}\n\nfunction scene_Background_draw__P851_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Background_draw__P851, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P5905(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.ox___5907 = undefined;\n s.oy___5919 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.caps[0].fields[\"camera\"];\n r0 = r0.fields[\"drawOffsetX\"];\n s.tmp_1 = r0;\n r0 = s.arg0.fields[\"distance\"];\n s.tmp_3 = r0;\n r0 = (1 + s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 / s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim.Math_.round(s.tmp_0);\n s.ox___5907 = (r0);\n r0 = s.caps[0].fields[\"camera\"];\n r0 = r0.fields[\"drawOffsetY\"];\n s.tmp_1 = r0;\n r0 = s.arg0.fields[\"distance\"];\n s.tmp_3 = r0;\n r0 = (1 + s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 / s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim.Math_.round(s.tmp_0);\n s.oy___5919 = (r0);\n s.tmp_0 = scene_BackgroundLayer_draw__P854_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.ox___5907;\n s.tmp_0.arg2 = s.oy___5919;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P5905.info = {\"start\":1373,\"length\":312,\"line\":53,\"column\":37,\"endLine\":58,\"endColumn\":17,\"fileName\":\"pxt_modules/game/background.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"layer\"]}\n\nfunction inline__P5905_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P5905, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n ox___5907: undefined,\n oy___5919: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_BackgroundLayer_draw__P854(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.w___5936 = undefined;\n s.h___5939 = undefined;\n s.pw___5942 = undefined;\n s.ph___5947 = undefined;\n s.rx___5954 = undefined;\n s.ry___5956 = undefined;\n s.y___6011 = undefined;\n s.py___6012 = undefined;\n s.dh___6019 = undefined;\n s.x___6025 = undefined;\n s.rxl___6026 = undefined;\n s.px___6031 = undefined;\n s.dw___6034 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_BackgroundLayer__C853_VT)) failedCast(r0);\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.w___5936 = (r0);\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n s.h___5939 = (r0);\n r0 = s.arg0.fields[\"img\"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_0);\n s.pw___5942 = (r0);\n r0 = s.arg0.fields[\"img\"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_0);\n s.ph___5947 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.pw___5942);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = pxsim_numops_toBoolDecr(s.ph___5947);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n case 2:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 3; continue; }\n { step = 23; continue; }\n case 3:\n case 4:\n r0 = (0 - s.arg1);\n s.rx___5954 = (r0);\n r0 = (0 - s.arg2);\n s.ry___5956 = (r0);\n r0 = s.arg0.fields[\"alignX\"];\n s.tmp_0 = r0;\n r0 = pxsim_pxtcore.switch_eq(2, s.tmp_0);\n if (r0) { step = 5; continue; }\n r0 = pxsim_pxtcore.switch_eq(5, s.tmp_0);\n if (r0) { step = 6; continue; }\n r0 = s.tmp_0;\n { step = 7; continue; }\n case 5:\n s.tmp_1 = r0 = s.rx___5954;\n r0 = (s.w___5936 + s.pw___5942);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 - s.tmp_2);\n s.rx___5954 = (r0);\n { step = 7; continue; }\n case 6:\n s.tmp_0 = r0 = s.rx___5954;\n r0 = (s.w___5936 + s.pw___5942);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 >> 1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 - s.tmp_1);\n s.rx___5954 = (r0);\n case 7:\n r0 = s.arg0.fields[\"alignY\"];\n s.tmp_0 = r0;\n r0 = pxsim_pxtcore.switch_eq(4, s.tmp_0);\n if (r0) { step = 8; continue; }\n r0 = pxsim_pxtcore.switch_eq(5, s.tmp_0);\n if (r0) { step = 9; continue; }\n r0 = s.tmp_0;\n { step = 10; continue; }\n case 8:\n s.tmp_1 = r0 = s.ry___5956;\n r0 = (s.h___5939 + s.ph___5947);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 - s.tmp_2);\n s.ry___5956 = (r0);\n { step = 10; continue; }\n case 9:\n s.tmp_0 = r0 = s.ry___5956;\n r0 = (s.h___5939 + s.ph___5947);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 >> 1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 - s.tmp_1);\n s.ry___5956 = (r0);\n case 10:\n r0 = (s.rx___5954 % s.w___5936);\n s.rx___5954 = (r0);\n r0 = (s.rx___5954 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 11; continue; }\n r0 = (s.rx___5954 + s.w___5936);\n s.rx___5954 = (r0);\n case 11:\n case 12:\n r0 = (s.ry___5956 % s.h___5939);\n s.ry___5956 = (r0);\n r0 = (s.ry___5956 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 13; continue; }\n r0 = (s.ry___5956 + s.h___5939);\n s.ry___5956 = (r0);\n case 13:\n case 14:\n r0 = pxsim.Math_.floor(s.rx___5954);\n s.rx___5954 = (r0);\n r0 = pxsim.Math_.floor(s.ry___5956);\n s.ry___5956 = (r0);\n s.y___6011 = (0);\n s.py___6012 = (0);\n case 15:\n r0 = (s.y___6011 < s.h___5939);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 22; continue; }\n r0 = (s.y___6011 % s.ph___5947);\n s.py___6012 = (r0);\n s.tmp_0 = Math_min__P62_mk(s);\n r0 = (s.ph___5947 - s.py___6012);\n s.tmp_0.arg0 = r0;\n r0 = (s.h___5939 - s.ry___5956);\n s.tmp_0.arg1 = r0;\n s.pc = 24; return s.tmp_0;\n case 24:\n r0 = s.retval;\n s.dh___6019 = (r0);\n s.x___6025 = (0);\n s.rxl___6026 = (s.rx___5954);\n case 16:\n r0 = (s.x___6025 < s.w___5936);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 19; continue; }\n r0 = (s.x___6025 % s.pw___5942);\n s.px___6031 = (r0);\n s.tmp_0 = Math_min__P62_mk(s);\n r0 = (s.pw___5942 - s.px___6031);\n s.tmp_0.arg0 = r0;\n r0 = (s.w___5936 - s.rxl___6026);\n s.tmp_0.arg1 = r0;\n s.pc = 25; return s.tmp_0;\n case 25:\n r0 = s.retval;\n s.dw___6034 = (r0);\n r0 = s.arg0.fields[\"img\"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.drawImage(globals.screen___464, s.tmp_0, s.rxl___6026, s.ry___5956);\n r0 = (s.rxl___6026 + s.dw___6034);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 % s.w___5936);\n s.rxl___6026 = (r0);\n r0 = s.arg0.fields[\"repeatX\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 17; continue; }\n r0 = s.dw___6034;\n { step = 18; continue; }\n case 17:\n r0 = s.w___5936;\n case 18:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = (s.x___6025 + s.tmp_1);\n s.x___6025 = (r0);\n { step = 16; continue; }\n case 19:\n r0 = (s.ry___5956 + s.dh___6019);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 % s.h___5939);\n s.ry___5956 = (r0);\n r0 = s.arg0.fields[\"repeatY\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 20; continue; }\n r0 = s.dh___6019;\n { step = 21; continue; }\n case 20:\n r0 = s.h___5939;\n case 21:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = (s.y___6011 + s.tmp_1);\n s.y___6011 = (r0);\n { step = 15; continue; }\n case 22:\n case 23:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_BackgroundLayer_draw__P854.info = {\"start\":3063,\"length\":1537,\"line\":99,\"column\":8,\"endLine\":144,\"endColumn\":9,\"fileName\":\"pxt_modules/game/background.ts\",\"functionName\":\"draw\",\"argumentNames\":[\"this\",\"offsetX\",\"offsetY\"]}\n\nfunction scene_BackgroundLayer_draw__P854_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_BackgroundLayer_draw__P854, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n w___5936: undefined,\n h___5939: undefined,\n pw___5942: undefined,\n ph___5947: undefined,\n rx___5954: undefined,\n ry___5956: undefined,\n y___6011: undefined,\n py___6012: undefined,\n dh___6019: undefined,\n x___6025: undefined,\n rxl___6026: undefined,\n px___6031: undefined,\n dw___6034: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction scene_Camera_update__P888(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.scene___6073 = undefined;\n s.elapsed___6131 = undefined;\n s.percentComplete___6143 = undefined;\n s.dampStart___6147 = undefined;\n s.damp___6148 = undefined;\n s.f___6154 = undefined;\n s.x___6159 = undefined;\n s.y___6163 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Camera__C886_VT)) failedCast(r0);\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 13; return s.tmp_0;\n case 13:\n r0 = s.retval;\n s.scene___6073 = (r0);\n r0 = s.arg0.fields[\"sprite\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_1 = r0 = s.arg0;\n s.tmp_4 = Sprite_x__P609_mk(s);\n r0 = s.arg0.fields[\"sprite\"];\n s.tmp_4.arg0 = r0;\n s.pc = 14; return s.tmp_4;\n case 14:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 >> 1);\n s.tmp_5 = r0;\n r0 = (s.tmp_3 - s.tmp_5);\n s.tmp_2 = r0;\n r0 = (s.tmp_1).fields[\"offsetX\"] = (s.tmp_2);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_3 = Sprite_y__P611_mk(s);\n r0 = s.arg0.fields[\"sprite\"];\n s.tmp_3.arg0 = r0;\n s.pc = 15; return s.tmp_3;\n case 15:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 >> 1);\n s.tmp_4 = r0;\n r0 = (s.tmp_2 - s.tmp_4);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"offsetY\"] = (s.tmp_1);\n case 1:\n case 2:\n r0 = s.scene___6073.fields[\"tileMap\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 3; continue; }\n r0 = s.tmp_0;\n { step = 4; continue; }\n case 3:\n r0 = s.scene___6073.fields[\"tileMap\"];\n s.tmp_1 = r0;\n r0 = s.tmp_1.fields[\"_map\"];\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_5);\n s.tmp_4 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_4);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n case 4:\n // jmp value (already in r0)\n s.tmp_6 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_6);\n if (!r0) { step = 5; continue; }\n s.tmp_7 = r0 = s.arg0;\n s.tmp_9 = tiles_TileMap_offsetX__P867_mk(s);\n r0 = s.scene___6073.fields[\"tileMap\"];\n s.tmp_9.arg0 = r0;\n r0 = s.arg0.fields[\"offsetX\"];\n s.tmp_9.arg1 = r0;\n s.pc = 16; return s.tmp_9;\n case 16:\n r0 = s.retval;\n s.tmp_8 = r0;\n r0 = (s.tmp_7).fields[\"offsetX\"] = (s.tmp_8);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_2 = tiles_TileMap_offsetY__P868_mk(s);\n r0 = s.scene___6073.fields[\"tileMap\"];\n s.tmp_2.arg0 = r0;\n r0 = s.arg0.fields[\"offsetY\"];\n s.tmp_2.arg1 = r0;\n s.pc = 17; return s.tmp_2;\n case 17:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"offsetY\"] = (s.tmp_1);\n case 5:\n case 6:\n s.tmp_0 = r0 = s.arg0;\n r0 = s.tmp_0.fields[\"offsetX\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"offsetX\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.tmp_0.fields[\"offsetY\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"offsetY\"] = (s.tmp_1);\n r0 = s.arg0.fields[\"offsetX\"];\n s.tmp_0 = r0;\n r0 = (s.arg0).fields[\"drawOffsetX\"] = (s.tmp_0);\n r0 = s.arg0.fields[\"offsetY\"];\n s.tmp_0 = r0;\n r0 = (s.arg0).fields[\"drawOffsetY\"] = (s.tmp_0);\n r0 = s.arg0.fields[\"shakeStartTime\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 !== undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 11; continue; }\n r0 = pxsim.control.millis();\n s.tmp_2 = r0;\n r0 = s.arg0.fields[\"shakeStartTime\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_2 - s.tmp_3);\n s.elapsed___6131 = (r0);\n r0 = s.arg0.fields[\"shakeDuration\"];\n s.tmp_1 = r0;\n r0 = (s.elapsed___6131 >= s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 7; continue; }\n r0 = (s.arg0).fields[\"shakeStartTime\"] = (undefined);\n { step = 10; continue; }\n case 7:\n r0 = s.arg0.fields[\"shakeDuration\"];\n s.tmp_0 = r0;\n r0 = (s.elapsed___6131 / s.tmp_0);\n s.percentComplete___6143 = (r0);\n s.dampStart___6147 = (0.75);\n s.damp___6148 = (1);\n r0 = (s.percentComplete___6143 >= s.dampStart___6147);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 8; continue; }\n s.tmp_1 = Math_max__P61_mk(s);\n s.tmp_1.arg0 = 0;\n r0 = (1 - s.percentComplete___6143);\n s.tmp_1.arg1 = r0;\n s.pc = 18; return s.tmp_1;\n case 18:\n r0 = s.retval;\n s.damp___6148 = (r0);\n case 8:\n case 9:\n r0 = s.arg0.fields[\"shakeAmplitude\"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 * s.damp___6148);\n s.f___6154 = (r0);\n r0 = pxsim.Math_.random();\n s.tmp_1 = r0;\n r0 = (s.tmp_1 * s.f___6154);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 >> 0);\n s.x___6159 = (r0);\n r0 = pxsim.Math_.random();\n s.tmp_1 = r0;\n r0 = (s.tmp_1 * s.f___6154);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 >> 0);\n s.y___6163 = (r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.tmp_0.fields[\"drawOffsetX\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.x___6159);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"drawOffsetX\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.tmp_0.fields[\"drawOffsetY\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.y___6163);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"drawOffsetY\"] = (s.tmp_1);\n case 10:\n case 11:\n case 12:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_Camera_update__P888.info = {\"start\":1096,\"length\":1691,\"line\":34,\"column\":8,\"endLine\":77,\"endColumn\":9,\"fileName\":\"pxt_modules/game/camera.ts\",\"functionName\":\"update\",\"argumentNames\":[\"this\"]}\n\nfunction scene_Camera_update__P888_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Camera_update__P888, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n scene___6073: undefined,\n elapsed___6131: undefined,\n percentComplete___6143: undefined,\n dampStart___6147: undefined,\n damp___6148: undefined,\n f___6154: undefined,\n x___6159: undefined,\n y___6163: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction tiles_TileMap_enabled__P873(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, tiles_TileMap__C865_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_map\"];\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\ntiles_TileMap_enabled__P873.info = {\"start\":3529,\"length\":66,\"line\":129,\"column\":8,\"endLine\":131,\"endColumn\":9,\"fileName\":\"pxt_modules/game/tilemap.ts\",\"functionName\":\"enabled\",\"argumentNames\":[\"this\"]}\n\nfunction tiles_TileMap_enabled__P873_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: tiles_TileMap_enabled__P873, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction tiles_TileMap_offsetY__P868(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, tiles_TileMap__C865_VT)) failedCast(r0);\n s.tmp_0 = Math_clamp__P58_mk(s);\n s.tmp_0.arg0 = 0;\n s.tmp_1 = Math_max__P61_mk(s);\n s.tmp_3 = tiles_TileMap_areaHeight__P870_mk(s);\n s.tmp_3.arg0 = s.arg0;\n s.pc = 3; return s.tmp_3;\n case 3:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n s.tmp_4 = r0;\n r0 = (s.tmp_2 - s.tmp_4);\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = 0;\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = s.arg1;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n return leave(s, r0)\n default: oops()\n} } }\ntiles_TileMap_offsetY__P868.info = {\"start\":2982,\"length\":123,\"line\":107,\"column\":8,\"endLine\":109,\"endColumn\":9,\"fileName\":\"pxt_modules/game/tilemap.ts\",\"functionName\":\"offsetY\",\"argumentNames\":[\"this\",\"value\"]}\n\nfunction tiles_TileMap_offsetY__P868_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: tiles_TileMap_offsetY__P868, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction tiles_TileMap_areaHeight__P870(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, tiles_TileMap__C865_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_map\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.arg0.fields[\"_map\"];\n s.tmp_2 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_2);\n s.tmp_1 = r0;\n r0 = s.arg0.fields[\"scale\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_1 << s.tmp_3);\n { step = 2; continue; }\n case 1:\n r0 = 0;\n case 2:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n r0 = s.tmp_4;\n return leave(s, r0)\n default: oops()\n} } }\ntiles_TileMap_areaHeight__P870.info = {\"start\":3216,\"length\":93,\"line\":115,\"column\":8,\"endLine\":117,\"endColumn\":9,\"fileName\":\"pxt_modules/game/tilemap.ts\",\"functionName\":\"areaHeight\",\"argumentNames\":[\"this\"]}\n\nfunction tiles_TileMap_areaHeight__P870_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: tiles_TileMap_areaHeight__P870, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction tiles_TileMap_offsetX__P867(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, tiles_TileMap__C865_VT)) failedCast(r0);\n s.tmp_0 = Math_clamp__P58_mk(s);\n s.tmp_0.arg0 = 0;\n s.tmp_1 = Math_max__P61_mk(s);\n s.tmp_3 = tiles_TileMap_areaWidth__P869_mk(s);\n s.tmp_3.arg0 = s.arg0;\n s.pc = 3; return s.tmp_3;\n case 3:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_4 = r0;\n r0 = (s.tmp_2 - s.tmp_4);\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = 0;\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = s.arg1;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n return leave(s, r0)\n default: oops()\n} } }\ntiles_TileMap_offsetX__P867.info = {\"start\":2851,\"length\":121,\"line\":103,\"column\":8,\"endLine\":105,\"endColumn\":9,\"fileName\":\"pxt_modules/game/tilemap.ts\",\"functionName\":\"offsetX\",\"argumentNames\":[\"this\",\"value\"]}\n\nfunction tiles_TileMap_offsetX__P867_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: tiles_TileMap_offsetX__P867, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction tiles_TileMap_areaWidth__P869(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, tiles_TileMap__C865_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_map\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.arg0.fields[\"_map\"];\n s.tmp_2 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_2);\n s.tmp_1 = r0;\n r0 = s.arg0.fields[\"scale\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_1 << s.tmp_3);\n { step = 2; continue; }\n case 1:\n r0 = 0;\n case 2:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n r0 = s.tmp_4;\n return leave(s, r0)\n default: oops()\n} } }\ntiles_TileMap_areaWidth__P869.info = {\"start\":3115,\"length\":91,\"line\":111,\"column\":8,\"endLine\":113,\"endColumn\":9,\"fileName\":\"pxt_modules/game/tilemap.ts\",\"functionName\":\"areaWidth\",\"argumentNames\":[\"this\"]}\n\nfunction tiles_TileMap_areaWidth__P869_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: tiles_TileMap_areaWidth__P869, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Sprite_y__P611(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_y\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 + 128);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 >> 8);\n s.tmp_0 = r0;\n r0 = s.arg0.fields[\"_image\"];\n s.tmp_5 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_5);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 >> 1);\n s.tmp_3 = r0;\n r0 = (s.tmp_0 + s.tmp_3);\n return leave(s, r0)\n default: oops()\n} } }\nSprite_y__P611.info = {\"start\":1505,\"length\":84,\"line\":64,\"column\":4,\"endLine\":66,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"y\",\"argumentNames\":[\"this\"]}\n\nfunction Sprite_y__P611_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_y__P611, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Fx_toInt__P98(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 + 128);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 >> 8);\n return leave(s, r0)\n default: oops()\n} } }\nFx_toInt__P98.info = {\"start\":1996,\"length\":86,\"line\":65,\"column\":4,\"endLine\":67,\"endColumn\":5,\"fileName\":\"pxt_modules/base/fixed.ts\",\"functionName\":\"toInt\",\"argumentNames\":[\"v\"]}\n\nfunction Fx_toInt__P98_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Fx_toInt__P98, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction PhysicsEngine_move__P713(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, PhysicsEngine__C708_VT)) failedCast(r0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nPhysicsEngine_move__P713.info = {\"start\":351,\"length\":20,\"line\":18,\"column\":4,\"endLine\":18,\"endColumn\":24,\"fileName\":\"pxt_modules/game/physics.ts\",\"functionName\":\"move\",\"argumentNames\":[\"this\",\"dt\"]}\n\nfunction PhysicsEngine_move__P713_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: PhysicsEngine_move__P713, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction PhysicsEngine_draw__P712(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, PhysicsEngine__C708_VT)) failedCast(r0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nPhysicsEngine_draw__P712.info = {\"start\":279,\"length\":10,\"line\":15,\"column\":4,\"endLine\":15,\"endColumn\":14,\"fileName\":\"pxt_modules/game/physics.ts\",\"functionName\":\"draw\",\"argumentNames\":[\"this\"]}\n\nfunction PhysicsEngine_draw__P712_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: PhysicsEngine_draw__P712, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller___update__P582(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.dtms___6498 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 * 1000);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 | 0);\n s.dtms___6498 = (r0);\n r0 = pxsim_pxtcore_mkAction(1, inline__P6502);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.dtms___6498);\n s.tmp_1 = helpers_arrayForEach__P47_mk(s);\n s.tmp_2 = controller_players__P553_mk(s);\n s.pc = 2; return s.tmp_2;\n case 2:\n r0 = s.retval;\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = s.tmp_0;\n s.pc = 1; return s.tmp_1;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller___update__P582.info = {\"start\":16179,\"length\":137,\"line\":504,\"column\":4,\"endLine\":507,\"endColumn\":5,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"__update\",\"argumentNames\":[\"dt\"]}\n\nfunction controller___update__P582_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller___update__P582, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n dtms___6498: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P6502(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = controller_Controller___update__P579_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.caps[0];\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P6502.info = {\"start\":16281,\"length\":27,\"line\":506,\"column\":26,\"endLine\":506,\"endColumn\":53,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"ctrl\"]}\n\nfunction inline__P6502_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P6502, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller_Controller___update__P579(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Controller__C557_VT)) failedCast(r0);\n r0 = pxsim_pxtrt.mklocRef();\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.arg1);\n s.arg1 = (s.tmp_0);\n s.tmp_1 = r0 = s.arg1;\n r0 = pxsim_pxtrt_ldlocRef(s.arg1);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 | 0);\n s.tmp_2 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_1, s.tmp_2);\n r0 = pxsim_pxtcore_mkAction(1, inline__P6514);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg1);\n s.tmp_1 = helpers_arrayForEach__P47_mk(s);\n r0 = s.arg0.fields[\"buttons\"];\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = s.tmp_0;\n s.pc = 1; return s.tmp_1;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Controller___update__P579.info = {\"start\":15657,\"length\":124,\"line\":486,\"column\":8,\"endLine\":489,\"endColumn\":9,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"__update\",\"argumentNames\":[\"this\",\"dtms\"]}\n\nfunction controller_Controller___update__P579_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Controller___update__P579, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction inline__P6514(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = controller_Button___update__P547_mk(s);\n s.tmp_0.arg0 = s.arg0;\n r0 = pxsim_pxtrt_ldlocRef(s.caps[0]);\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P6514.info = {\"start\":15744,\"length\":25,\"line\":488,\"column\":33,\"endLine\":488,\"endColumn\":58,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"btn\"]}\n\nfunction inline__P6514_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P6514, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller_Button___update__P547(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.delay___6528 = undefined;\n s.interval___6536 = undefined;\n s.count___6547 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Button__C538_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_pressed\"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 11; continue; }\n case 1:\n case 2:\n s.tmp_3 = r0 = s.arg0;\n r0 = s.tmp_3.fields[\"_pressedElasped\"];\n s.tmp_5 = r0;\n r0 = (s.tmp_5 + s.arg1);\n s.tmp_4 = r0;\n r0 = (s.tmp_3).fields[\"_pressedElasped\"] = (s.tmp_4);\n r0 = s.arg0.fields[\"repeatDelay\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 === undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = globals.defaultRepeatDelay___536;\n { step = 4; continue; }\n case 3:\n r0 = s.arg0.fields[\"repeatDelay\"];\n case 4:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n s.delay___6528 = (s.tmp_2);\n r0 = s.arg0.fields[\"repeatInterval\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 === undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = globals.defaultRepeatInterval___537;\n { step = 6; continue; }\n case 5:\n r0 = s.arg0.fields[\"repeatInterval\"];\n case 6:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n s.interval___6536 = (s.tmp_2);\n r0 = s.arg0.fields[\"_pressedElasped\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 < s.delay___6528);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 7; continue; }\n { step = 11; continue; }\n case 7:\n case 8:\n r0 = s.arg0.fields[\"_pressedElasped\"];\n s.tmp_5 = r0;\n r0 = (s.tmp_5 - s.delay___6528);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 - s.interval___6536);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 / s.interval___6536);\n s.tmp_2 = r0;\n r0 = pxsim.Math_.floor(s.tmp_2);\n s.count___6547 = (r0);\n r0 = s.arg0.fields[\"_repeatCount\"];\n s.tmp_1 = r0;\n r0 = (s.count___6547 != s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 9; continue; }\n s.tmp_2 = controller_Button_raiseButtonRepeat__P542_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 12; return s.tmp_2;\n case 12:\n r0 = s.retval;\n r0 = (s.arg0).fields[\"_repeatCount\"] = (s.count___6547);\n case 9:\n case 10:\n case 11:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Button___update__P547.info = {\"start\":4819,\"length\":704,\"line\":148,\"column\":8,\"endLine\":165,\"endColumn\":9,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"__update\",\"argumentNames\":[\"this\",\"dtms\"]}\n\nfunction controller_Button___update__P547_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Button___update__P547, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n delay___6528: undefined,\n interval___6536: undefined,\n count___6547: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction controller_Button_raiseButtonRepeat__P542(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Button__C538_VT)) failedCast(r0);\n r0 = pxsim_numops_toBoolDecr(globals._userEventsEnabled___535);\n if (!r0) { step = 1; continue; }\n r0 = s.arg0.fields[\"id\"];\n s.tmp_0 = r0;\n r0 = pxsim.control.raiseEvent(2054, s.tmp_0);\n { step = 2; continue; }\n case 1:\n r0 = s.arg0.fields[\"id\"];\n s.tmp_0 = r0;\n r0 = pxsim.control.raiseEvent(2055, s.tmp_0);\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Button_raiseButtonRepeat__P542.info = {\"start\":2994,\"length\":211,\"line\":95,\"column\":8,\"endLine\":100,\"endColumn\":9,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"raiseButtonRepeat\",\"argumentNames\":[\"this\"]}\n\nfunction controller_Button_raiseButtonRepeat__P542_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Button_raiseButtonRepeat__P542, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller_players__P553(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = controller_player1__P552_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.tmp_0 = helpers_arrayFilter__P48_mk(s);\n s.tmp_0.arg0 = globals._players___550;\n s.tmp_0.arg1 = inline__P6381;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_players__P553.info = {\"start\":6479,\"length\":143,\"line\":193,\"column\":4,\"endLine\":196,\"endColumn\":5,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"players\",\"argumentNames\":[]}\n\nfunction controller_players__P553_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_players__P553, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction inline__P6381(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_numops_toBoolDecr(s.arg0);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\ninline__P6381.info = {\"start\":6600,\"length\":14,\"line\":195,\"column\":31,\"endLine\":195,\"endColumn\":45,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"ctrl\"]}\n\nfunction inline__P6381_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P6381, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller_player1__P552(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals._players___550);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = pxsim_Array__getAt(globals._players___550, 0);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n case 2:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n if (!r0) { step = 3; continue; }\n r0 = pxsim_pxtcore_mkClassInstance(controller_Controller__C557_VT);\n s.tmp_5 = r0;\n r0 = pxsim_Array__mk();\n s.tmp_6 = r0;\n r0 = pxsim_Array__push(s.tmp_6, globals.left___527);\n r0 = pxsim_Array__push(s.tmp_6, globals.up___528);\n r0 = pxsim_Array__push(s.tmp_6, globals.right___529);\n r0 = pxsim_Array__push(s.tmp_6, globals.down___530);\n r0 = pxsim_Array__push(s.tmp_6, globals.A___525);\n r0 = pxsim_Array__push(s.tmp_6, globals.B___526);\n r0 = pxsim_Array__push(s.tmp_6, globals.menu___531);\n s.tmp_7 = controller_Controller_constructor__P581_mk(s);\n s.tmp_7.arg0 = s.tmp_5;\n s.tmp_7.arg1 = 1;\n s.tmp_7.arg2 = s.tmp_6;\n s.pc = 5; return s.tmp_7;\n case 5:\n r0 = s.retval;\n case 3:\n case 4:\n r0 = pxsim_Array__getAt(globals._players___550, 0);\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_player1__P552.info = {\"start\":6223,\"length\":250,\"line\":187,\"column\":4,\"endLine\":191,\"endColumn\":5,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"player1\",\"argumentNames\":[]}\n\nfunction controller_player1__P552_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_player1__P552, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n} }\n\n\n\n\n\nfunction controller_Controller_constructor__P581(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.leftId___6450 = undefined;\n s.i___6455 = undefined;\n s.i___6469 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Controller__C557_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim.control.allocateNotifyEvent();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"_id\"] = (s.tmp_1);\n r0 = (s.arg0).fields[\"_connected\"] = (false);\n r0 = (s.arg0).fields[\"playerIndex\"] = (s.arg1);\n r0 = pxsim_numops_toBoolDecr(s.arg2);\n if (!r0) { step = 1; continue; }\n r0 = (s.arg0).fields[\"buttons\"] = (s.arg2);\n { step = 4; continue; }\n case 1:\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"buttons\"] = (s.tmp_1);\n r0 = s.arg0.fields[\"playerIndex\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - 1);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 * 7);\n s.tmp_0 = r0;\n r0 = (1 + s.tmp_0);\n s.leftId___6450 = (r0);\n s.i___6455 = (0);\n case 2:\n r0 = (s.i___6455 < 7);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = pxsim_pxtcore_mkClassInstance(controller_Button__C538_VT);\n s.tmp_1 = r0;\n s.tmp_2 = controller_Button_constructor__P548_mk(s);\n s.tmp_2.arg0 = s.tmp_1;\n r0 = (s.leftId___6450 + s.i___6455);\n s.tmp_2.arg1 = r0;\n s.tmp_2.arg2 = -1;\n s.pc = 7; return s.tmp_2;\n case 7:\n r0 = s.retval;\n r0 = s.arg0.fields[\"buttons\"];\n s.tmp_3 = r0;\n r0 = pxsim_Array__push(s.tmp_3, s.tmp_1);\n r0 = (s.i___6455 + 1);\n s.i___6455 = (r0);\n { step = 2; continue; }\n case 3:\n case 4:\n s.i___6469 = (0);\n case 5:\n s.tmp_1 = r0 = s.i___6469;\n r0 = s.arg0.fields[\"buttons\"];\n s.tmp_3 = r0;\n r0 = pxsim_Array__length(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 6; continue; }\n r0 = s.arg0.fields[\"buttons\"];\n s.tmp_5 = r0;\n r0 = pxsim_Array__getAt(s.tmp_5, s.i___6469);\n s.tmp_4 = r0;\n r0 = (s.tmp_4).fields[\"_owner\"] = (s.arg0);\n r0 = (s.i___6469 + 1);\n s.i___6469 = (r0);\n { step = 5; continue; }\n case 6:\n s.tmp_0 = controller_addController__P551_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 8; return s.tmp_0;\n case 8:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Controller_constructor__P581.info = {\"start\":7262,\"length\":663,\"line\":221,\"column\":8,\"endLine\":237,\"endColumn\":9,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"playerIndex\",\"buttons\"]}\n\nfunction controller_Controller_constructor__P581_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Controller_constructor__P581, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n leftId___6450: undefined,\n i___6455: undefined,\n i___6469: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction controller_addController__P551(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_numops_toBoolDecr(globals._players___550);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_Array__mk();\n globals._players___550 = (r0);\n case 1:\n case 2:\n s.tmp_0 = r0 = globals._players___550;\n r0 = s.arg0.fields[\"playerIndex\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - 1);\n s.tmp_1 = r0;\n r0 = pxsim_Array_.setAt(s.tmp_0, s.tmp_1, s.arg0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_addController__P551.info = {\"start\":6060,\"length\":157,\"line\":180,\"column\":4,\"endLine\":185,\"endColumn\":5,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"addController\",\"argumentNames\":[\"ctrl\"]}\n\nfunction controller_addController__P551_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_addController__P551, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller__moveSprites__P556(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = helpers_arrayForEach__P47_mk(s);\n s.tmp_1 = controller_players__P553_mk(s);\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = inline__P6228;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller__moveSprites__P556.info = {\"start\":6838,\"length\":182,\"line\":207,\"column\":4,\"endLine\":211,\"endColumn\":5,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"_moveSprites\",\"argumentNames\":[]}\n\nfunction controller__moveSprites__P556_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller__moveSprites__P556, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n} }\n\n\n\n\n\nfunction inline__P6228(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = controller_Controller___preUpdate__P578_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P6228.info = {\"start\":6986,\"length\":26,\"line\":210,\"column\":26,\"endLine\":210,\"endColumn\":52,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"ctrl\"]}\n\nfunction inline__P6228_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P6228, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller_Controller___preUpdate__P578(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.deadSprites___6234 = undefined;\n s.svx___6235 = undefined;\n s.svy___6236 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Controller__C557_VT)) failedCast(r0);\n s.tmp_3 = controller_Controller__controlledSprites__P558_mk(s);\n s.tmp_3.arg0 = s.arg0;\n s.pc = 6; return s.tmp_3;\n case 6:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 5; continue; }\n case 1:\n case 2:\n r0 = pxsim_pxtrt.mklocRef();\n s.deadSprites___6234 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.deadSprites___6234, false);\n r0 = pxsim_pxtrt.mklocRef();\n s.svx___6235 = (r0);\n r0 = pxsim_pxtrt.mklocRef();\n s.svy___6236 = (r0);\n r0 = pxsim_pxtcore_mkAction(4, inline__P6239);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.deadSprites___6234);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.svx___6235);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 2, s.svy___6236);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 3, s.arg0);\n s.tmp_1 = helpers_arrayForEach__P47_mk(s);\n s.tmp_2 = controller_Controller__controlledSprites__P558_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 8; return s.tmp_2;\n case 8:\n r0 = s.retval;\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = s.tmp_0;\n s.pc = 7; return s.tmp_1;\n case 7:\n r0 = s.retval;\n r0 = pxsim_pxtrt_ldlocRef(s.deadSprites___6234);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.tmp_1 = controller_Controller__controlledSprites__P559_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.tmp_2 = helpers_arrayFilter__P48_mk(s);\n s.tmp_3 = controller_Controller__controlledSprites__P558_mk(s);\n s.tmp_3.arg0 = s.arg0;\n s.pc = 11; return s.tmp_3;\n case 11:\n r0 = s.retval;\n s.tmp_2.arg0 = r0;\n s.tmp_2.arg1 = inline__P6314;\n s.pc = 10; return s.tmp_2;\n case 10:\n r0 = s.retval;\n s.tmp_1.arg1 = r0;\n s.pc = 9; return s.tmp_1;\n case 9:\n r0 = s.retval;\n case 3:\n case 4:\n case 5:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Controller___preUpdate__P578.info = {\"start\":14007,\"length\":1640,\"line\":433,\"column\":8,\"endLine\":484,\"endColumn\":9,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"__preUpdate\",\"argumentNames\":[\"this\"]}\n\nfunction controller_Controller___preUpdate__P578_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Controller___preUpdate__P578, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n deadSprites___6234: undefined,\n svx___6235: undefined,\n svy___6236: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P6239(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0.fields[\"s\"];\n r0 = r0.fields[\"flags\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 & 2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_pxtrt_stlocRef(s.caps[0], true);\n { step = 29; continue; }\n case 1:\n case 2:\n r0 = pxsim_pxtrt_stlocRef(s.caps[1], 0);\n r0 = pxsim_pxtrt_stlocRef(s.caps[2], 0);\n r0 = s.arg0.fields[\"vx\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 7; continue; }\n s.tmp_3 = controller_Controller_right__P563_mk(s);\n s.tmp_3.arg0 = s.caps[3];\n s.pc = 30; return s.tmp_3;\n case 30:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = s.tmp_2.fields[\"_pressed\"];\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 3; continue; }\n s.tmp_4 = r0 = s.caps[1];\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_6 = r0;\n r0 = s.arg0.fields[\"vx\"];\n s.tmp_7 = r0;\n r0 = (s.tmp_6 + s.tmp_7);\n s.tmp_5 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_4, s.tmp_5);\n case 3:\n case 4:\n s.tmp_2 = controller_Controller_left__P562_mk(s);\n s.tmp_2.arg0 = s.caps[3];\n s.pc = 31; return s.tmp_2;\n case 31:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = s.tmp_1.fields[\"_pressed\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n s.tmp_3 = r0 = s.caps[1];\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_5 = r0;\n r0 = s.arg0.fields[\"vx\"];\n s.tmp_6 = r0;\n r0 = (s.tmp_5 - s.tmp_6);\n s.tmp_4 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_3, s.tmp_4);\n case 5:\n case 6:\n case 7:\n case 8:\n r0 = s.arg0.fields[\"vy\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 13; continue; }\n s.tmp_3 = controller_Controller_down__P565_mk(s);\n s.tmp_3.arg0 = s.caps[3];\n s.pc = 32; return s.tmp_3;\n case 32:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = s.tmp_2.fields[\"_pressed\"];\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 9; continue; }\n s.tmp_4 = r0 = s.caps[2];\n r0 = pxsim_pxtrt_ldlocRef(s.caps[2]);\n s.tmp_6 = r0;\n r0 = s.arg0.fields[\"vy\"];\n s.tmp_7 = r0;\n r0 = (s.tmp_6 + s.tmp_7);\n s.tmp_5 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_4, s.tmp_5);\n case 9:\n case 10:\n s.tmp_2 = controller_Controller_up__P564_mk(s);\n s.tmp_2.arg0 = s.caps[3];\n s.pc = 33; return s.tmp_2;\n case 33:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = s.tmp_1.fields[\"_pressed\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 11; continue; }\n s.tmp_3 = r0 = s.caps[2];\n r0 = pxsim_pxtrt_ldlocRef(s.caps[2]);\n s.tmp_5 = r0;\n r0 = s.arg0.fields[\"vy\"];\n s.tmp_6 = r0;\n r0 = (s.tmp_5 - s.tmp_6);\n s.tmp_4 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_3, s.tmp_4);\n case 11:\n case 12:\n case 13:\n case 14:\n r0 = s.arg0.fields[\"_inputLastFrame\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 19; continue; }\n r0 = s.arg0.fields[\"vx\"];\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 15; continue; }\n s.tmp_2 = Sprite_vx__P614_mk(s);\n r0 = s.arg0.fields[\"s\"];\n s.tmp_2.arg0 = r0;\n s.tmp_2.arg1 = 0;\n s.pc = 34; return s.tmp_2;\n case 34:\n r0 = s.retval;\n case 15:\n case 16:\n r0 = s.arg0.fields[\"vy\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 17; continue; }\n s.tmp_1 = Sprite_vy__P616_mk(s);\n r0 = s.arg0.fields[\"s\"];\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = 0;\n s.pc = 35; return s.tmp_1;\n case 35:\n r0 = s.retval;\n case 17:\n case 18:\n case 19:\n case 20:\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 21; continue; }\n r0 = s.tmp_0;\n { step = 22; continue; }\n case 21:\n r0 = pxsim_pxtrt_ldlocRef(s.caps[2]);\n case 22:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 27; continue; }\n r0 = s.arg0.fields[\"vx\"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 23; continue; }\n s.tmp_3 = Sprite_vx__P614_mk(s);\n r0 = s.arg0.fields[\"s\"];\n s.tmp_3.arg0 = r0;\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_3.arg1 = r0;\n s.pc = 36; return s.tmp_3;\n case 36:\n r0 = s.retval;\n case 23:\n case 24:\n r0 = s.arg0.fields[\"vy\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 25; continue; }\n s.tmp_1 = Sprite_vy__P616_mk(s);\n r0 = s.arg0.fields[\"s\"];\n s.tmp_1.arg0 = r0;\n r0 = pxsim_pxtrt_ldlocRef(s.caps[2]);\n s.tmp_1.arg1 = r0;\n s.pc = 37; return s.tmp_1;\n case 37:\n r0 = s.retval;\n case 25:\n case 26:\n r0 = (s.arg0).fields[\"_inputLastFrame\"] = (true);\n { step = 28; continue; }\n case 27:\n r0 = (s.arg0).fields[\"_inputLastFrame\"] = (false);\n case 28:\n case 29:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P6239.info = {\"start\":14213,\"length\":1253,\"line\":439,\"column\":44,\"endLine\":479,\"endColumn\":13,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"sprite\"]}\n\nfunction inline__P6239_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P6239, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P6314(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0.fields[\"s\"];\n r0 = r0.fields[\"flags\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 & 2);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\ninline__P6314.info = {\"start\":15593,\"length\":42,\"line\":483,\"column\":28,\"endLine\":483,\"endColumn\":70,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"s\"]}\n\nfunction inline__P6314_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P6314, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Sprite_vx__P614(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg1 * 256);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"_vx\"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_vx__P614.info = {\"start\":2030,\"length\":51,\"line\":80,\"column\":4,\"endLine\":82,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"vx\",\"argumentNames\":[\"this\",\"v\"]}\n\nfunction Sprite_vx__P614_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_vx__P614, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_vx__P613(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_vx\"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 / 256);\n return leave(s, r0)\n default: oops()\n} } }\nSprite_vx__P613.info = {\"start\":1868,\"length\":60,\"line\":75,\"column\":4,\"endLine\":77,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"vx\",\"argumentNames\":[\"this\"]}\n\nfunction Sprite_vx__P613_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_vx__P613, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Fx_toFloat__P99(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 / 256);\n return leave(s, r0)\n default: oops()\n} } }\nFx_toFloat__P99.info = {\"start\":2087,\"length\":81,\"line\":68,\"column\":4,\"endLine\":70,\"endColumn\":5,\"fileName\":\"pxt_modules/base/fixed.ts\",\"functionName\":\"toFloat\",\"argumentNames\":[\"v\"]}\n\nfunction Fx_toFloat__P99_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Fx_toFloat__P99, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller_Controller_down__P565(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Controller__C557_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"buttons\"];\n s.tmp_0 = r0;\n r0 = (4 - 1);\n s.tmp_1 = r0;\n r0 = pxsim_Array__getAt(s.tmp_0, s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Controller_down__P565.info = {\"start\":8908,\"length\":77,\"line\":283,\"column\":8,\"endLine\":285,\"endColumn\":9,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"down\",\"argumentNames\":[\"this\"]}\n\nfunction controller_Controller_down__P565_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Controller_down__P565, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller_Controller_button__P570(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Controller__C557_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"buttons\"];\n s.tmp_0 = r0;\n r0 = (s.arg1 - 1);\n s.tmp_1 = r0;\n r0 = pxsim_Array__getAt(s.tmp_0, s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Controller_button__P570.info = {\"start\":10870,\"length\":105,\"line\":344,\"column\":8,\"endLine\":346,\"endColumn\":9,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"button\",\"argumentNames\":[\"this\",\"button\"]}\n\nfunction controller_Controller_button__P570_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Controller_button__P570, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction controller_Controller_up__P564(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Controller__C557_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"buttons\"];\n s.tmp_0 = r0;\n r0 = (2 - 1);\n s.tmp_1 = r0;\n r0 = pxsim_Array__getAt(s.tmp_0, s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Controller_up__P564.info = {\"start\":8756,\"length\":73,\"line\":275,\"column\":8,\"endLine\":277,\"endColumn\":9,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"up\",\"argumentNames\":[\"this\"]}\n\nfunction controller_Controller_up__P564_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Controller_up__P564, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller_Controller_right__P563(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Controller__C557_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"buttons\"];\n s.tmp_0 = r0;\n r0 = (3 - 1);\n s.tmp_1 = r0;\n r0 = pxsim_Array__getAt(s.tmp_0, s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Controller_right__P563.info = {\"start\":8598,\"length\":79,\"line\":267,\"column\":8,\"endLine\":269,\"endColumn\":9,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"right\",\"argumentNames\":[\"this\"]}\n\nfunction controller_Controller_right__P563_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Controller_right__P563, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller_Controller_left__P562(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Controller__C557_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"buttons\"];\n s.tmp_0 = r0;\n r0 = (1 - 1);\n s.tmp_1 = r0;\n r0 = pxsim_Array__getAt(s.tmp_0, s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Controller_left__P562.info = {\"start\":8442,\"length\":77,\"line\":259,\"column\":8,\"endLine\":261,\"endColumn\":9,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"left\",\"argumentNames\":[\"this\"]}\n\nfunction controller_Controller_left__P562_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Controller_left__P562, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller_Controller__controlledSprites__P559(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Controller__C557_VT)) failedCast(r0);\n s.tmp_1 = game_currentScene__P769_mk(s);\n s.pc = 1; return s.tmp_1;\n case 1:\n r0 = s.retval;\n r0 = r0.fields[\"controlledSprites\"];\n s.tmp_0 = r0;\n r0 = s.arg0.fields[\"playerIndex\"];\n s.tmp_2 = r0;\n r0 = pxsim_Array_.setAt(s.tmp_0, s.tmp_2, s.arg1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Controller__controlledSprites__P559.info = {\"start\":8077,\"length\":134,\"line\":243,\"column\":8,\"endLine\":245,\"endColumn\":9,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"_controlledSprites\",\"argumentNames\":[\"this\",\"cps\"]}\n\nfunction controller_Controller__controlledSprites__P559_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Controller__controlledSprites__P559, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction controller_Controller__controlledSprites__P558(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Controller__C557_VT)) failedCast(r0);\n s.tmp_1 = game_currentScene__P769_mk(s);\n s.pc = 1; return s.tmp_1;\n case 1:\n r0 = s.retval;\n r0 = r0.fields[\"controlledSprites\"];\n s.tmp_0 = r0;\n r0 = s.arg0.fields[\"playerIndex\"];\n s.tmp_2 = r0;\n r0 = pxsim_Array__getAt(s.tmp_0, s.tmp_2);\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Controller__controlledSprites__P558.info = {\"start\":7935,\"length\":132,\"line\":239,\"column\":8,\"endLine\":241,\"endColumn\":9,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"_controlledSprites\",\"argumentNames\":[\"this\"]}\n\nfunction controller_Controller__controlledSprites__P558_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Controller__controlledSprites__P558, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller_Button_isPressed__P545(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Button__C538_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_pressed\"];\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Button_isPressed__P545.info = {\"start\":4235,\"length\":57,\"line\":128,\"column\":8,\"endLine\":130,\"endColumn\":9,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"isPressed\",\"argumentNames\":[\"this\"]}\n\nfunction controller_Button_isPressed__P545_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Button_isPressed__P545, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction power_checkDeepSleep__P393(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.p___5501 = undefined;\n s.to___5503 = undefined;\n s.tmp_0 = power_init__P395_mk(s);\n s.pc = 11; return s.tmp_0;\n case 11:\n r0 = s.retval;\n s.tmp_0 = r0 = globals._poked___389;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = 0;\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n s.p___5501 = (s.tmp_1);\n s.tmp_0 = r0 = globals._timeout___390;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = s.tmp_0;\n { step = 4; continue; }\n case 3:\n r0 = 0;\n case 4:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n s.to___5503 = (s.tmp_1);\n r0 = (s.to___5503 > 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 5; continue; }\n r0 = s.tmp_0;\n { step = 6; continue; }\n case 5:\n r0 = pxsim.control.millis();\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - s.p___5501);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > s.to___5503);\n case 6:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBool(s.tmp_3);\n if (r0) { step = 7; continue; }\n r0 = s.tmp_3;\n { step = 8; continue; }\n case 7:\n r0 = pxsim.control.isUSBInitialized();\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_5);\n s.tmp_4 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_4);\n case 8:\n // jmp value (already in r0)\n s.tmp_6 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_6);\n if (!r0) { step = 9; continue; }\n r0 = pxsim_pxtcore.deepSleep();\n case 9:\n case 10:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\npower_checkDeepSleep__P393.info = {\"start\":1087,\"length\":298,\"line\":36,\"column\":4,\"endLine\":46,\"endColumn\":5,\"fileName\":\"pxt_modules/power/power.ts\",\"functionName\":\"checkDeepSleep\",\"argumentNames\":[]}\n\nfunction power_checkDeepSleep__P393_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: power_checkDeepSleep__P393, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n p___5501: undefined,\n to___5503: undefined,\n} }\n\n\n\n\n\nfunction power_init__P395(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.minDeepSleepTimeout___5524 = undefined;\n r0 = (globals._timeout___390 !== undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 7; continue; }\n case 1:\n case 2:\n r0 = pxsim_pxtcore.getConfig(212, -1);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 * 1000);\n globals._timeout___390 = (r0);\n s.minDeepSleepTimeout___5524 = (300000);\n r0 = (globals._timeout___390 > 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 3; continue; }\n r0 = s.tmp_0;\n { step = 4; continue; }\n case 3:\n r0 = (globals._timeout___390 < s.minDeepSleepTimeout___5524);\n case 4:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 5; continue; }\n globals._timeout___390 = (s.minDeepSleepTimeout___5524);\n case 5:\n case 6:\n case 7:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\npower_init__P395.info = {\"start\":1610,\"length\":376,\"line\":57,\"column\":4,\"endLine\":66,\"endColumn\":5,\"fileName\":\"pxt_modules/power/power.ts\",\"functionName\":\"init\",\"argumentNames\":[]}\n\nfunction power_init__P395_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: power_init__P395, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n minDeepSleepTimeout___5524: undefined,\n} }\n\n\n\n\n\nfunction power_poke__P392(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = power_init__P395_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = pxsim.control.millis();\n globals._poked___389 = (r0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\npower_poke__P392.info = {\"start\":795,\"length\":81,\"line\":26,\"column\":4,\"endLine\":29,\"endColumn\":5,\"fileName\":\"pxt_modules/power/power.ts\",\"functionName\":\"poke\",\"argumentNames\":[]}\n\nfunction power_poke__P392_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: power_poke__P392, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction control_EventContext_registerFrameHandler__P226(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.fn___6585 = undefined;\n s.i___6595 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, control_EventContext__C220_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"frameCallbacks\"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_3 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_4 = r0;\n r0 = (s.tmp_3).fields[\"frameCallbacks\"] = (s.tmp_4);\n s.tmp_0 = control_EventContext_registerFrameCallbacks__P223_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 8; return s.tmp_0;\n case 8:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = pxsim_pxtcore_mkClassInstance(control_FrameCallback__C214_VT);\n s.fn___6585 = (r0);\n r0 = (s.fn___6585).fields[\"order\"] = (s.arg1);\n r0 = (s.fn___6585).fields[\"handler\"] = (s.arg2);\n s.i___6595 = (0);\n case 3:\n s.tmp_1 = r0 = s.i___6595;\n r0 = s.arg0.fields[\"frameCallbacks\"];\n s.tmp_3 = r0;\n r0 = pxsim_Array__length(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 6; continue; }\n r0 = s.arg0.fields[\"frameCallbacks\"];\n s.tmp_6 = r0;\n r0 = pxsim_Array__getAt(s.tmp_6, s.i___6595);\n r0 = r0.fields[\"order\"];\n s.tmp_5 = r0;\n r0 = (s.tmp_5 > s.arg1);\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n if (!r0) { step = 4; continue; }\n r0 = s.arg0.fields[\"frameCallbacks\"];\n s.tmp_7 = r0;\n r0 = pxsim_Array_.insertAt(s.tmp_7, s.i___6595, s.fn___6585);\n { step = 7; continue; }\n case 4:\n case 5:\n r0 = (s.i___6595 + 1);\n s.i___6595 = (r0);\n { step = 3; continue; }\n case 6:\n r0 = s.arg0.fields[\"frameCallbacks\"];\n s.tmp_0 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.fn___6585);\n case 7:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_EventContext_registerFrameHandler__P226.info = {\"start\":4222,\"length\":600,\"line\":132,\"column\":8,\"endLine\":148,\"endColumn\":9,\"fileName\":\"pxt_modules/base/eventcontext.ts\",\"functionName\":\"registerFrameHandler\",\"argumentNames\":[\"this\",\"order\",\"handler\"]}\n\nfunction control_EventContext_registerFrameHandler__P226_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_EventContext_registerFrameHandler__P226, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n fn___6585: undefined,\n i___6595: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction control_EventContext_deltaTime__P221(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, control_EventContext__C220_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"deltaTimeMillis\"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 / 1000);\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_EventContext_deltaTime__P221.info = {\"start\":2103,\"length\":75,\"line\":71,\"column\":8,\"endLine\":73,\"endColumn\":9,\"fileName\":\"pxt_modules/base/eventcontext.ts\",\"functionName\":\"deltaTime\",\"argumentNames\":[\"this\"]}\n\nfunction control_EventContext_deltaTime__P221_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_EventContext_deltaTime__P221, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction music_Melody_constructor__P361(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, music_Melody__C349_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"_text\"] = (s.arg1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nmusic_Melody_constructor__P361.info = {\"start\":6295,\"length\":67,\"line\":198,\"column\":8,\"endLine\":200,\"endColumn\":9,\"fileName\":\"pxt_modules/mixer/melody.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"text\"]}\n\nfunction music_Melody_constructor__P361_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_Melody_constructor__P361, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction control_pushEventContext__P236(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.ctx___6628 = undefined;\n s.n___6633 = undefined;\n r0 = pxsim_numops_toBoolDecr(globals.eventContexts___234);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_Array__mk();\n globals.eventContexts___234 = (r0);\n case 1:\n case 2:\n s.tmp_0 = control_eventContext__P235_mk(s);\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n s.ctx___6628 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.ctx___6628);\n if (!r0) { step = 3; continue; }\n s.tmp_0 = control_EventContext_unregister__P225_mk(s);\n s.tmp_0.arg0 = s.ctx___6628;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n case 3:\n case 4:\n r0 = pxsim_pxtcore_mkClassInstance(control_EventContext__C220_VT);\n s.tmp_0 = r0;\n s.tmp_1 = control_EventContext_constructor__P233_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.pc = 7; return s.tmp_1;\n case 7:\n r0 = s.retval;\n s.n___6633 = (s.tmp_0);\n r0 = pxsim_Array__push(globals.eventContexts___234, s.n___6633);\n r0 = s.n___6633;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_pushEventContext__P236.info = {\"start\":6386,\"length\":340,\"line\":197,\"column\":4,\"endLine\":208,\"endColumn\":5,\"fileName\":\"pxt_modules/base/eventcontext.ts\",\"functionName\":\"pushEventContext\",\"argumentNames\":[]}\n\nfunction control_pushEventContext__P236_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_pushEventContext__P236, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n ctx___6628: undefined,\n n___6633: undefined,\n} }\n\n\n\n\n\nfunction control_eventContext__P235(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals.eventContexts___234);\n if (!r0) { step = 1; continue; }\n s.tmp_0 = r0 = globals.eventContexts___234;\n r0 = pxsim_Array__length(globals.eventContexts___234);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - 1);\n s.tmp_1 = r0;\n r0 = pxsim_Array__getAt(s.tmp_0, s.tmp_1);\n { step = 2; continue; }\n case 1:\n r0 = undefined;\n case 2:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = s.tmp_3;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_eventContext__P235.info = {\"start\":6170,\"length\":136,\"line\":190,\"column\":4,\"endLine\":192,\"endColumn\":5,\"fileName\":\"pxt_modules/base/eventcontext.ts\",\"functionName\":\"eventContext\",\"argumentNames\":[]}\n\nfunction control_eventContext__P235_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_eventContext__P235, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n} }\n\n\n\n\n\nfunction control_EventContext_constructor__P233(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, control_EventContext__C220_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"handlers\"] = (s.tmp_1);\n r0 = (s.arg0).fields[\"framesInSample\"] = (0);\n r0 = (s.arg0).fields[\"timeInSample\"] = (0);\n r0 = (s.arg0).fields[\"deltaTimeMillis\"] = (0);\n r0 = (s.arg0).fields[\"frameWorker\"] = (0);\n r0 = (s.arg0).fields[\"idleCallbacks\"] = (undefined);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_EventContext_constructor__P233.info = {\"start\":1848,\"length\":245,\"line\":62,\"column\":8,\"endLine\":69,\"endColumn\":9,\"fileName\":\"pxt_modules/base/eventcontext.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\"]}\n\nfunction control_EventContext_constructor__P233_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_EventContext_constructor__P233, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_waitAnyButton__P1016(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals.__waitAnyButton___1012);\n if (!r0) { step = 1; continue; }\n s.tmp_0 = lambda_1_mk(s);\n s.tmp_0.argL = globals.__waitAnyButton___1012;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n { step = 2; continue; }\n case 1:\n s.tmp_0 = pause__P241_mk(s);\n s.tmp_0.arg0 = 3000;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_waitAnyButton__P1016.info = {\"start\":967,\"length\":111,\"line\":35,\"column\":4,\"endLine\":38,\"endColumn\":5,\"fileName\":\"pxt_modules/game/game.ts\",\"functionName\":\"waitAnyButton\",\"argumentNames\":[]}\n\nfunction game_waitAnyButton__P1016_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_waitAnyButton__P1016, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction game_GameOverDialog_constructor__P988(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_GameOverDialog__C983_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"win\"] = (s.arg1);\n r0 = (s.arg0).fields[\"score\"] = (s.arg2);\n r0 = (s.arg0).fields[\"highScore\"] = (s.arg3);\n s.tmp_0 = game_BaseDialog_constructor__P965_mk(s);\n s.tmp_0.arg0 = s.arg0;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = 46;\n s.tmp_1 = game_defaultSplashFrame__P991_mk(s);\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n s.tmp_0.arg3 = r0;\n s.tmp_0.arg4 = undefined;\n s.tmp_0.arg5 = undefined;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = (s.arg0).fields[\"cursorOn\"] = (false);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.arg0.fields[\"score\"];\n s.tmp_2 = r0;\n r0 = s.arg0.fields[\"highScore\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_2 > s.tmp_3);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"isNewHighScore\"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_GameOverDialog_constructor__P988.info = {\"start\":12305,\"length\":308,\"line\":362,\"column\":8,\"endLine\":370,\"endColumn\":9,\"fileName\":\"pxt_modules/game/textDialogs.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"win\",\"score\",\"highScore\"]}\n\nfunction game_GameOverDialog_constructor__P988_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_GameOverDialog_constructor__P988, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction game_defaultSplashFrame__P991(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_ImageMethods.isMono(globals.screen___464);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim.image.ofBuffer(_hex4695);\n { step = 2; continue; }\n case 1:\n r0 = pxsim.image.ofBuffer(_hex4697);\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = s.tmp_1;\n return leave(s, r0)\n default: oops()\n} } }\ngame_defaultSplashFrame__P991.info = {\"start\":18476,\"length\":220,\"line\":562,\"column\":4,\"endLine\":575,\"endColumn\":5,\"fileName\":\"pxt_modules/game/textDialogs.ts\",\"functionName\":\"defaultSplashFrame\",\"argumentNames\":[]}\n\nfunction game_defaultSplashFrame__P991_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_defaultSplashFrame__P991, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n} }\n\nconst _hex4695 = pxsim.BufferMethods.createBufferFromHex(\"8704030003000000010100000101000001010000\")\nconst _hex4697 = pxsim.BufferMethods.createBufferFromHex(\"8704030003000000f1010000f1010000f1010000\")\n\n\n\n\nfunction game_BaseDialog_constructor__P965(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.arg5 = (s.lambdaArgs[5]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_BaseDialog__C952_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim.image.create(s.arg1, s.arg2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"image\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg3;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = globals.dialogFrame___949;\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBool(s.tmp_1);\n if (!r0) { step = 3; continue; }\n r0 = s.tmp_1;\n { step = 4; continue; }\n case 3:\n s.tmp_3 = game_defaultFrame__P990_mk(s);\n s.pc = 13; return s.tmp_3;\n case 13:\n r0 = s.retval;\n s.tmp_2 = r0;\n globals.dialogFrame___949 = (r0);\n r0 = s.tmp_2;\n case 4:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n r0 = (s.arg0).fields[\"frame\"] = (s.tmp_4);\n s.tmp_0 = r0 = s.arg4;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = s.tmp_0;\n { step = 6; continue; }\n case 5:\n r0 = globals.font8___423;\n case 6:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = (s.arg0).fields[\"font\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg5;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 7; continue; }\n r0 = s.tmp_0;\n { step = 8; continue; }\n case 7:\n r0 = globals.dialogCursor___950;\n case 8:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBool(s.tmp_1);\n if (!r0) { step = 9; continue; }\n r0 = s.tmp_1;\n { step = 10; continue; }\n case 9:\n s.tmp_3 = game_defaultCursorImage__P992_mk(s);\n s.pc = 14; return s.tmp_3;\n case 14:\n r0 = s.retval;\n s.tmp_2 = r0;\n globals.dialogCursor___950 = (r0);\n r0 = s.tmp_2;\n case 10:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n r0 = (s.arg0).fields[\"cursor\"] = (s.tmp_4);\n r0 = (globals.dialogTextColor___951 == undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 11; continue; }\n globals.dialogTextColor___951 = (15);\n r0 = 15;\n { step = 12; continue; }\n case 11:\n r0 = globals.dialogTextColor___951;\n case 12:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = (s.arg0).fields[\"textColor\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.arg0.fields[\"frame\"];\n s.tmp_4 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_4);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 / 3);\n s.tmp_2 = r0;\n r0 = pxsim.Math_.floor(s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"unit\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.arg0.fields[\"unit\"];\n s.tmp_3 = r0;\n r0 = (s.arg1 / s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim.Math_.floor(s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"columns\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.arg0.fields[\"unit\"];\n s.tmp_3 = r0;\n r0 = (s.arg2 / s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim.Math_.floor(s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"rows\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_3 = r0 = s.arg1;\n r0 = s.arg0.fields[\"columns\"];\n s.tmp_5 = r0;\n r0 = s.arg0.fields[\"unit\"];\n s.tmp_6 = r0;\n r0 = (s.tmp_5 * s.tmp_6);\n s.tmp_4 = r0;\n r0 = (s.tmp_3 - s.tmp_4);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 >> 1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"innerLeft\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_3 = r0 = s.arg2;\n r0 = s.arg0.fields[\"rows\"];\n s.tmp_5 = r0;\n r0 = s.arg0.fields[\"unit\"];\n s.tmp_6 = r0;\n r0 = (s.tmp_5 * s.tmp_6);\n s.tmp_4 = r0;\n r0 = (s.tmp_3 - s.tmp_4);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 >> 1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"innerTop\"] = (s.tmp_1);\n r0 = (s.arg0).fields[\"cursorCount\"] = (0);\n s.tmp_0 = game_BaseDialog_drawBorder__P957_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 15; return s.tmp_0;\n case 15:\n r0 = s.retval;\n s.tmp_0 = game_BaseDialog_clearInterior__P958_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 16; return s.tmp_0;\n case 16:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_BaseDialog_constructor__P965.info = {\"start\":634,\"length\":895,\"line\":36,\"column\":8,\"endLine\":58,\"endColumn\":9,\"fileName\":\"pxt_modules/game/textDialogs.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"width\",\"height\",\"frame\",\"font\",\"cursor\"]}\n\nfunction game_BaseDialog_constructor__P965_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_BaseDialog_constructor__P965, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n arg5: undefined,\n} }\n\n\n\n\n\nfunction game_defaultCursorImage__P992(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_ImageMethods.isMono(globals.screen___464);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim.image.ofBuffer(_hex4819);\n { step = 2; continue; }\n case 1:\n r0 = pxsim.image.ofBuffer(_hex4821);\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = s.tmp_1;\n return leave(s, r0)\n default: oops()\n} } }\ngame_defaultCursorImage__P992.info = {\"start\":18702,\"length\":690,\"line\":577,\"column\":4,\"endLine\":603,\"endColumn\":5,\"fileName\":\"pxt_modules/game/textDialogs.ts\",\"functionName\":\"defaultCursorImage\",\"argumentNames\":[]}\n\nfunction game_defaultCursorImage__P992_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_defaultCursorImage__P992, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n} }\n\nconst _hex4819 = pxsim.BufferMethods.createBufferFromHex(\"87040a000800000011111101010000010111010111100001011101010100000101000001100010000001010000100000\")\nconst _hex4821 = pxsim.BufferMethods.createBufferFromHex(\"87040b000b00000000606686080000006076776686000000607777676608000076171111670800007671177766080000767117776608000076711777660800007617111167080000607777676608000060767766860000000060668608000000\")\n\n\n\n\nfunction game_defaultFrame__P990(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_ImageMethods.isMono(globals.screen___464);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim.image.ofBuffer(_hex4825);\n { step = 2; continue; }\n case 1:\n r0 = pxsim.image.ofBuffer(_hex4827);\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = s.tmp_1;\n return leave(s, r0)\n default: oops()\n} } }\ngame_defaultFrame__P990.info = {\"start\":17914,\"length\":556,\"line\":538,\"column\":4,\"endLine\":560,\"endColumn\":5,\"fileName\":\"pxt_modules/game/textDialogs.ts\",\"functionName\":\"defaultFrame\",\"argumentNames\":[]}\n\nfunction game_defaultFrame__P990_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_defaultFrame__P990, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n} }\n\nconst _hex4825 = pxsim.BufferMethods.createBufferFromHex(\"8704030003000000110100000101000011010000\")\nconst _hex4827 = pxsim.BufferMethods.createBufferFromHex(\"87040c000c0000000000000000000000b0bbbbbbbb0b0000b0bbbbbbbbcb0000b0db1111bdcb0000b01b1111b1cb0000b01b1111b1cb0000b01b1111b1cb0000b01b1111b1cb0000b0db1111bdcb0000b0bbbbbbbbcb0000b0bbbbbbbbcb000000cccccccccc0000\")\n\n\n\n\nfunction game_BaseDialog_clearInterior__P958(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.d___4597 = undefined;\n s.s___4603 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_BaseDialog__C952_VT)) failedCast(r0);\n s.d___4597 = (1);\n case 1:\n s.tmp_1 = r0 = s.d___4597;\n r0 = s.arg0.fields[\"columns\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 - 1);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 4; continue; }\n s.s___4603 = (1);\n case 2:\n s.tmp_1 = r0 = s.s___4603;\n r0 = s.arg0.fields[\"rows\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 - 1);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.tmp_4 = game_BaseDialog_drawPartial__P959_mk(s);\n s.tmp_4.arg0 = s.arg0;\n s.tmp_4.arg1 = 4;\n s.tmp_4.arg2 = s.d___4597;\n s.tmp_4.arg3 = s.s___4603;\n s.pc = 5; return s.tmp_4;\n case 5:\n r0 = s.retval;\n r0 = (s.s___4603 + 1);\n s.s___4603 = (r0);\n { step = 2; continue; }\n case 3:\n r0 = (s.d___4597 + 1);\n s.d___4597 = (r0);\n { step = 1; continue; }\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_BaseDialog_clearInterior__P958.info = {\"start\":3078,\"length\":230,\"line\":111,\"column\":8,\"endLine\":117,\"endColumn\":9,\"fileName\":\"pxt_modules/game/textDialogs.ts\",\"functionName\":\"clearInterior\",\"argumentNames\":[\"this\"]}\n\nfunction game_BaseDialog_clearInterior__P958_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_BaseDialog_clearInterior__P958, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n d___4597: undefined,\n s___4603: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_BaseDialog_drawPartial__P959(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.x0___4620 = undefined;\n s.y0___4627 = undefined;\n s.xf___4634 = undefined;\n s.yf___4638 = undefined;\n s.e___4644 = undefined;\n s.t___4649 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_BaseDialog__C952_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"innerLeft\"];\n s.tmp_0 = r0;\n r0 = s.arg0.fields[\"unit\"];\n s.tmp_2 = r0;\n r0 = (s.arg2 * s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n s.x0___4620 = (r0);\n r0 = s.arg0.fields[\"innerTop\"];\n s.tmp_0 = r0;\n r0 = s.arg0.fields[\"unit\"];\n s.tmp_2 = r0;\n r0 = (s.arg3 * s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n s.y0___4627 = (r0);\n r0 = (s.arg1 % 3);\n s.tmp_0 = r0;\n r0 = s.arg0.fields[\"unit\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_0 * s.tmp_1);\n s.xf___4634 = (r0);\n r0 = (s.arg1 / 3);\n s.tmp_1 = r0;\n r0 = pxsim.Math_.floor(s.tmp_1);\n s.tmp_0 = r0;\n r0 = s.arg0.fields[\"unit\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_0 * s.tmp_2);\n s.yf___4638 = (r0);\n s.e___4644 = (0);\n case 1:\n r0 = s.arg0.fields[\"unit\"];\n s.tmp_1 = r0;\n r0 = (s.e___4644 < s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 4; continue; }\n s.t___4649 = (0);\n case 2:\n r0 = s.arg0.fields[\"unit\"];\n s.tmp_1 = r0;\n r0 = (s.t___4649 < s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = s.arg0.fields[\"image\"];\n s.tmp_2 = r0;\n r0 = (s.x0___4620 + s.e___4644);\n s.tmp_3 = r0;\n r0 = (s.y0___4627 + s.t___4649);\n s.tmp_4 = r0;\n r0 = s.arg0.fields[\"frame\"];\n s.tmp_6 = r0;\n r0 = (s.xf___4634 + s.e___4644);\n s.tmp_7 = r0;\n r0 = (s.yf___4638 + s.t___4649);\n s.tmp_8 = r0;\n r0 = pxsim_ImageMethods.getPixel(s.tmp_6, s.tmp_7, s.tmp_8);\n s.tmp_5 = r0;\n r0 = pxsim_ImageMethods.setPixel(s.tmp_2, s.tmp_3, s.tmp_4, s.tmp_5);\n r0 = (s.t___4649 + 1);\n s.t___4649 = (r0);\n { step = 2; continue; }\n case 3:\n r0 = (s.e___4644 + 1);\n s.e___4644 = (r0);\n { step = 1; continue; }\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_BaseDialog_drawPartial__P959.info = {\"start\":3318,\"length\":606,\"line\":119,\"column\":8,\"endLine\":134,\"endColumn\":9,\"fileName\":\"pxt_modules/game/textDialogs.ts\",\"functionName\":\"drawPartial\",\"argumentNames\":[\"this\",\"index\",\"colTo\",\"rowTo\"]}\n\nfunction game_BaseDialog_drawPartial__P959_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_BaseDialog_drawPartial__P959, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n x0___4620: undefined,\n y0___4627: undefined,\n xf___4634: undefined,\n yf___4638: undefined,\n e___4644: undefined,\n t___4649: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction game_BaseDialog_drawBorder__P957(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.c___4776 = undefined;\n s.r___4803 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_BaseDialog__C952_VT)) failedCast(r0);\n s.c___4776 = (0);\n case 1:\n r0 = s.arg0.fields[\"columns\"];\n s.tmp_1 = r0;\n r0 = (s.c___4776 < s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 6; continue; }\n r0 = (s.c___4776 == 0);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 2; continue; }\n s.tmp_3 = game_BaseDialog_drawPartial__P959_mk(s);\n s.tmp_3.arg0 = s.arg0;\n s.tmp_3.arg1 = 0;\n s.tmp_3.arg2 = 0;\n s.tmp_3.arg3 = 0;\n s.pc = 9; return s.tmp_3;\n case 9:\n r0 = s.retval;\n s.tmp_0 = game_BaseDialog_drawPartial__P959_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = 6;\n s.tmp_0.arg2 = 0;\n r0 = s.arg0.fields[\"rows\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - 1);\n s.tmp_0.arg3 = r0;\n s.pc = 10; return s.tmp_0;\n case 10:\n r0 = s.retval;\n { step = 5; continue; }\n case 2:\n s.tmp_1 = r0 = s.c___4776;\n r0 = s.arg0.fields[\"columns\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 - 1);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 === s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.tmp_4 = game_BaseDialog_drawPartial__P959_mk(s);\n s.tmp_4.arg0 = s.arg0;\n s.tmp_4.arg1 = 2;\n s.tmp_4.arg2 = s.c___4776;\n s.tmp_4.arg3 = 0;\n s.pc = 11; return s.tmp_4;\n case 11:\n r0 = s.retval;\n s.tmp_0 = game_BaseDialog_drawPartial__P959_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = 8;\n s.tmp_0.arg2 = s.c___4776;\n r0 = s.arg0.fields[\"rows\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - 1);\n s.tmp_0.arg3 = r0;\n s.pc = 12; return s.tmp_0;\n case 12:\n r0 = s.retval;\n { step = 4; continue; }\n case 3:\n s.tmp_0 = game_BaseDialog_drawPartial__P959_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = 1;\n s.tmp_0.arg2 = s.c___4776;\n s.tmp_0.arg3 = 0;\n s.pc = 13; return s.tmp_0;\n case 13:\n r0 = s.retval;\n s.tmp_0 = game_BaseDialog_drawPartial__P959_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = 7;\n s.tmp_0.arg2 = s.c___4776;\n r0 = s.arg0.fields[\"rows\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - 1);\n s.tmp_0.arg3 = r0;\n s.pc = 14; return s.tmp_0;\n case 14:\n r0 = s.retval;\n case 4:\n case 5:\n r0 = (s.c___4776 + 1);\n s.c___4776 = (r0);\n { step = 1; continue; }\n case 6:\n s.r___4803 = (1);\n case 7:\n s.tmp_1 = r0 = s.r___4803;\n r0 = s.arg0.fields[\"rows\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 - 1);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 8; continue; }\n s.tmp_4 = game_BaseDialog_drawPartial__P959_mk(s);\n s.tmp_4.arg0 = s.arg0;\n s.tmp_4.arg1 = 3;\n s.tmp_4.arg2 = 0;\n s.tmp_4.arg3 = s.r___4803;\n s.pc = 15; return s.tmp_4;\n case 15:\n r0 = s.retval;\n s.tmp_0 = game_BaseDialog_drawPartial__P959_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = 5;\n r0 = s.arg0.fields[\"columns\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - 1);\n s.tmp_0.arg2 = r0;\n s.tmp_0.arg3 = s.r___4803;\n s.pc = 16; return s.tmp_0;\n case 16:\n r0 = s.retval;\n r0 = (s.r___4803 + 1);\n s.r___4803 = (r0);\n { step = 7; continue; }\n case 8:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_BaseDialog_drawBorder__P957.info = {\"start\":2321,\"length\":747,\"line\":89,\"column\":8,\"endLine\":109,\"endColumn\":9,\"fileName\":\"pxt_modules/game/textDialogs.ts\",\"functionName\":\"drawBorder\",\"argumentNames\":[\"this\"]}\n\nfunction game_BaseDialog_drawBorder__P957_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_BaseDialog_drawBorder__P957, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n c___4776: undefined,\n r___4803: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_GameOverDialog_update__P986(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_GameOverDialog__C983_VT)) failedCast(r0);\n s.tmp_0 = game_BaseDialog_clearInterior__P958_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.tmp_0 = game_GameOverDialog__C983_v1_1_mk(s);\n s.tmp_0.arg0 = s.arg0;\n if (!checkSubtype(s.tmp_0.arg0, game_GameOverDialog__C983_VT)) failedCast(s.tmp_0.arg0);\n s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.drawTextCore;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n r0 = s.arg0.fields[\"cursorOn\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_1 = game_BaseDialog_drawCursorRow__P956_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.pc = 5; return s.tmp_1;\n case 5:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_GameOverDialog_update__P986.info = {\"start\":12694,\"length\":173,\"line\":376,\"column\":8,\"endLine\":383,\"endColumn\":9,\"fileName\":\"pxt_modules/game/textDialogs.ts\",\"functionName\":\"update\",\"argumentNames\":[\"this\"]}\n\nfunction game_GameOverDialog_update__P986_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_GameOverDialog_update__P986, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_GameOverDialog_drawTextCore__P987(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.titleHeight___4542 = undefined;\n s.scoreHeight___4557 = undefined;\n s.highScoreHeight___4558 = undefined;\n s.scoreColor___4559 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_GameOverDialog__C983_VT)) failedCast(r0);\n s.titleHeight___4542 = (8);\n r0 = s.arg0.fields[\"win\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = \"YOU WIN!\";\n { step = 2; continue; }\n case 1:\n r0 = \"GAME OVER!\";\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_ImageMethods.isMono(globals.screen___464);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 3; continue; }\n r0 = 1;\n { step = 4; continue; }\n case 3:\n r0 = 5;\n case 4:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n s.tmp_4 = helpers_imagePrintCenter__P431_mk(s);\n r0 = s.arg0.fields[\"image\"];\n s.tmp_4.arg0 = r0;\n s.tmp_4.arg1 = s.tmp_1;\n s.tmp_4.arg2 = s.titleHeight___4542;\n s.tmp_4.arg3 = s.tmp_3;\n s.tmp_4.arg4 = globals.font8___423;\n s.pc = 11; return s.tmp_4;\n case 11:\n r0 = s.retval;\n r0 = s.arg0.fields[\"score\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 !== undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 9; continue; }\n s.scoreHeight___4557 = (23);\n s.highScoreHeight___4558 = (34);\n r0 = pxsim_ImageMethods.isMono(globals.screen___464);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = 1;\n { step = 6; continue; }\n case 5:\n r0 = 2;\n case 6:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n s.scoreColor___4559 = (s.tmp_1);\n s.tmp_0 = helpers_imagePrintCenter__P431_mk(s);\n r0 = s.arg0.fields[\"image\"];\n s.tmp_0.arg0 = r0;\n r0 = s.arg0.fields[\"score\"];\n s.tmp_2 = r0;\n if ((s.tmp_2) && (s.tmp_2).vtable) {\n setupResume(s, 13);\n pxsim_String__stringConv(s.tmp_2);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_2) + \"\"; }\n case 13:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_String__concat(\"Score:\", s.tmp_1);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = s.scoreHeight___4557;\n s.tmp_0.arg3 = s.scoreColor___4559;\n s.tmp_0.arg4 = globals.font8___423;\n s.pc = 12; return s.tmp_0;\n case 12:\n r0 = s.retval;\n r0 = s.arg0.fields[\"isNewHighScore\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 7; continue; }\n s.tmp_1 = helpers_imagePrintCenter__P431_mk(s);\n r0 = s.arg0.fields[\"image\"];\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = \"New High Score!\";\n s.tmp_1.arg2 = s.highScoreHeight___4558;\n s.tmp_1.arg3 = s.scoreColor___4559;\n s.tmp_1.arg4 = globals.font5___428;\n s.pc = 14; return s.tmp_1;\n case 14:\n r0 = s.retval;\n { step = 8; continue; }\n case 7:\n s.tmp_0 = helpers_imagePrintCenter__P431_mk(s);\n r0 = s.arg0.fields[\"image\"];\n s.tmp_0.arg0 = r0;\n r0 = s.arg0.fields[\"highScore\"];\n s.tmp_2 = r0;\n if ((s.tmp_2) && (s.tmp_2).vtable) {\n setupResume(s, 16);\n pxsim_String__stringConv(s.tmp_2);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_2) + \"\"; }\n case 16:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_String__concat(\"HI\", s.tmp_1);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = s.highScoreHeight___4558;\n s.tmp_0.arg3 = s.scoreColor___4559;\n s.tmp_0.arg4 = globals.font8___423;\n s.pc = 15; return s.tmp_0;\n case 15:\n r0 = s.retval;\n case 8:\n case 9:\n case 10:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_GameOverDialog_drawTextCore__P987.info = {\"start\":12877,\"length\":1200,\"line\":385,\"column\":8,\"endLine\":422,\"endColumn\":9,\"fileName\":\"pxt_modules/game/textDialogs.ts\",\"functionName\":\"drawTextCore\",\"argumentNames\":[\"this\"]}\n\nfunction game_GameOverDialog_drawTextCore__P987_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_GameOverDialog_drawTextCore__P987, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n titleHeight___4542: undefined,\n scoreHeight___4557: undefined,\n highScoreHeight___4558: undefined,\n scoreColor___4559: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction helpers_imagePrintCenter__P431(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.w___2421 = undefined;\n s.x___2427 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_numops_toBoolDecr(s.arg4);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_2 = image_getFontForText__P425_mk(s);\n s.tmp_2.arg0 = s.arg1;\n s.pc = 3; return s.tmp_2;\n case 3:\n r0 = s.retval;\n s.arg4 = (r0);\n case 1:\n case 2:\n r0 = pxsim_String_.length(s.arg1);\n s.tmp_0 = r0;\n s.tmp_2 = if_charWidth_1_mk(s);\n s.tmp_2.arg0 = s.arg4;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, \"charWidth\");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface[\"charWidth\"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields[\"charWidth\"]; }\n else { s.pc = 4; return s.tmp_2; }\n }\n case 4:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0 * s.tmp_1);\n s.w___2421 = (r0);\n r0 = pxsim_ImageMethods.width(s.arg0);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - s.w___2421);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 / 2);\n s.x___2427 = (r0);\n s.tmp_0 = helpers_imagePrint__P432_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.tmp_0.arg2 = s.x___2427;\n s.tmp_0.arg3 = s.arg2;\n s.tmp_0.arg4 = s.arg3;\n s.tmp_0.arg5 = s.arg4;\n s.tmp_0.arg6 = undefined;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_imagePrintCenter__P431.info = {\"start\":15025,\"length\":295,\"line\":206,\"column\":4,\"endLine\":211,\"endColumn\":5,\"fileName\":\"pxt_modules/screen/text.ts\",\"functionName\":\"imagePrintCenter\",\"argumentNames\":[\"img\",\"text\",\"y\",\"color\",\"font\"]}\n\nfunction helpers_imagePrintCenter__P431_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_imagePrintCenter__P431, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n w___2421: undefined,\n x___2427: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n} }\n\n\n\n\n\nfunction game_BaseDialog_drawCursorRow__P956(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.offset___4478 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_BaseDialog__C952_VT)) failedCast(r0);\n s.offset___4478 = (0);\n r0 = s.arg0.fields[\"cursorCount\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > 20);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.offset___4478 = (1);\n case 1:\n case 2:\n s.tmp_0 = r0 = s.arg0;\n r0 = s.arg0.fields[\"cursorCount\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 + 1);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 % 40);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"cursorCount\"] = (s.tmp_1);\n r0 = s.arg0.fields[\"image\"];\n s.tmp_0 = r0;\n r0 = s.arg0.fields[\"cursor\"];\n s.tmp_1 = r0;\n r0 = s.arg0.fields[\"innerLeft\"];\n s.tmp_6 = r0;\n s.tmp_8 = game_BaseDialog_textAreaWidth__P962_mk(s);\n s.tmp_8.arg0 = s.arg0;\n s.pc = 3; return s.tmp_8;\n case 3:\n r0 = s.retval;\n s.tmp_7 = r0;\n r0 = (s.tmp_6 + s.tmp_7);\n s.tmp_5 = r0;\n r0 = s.arg0.fields[\"unit\"];\n s.tmp_9 = r0;\n r0 = (s.tmp_5 + s.tmp_9);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 + s.offset___4478);\n s.tmp_3 = r0;\n r0 = s.arg0.fields[\"cursor\"];\n s.tmp_11 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_11);\n s.tmp_10 = r0;\n r0 = (s.tmp_3 - s.tmp_10);\n s.tmp_2 = r0;\n r0 = s.arg0.fields[\"innerTop\"];\n s.tmp_16 = r0;\n r0 = s.arg0.fields[\"unit\"];\n s.tmp_17 = r0;\n r0 = (s.tmp_16 + s.tmp_17);\n s.tmp_15 = r0;\n s.tmp_19 = game_BaseDialog_textAreaHeight__P963_mk(s);\n s.tmp_19.arg0 = s.arg0;\n s.pc = 4; return s.tmp_19;\n case 4:\n r0 = s.retval;\n s.tmp_18 = r0;\n r0 = (s.tmp_15 + s.tmp_18);\n s.tmp_14 = r0;\n r0 = (s.tmp_14 + 1);\n s.tmp_13 = r0;\n r0 = s.arg0.fields[\"cursor\"];\n s.tmp_22 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_22);\n s.tmp_21 = r0;\n r0 = (s.tmp_21 + 1);\n s.tmp_20 = r0;\n r0 = (s.tmp_13 - s.tmp_20);\n s.tmp_12 = r0;\n r0 = pxsim_ImageMethods.drawTransparentImage(s.tmp_0, s.tmp_1, s.tmp_2, s.tmp_12);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_BaseDialog_drawCursorRow__P956.info = {\"start\":1832,\"length\":479,\"line\":74,\"column\":8,\"endLine\":87,\"endColumn\":9,\"fileName\":\"pxt_modules/game/textDialogs.ts\",\"functionName\":\"drawCursorRow\",\"argumentNames\":[\"this\"]}\n\nfunction game_BaseDialog_drawCursorRow__P956_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_BaseDialog_drawCursorRow__P956, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n tmp_12: undefined,\n tmp_13: undefined,\n tmp_14: undefined,\n tmp_15: undefined,\n tmp_16: undefined,\n tmp_17: undefined,\n tmp_18: undefined,\n tmp_19: undefined,\n tmp_20: undefined,\n tmp_21: undefined,\n tmp_22: undefined,\n offset___4478: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_BaseDialog_textAreaHeight__P963(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_BaseDialog__C952_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"image\"];\n s.tmp_2 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_2);\n s.tmp_1 = r0;\n r0 = s.arg0.fields[\"innerTop\"];\n s.tmp_5 = r0;\n r0 = s.arg0.fields[\"unit\"];\n s.tmp_6 = r0;\n r0 = (s.tmp_5 + s.tmp_6);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 << 1);\n s.tmp_3 = r0;\n r0 = (s.tmp_1 - s.tmp_3);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 - 1);\n return leave(s, r0)\n default: oops()\n} } }\ngame_BaseDialog_textAreaHeight__P963.info = {\"start\":4240,\"length\":117,\"line\":148,\"column\":8,\"endLine\":150,\"endColumn\":9,\"fileName\":\"pxt_modules/game/textDialogs.ts\",\"functionName\":\"textAreaHeight\",\"argumentNames\":[\"this\"]}\n\nfunction game_BaseDialog_textAreaHeight__P963_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_BaseDialog_textAreaHeight__P963, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_BaseDialog_textAreaWidth__P962(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_BaseDialog__C952_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"image\"];\n s.tmp_2 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_2);\n s.tmp_1 = r0;\n r0 = s.arg0.fields[\"innerLeft\"];\n s.tmp_5 = r0;\n r0 = s.arg0.fields[\"unit\"];\n s.tmp_6 = r0;\n r0 = (s.tmp_5 + s.tmp_6);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 << 1);\n s.tmp_3 = r0;\n r0 = (s.tmp_1 - s.tmp_3);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 - 2);\n return leave(s, r0)\n default: oops()\n} } }\ngame_BaseDialog_textAreaWidth__P962.info = {\"start\":4114,\"length\":116,\"line\":144,\"column\":8,\"endLine\":146,\"endColumn\":9,\"fileName\":\"pxt_modules/game/textDialogs.ts\",\"functionName\":\"textAreaWidth\",\"argumentNames\":[\"this\"]}\n\nfunction game_BaseDialog_textAreaWidth__P962_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_BaseDialog_textAreaWidth__P962, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_BaseDialog_cursorRowHeight__P960(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_BaseDialog__C952_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"cursor\"];\n s.tmp_1 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_1);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 + 1);\n return leave(s, r0)\n default: oops()\n} } }\ngame_BaseDialog_cursorRowHeight__P960.info = {\"start\":3934,\"length\":82,\"line\":136,\"column\":8,\"endLine\":138,\"endColumn\":9,\"fileName\":\"pxt_modules/game/textDialogs.ts\",\"functionName\":\"cursorRowHeight\",\"argumentNames\":[\"this\"]}\n\nfunction game_BaseDialog_cursorRowHeight__P960_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_BaseDialog_cursorRowHeight__P960, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_GameOverDialog_displayCursor__P985(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_GameOverDialog__C983_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"cursorOn\"] = (true);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_GameOverDialog_displayCursor__P985.info = {\"start\":12623,\"length\":61,\"line\":372,\"column\":8,\"endLine\":374,\"endColumn\":9,\"fileName\":\"pxt_modules/game/textDialogs.ts\",\"functionName\":\"displayCursor\",\"argumentNames\":[\"this\"]}\n\nfunction game_GameOverDialog_displayCursor__P985_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_GameOverDialog_displayCursor__P985, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_setBackgroundImage__P937(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.scene___4829 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.scene___4829 = (r0);\n s.tmp_0 = scene_Background_image__P849_mk(s);\n r0 = s.scene___4829.fields[\"background\"];\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = s.arg0;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_setBackgroundImage__P937.info = {\"start\":1735,\"length\":135,\"line\":62,\"column\":4,\"endLine\":65,\"endColumn\":5,\"fileName\":\"pxt_modules/game/scenes.ts\",\"functionName\":\"setBackgroundImage\",\"argumentNames\":[\"img\"]}\n\nfunction scene_setBackgroundImage__P937_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_setBackgroundImage__P937, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n scene___4829: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_Background_image__P849(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Background__C846_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"_image\"] = (s.arg1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_Background_image__P849.info = {\"start\":1003,\"length\":68,\"line\":40,\"column\":8,\"endLine\":42,\"endColumn\":9,\"fileName\":\"pxt_modules/game/background.ts\",\"functionName\":\"image\",\"argumentNames\":[\"this\",\"image\"]}\n\nfunction scene_Background_image__P849_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Background_image__P849, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction scene_Background_image__P848(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Background__C846_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_image\"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_3 = r0 = s.arg0;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_5 = r0;\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n s.tmp_6 = r0;\n r0 = pxsim.image.create(s.tmp_5, s.tmp_6);\n s.tmp_4 = r0;\n r0 = (s.tmp_3).fields[\"_image\"] = (s.tmp_4);\n case 1:\n case 2:\n r0 = s.arg0.fields[\"_image\"];\n return leave(s, r0)\n default: oops()\n} } }\nscene_Background_image__P848.info = {\"start\":811,\"length\":174,\"line\":33,\"column\":8,\"endLine\":38,\"endColumn\":9,\"fileName\":\"pxt_modules/game/background.ts\",\"functionName\":\"image\",\"argumentNames\":[\"this\"]}\n\nfunction scene_Background_image__P848_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Background_image__P848, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_Scene_destroy__P928(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Scene__C923_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"eventContext\"] = (undefined);\n r0 = (s.arg0).fields[\"background\"] = (undefined);\n r0 = (s.arg0).fields[\"tileMap\"] = (undefined);\n r0 = (s.arg0).fields[\"allSprites\"] = (undefined);\n r0 = (s.arg0).fields[\"spriteNextId\"] = (undefined);\n r0 = (s.arg0).fields[\"spritesByKind\"] = (undefined);\n r0 = (s.arg0).fields[\"physicsEngine\"] = (undefined);\n r0 = (s.arg0).fields[\"camera\"] = (undefined);\n r0 = (s.arg0).fields[\"flags\"] = (undefined);\n r0 = (s.arg0).fields[\"destroyedHandlers\"] = (undefined);\n r0 = (s.arg0).fields[\"createdHandlers\"] = (undefined);\n r0 = (s.arg0).fields[\"overlapHandlers\"] = (undefined);\n r0 = (s.arg0).fields[\"collisionHandlers\"] = (undefined);\n r0 = (s.arg0).fields[\"gameForeverHandlers\"] = (undefined);\n r0 = (s.arg0).fields[\"_data\"] = (undefined);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_Scene_destroy__P928.info = {\"start\":5933,\"length\":662,\"line\":173,\"column\":8,\"endLine\":189,\"endColumn\":9,\"fileName\":\"pxt_modules/game/scene.ts\",\"functionName\":\"destroy\",\"argumentNames\":[\"this\"]}\n\nfunction scene_Scene_destroy__P928_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Scene_destroy__P928, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction info_highScore__P800(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_1 = settings_readNumber__P500_mk(s);\n s.tmp_1.arg0 = \"high-score\";\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = 0;\n case 2:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = s.tmp_2;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_highScore__P800.info = {\"start\":7111,\"length\":98,\"line\":241,\"column\":4,\"endLine\":243,\"endColumn\":5,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"highScore\",\"argumentNames\":[]}\n\nfunction info_highScore__P800_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_highScore__P800, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n} }\n\n\n\n\n\nfunction settings_readNumber__P500(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.buf___4044 = undefined;\n s.nums___4049 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim.settings._get(s.arg0);\n s.buf___4044 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.buf___4044);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = undefined;\n { step = 7; continue; }\n { step = 6; continue; }\n case 1:\n s.tmp_2 = msgpack_unpackNumberArray__P111_mk(s);\n s.tmp_2.arg0 = s.buf___4044;\n s.tmp_2.arg1 = 0;\n s.pc = 8; return s.tmp_2;\n case 8:\n r0 = s.retval;\n s.nums___4049 = (r0);\n s.tmp_0 = r0 = s.nums___4049;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 2; continue; }\n r0 = s.tmp_0;\n { step = 3; continue; }\n case 2:\n r0 = pxsim_Array__length(s.nums___4049);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 >= 1);\n case 3:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 4; continue; }\n r0 = pxsim_Array__getAt(s.nums___4049, 0);\n { step = 7; continue; }\n case 4:\n case 5:\n r0 = undefined;\n { step = 7; continue; }\n case 6:\n r0 = undefined;\n case 7:\n return leave(s, r0)\n default: oops()\n} } }\nsettings_readNumber__P500.info = {\"start\":2742,\"length\":313,\"line\":109,\"column\":4,\"endLine\":119,\"endColumn\":5,\"fileName\":\"pxt_modules/settings/settings.ts\",\"functionName\":\"readNumber\",\"argumentNames\":[\"key\"]}\n\nfunction settings_readNumber__P500_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: settings_readNumber__P500, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n buf___4044: undefined,\n nums___4049: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction settings_readBuffer__P498(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim.settings._get(s.arg0);\n return leave(s, r0)\n default: oops()\n} } }\nsettings_readBuffer__P498.info = {\"start\":2371,\"length\":72,\"line\":91,\"column\":4,\"endLine\":93,\"endColumn\":5,\"fileName\":\"pxt_modules/settings/settings.ts\",\"functionName\":\"readBuffer\",\"argumentNames\":[\"key\"]}\n\nfunction settings_readBuffer__P498_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: settings_readBuffer__P498, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction msgpack_unpackNumberArray__P111(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.res___4059 = undefined;\n s.fmt___4065 = undefined;\n s.v___4073 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_Array__mk();\n s.res___4059 = (r0);\n case 1:\n s.tmp_1 = r0 = s.arg1;\n r0 = pxsim.BufferMethods.length(s.arg0);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 10; continue; }\n s.tmp_3 = r0 = s.arg1;\n r0 = (s.tmp_3 + 1);\n s.arg1 = (r0);\n s.tmp_4 = msgpack_tagFormat__P109_mk(s);\n r0 = pxsim.BufferMethods.getByte(s.arg0, s.tmp_3);\n s.tmp_4.arg0 = r0;\n s.pc = 12; return s.tmp_4;\n case 12:\n r0 = s.retval;\n s.fmt___4065 = (r0);\n r0 = (s.fmt___4065 === null);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 6; continue; }\n s.tmp_1 = r0 = s.arg0;\n r0 = (s.arg1 - 1);\n s.tmp_2 = r0;\n r0 = pxsim.BufferMethods.getNumber(s.tmp_1, 6, s.tmp_2);\n s.v___4073 = (r0);\n r0 = (-31 <= s.v___4073);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 2; continue; }\n r0 = s.tmp_0;\n { step = 3; continue; }\n case 2:\n r0 = (s.v___4073 <= 127);\n case 3:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 4; continue; }\n r0 = pxsim_Array__push(s.res___4059, s.v___4073);\n { step = 5; continue; }\n case 4:\n r0 = null;\n { step = 11; continue; }\n case 5:\n { step = 7; continue; }\n case 6:\n s.tmp_0 = r0 = s.res___4059;\n r0 = pxsim.BufferMethods.getNumber(s.arg0, s.fmt___4065, s.arg1);\n s.tmp_1 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_1);\n s.tmp_0 = r0 = s.arg1;\n s.tmp_2 = pins_sizeOf__P100_mk(s);\n s.tmp_2.arg0 = s.fmt___4065;\n s.pc = 13; return s.tmp_2;\n case 13:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n s.arg1 = (r0);\n case 7:\n case 8:\n r0 = pxsim.BufferMethods.getByte(s.arg0, s.arg1);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 === 193);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 9; continue; }\n r0 = (s.arg1 + 1);\n s.arg1 = (r0);\n { step = 8; continue; }\n case 9:\n { step = 1; continue; }\n case 10:\n r0 = s.res___4059;\n case 11:\n return leave(s, r0)\n default: oops()\n} } }\nmsgpack_unpackNumberArray__P111.info = {\"start\":6107,\"length\":669,\"line\":193,\"column\":4,\"endLine\":213,\"endColumn\":5,\"fileName\":\"pxt_modules/base/buffer.ts\",\"functionName\":\"unpackNumberArray\",\"argumentNames\":[\"buf\",\"offset\"]}\n\nfunction msgpack_unpackNumberArray__P111_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: msgpack_unpackNumberArray__P111, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n res___4059: undefined,\n fmt___4065: undefined,\n v___4073: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction msgpack_tagFormat__P109(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_pxtcore.switch_eq(203, s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = pxsim_pxtcore.switch_eq(204, s.tmp_0);\n if (r0) { step = 2; continue; }\n r0 = pxsim_pxtcore.switch_eq(205, s.tmp_0);\n if (r0) { step = 3; continue; }\n r0 = pxsim_pxtcore.switch_eq(206, s.tmp_0);\n if (r0) { step = 4; continue; }\n r0 = pxsim_pxtcore.switch_eq(208, s.tmp_0);\n if (r0) { step = 5; continue; }\n r0 = pxsim_pxtcore.switch_eq(209, s.tmp_0);\n if (r0) { step = 6; continue; }\n r0 = pxsim_pxtcore.switch_eq(210, s.tmp_0);\n if (r0) { step = 7; continue; }\n r0 = s.tmp_0;\n { step = 8; continue; }\n case 1:\n r0 = 16;\n { step = 9; continue; }\n case 2:\n r0 = 7;\n { step = 9; continue; }\n case 3:\n r0 = 9;\n { step = 9; continue; }\n case 4:\n r0 = 12;\n { step = 9; continue; }\n case 5:\n r0 = 6;\n { step = 9; continue; }\n case 6:\n r0 = 8;\n { step = 9; continue; }\n case 7:\n r0 = 10;\n { step = 9; continue; }\n case 8:\n r0 = null;\n { step = 9; continue; }\n r0 = undefined;\n case 9:\n return leave(s, r0)\n default: oops()\n} } }\nmsgpack_tagFormat__P109.info = {\"start\":4602,\"length\":481,\"line\":144,\"column\":4,\"endLine\":156,\"endColumn\":5,\"fileName\":\"pxt_modules/base/buffer.ts\",\"functionName\":\"tagFormat\",\"argumentNames\":[\"tag\"]}\n\nfunction msgpack_tagFormat__P109_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: msgpack_tagFormat__P109, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction pins_sizeOf__P100(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_pxtcore.switch_eq(1, s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = pxsim_pxtcore.switch_eq(2, s.tmp_0);\n if (r0) { step = 2; continue; }\n r0 = pxsim_pxtcore.switch_eq(6, s.tmp_0);\n if (r0) { step = 3; continue; }\n r0 = pxsim_pxtcore.switch_eq(7, s.tmp_0);\n if (r0) { step = 4; continue; }\n r0 = pxsim_pxtcore.switch_eq(3, s.tmp_0);\n if (r0) { step = 5; continue; }\n r0 = pxsim_pxtcore.switch_eq(4, s.tmp_0);\n if (r0) { step = 6; continue; }\n r0 = pxsim_pxtcore.switch_eq(8, s.tmp_0);\n if (r0) { step = 7; continue; }\n r0 = pxsim_pxtcore.switch_eq(9, s.tmp_0);\n if (r0) { step = 8; continue; }\n r0 = pxsim_pxtcore.switch_eq(5, s.tmp_0);\n if (r0) { step = 9; continue; }\n r0 = pxsim_pxtcore.switch_eq(10, s.tmp_0);\n if (r0) { step = 10; continue; }\n r0 = pxsim_pxtcore.switch_eq(12, s.tmp_0);\n if (r0) { step = 11; continue; }\n r0 = pxsim_pxtcore.switch_eq(11, s.tmp_0);\n if (r0) { step = 12; continue; }\n r0 = pxsim_pxtcore.switch_eq(15, s.tmp_0);\n if (r0) { step = 13; continue; }\n r0 = pxsim_pxtcore.switch_eq(13, s.tmp_0);\n if (r0) { step = 14; continue; }\n r0 = pxsim_pxtcore.switch_eq(16, s.tmp_0);\n if (r0) { step = 15; continue; }\n r0 = pxsim_pxtcore.switch_eq(14, s.tmp_0);\n if (r0) { step = 16; continue; }\n r0 = s.tmp_0;\n { step = 17; continue; }\n case 1:\n case 2:\n case 3:\n case 4:\n r0 = 1;\n { step = 18; continue; }\n case 5:\n case 6:\n case 7:\n case 8:\n r0 = 2;\n { step = 18; continue; }\n case 9:\n case 10:\n case 11:\n case 12:\n case 13:\n case 14:\n r0 = 4;\n { step = 18; continue; }\n case 15:\n case 16:\n r0 = 8;\n { step = 18; continue; }\n case 17:\n r0 = 0;\n case 18:\n return leave(s, r0)\n default: oops()\n} } }\npins_sizeOf__P100.info = {\"start\":102,\"length\":844,\"line\":5,\"column\":4,\"endLine\":29,\"endColumn\":5,\"fileName\":\"pxt_modules/base/buffer.ts\",\"functionName\":\"sizeOf\",\"argumentNames\":[\"format\"]}\n\nfunction pins_sizeOf__P100_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: pins_sizeOf__P100, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction info_saveHighScore__P797(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.hs___3879 = undefined;\n s.curr___3895 = undefined;\n r0 = pxsim_numops_toBoolDecr(globals.players___746);\n if (!r0) { step = 5; continue; }\n r0 = pxsim_pxtrt.mklocRef();\n s.hs___3879 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.hs___3879, 0);\n r0 = pxsim_pxtcore_mkAction(1, inline__P3888);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.hs___3879);\n s.tmp_1 = helpers_arrayForEach__P47_mk(s);\n s.tmp_2 = helpers_arrayFilter__P48_mk(s);\n s.tmp_2.arg0 = globals.players___746;\n s.tmp_2.arg1 = inline__P3883;\n s.pc = 8; return s.tmp_2;\n case 8:\n r0 = s.retval;\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = s.tmp_0;\n s.pc = 7; return s.tmp_1;\n case 7:\n r0 = s.retval;\n s.tmp_0 = settings_readNumber__P500_mk(s);\n s.tmp_0.arg0 = \"high-score\";\n s.pc = 9; return s.tmp_0;\n case 9:\n r0 = s.retval;\n s.curr___3895 = (r0);\n r0 = (s.curr___3895 == null);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = pxsim_pxtrt_ldlocRef(s.hs___3879);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > s.curr___3895);\n case 2:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 3; continue; }\n s.tmp_3 = settings_writeNumber__P496_mk(s);\n s.tmp_3.arg0 = \"high-score\";\n r0 = pxsim_pxtrt_ldlocRef(s.hs___3879);\n s.tmp_3.arg1 = r0;\n s.pc = 10; return s.tmp_3;\n case 10:\n r0 = s.retval;\n case 3:\n case 4:\n case 5:\n case 6:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_saveHighScore__P797.info = {\"start\":6212,\"length\":383,\"line\":205,\"column\":4,\"endLine\":215,\"endColumn\":5,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"saveHighScore\",\"argumentNames\":[]}\n\nfunction info_saveHighScore__P797_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_saveHighScore__P797, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n hs___3879: undefined,\n curr___3895: undefined,\n} }\n\n\n\n\n\nfunction inline__P3883(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n s.tmp_1 = info_PlayerInfo_hasScore__P830_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n case 2:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = s.tmp_2;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P3883.info = {\"start\":6337,\"length\":22,\"line\":209,\"column\":24,\"endLine\":209,\"endColumn\":46,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"p\"]}\n\nfunction inline__P3883_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P3883, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P3888(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = r0 = s.caps[0];\n s.tmp_2 = Math_max__P61_mk(s);\n r0 = pxsim_pxtrt_ldlocRef(s.caps[0]);\n s.tmp_2.arg0 = r0;\n s.tmp_3 = info_PlayerInfo_score__P827_mk(s);\n s.tmp_3.arg0 = s.arg0;\n s.pc = 2; return s.tmp_3;\n case 2:\n r0 = s.retval;\n s.tmp_2.arg1 = r0;\n s.pc = 1; return s.tmp_2;\n case 1:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1);\n r0 = s.tmp_1;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P3888.info = {\"start\":6386,\"length\":33,\"line\":210,\"column\":25,\"endLine\":210,\"endColumn\":58,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"p\"]}\n\nfunction inline__P3888_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P3888, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction settings_writeNumber__P496(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_Array__mk();\n s.tmp_0 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.arg1);\n s.tmp_1 = settings_writeBuffer__P494_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.tmp_2 = msgpack_packNumberArray__P112_mk(s);\n s.tmp_2.arg0 = s.tmp_0;\n s.pc = 2; return s.tmp_2;\n case 2:\n r0 = s.retval;\n s.tmp_1.arg1 = r0;\n s.pc = 1; return s.tmp_1;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsettings_writeNumber__P496.info = {\"start\":1942,\"length\":122,\"line\":77,\"column\":4,\"endLine\":79,\"endColumn\":5,\"fileName\":\"pxt_modules/settings/settings.ts\",\"functionName\":\"writeNumber\",\"argumentNames\":[\"key\",\"value\"]}\n\nfunction settings_writeNumber__P496_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: settings_writeNumber__P496, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction settings_writeBuffer__P494(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim.settings._set(s.arg0, s.arg1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim.settings._userClean();\n r0 = pxsim_pxtrt.panic(920);\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsettings_writeBuffer__P494.info = {\"start\":1393,\"length\":290,\"line\":58,\"column\":4,\"endLine\":65,\"endColumn\":5,\"fileName\":\"pxt_modules/settings/settings.ts\",\"functionName\":\"writeBuffer\",\"argumentNames\":[\"key\",\"value\"]}\n\nfunction settings_writeBuffer__P494_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: settings_writeBuffer__P494, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction msgpack_packNumberArray__P112(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.off___3912 = undefined;\n s.n___3914 = undefined;\n s.unnamed40___U2 = undefined;\n s.unnamed41___U3 = undefined;\n s.buf___3923 = undefined;\n s.n___3929 = undefined;\n s.unnamed42___U6 = undefined;\n s.unnamed43___U7 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.off___3912 = (0);\n s.n___3914 = (undefined);\n s.n___3914 = (undefined);\n s.unnamed40___U2 = (s.arg0);\n s.unnamed41___U3 = (0);\n case 1:\n s.tmp_0 = r0 = s.unnamed41___U3;\n r0 = pxsim_Array__length(s.unnamed40___U2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 2; continue; }\n r0 = pxsim_Array__getAt(s.unnamed40___U2, s.unnamed41___U3);\n s.n___3914 = (r0);\n s.tmp_2 = r0 = s.off___3912;\n s.tmp_4 = msgpack_packNumberCore__P110_mk(s);\n s.tmp_4.arg0 = null;\n s.tmp_4.arg1 = s.off___3912;\n s.tmp_4.arg2 = s.n___3914;\n s.pc = 5; return s.tmp_4;\n case 5:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_2 + s.tmp_3);\n s.off___3912 = (r0);\n r0 = (s.unnamed41___U3 + 1);\n s.unnamed41___U3 = (r0);\n { step = 1; continue; }\n case 2:\n s.unnamed40___U2 = (undefined);\n r0 = pxsim.control.createBuffer(s.off___3912);\n s.buf___3923 = (r0);\n s.off___3912 = (0);\n s.n___3929 = (undefined);\n s.n___3929 = (undefined);\n s.unnamed42___U6 = (s.arg0);\n s.unnamed43___U7 = (0);\n case 3:\n s.tmp_0 = r0 = s.unnamed43___U7;\n r0 = pxsim_Array__length(s.unnamed42___U6);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 4; continue; }\n r0 = pxsim_Array__getAt(s.unnamed42___U6, s.unnamed43___U7);\n s.n___3929 = (r0);\n s.tmp_2 = r0 = s.off___3912;\n s.tmp_4 = msgpack_packNumberCore__P110_mk(s);\n s.tmp_4.arg0 = s.buf___3923;\n s.tmp_4.arg1 = s.off___3912;\n s.tmp_4.arg2 = s.n___3929;\n s.pc = 6; return s.tmp_4;\n case 6:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_2 + s.tmp_3);\n s.off___3912 = (r0);\n r0 = (s.unnamed43___U7 + 1);\n s.unnamed43___U7 = (r0);\n { step = 3; continue; }\n case 4:\n s.unnamed42___U6 = (undefined);\n r0 = s.buf___3923;\n return leave(s, r0)\n default: oops()\n} } }\nmsgpack_packNumberArray__P112.info = {\"start\":6884,\"length\":337,\"line\":219,\"column\":4,\"endLine\":230,\"endColumn\":5,\"fileName\":\"pxt_modules/base/buffer.ts\",\"functionName\":\"packNumberArray\",\"argumentNames\":[\"nums\"]}\n\nfunction msgpack_packNumberArray__P112_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: msgpack_packNumberArray__P112, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n off___3912: undefined,\n n___3914: undefined,\n unnamed40___U2: undefined,\n unnamed41___U3: undefined,\n buf___3923: undefined,\n n___3929: undefined,\n unnamed42___U6: undefined,\n unnamed43___U7: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction msgpack_packNumberCore__P110(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tag___3942 = undefined;\n s.fmt___3970 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n s.tag___3942 = (203);\n s.tmp_1 = r0 = s.arg2;\n r0 = (s.arg2 << 0);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 == s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n s.tmp_3 = r0 = s.arg2;\n r0 = (s.arg2 >>> 0);\n s.tmp_4 = r0;\n r0 = (s.tmp_3 == s.tmp_4);\n case 2:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_5);\n if (!r0) { step = 19; continue; }\n r0 = (-31 <= s.arg2);\n s.tmp_6 = r0;\n r0 = pxsim_numops_toBool(s.tmp_6);\n if (r0) { step = 3; continue; }\n r0 = s.tmp_6;\n { step = 4; continue; }\n case 3:\n r0 = (s.arg2 <= 127);\n case 4:\n // jmp value (already in r0)\n s.tmp_7 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_7);\n if (!r0) { step = 7; continue; }\n r0 = pxsim_numops_toBoolDecr(s.arg0);\n if (!r0) { step = 5; continue; }\n r0 = pxsim.BufferMethods.setByte(s.arg0, s.arg1, s.arg2);\n case 5:\n case 6:\n r0 = 1;\n { step = 23; continue; }\n { step = 18; continue; }\n case 7:\n r0 = (0 <= s.arg2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 12; continue; }\n r0 = (s.arg2 <= 255);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 8; continue; }\n s.tag___3942 = (204);\n { step = 11; continue; }\n case 8:\n r0 = (s.arg2 <= 65535);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 9; continue; }\n s.tag___3942 = (205);\n { step = 10; continue; }\n case 9:\n s.tag___3942 = (206);\n case 10:\n case 11:\n { step = 17; continue; }\n case 12:\n r0 = (-127 <= s.arg2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 13; continue; }\n s.tag___3942 = (208);\n { step = 16; continue; }\n case 13:\n r0 = (-32767 <= s.arg2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 14; continue; }\n s.tag___3942 = (209);\n { step = 15; continue; }\n case 14:\n s.tag___3942 = (210);\n case 15:\n case 16:\n case 17:\n case 18:\n case 19:\n case 20:\n s.tmp_0 = msgpack_tagFormat__P109_mk(s);\n s.tmp_0.arg0 = s.tag___3942;\n s.pc = 24; return s.tmp_0;\n case 24:\n r0 = s.retval;\n s.fmt___3970 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.arg0);\n if (!r0) { step = 21; continue; }\n r0 = pxsim.BufferMethods.setByte(s.arg0, s.arg1, s.tag___3942);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_1 = r0 = s.fmt___3970;\n r0 = (s.arg1 + 1);\n s.tmp_2 = r0;\n r0 = pxsim.BufferMethods.setNumber(s.tmp_0, s.tmp_1, s.tmp_2, s.arg2);\n case 21:\n case 22:\n s.tmp_1 = pins_sizeOf__P100_mk(s);\n s.tmp_1.arg0 = s.fmt___3970;\n s.pc = 25; return s.tmp_1;\n case 25:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = (s.tmp_0 + 1);\n case 23:\n return leave(s, r0)\n default: oops()\n} } }\nmsgpack_packNumberCore__P110.info = {\"start\":5089,\"length\":951,\"line\":158,\"column\":4,\"endLine\":188,\"endColumn\":5,\"fileName\":\"pxt_modules/base/buffer.ts\",\"functionName\":\"packNumberCore\",\"argumentNames\":[\"buf\",\"offset\",\"num\"]}\n\nfunction msgpack_packNumberCore__P110_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: msgpack_packNumberCore__P110, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tag___3942: undefined,\n fmt___3970: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction music_Melody_play__P357(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, music_Melody__C349_VT)) failedCast(r0);\n s.tmp_0 = music_Melody_playCore__P355_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.tmp_0.arg2 = false;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nmusic_Melody_play__P357.info = {\"start\":8825,\"length\":71,\"line\":277,\"column\":8,\"endLine\":279,\"endColumn\":9,\"fileName\":\"pxt_modules/mixer/melody.ts\",\"functionName\":\"play\",\"argumentNames\":[\"this\",\"volume\"]}\n\nfunction music_Melody_play__P357_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_Melody_play__P357, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction music_Melody_playCore__P355(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.p___3352 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, music_Melody__C349_VT)) failedCast(r0);\n s.tmp_0 = music_Melody_stop__P352_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkClassInstance(music_MelodyPlayer__C363_VT);\n s.tmp_0 = r0;\n s.tmp_1 = music_MelodyPlayer_constructor__P366_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = s.arg0;\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n r0 = (s.arg0).fields[\"_player\"] = (s.tmp_0);\n s.p___3352 = (s.tmp_0);\n s.tmp_0 = music_Melody_registerMelody__P353_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkAction(4, inline__P3361);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.p___3352);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 2, s.arg1);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 3, s.arg2);\n r0 = pxsim.control.runInParallel(s.tmp_0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nmusic_Melody_playCore__P355.info = {\"start\":7649,\"length\":434,\"line\":241,\"column\":8,\"endLine\":253,\"endColumn\":9,\"fileName\":\"pxt_modules/mixer/melody.ts\",\"functionName\":\"playCore\",\"argumentNames\":[\"this\",\"volume\",\"loop\"]}\n\nfunction music_Melody_playCore__P355_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_Melody_playCore__P355, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n p___3352: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction inline__P3361(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n case 1:\n r0 = s.caps[0].fields[\"_player\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 == s.caps[1]);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 4; continue; }\n s.tmp_2 = music_MelodyPlayer_play__P365_mk(s);\n s.tmp_2.arg0 = s.caps[1];\n s.tmp_2.arg1 = s.caps[2];\n s.pc = 5; return s.tmp_2;\n case 5:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(s.caps[3]);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n { step = 4; continue; }\n case 2:\n case 3:\n { step = 1; continue; }\n case 4:\n s.tmp_2 = music_Melody_unregisterMelody__P354_mk(s);\n s.tmp_2.arg0 = s.caps[0];\n s.pc = 6; return s.tmp_2;\n case 6:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P3361.info = {\"start\":7852,\"length\":220,\"line\":245,\"column\":34,\"endLine\":252,\"endColumn\":13,\"fileName\":\"pxt_modules/mixer/melody.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P3361_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P3361, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n} }\n\n\n\n\n\nfunction music_MelodyPlayer_constructor__P366(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, music_MelodyPlayer__C363_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"melody\"] = (s.arg1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nmusic_MelodyPlayer_constructor__P366.info = {\"start\":10674,\"length\":62,\"line\":328,\"column\":8,\"endLine\":330,\"endColumn\":9,\"fileName\":\"pxt_modules/mixer/melody.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"m\"]}\n\nfunction music_MelodyPlayer_constructor__P366_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_MelodyPlayer_constructor__P366, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction music_MelodyPlayer_play__P365(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.notes___3385 = undefined;\n s.pos___3389 = undefined;\n s.duration___3390 = undefined;\n s.octave___3391 = undefined;\n s.tempo___3392 = undefined;\n s.hz___3393 = undefined;\n s.endHz___3394 = undefined;\n s.ms___3396 = undefined;\n s.timePos___3397 = undefined;\n s.startTime___3398 = undefined;\n s.now___3401 = undefined;\n s.envA___3402 = undefined;\n s.envD___3403 = undefined;\n s.envS___3404 = undefined;\n s.envR___3405 = undefined;\n s.soundWave___3406 = undefined;\n s.sndInstr___3407 = undefined;\n s.sndInstrPtr___3411 = undefined;\n s.addForm___3412 = undefined;\n s.scanNextWord___3461 = undefined;\n s.token___3505 = undefined;\n s.tokenKind___3506 = undefined;\n s.consumeToken___3509 = undefined;\n s.currNote___3580 = undefined;\n s.prevNote___3582 = undefined;\n s.timeLeft___3584 = undefined;\n s.note___3597 = undefined;\n s.i___3601 = undefined;\n s.noteChar___3606 = undefined;\n s.keyNumber___3678 = undefined;\n s.currMs___3688 = undefined;\n s.beat___3691 = undefined;\n s.timeLeft___3738 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, music_MelodyPlayer__C363_VT)) failedCast(r0);\n r0 = pxsim_pxtrt.mklocRef();\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.arg1);\n s.arg1 = (s.tmp_0);\n r0 = s.arg0.fields[\"melody\"];\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 1; continue; }\n { step = 59; continue; }\n case 1:\n case 2:\n s.tmp_4 = r0 = s.arg1;\n s.tmp_6 = Math_clamp__P58_mk(s);\n s.tmp_6.arg0 = 0;\n s.tmp_6.arg1 = 255;\n r0 = pxsim_pxtrt_ldlocRef(s.arg1);\n s.tmp_8 = r0;\n s.tmp_10 = music_volume__P342_mk(s);\n s.pc = 61; return s.tmp_10;\n case 61:\n r0 = s.retval;\n s.tmp_9 = r0;\n r0 = (s.tmp_8 * s.tmp_9);\n s.tmp_7 = r0;\n r0 = (s.tmp_7 >> 8);\n s.tmp_6.arg2 = r0;\n s.pc = 60; return s.tmp_6;\n case 60:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_4, s.tmp_5);\n r0 = s.arg0.fields[\"melody\"];\n r0 = r0.fields[\"_text\"];\n s.notes___3385 = (r0);\n r0 = pxsim_pxtrt.mklocRef();\n s.pos___3389 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.pos___3389, 0);\n r0 = pxsim_pxtrt.mklocRef();\n s.duration___3390 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.duration___3390, 4);\n r0 = pxsim_pxtrt.mklocRef();\n s.octave___3391 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.octave___3391, 4);\n r0 = pxsim_pxtrt.mklocRef();\n s.tempo___3392 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.tempo___3392, 120);\n r0 = pxsim_pxtrt.mklocRef();\n s.hz___3393 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.hz___3393, 0);\n r0 = pxsim_pxtrt.mklocRef();\n s.endHz___3394 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.endHz___3394, -1);\n r0 = pxsim_pxtrt.mklocRef();\n s.ms___3396 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.ms___3396, 0);\n s.timePos___3397 = (0);\n r0 = pxsim.control.millis();\n s.startTime___3398 = (r0);\n s.now___3401 = (0);\n r0 = pxsim_pxtrt.mklocRef();\n s.envA___3402 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.envA___3402, 0);\n r0 = pxsim_pxtrt.mklocRef();\n s.envD___3403 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.envD___3403, 0);\n r0 = pxsim_pxtrt.mklocRef();\n s.envS___3404 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.envS___3404, 255);\n r0 = pxsim_pxtrt.mklocRef();\n s.envR___3405 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.envR___3405, 0);\n r0 = pxsim_pxtrt.mklocRef();\n s.soundWave___3406 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.soundWave___3406, 1);\n r0 = (5 * 12);\n s.tmp_0 = r0;\n r0 = pxsim.control.createBuffer(s.tmp_0);\n s.sndInstr___3407 = (r0);\n r0 = pxsim_pxtrt.mklocRef();\n s.sndInstrPtr___3411 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.sndInstrPtr___3411, 0);\n r0 = pxsim_pxtcore_mkAction(10, inline__P3413);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.hz___3393);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.endHz___3394);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 2, s.ms___3396);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 3, s.duration___3390);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 4, s.tempo___3392);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 5, s.envR___3405);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 6, s.sndInstrPtr___3411);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 7, s.sndInstr___3407);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 8, s.soundWave___3406);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 9, s.arg1);\n s.addForm___3412 = (s.tmp_0);\n r0 = pxsim_pxtcore_mkAction(3, inline__P3462);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.pos___3389);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 2, s.notes___3385);\n s.scanNextWord___3461 = (s.tmp_0);\n r0 = pxsim_pxtrt.mklocRef();\n s.token___3505 = (r0);\n s.tmp_0 = r0 = s.token___3505;\n r0 = pxsim_String_.mkEmpty();\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1);\n r0 = pxsim_pxtrt.mklocRef();\n s.tokenKind___3506 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.tokenKind___3506, 0);\n r0 = pxsim_pxtcore_mkAction(13, inline__P3510);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.token___3505);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.tokenKind___3506);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 2, s.octave___3391);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 3, s.duration___3390);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 4, s.ms___3396);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 5, s.tempo___3392);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 6, s.hz___3393);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 7, s.soundWave___3406);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 8, s.envA___3402);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 9, s.envD___3403);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 10, s.envS___3404);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 11, s.envR___3405);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 12, s.endHz___3394);\n s.consumeToken___3509 = (s.tmp_0);\n case 3:\n r0 = pxsim_numops_toBoolDecr(true);\n if (!r0) { step = 58; continue; }\n s.tmp_0 = lambda_1_mk(s);\n s.tmp_0.argL = s.scanNextWord___3461;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 62; return s.tmp_0;\n case 62:\n r0 = s.retval;\n s.currNote___3580 = (r0);\n s.prevNote___3582 = (false);\n r0 = pxsim_numops_toBoolDecr(s.currNote___3580);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 8; continue; }\n r0 = (s.timePos___3397 - s.now___3401);\n s.timeLeft___3584 = (r0);\n r0 = (s.timeLeft___3584 > 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 4; continue; }\n s.tmp_1 = pause__P241_mk(s);\n s.tmp_1.arg0 = s.timeLeft___3584;\n s.pc = 63; return s.tmp_1;\n case 63:\n r0 = s.retval;\n case 4:\n case 5:\n r0 = s.arg0.fields[\"onPlayFinished\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 6; continue; }\n s.tmp_1 = lambda_1_mk(s);\n r0 = s.arg0.fields[\"onPlayFinished\"];\n s.tmp_1.argL = r0;\n setupLambda(s.tmp_1, s.tmp_1.argL);\n s.pc = 64; return s.tmp_1;\n case 64:\n r0 = s.retval;\n case 6:\n case 7:\n { step = 59; continue; }\n case 8:\n case 9:\n r0 = pxsim_pxtrt_stlocRef(s.hz___3393, -1);\n s.note___3597 = (0);\n s.tmp_0 = r0 = s.token___3505;\n r0 = pxsim_String_.mkEmpty();\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1);\n r0 = pxsim_pxtrt_stlocRef(s.tokenKind___3506, 0);\n s.i___3601 = (0);\n case 10:\n s.tmp_1 = r0 = s.i___3601;\n r0 = pxsim_String_.length(s.currNote___3580);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 41; continue; }\n r0 = pxsim_String_.charAt(s.currNote___3580, s.i___3601);\n s.noteChar___3606 = (r0);\n s.tmp_0 = r0 = s.noteChar___3606;\n r0 = pxsim_pxtcore.switch_eq(\"c\", s.tmp_0);\n if (r0) { step = 11; continue; }\n r0 = pxsim_pxtcore.switch_eq(\"C\", s.tmp_0);\n if (r0) { step = 12; continue; }\n r0 = pxsim_pxtcore.switch_eq(\"d\", s.tmp_0);\n if (r0) { step = 13; continue; }\n r0 = pxsim_pxtcore.switch_eq(\"D\", s.tmp_0);\n if (r0) { step = 14; continue; }\n r0 = pxsim_pxtcore.switch_eq(\"e\", s.tmp_0);\n if (r0) { step = 15; continue; }\n r0 = pxsim_pxtcore.switch_eq(\"E\", s.tmp_0);\n if (r0) { step = 16; continue; }\n r0 = pxsim_pxtcore.switch_eq(\"f\", s.tmp_0);\n if (r0) { step = 17; continue; }\n r0 = pxsim_pxtcore.switch_eq(\"F\", s.tmp_0);\n if (r0) { step = 18; continue; }\n r0 = pxsim_pxtcore.switch_eq(\"g\", s.tmp_0);\n if (r0) { step = 19; continue; }\n r0 = pxsim_pxtcore.switch_eq(\"G\", s.tmp_0);\n if (r0) { step = 20; continue; }\n r0 = pxsim_pxtcore.switch_eq(\"a\", s.tmp_0);\n if (r0) { step = 21; continue; }\n r0 = pxsim_pxtcore.switch_eq(\"A\", s.tmp_0);\n if (r0) { step = 22; continue; }\n r0 = pxsim_pxtcore.switch_eq(\"B\", s.tmp_0);\n if (r0) { step = 23; continue; }\n r0 = pxsim_pxtcore.switch_eq(\"r\", s.tmp_0);\n if (r0) { step = 24; continue; }\n r0 = pxsim_pxtcore.switch_eq(\"R\", s.tmp_0);\n if (r0) { step = 25; continue; }\n r0 = pxsim_pxtcore.switch_eq(\"#\", s.tmp_0);\n if (r0) { step = 26; continue; }\n r0 = pxsim_pxtcore.switch_eq(\"b\", s.tmp_0);\n if (r0) { step = 27; continue; }\n r0 = pxsim_pxtcore.switch_eq(\",\", s.tmp_0);\n if (r0) { step = 30; continue; }\n r0 = pxsim_pxtcore.switch_eq(\"!\", s.tmp_0);\n if (r0) { step = 31; continue; }\n r0 = pxsim_pxtcore.switch_eq(\"@\", s.tmp_0);\n if (r0) { step = 32; continue; }\n r0 = pxsim_pxtcore.switch_eq(\"~\", s.tmp_0);\n if (r0) { step = 33; continue; }\n r0 = pxsim_pxtcore.switch_eq(\":\", s.tmp_0);\n if (r0) { step = 34; continue; }\n r0 = pxsim_pxtcore.switch_eq(\"-\", s.tmp_0);\n if (r0) { step = 35; continue; }\n r0 = pxsim_pxtcore.switch_eq(\"^\", s.tmp_0);\n if (r0) { step = 36; continue; }\n r0 = s.tmp_0;\n { step = 37; continue; }\n case 11:\n case 12:\n s.note___3597 = (1);\n s.prevNote___3582 = (true);\n { step = 40; continue; }\n case 13:\n case 14:\n s.note___3597 = (3);\n s.prevNote___3582 = (true);\n { step = 40; continue; }\n case 15:\n case 16:\n s.note___3597 = (5);\n s.prevNote___3582 = (true);\n { step = 40; continue; }\n case 17:\n case 18:\n s.note___3597 = (6);\n s.prevNote___3582 = (true);\n { step = 40; continue; }\n case 19:\n case 20:\n s.note___3597 = (8);\n s.prevNote___3582 = (true);\n { step = 40; continue; }\n case 21:\n case 22:\n s.note___3597 = (10);\n s.prevNote___3582 = (true);\n { step = 40; continue; }\n case 23:\n s.note___3597 = (12);\n s.prevNote___3582 = (true);\n { step = 40; continue; }\n case 24:\n case 25:\n r0 = pxsim_pxtrt_stlocRef(s.hz___3393, 0);\n s.prevNote___3582 = (false);\n { step = 40; continue; }\n case 26:\n r0 = (s.note___3597 + 1);\n s.note___3597 = (r0);\n s.prevNote___3582 = (false);\n { step = 40; continue; }\n case 27:\n r0 = pxsim_numops_toBoolDecr(s.prevNote___3582);\n if (!r0) { step = 28; continue; }\n r0 = (s.note___3597 - 1);\n s.note___3597 = (r0);\n { step = 29; continue; }\n case 28:\n s.note___3597 = (12);\n s.prevNote___3582 = (true);\n case 29:\n { step = 40; continue; }\n case 30:\n s.tmp_0 = lambda_1_mk(s);\n s.tmp_0.argL = s.consumeToken___3509;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 65; return s.tmp_0;\n case 65:\n r0 = s.retval;\n s.prevNote___3582 = (false);\n { step = 40; continue; }\n case 31:\n r0 = pxsim_pxtrt_stlocRef(s.tokenKind___3506, 4);\n s.prevNote___3582 = (false);\n { step = 40; continue; }\n case 32:\n s.tmp_0 = lambda_1_mk(s);\n s.tmp_0.argL = s.consumeToken___3509;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 66; return s.tmp_0;\n case 66:\n r0 = s.retval;\n r0 = pxsim_pxtrt_stlocRef(s.tokenKind___3506, 8);\n s.prevNote___3582 = (false);\n { step = 40; continue; }\n case 33:\n s.tmp_0 = lambda_1_mk(s);\n s.tmp_0.argL = s.consumeToken___3509;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 67; return s.tmp_0;\n case 67:\n r0 = s.retval;\n r0 = pxsim_pxtrt_stlocRef(s.tokenKind___3506, 7);\n s.prevNote___3582 = (false);\n { step = 40; continue; }\n case 34:\n s.tmp_0 = lambda_1_mk(s);\n s.tmp_0.argL = s.consumeToken___3509;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 68; return s.tmp_0;\n case 68:\n r0 = s.retval;\n r0 = pxsim_pxtrt_stlocRef(s.tokenKind___3506, 2);\n s.prevNote___3582 = (false);\n { step = 40; continue; }\n case 35:\n s.tmp_0 = lambda_1_mk(s);\n s.tmp_0.argL = s.consumeToken___3509;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 69; return s.tmp_0;\n case 69:\n r0 = s.retval;\n r0 = pxsim_pxtrt_stlocRef(s.tokenKind___3506, 3);\n s.prevNote___3582 = (false);\n { step = 40; continue; }\n case 36:\n s.tmp_0 = lambda_1_mk(s);\n s.tmp_0.argL = s.consumeToken___3509;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 70; return s.tmp_0;\n case 70:\n r0 = s.retval;\n r0 = pxsim_pxtrt_stlocRef(s.tokenKind___3506, 5);\n { step = 40; continue; }\n case 37:\n r0 = pxsim_pxtrt_ldlocRef(s.tokenKind___3506);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 == 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 38; continue; }\n r0 = pxsim_pxtrt_stlocRef(s.tokenKind___3506, 1);\n case 38:\n case 39:\n s.tmp_0 = r0 = s.token___3505;\n r0 = pxsim_pxtrt_ldlocRef(s.token___3505);\n s.tmp_3 = r0;\n if ((s.tmp_3) && (s.tmp_3).vtable) {\n setupResume(s, 71);\n pxsim_String__stringConv(s.tmp_3);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_3) + \"\"; }\n case 71:\n r0 = s.retval;\n s.tmp_2 = r0;\n if ((s.noteChar___3606) && (s.noteChar___3606).vtable) {\n setupResume(s, 72);\n pxsim_String__stringConv(s.noteChar___3606);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.noteChar___3606) + \"\"; }\n case 72:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = pxsim_String__concat(s.tmp_2, s.tmp_4);\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1);\n s.prevNote___3582 = (false);\n case 40:\n r0 = (s.i___3601 + 1);\n s.i___3601 = (r0);\n { step = 10; continue; }\n case 41:\n s.tmp_0 = lambda_1_mk(s);\n s.tmp_0.argL = s.consumeToken___3509;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 73; return s.tmp_0;\n case 73:\n r0 = s.retval;\n s.tmp_0 = r0 = s.note___3597;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 42; continue; }\n r0 = s.tmp_0;\n { step = 43; continue; }\n case 42:\n r0 = pxsim_pxtrt_ldlocRef(s.hz___3393);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 < 0);\n case 43:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 46; continue; }\n s.tmp_3 = r0 = s.note___3597;\n r0 = pxsim_pxtrt_ldlocRef(s.octave___3391);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 - 1);\n s.tmp_5 = r0;\n r0 = (12 * s.tmp_5);\n s.tmp_4 = r0;\n r0 = (s.tmp_3 + s.tmp_4);\n s.keyNumber___3678 = (r0);\n s.tmp_1 = r0 = globals.freqs___333;\n r0 = (s.keyNumber___3678 * 2);\n s.tmp_2 = r0;\n r0 = pxsim.BufferMethods.getNumber(s.tmp_1, 4, s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 44; continue; }\n r0 = s.tmp_0;\n { step = 45; continue; }\n case 44:\n r0 = 0;\n case 45:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.hz___3393, s.tmp_3);\n case 46:\n case 47:\n r0 = pxsim_pxtrt_ldlocRef(s.ms___3396);\n s.currMs___3688 = (r0);\n r0 = (s.currMs___3688 <= 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 48; continue; }\n r0 = pxsim_pxtrt_ldlocRef(s.tempo___3392);\n s.tmp_1 = r0;\n r0 = pxsim.Math_.idiv(15000, s.tmp_1);\n s.beat___3691 = (r0);\n r0 = pxsim_pxtrt_ldlocRef(s.duration___3390);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 * s.beat___3691);\n s.currMs___3688 = (r0);\n case 48:\n case 49:\n r0 = pxsim_pxtrt_ldlocRef(s.hz___3393);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 50; continue; }\n { step = 55; continue; }\n case 50:\n r0 = pxsim_pxtrt_ldlocRef(s.hz___3393);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 == 0);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 51; continue; }\n r0 = (s.timePos___3397 + s.currMs___3688);\n s.timePos___3397 = (r0);\n { step = 54; continue; }\n case 51:\n r0 = pxsim_pxtrt_ldlocRef(s.endHz___3394);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 52; continue; }\n s.tmp_2 = r0 = s.endHz___3394;\n r0 = pxsim_pxtrt_ldlocRef(s.hz___3393);\n s.tmp_3 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_2, s.tmp_3);\n case 52:\n case 53:\n r0 = pxsim_pxtrt_stlocRef(s.sndInstrPtr___3411, 0);\n s.tmp_0 = lambda_5_mk(s);\n s.tmp_0.argL = s.addForm___3412;\n r0 = pxsim_pxtrt_ldlocRef(s.envA___3402);\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = 0;\n s.tmp_0.arg2 = 255;\n s.tmp_0.arg3 = 0;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 74; return s.tmp_0;\n case 74:\n r0 = s.retval;\n s.tmp_0 = lambda_5_mk(s);\n s.tmp_0.argL = s.addForm___3412;\n r0 = pxsim_pxtrt_ldlocRef(s.envD___3403);\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = 255;\n r0 = pxsim_pxtrt_ldlocRef(s.envS___3404);\n s.tmp_0.arg2 = r0;\n r0 = pxsim_pxtrt_ldlocRef(s.envA___3402);\n s.tmp_0.arg3 = r0;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 75; return s.tmp_0;\n case 75:\n r0 = s.retval;\n s.tmp_0 = lambda_5_mk(s);\n s.tmp_0.argL = s.addForm___3412;\n s.tmp_1 = r0 = s.currMs___3688;\n r0 = pxsim_pxtrt_ldlocRef(s.envA___3402);\n s.tmp_3 = r0;\n r0 = pxsim_pxtrt_ldlocRef(s.envD___3403);\n s.tmp_4 = r0;\n r0 = (s.tmp_3 + s.tmp_4);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 - s.tmp_2);\n s.tmp_0.arg0 = r0;\n r0 = pxsim_pxtrt_ldlocRef(s.envS___3404);\n s.tmp_0.arg1 = r0;\n r0 = pxsim_pxtrt_ldlocRef(s.envS___3404);\n s.tmp_0.arg2 = r0;\n r0 = pxsim_pxtrt_ldlocRef(s.envD___3403);\n s.tmp_5 = r0;\n r0 = pxsim_pxtrt_ldlocRef(s.envA___3402);\n s.tmp_6 = r0;\n r0 = (s.tmp_5 + s.tmp_6);\n s.tmp_0.arg3 = r0;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 76; return s.tmp_0;\n case 76:\n r0 = s.retval;\n s.tmp_0 = lambda_5_mk(s);\n s.tmp_0.argL = s.addForm___3412;\n r0 = pxsim_pxtrt_ldlocRef(s.envR___3405);\n s.tmp_0.arg0 = r0;\n r0 = pxsim_pxtrt_ldlocRef(s.envS___3404);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = 0;\n s.tmp_0.arg3 = s.currMs___3688;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 77; return s.tmp_0;\n case 77:\n r0 = s.retval;\n r0 = (s.timePos___3397 - s.now___3401);\n s.tmp_0 = r0;\n s.tmp_2 = r0 = s.sndInstr___3407;\n r0 = pxsim_pxtrt_ldlocRef(s.sndInstrPtr___3411);\n s.tmp_3 = r0;\n r0 = pxsim.BufferMethods.slice(s.tmp_2, 0, s.tmp_3);\n s.tmp_1 = r0;\n r0 = pxsim.music.queuePlayInstructions(s.tmp_0, s.tmp_1);\n r0 = pxsim_pxtrt_stlocRef(s.endHz___3394, -1);\n r0 = (s.timePos___3397 + s.currMs___3688);\n s.timePos___3397 = (r0);\n case 54:\n case 55:\n r0 = (s.timePos___3397 - s.now___3401);\n s.timeLeft___3738 = (r0);\n r0 = (s.timeLeft___3738 > 200);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 56; continue; }\n s.tmp_1 = pause__P241_mk(s);\n r0 = (s.timeLeft___3738 - 100);\n s.tmp_1.arg0 = r0;\n s.pc = 78; return s.tmp_1;\n case 78:\n r0 = s.retval;\n r0 = pxsim.control.millis();\n s.tmp_0 = r0;\n r0 = (s.tmp_0 - s.startTime___3398);\n s.now___3401 = (r0);\n case 56:\n case 57:\n { step = 3; continue; }\n case 58:\n case 59:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nmusic_MelodyPlayer_play__P365.info = {\"start\":10805,\"length\":9001,\"line\":336,\"column\":8,\"endLine\":567,\"endColumn\":9,\"fileName\":\"pxt_modules/mixer/melody.ts\",\"functionName\":\"play\",\"argumentNames\":[\"this\",\"volume\"]}\n\nfunction music_MelodyPlayer_play__P365_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_MelodyPlayer_play__P365, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n notes___3385: undefined,\n pos___3389: undefined,\n duration___3390: undefined,\n octave___3391: undefined,\n tempo___3392: undefined,\n hz___3393: undefined,\n endHz___3394: undefined,\n ms___3396: undefined,\n timePos___3397: undefined,\n startTime___3398: undefined,\n now___3401: undefined,\n envA___3402: undefined,\n envD___3403: undefined,\n envS___3404: undefined,\n envR___3405: undefined,\n soundWave___3406: undefined,\n sndInstr___3407: undefined,\n sndInstrPtr___3411: undefined,\n addForm___3412: undefined,\n scanNextWord___3461: undefined,\n token___3505: undefined,\n tokenKind___3506: undefined,\n consumeToken___3509: undefined,\n currNote___3580: undefined,\n prevNote___3582: undefined,\n timeLeft___3584: undefined,\n note___3597: undefined,\n i___3601: undefined,\n noteChar___3606: undefined,\n keyNumber___3678: undefined,\n currMs___3688: undefined,\n beat___3691: undefined,\n timeLeft___3738: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction inline__P3413(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.freqStart___3418 = undefined;\n s.freqEnd___3420 = undefined;\n s.envelopeWidth___3422 = undefined;\n s.slope___3435 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_pxtrt_ldlocRef(s.caps[0]);\n s.freqStart___3418 = (r0);\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.freqEnd___3420 = (r0);\n r0 = pxsim_pxtrt_ldlocRef(s.caps[2]);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_pxtrt_ldlocRef(s.caps[2]);\n { step = 2; continue; }\n case 1:\n r0 = pxsim_pxtrt_ldlocRef(s.caps[3]);\n s.tmp_3 = r0;\n r0 = pxsim_pxtrt_ldlocRef(s.caps[4]);\n s.tmp_5 = r0;\n r0 = pxsim.Math_.idiv(15000, s.tmp_5);\n s.tmp_4 = r0;\n r0 = (s.tmp_3 * s.tmp_4);\n s.tmp_2 = r0;\n r0 = pxsim_pxtrt_ldlocRef(s.caps[5]);\n s.tmp_6 = r0;\n r0 = (s.tmp_2 + s.tmp_6);\n case 2:\n // jmp value (already in r0)\n s.tmp_7 = r0;\n s.envelopeWidth___3422 = (s.tmp_7);\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_ldlocRef(s.caps[0]);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 != s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 3; continue; }\n r0 = s.tmp_0;\n { step = 4; continue; }\n case 3:\n r0 = (s.envelopeWidth___3422 != 0);\n case 4:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 5; continue; }\n r0 = (s.freqEnd___3420 - s.freqStart___3418);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 / s.envelopeWidth___3422);\n s.slope___3435 = (r0);\n r0 = pxsim_pxtrt_ldlocRef(s.caps[0]);\n s.tmp_0 = r0;\n r0 = (s.slope___3435 * s.arg3);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n s.freqStart___3418 = (r0);\n r0 = pxsim_pxtrt_ldlocRef(s.caps[0]);\n s.tmp_0 = r0;\n s.tmp_2 = r0 = s.slope___3435;\n r0 = (s.arg3 + s.arg0);\n s.tmp_3 = r0;\n r0 = (s.tmp_2 * s.tmp_3);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n s.freqEnd___3420 = (r0);\n case 5:\n case 6:\n s.tmp_0 = r0 = s.caps[6];\n s.tmp_2 = music_addNote__P362_mk(s);\n s.tmp_2.arg0 = s.caps[7];\n r0 = pxsim_pxtrt_ldlocRef(s.caps[6]);\n s.tmp_2.arg1 = r0;\n s.tmp_2.arg2 = s.arg0;\n s.tmp_2.arg3 = s.arg1;\n s.tmp_2.arg4 = s.arg2;\n r0 = pxsim_pxtrt_ldlocRef(s.caps[8]);\n s.tmp_2.arg5 = r0;\n s.tmp_2.arg6 = s.freqStart___3418;\n r0 = pxsim_pxtrt_ldlocRef(s.caps[9]);\n s.tmp_2.arg7 = r0;\n s.tmp_2.arg8 = s.freqEnd___3420;\n s.pc = 7; return s.tmp_2;\n case 7:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P3413.info = {\"start\":11613,\"length\":643,\"line\":362,\"column\":28,\"endLine\":373,\"endColumn\":13,\"fileName\":\"pxt_modules/mixer/melody.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"formDuration\",\"beg\",\"end\",\"msOff\"]}\n\nfunction inline__P3413_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P3413, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n freqStart___3418: undefined,\n freqEnd___3420: undefined,\n envelopeWidth___3422: undefined,\n slope___3435: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction inline__P3462(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.c___3469 = undefined;\n s.note___3481 = undefined;\n s.c___3486 = undefined;\n r0 = s.caps[0].fields[\"melody\"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_String_.mkEmpty();\n { step = 23; continue; }\n case 1:\n case 2:\n case 3:\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_4 = r0;\n r0 = pxsim_String_.length(s.caps[2]);\n s.tmp_5 = r0;\n r0 = (s.tmp_4 < s.tmp_5);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 12; continue; }\n s.tmp_6 = r0 = s.caps[2];\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_7 = r0;\n r0 = pxsim_String_.charAt(s.tmp_6, s.tmp_7);\n s.c___3469 = (r0);\n r0 = (s.c___3469 != \" \");\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 4; continue; }\n r0 = s.tmp_0;\n { step = 5; continue; }\n case 4:\n r0 = (s.c___3469 != \"\\\\r\");\n case 5:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBool(s.tmp_1);\n if (r0) { step = 6; continue; }\n r0 = s.tmp_1;\n { step = 7; continue; }\n case 6:\n r0 = (s.c___3469 != \"\\\\n\");\n case 7:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBool(s.tmp_2);\n if (r0) { step = 8; continue; }\n r0 = s.tmp_2;\n { step = 9; continue; }\n case 8:\n r0 = (s.c___3469 != \"\\\\t\");\n case 9:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 10; continue; }\n { step = 12; continue; }\n case 10:\n case 11:\n s.tmp_4 = r0 = s.caps[1];\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 + 1);\n s.tmp_5 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_4, s.tmp_5);\n { step = 3; continue; }\n case 12:\n r0 = pxsim_String_.mkEmpty();\n s.note___3481 = (r0);\n case 13:\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_1 = r0;\n r0 = pxsim_String_.length(s.caps[2]);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 22; continue; }\n s.tmp_3 = r0 = s.caps[2];\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_4 = r0;\n r0 = pxsim_String_.charAt(s.tmp_3, s.tmp_4);\n s.c___3486 = (r0);\n r0 = (s.c___3486 == \" \");\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 14; continue; }\n r0 = s.tmp_0;\n { step = 15; continue; }\n case 14:\n r0 = (s.c___3486 == \"\\\\r\");\n case 15:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBool(s.tmp_1);\n if (!r0) { step = 16; continue; }\n r0 = s.tmp_1;\n { step = 17; continue; }\n case 16:\n r0 = (s.c___3486 == \"\\\\n\");\n case 17:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBool(s.tmp_2);\n if (!r0) { step = 18; continue; }\n r0 = s.tmp_2;\n { step = 19; continue; }\n case 18:\n r0 = (s.c___3486 == \"\\\\t\");\n case 19:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 20; continue; }\n { step = 22; continue; }\n case 20:\n case 21:\n if ((s.note___3481) && (s.note___3481).vtable) {\n setupResume(s, 24);\n pxsim_String__stringConv(s.note___3481);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.note___3481) + \"\"; }\n case 24:\n r0 = s.retval;\n s.tmp_4 = r0;\n if ((s.c___3486) && (s.c___3486).vtable) {\n setupResume(s, 25);\n pxsim_String__stringConv(s.c___3486);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.c___3486) + \"\"; }\n case 25:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = pxsim_String__concat(s.tmp_4, s.tmp_5);\n s.note___3481 = (r0);\n s.tmp_0 = r0 = s.caps[1];\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + 1);\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1);\n { step = 13; continue; }\n case 22:\n r0 = s.note___3481;\n case 23:\n return leave(s, r0)\n default: oops()\n} } }\ninline__P3462.info = {\"start\":12291,\"length\":708,\"line\":375,\"column\":33,\"endLine\":397,\"endColumn\":13,\"fileName\":\"pxt_modules/mixer/melody.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P3462_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P3462, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n c___3469: undefined,\n note___3481: undefined,\n c___3486: undefined,\n} }\n\n\n\n\n\nfunction inline__P3510(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.d___3514 = undefined;\n r0 = pxsim_pxtrt_ldlocRef(s.caps[0]);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 != 0);\n case 2:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 15; continue; }\n r0 = pxsim_pxtrt_ldlocRef(s.caps[0]);\n s.tmp_3 = r0;\n r0 = pxsim_String_.toNumber(s.tmp_3);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 >> 0);\n s.d___3514 = (r0);\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_0 = r0;\n r0 = pxsim_pxtcore.switch_eq(1, s.tmp_0);\n if (r0) { step = 3; continue; }\n r0 = pxsim_pxtcore.switch_eq(2, s.tmp_0);\n if (r0) { step = 4; continue; }\n r0 = pxsim_pxtcore.switch_eq(3, s.tmp_0);\n if (r0) { step = 5; continue; }\n r0 = pxsim_pxtcore.switch_eq(4, s.tmp_0);\n if (r0) { step = 6; continue; }\n r0 = pxsim_pxtcore.switch_eq(6, s.tmp_0);\n if (r0) { step = 7; continue; }\n r0 = pxsim_pxtcore.switch_eq(7, s.tmp_0);\n if (r0) { step = 8; continue; }\n r0 = pxsim_pxtcore.switch_eq(8, s.tmp_0);\n if (r0) { step = 9; continue; }\n r0 = pxsim_pxtcore.switch_eq(9, s.tmp_0);\n if (r0) { step = 10; continue; }\n r0 = pxsim_pxtcore.switch_eq(10, s.tmp_0);\n if (r0) { step = 11; continue; }\n r0 = pxsim_pxtcore.switch_eq(11, s.tmp_0);\n if (r0) { step = 12; continue; }\n r0 = pxsim_pxtcore.switch_eq(5, s.tmp_0);\n if (r0) { step = 13; continue; }\n r0 = s.tmp_0;\n { step = 14; continue; }\n case 3:\n r0 = pxsim_pxtrt_stlocRef(s.caps[2], s.d___3514);\n { step = 14; continue; }\n case 4:\n s.tmp_0 = r0 = s.caps[3];\n s.tmp_2 = Math_max__P61_mk(s);\n s.tmp_2.arg0 = 1;\n s.tmp_3 = Math_min__P62_mk(s);\n s.tmp_3.arg0 = 16;\n s.tmp_3.arg1 = s.d___3514;\n s.pc = 18; return s.tmp_3;\n case 18:\n r0 = s.retval;\n s.tmp_2.arg1 = r0;\n s.pc = 17; return s.tmp_2;\n case 17:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1);\n r0 = pxsim_pxtrt_stlocRef(s.caps[4], -1);\n { step = 14; continue; }\n case 5:\n s.tmp_0 = r0 = s.caps[5];\n s.tmp_2 = Math_max__P61_mk(s);\n s.tmp_2.arg0 = 1;\n s.tmp_2.arg1 = s.d___3514;\n s.pc = 19; return s.tmp_2;\n case 19:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1);\n { step = 14; continue; }\n case 6:\n r0 = pxsim_pxtrt_stlocRef(s.caps[6], s.d___3514);\n r0 = pxsim_pxtrt_stlocRef(s.caps[1], 6);\n { step = 14; continue; }\n case 7:\n r0 = pxsim_pxtrt_stlocRef(s.caps[4], s.d___3514);\n { step = 14; continue; }\n case 8:\n s.tmp_0 = r0 = s.caps[7];\n s.tmp_2 = Math_clamp__P58_mk(s);\n s.tmp_2.arg0 = 1;\n s.tmp_2.arg1 = 15;\n s.tmp_2.arg2 = s.d___3514;\n s.pc = 20; return s.tmp_2;\n case 20:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1);\n { step = 14; continue; }\n case 9:\n r0 = pxsim_pxtrt_stlocRef(s.caps[8], s.d___3514);\n r0 = pxsim_pxtrt_stlocRef(s.caps[1], 9);\n { step = 14; continue; }\n case 10:\n r0 = pxsim_pxtrt_stlocRef(s.caps[9], s.d___3514);\n r0 = pxsim_pxtrt_stlocRef(s.caps[1], 10);\n { step = 14; continue; }\n case 11:\n s.tmp_0 = r0 = s.caps[10];\n s.tmp_2 = Math_clamp__P58_mk(s);\n s.tmp_2.arg0 = 0;\n s.tmp_2.arg1 = 255;\n s.tmp_2.arg2 = s.d___3514;\n s.pc = 21; return s.tmp_2;\n case 21:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1);\n r0 = pxsim_pxtrt_stlocRef(s.caps[1], 11);\n { step = 14; continue; }\n case 12:\n r0 = pxsim_pxtrt_stlocRef(s.caps[11], s.d___3514);\n { step = 14; continue; }\n case 13:\n r0 = pxsim_pxtrt_stlocRef(s.caps[12], s.d___3514);\n case 14:\n s.tmp_0 = r0 = s.caps[0];\n r0 = pxsim_String_.mkEmpty();\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1);\n case 15:\n case 16:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P3510.info = {\"start\":14032,\"length\":1189,\"line\":433,\"column\":33,\"endLine\":454,\"endColumn\":13,\"fileName\":\"pxt_modules/mixer/melody.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P3510_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P3510, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n d___3514: undefined,\n} }\n\n\n\n\n\nfunction music_addNote__P362(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.arg5 = (s.lambdaArgs[5]);\n s.arg6 = (s.lambdaArgs[6]);\n s.arg7 = (s.lambdaArgs[7]);\n s.arg8 = (s.lambdaArgs[8]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg2 > 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim.BufferMethods.setNumber(s.arg0, 2, s.arg1, s.arg5);\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg1 + 1);\n s.tmp_1 = r0;\n r0 = pxsim.BufferMethods.setNumber(s.tmp_0, 2, s.tmp_1, 0);\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg1 + 2);\n s.tmp_1 = r0;\n r0 = pxsim.BufferMethods.setNumber(s.tmp_0, 4, s.tmp_1, s.arg6);\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg1 + 4);\n s.tmp_1 = r0;\n r0 = pxsim.BufferMethods.setNumber(s.tmp_0, 4, s.tmp_1, s.arg2);\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg1 + 6);\n s.tmp_1 = r0;\n r0 = (s.arg3 * s.arg7);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 >> 6);\n s.tmp_2 = r0;\n r0 = pxsim.BufferMethods.setNumber(s.tmp_0, 4, s.tmp_1, s.tmp_2);\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg1 + 8);\n s.tmp_1 = r0;\n r0 = (s.arg4 * s.arg7);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 >> 6);\n s.tmp_2 = r0;\n r0 = pxsim.BufferMethods.setNumber(s.tmp_0, 4, s.tmp_1, s.tmp_2);\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg1 + 10);\n s.tmp_1 = r0;\n r0 = pxsim.BufferMethods.setNumber(s.tmp_0, 4, s.tmp_1, s.arg8);\n r0 = (s.arg1 + 12);\n s.arg1 = (r0);\n case 1:\n case 2:\n r0 = pxsim.BufferMethods.setNumber(s.arg0, 2, s.arg1, 0);\n r0 = s.arg1;\n return leave(s, r0)\n default: oops()\n} } }\nmusic_addNote__P362.info = {\"start\":9672,\"length\":904,\"line\":307,\"column\":4,\"endLine\":320,\"endColumn\":5,\"fileName\":\"pxt_modules/mixer/melody.ts\",\"functionName\":\"addNote\",\"argumentNames\":[\"sndInstr\",\"sndInstrPtr\",\"ms\",\"beg\",\"end\",\"soundWave\",\"hz\",\"volume\",\"endHz\"]}\n\nfunction music_addNote__P362_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_addNote__P362, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n arg5: undefined,\n arg6: undefined,\n arg7: undefined,\n arg8: undefined,\n} }\n\n\n\n\n\nfunction music_volume__P342(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = music_initVolume__P340_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = globals.globalVolume___337;\n return leave(s, r0)\n default: oops()\n} } }\nmusic_volume__P342.info = {\"start\":1781,\"length\":90,\"line\":61,\"column\":4,\"endLine\":64,\"endColumn\":5,\"fileName\":\"pxt_modules/mixer/melody.ts\",\"functionName\":\"volume\",\"argumentNames\":[]}\n\nfunction music_volume__P342_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_volume__P342, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction music_initVolume__P340(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = (globals.globalVolume___337 === null);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n globals.globalVolume___337 = (0);\n s.tmp_0 = music_setVolume__P341_mk(s);\n r0 = pxsim_pxtcore.getConfig(59, 128);\n s.tmp_0.arg0 = r0;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nmusic_initVolume__P340.info = {\"start\":1014,\"length\":180,\"line\":33,\"column\":4,\"endLine\":38,\"endColumn\":5,\"fileName\":\"pxt_modules/mixer/melody.ts\",\"functionName\":\"initVolume\",\"argumentNames\":[]}\n\nfunction music_initVolume__P340_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_initVolume__P340, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction music_setVolume__P341(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = Math_clamp__P58_mk(s);\n s.tmp_0.arg0 = 0;\n s.tmp_0.arg1 = 255;\n r0 = (s.arg0 | 0);\n s.tmp_0.arg2 = r0;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n globals.globalVolume___337 = (r0);\n r0 = (globals.globalVolume___337 > 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = 1;\n { step = 2; continue; }\n case 1:\n r0 = 0;\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = undefined;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nmusic_setVolume__P341.info = {\"start\":1533,\"length\":153,\"line\":51,\"column\":4,\"endLine\":54,\"endColumn\":5,\"fileName\":\"pxt_modules/mixer/melody.ts\",\"functionName\":\"setVolume\",\"argumentNames\":[\"volume\"]}\n\nfunction music_setVolume__P341_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_setVolume__P341, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction music_enableAmp__P339(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nmusic_enableAmp__P339.info = {\"start\":944,\"length\":64,\"line\":29,\"column\":4,\"endLine\":31,\"endColumn\":5,\"fileName\":\"pxt_modules/mixer/melody.ts\",\"functionName\":\"enableAmp\",\"argumentNames\":[\"en\"]}\n\nfunction music_enableAmp__P339_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_enableAmp__P339, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction parseInt__P34(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_String_.toNumber(s.arg0);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 >> 0);\n return leave(s, r0)\n default: oops()\n} } }\nparseInt__P34.info = {\"start\":394,\"length\":77,\"line\":17,\"column\":0,\"endLine\":19,\"endColumn\":1,\"fileName\":\"pxt_modules/base/pxt-helpers.ts\",\"functionName\":\"parseInt\",\"argumentNames\":[\"text\"]}\n\nfunction parseInt__P34_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: parseInt__P34, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction music_Melody_unregisterMelody__P354(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, music_Melody__C349_VT)) failedCast(r0);\n r0 = pxsim_numops_toBoolDecr(globals.music_Melody_playingMelodies___360);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_Array_.removeElement(globals.music_Melody_playingMelodies___360, s.arg0);\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nmusic_Melody_unregisterMelody__P354.info = {\"start\":7438,\"length\":201,\"line\":234,\"column\":8,\"endLine\":239,\"endColumn\":9,\"fileName\":\"pxt_modules/mixer/melody.ts\",\"functionName\":\"unregisterMelody\",\"argumentNames\":[\"this\"]}\n\nfunction music_Melody_unregisterMelody__P354_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_Melody_unregisterMelody__P354, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction music_Melody_registerMelody__P353(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, music_Melody__C349_VT)) failedCast(r0);\n r0 = pxsim_numops_toBoolDecr(globals.music_Melody_playingMelodies___360);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_Array__mk();\n globals.music_Melody_playingMelodies___360 = (r0);\n case 1:\n case 2:\n r0 = pxsim_Array__length(globals.music_Melody_playingMelodies___360);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > 4);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.tmp_2 = music_Melody_stop__P352_mk(s);\n s.tmp_3 = r0 = globals.music_Melody_playingMelodies___360;\n r0 = pxsim_Array__length(globals.music_Melody_playingMelodies___360);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 - 1);\n s.tmp_4 = r0;\n r0 = pxsim_Array__getAt(s.tmp_3, s.tmp_4);\n s.tmp_2.arg0 = r0;\n s.pc = 5; return s.tmp_2;\n case 5:\n r0 = s.retval;\n case 3:\n case 4:\n r0 = pxsim_Array_.removeElement(globals.music_Melody_playingMelodies___360, s.arg0);\n r0 = pxsim_Array__push(globals.music_Melody_playingMelodies___360, s.arg0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nmusic_Melody_registerMelody__P353.info = {\"start\":6856,\"length\":573,\"line\":222,\"column\":8,\"endLine\":233,\"endColumn\":9,\"fileName\":\"pxt_modules/mixer/melody.ts\",\"functionName\":\"registerMelody\",\"argumentNames\":[\"this\"]}\n\nfunction music_Melody_registerMelody__P353_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_Melody_registerMelody__P353, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction music_Melody_stop__P352(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, music_Melody__C349_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_player\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_1 = music_MelodyPlayer_stop__P364_mk(s);\n r0 = s.arg0.fields[\"_player\"];\n s.tmp_1.arg0 = r0;\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n r0 = (s.arg0).fields[\"_player\"] = (null);\n case 1:\n case 2:\n s.tmp_0 = music_Melody_unregisterMelody__P354_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nmusic_Melody_stop__P352.info = {\"start\":6673,\"length\":173,\"line\":214,\"column\":8,\"endLine\":220,\"endColumn\":9,\"fileName\":\"pxt_modules/mixer/melody.ts\",\"functionName\":\"stop\",\"argumentNames\":[\"this\"]}\n\nfunction music_Melody_stop__P352_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_Melody_stop__P352, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction music_MelodyPlayer_stop__P364(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, music_MelodyPlayer__C363_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"melody\"] = (null);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nmusic_MelodyPlayer_stop__P364.info = {\"start\":10746,\"length\":49,\"line\":332,\"column\":8,\"endLine\":334,\"endColumn\":9,\"fileName\":\"pxt_modules/mixer/melody.ts\",\"functionName\":\"stop\",\"argumentNames\":[\"this\"]}\n\nfunction music_MelodyPlayer_stop__P364_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_MelodyPlayer_stop__P364, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_Scene_millis__P926(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Scene__C923_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_millis\"];\n return leave(s, r0)\n default: oops()\n} } }\nscene_Scene_millis__P926.info = {\"start\":5724,\"length\":61,\"line\":164,\"column\":8,\"endLine\":166,\"endColumn\":9,\"fileName\":\"pxt_modules/game/scene.ts\",\"functionName\":\"millis\",\"argumentNames\":[\"this\"]}\n\nfunction scene_Scene_millis__P926_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Scene_millis__P926, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_createRenderable__P896(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.renderable___7425 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_pxtcore_mkClassInstance(scene_Renderable__C890_VT);\n s.tmp_0 = r0;\n s.tmp_1 = r0 = s.arg2;\n r0 = pxsim_numops_toBool(s.tmp_1);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_1;\n { step = 2; continue; }\n case 1:\n r0 = inline__P7430;\n case 2:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n s.tmp_3 = scene_Renderable_constructor__P895_mk(s);\n s.tmp_3.arg0 = s.tmp_0;\n s.tmp_3.arg1 = s.arg1;\n s.tmp_3.arg2 = s.tmp_2;\n s.tmp_3.arg3 = s.arg0;\n s.pc = 3; return s.tmp_3;\n case 3:\n r0 = s.retval;\n s.renderable___7425 = (s.tmp_0);\n r0 = s.renderable___7425;\n return leave(s, r0)\n default: oops()\n} } }\nscene_createRenderable__P896.info = {\"start\":608,\"length\":339,\"line\":24,\"column\":4,\"endLine\":36,\"endColumn\":5,\"fileName\":\"pxt_modules/game/renderable.ts\",\"functionName\":\"createRenderable\",\"argumentNames\":[\"z\",\"handler\",\"shouldBeVisible\"]}\n\nfunction scene_createRenderable__P896_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_createRenderable__P896, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n renderable___7425: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction inline__P7430(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = true;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P7430.info = {\"start\":875,\"length\":10,\"line\":31,\"column\":32,\"endLine\":31,\"endColumn\":42,\"fileName\":\"pxt_modules/game/renderable.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P7430_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P7430, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n} }\n\n\n\n\n\nfunction scene_Renderable_constructor__P895(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Renderable__C890_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"handler\"] = (s.arg1);\n r0 = (s.arg0).fields[\"shouldBeVisible\"] = (s.arg2);\n s.tmp_0 = sprites_BaseSprite_constructor__P516_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg3;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_Renderable_constructor__P895.info = {\"start\":83,\"length\":212,\"line\":2,\"column\":8,\"endLine\":8,\"endColumn\":9,\"fileName\":\"pxt_modules/game/renderable.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"handler\",\"shouldBeVisible\",\"z\"]}\n\nfunction scene_Renderable_constructor__P895_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Renderable_constructor__P895, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction info_PlayerInfo_drawLives__P839(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.state___6913 = undefined;\n s.font___6918 = undefined;\n s.i___6954 = undefined;\n s.num___6973 = undefined;\n s.textWidth___6980 = undefined;\n s.mult___7026 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, info_PlayerInfo__C823_VT)) failedCast(r0);\n s.tmp_0 = info_PlayerInfo_getState__P825_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 8; return s.tmp_0;\n case 8:\n r0 = s.retval;\n s.state___6913 = (r0);\n r0 = s.state___6913.fields[\"life\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 7; continue; }\n case 1:\n case 2:\n s.font___6918 = (globals.font8___423);\n r0 = s.state___6913.fields[\"life\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 <= 4);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n s.tmp_2 = helpers_imageFillRect__P411_mk(s);\n s.tmp_2.arg0 = globals.screen___464;\n s.tmp_2.arg1 = 0;\n s.tmp_2.arg2 = 0;\n r0 = s.state___6913.fields[\"life\"];\n s.tmp_4 = r0;\n r0 = globals.infoState___745.fields[\"heartImage\"];\n s.tmp_7 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_7);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 + 1);\n s.tmp_5 = r0;\n r0 = (s.tmp_4 * s.tmp_5);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 + 3);\n s.tmp_2.arg3 = r0;\n r0 = globals.infoState___745.fields[\"heartImage\"];\n s.tmp_9 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_9);\n s.tmp_8 = r0;\n r0 = (s.tmp_8 + 4);\n s.tmp_2.arg4 = r0;\n r0 = globals.infoState___745.fields[\"borderColor\"];\n s.tmp_2.arg5 = r0;\n s.pc = 9; return s.tmp_2;\n case 9:\n r0 = s.retval;\n s.tmp_0 = helpers_imageFillRect__P411_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_0.arg1 = 0;\n s.tmp_0.arg2 = 0;\n r0 = s.state___6913.fields[\"life\"];\n s.tmp_2 = r0;\n r0 = globals.infoState___745.fields[\"heartImage\"];\n s.tmp_5 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_5);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 + 1);\n s.tmp_3 = r0;\n r0 = (s.tmp_2 * s.tmp_3);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 + 2);\n s.tmp_0.arg3 = r0;\n r0 = globals.infoState___745.fields[\"heartImage\"];\n s.tmp_7 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_7);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 + 3);\n s.tmp_0.arg4 = r0;\n r0 = globals.infoState___745.fields[\"bgColor\"];\n s.tmp_0.arg5 = r0;\n s.pc = 10; return s.tmp_0;\n case 10:\n r0 = s.retval;\n s.i___6954 = (0);\n case 3:\n r0 = s.state___6913.fields[\"life\"];\n s.tmp_1 = r0;\n r0 = (s.i___6954 < s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 4; continue; }\n s.tmp_2 = r0 = globals.screen___464;\n r0 = globals.infoState___745.fields[\"heartImage\"];\n s.tmp_3 = r0;\n s.tmp_6 = r0 = s.i___6954;\n r0 = globals.infoState___745.fields[\"heartImage\"];\n s.tmp_9 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_9);\n s.tmp_8 = r0;\n r0 = (s.tmp_8 + 1);\n s.tmp_7 = r0;\n r0 = (s.tmp_6 * s.tmp_7);\n s.tmp_5 = r0;\n r0 = (1 + s.tmp_5);\n s.tmp_4 = r0;\n r0 = pxsim_ImageMethods.drawTransparentImage(s.tmp_2, s.tmp_3, s.tmp_4, 1);\n r0 = (s.i___6954 + 1);\n s.i___6954 = (r0);\n { step = 3; continue; }\n case 4:\n { step = 6; continue; }\n case 5:\n r0 = s.state___6913.fields[\"life\"];\n s.tmp_1 = r0;\n if ((s.tmp_1) && (s.tmp_1).vtable) {\n setupResume(s, 11);\n pxsim_String__stringConv(s.tmp_1);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_1) + \"\"; }\n case 11:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_String_.mkEmpty();\n s.tmp_2 = r0;\n r0 = pxsim_String__concat(s.tmp_0, s.tmp_2);\n s.num___6973 = (r0);\n r0 = pxsim_String_.length(s.num___6973);\n s.tmp_1 = r0;\n s.tmp_3 = if_charWidth_1_mk(s);\n s.tmp_3.arg0 = s.font___6918;\n if (!s.tmp_3.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, \"charWidth\");\n } else {\n s.tmp_3.fn = s.tmp_3.arg0.vtable.iface[\"charWidth\"];\n if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields[\"charWidth\"]; }\n else { s.pc = 12; return s.tmp_3; }\n }\n case 12:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (s.tmp_1 * s.tmp_2);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 - 1);\n s.textWidth___6980 = (r0);\n s.tmp_0 = helpers_imageFillRect__P411_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_0.arg1 = 0;\n s.tmp_0.arg2 = 0;\n r0 = globals.infoState___745.fields[\"heartImage\"];\n s.tmp_4 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_4);\n s.tmp_3 = r0;\n r0 = globals.infoState___745.fields[\"multiplierImage\"];\n s.tmp_6 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_6);\n s.tmp_5 = r0;\n r0 = (s.tmp_3 + s.tmp_5);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.textWidth___6980);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 + 5);\n s.tmp_0.arg3 = r0;\n r0 = globals.infoState___745.fields[\"heartImage\"];\n s.tmp_8 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_8);\n s.tmp_7 = r0;\n r0 = (s.tmp_7 + 4);\n s.tmp_0.arg4 = r0;\n r0 = globals.infoState___745.fields[\"borderColor\"];\n s.tmp_0.arg5 = r0;\n s.pc = 13; return s.tmp_0;\n case 13:\n r0 = s.retval;\n s.tmp_0 = helpers_imageFillRect__P411_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_0.arg1 = 0;\n s.tmp_0.arg2 = 0;\n r0 = globals.infoState___745.fields[\"heartImage\"];\n s.tmp_4 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_4);\n s.tmp_3 = r0;\n r0 = globals.infoState___745.fields[\"multiplierImage\"];\n s.tmp_6 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_6);\n s.tmp_5 = r0;\n r0 = (s.tmp_3 + s.tmp_5);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.textWidth___6980);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 + 4);\n s.tmp_0.arg3 = r0;\n r0 = globals.infoState___745.fields[\"heartImage\"];\n s.tmp_8 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_8);\n s.tmp_7 = r0;\n r0 = (s.tmp_7 + 3);\n s.tmp_0.arg4 = r0;\n r0 = globals.infoState___745.fields[\"bgColor\"];\n s.tmp_0.arg5 = r0;\n s.pc = 14; return s.tmp_0;\n case 14:\n r0 = s.retval;\n r0 = globals.infoState___745.fields[\"heartImage\"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.drawTransparentImage(globals.screen___464, s.tmp_0, 1, 1);\n r0 = globals.infoState___745.fields[\"multiplierImage\"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.clone(s.tmp_0);\n s.mult___7026 = (r0);\n r0 = globals.infoState___745.fields[\"fontColor\"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.replace(s.mult___7026, 1, s.tmp_0);\n s.tmp_0 = r0 = globals.screen___464;\n s.tmp_1 = r0 = s.mult___7026;\n r0 = globals.infoState___745.fields[\"heartImage\"];\n s.tmp_4 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_4);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 + 2);\n s.tmp_2 = r0;\n s.tmp_8 = if_charHeight_1_mk(s);\n s.tmp_8.arg0 = s.font___6918;\n if (!s.tmp_8.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_8.arg0, \"charHeight\");\n } else {\n s.tmp_8.fn = s.tmp_8.arg0.vtable.iface[\"charHeight\"];\n if (s.tmp_8.fn == null) { s.retval = s.tmp_8.arg0.fields[\"charHeight\"]; }\n else { s.pc = 15; return s.tmp_8; }\n }\n case 15:\n r0 = s.retval;\n s.tmp_7 = r0;\n r0 = globals.infoState___745.fields[\"multiplierImage\"];\n s.tmp_10 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_10);\n s.tmp_9 = r0;\n r0 = (s.tmp_7 - s.tmp_9);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 - 1);\n s.tmp_5 = r0;\n r0 = pxsim_ImageMethods.drawTransparentImage(s.tmp_0, s.tmp_1, s.tmp_2, s.tmp_5);\n s.tmp_0 = helpers_imagePrint__P432_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_0.arg1 = s.num___6973;\n r0 = globals.infoState___745.fields[\"heartImage\"];\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + 3);\n s.tmp_1 = r0;\n r0 = globals.infoState___745.fields[\"multiplierImage\"];\n s.tmp_5 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_5);\n s.tmp_4 = r0;\n r0 = (s.tmp_1 + s.tmp_4);\n s.tmp_0.arg2 = r0;\n s.tmp_0.arg3 = 1;\n r0 = globals.infoState___745.fields[\"fontColor\"];\n s.tmp_0.arg4 = r0;\n s.tmp_0.arg5 = s.font___6918;\n s.tmp_0.arg6 = undefined;\n s.pc = 16; return s.tmp_0;\n case 16:\n r0 = s.retval;\n case 6:\n case 7:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_PlayerInfo_drawLives__P839.info = {\"start\":25972,\"length\":2458,\"line\":848,\"column\":8,\"endLine\":914,\"endColumn\":9,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"drawLives\",\"argumentNames\":[\"this\"]}\n\nfunction info_PlayerInfo_drawLives__P839_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_PlayerInfo_drawLives__P839, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n state___6913: undefined,\n font___6918: undefined,\n i___6954: undefined,\n num___6973: undefined,\n textWidth___6980: undefined,\n mult___7026: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction info_PlayerInfo_drawScore__P838(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.s___7076 = undefined;\n s.font___7078 = undefined;\n s.offsetY___7079 = undefined;\n s.num___7087 = undefined;\n s.width___7091 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, info_PlayerInfo__C823_VT)) failedCast(r0);\n s.tmp_1 = info_PlayerInfo_score__P827_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = (s.tmp_0 | 0);\n s.s___7076 = (r0);\n r0 = (s.s___7076 >= 1000000);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.offsetY___7079 = (2);\n s.font___7078 = (globals.font5___428);\n { step = 2; continue; }\n case 1:\n s.offsetY___7079 = (1);\n s.font___7078 = (globals.font8___423);\n case 2:\n r0 = pxsim_numops.toString(s.s___7076);\n s.num___7087 = (r0);\n r0 = pxsim_String_.length(s.num___7087);\n s.tmp_0 = r0;\n s.tmp_2 = if_charWidth_1_mk(s);\n s.tmp_2.arg0 = s.font___7078;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, \"charWidth\");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface[\"charWidth\"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields[\"charWidth\"]; }\n else { s.pc = 4; return s.tmp_2; }\n }\n case 4:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0 * s.tmp_1);\n s.width___7091 = (r0);\n s.tmp_0 = helpers_imageFillRect__P411_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - s.width___7091);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - 2);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = 0;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_0.arg3 = r0;\n s.tmp_4 = if_charHeight_1_mk(s);\n s.tmp_4.arg0 = globals.font8___423;\n if (!s.tmp_4.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_4.arg0, \"charHeight\");\n } else {\n s.tmp_4.fn = s.tmp_4.arg0.vtable.iface[\"charHeight\"];\n if (s.tmp_4.fn == null) { s.retval = s.tmp_4.arg0.fields[\"charHeight\"]; }\n else { s.pc = 6; return s.tmp_4; }\n }\n case 6:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_3 + 3);\n s.tmp_0.arg4 = r0;\n r0 = globals.infoState___745.fields[\"borderColor\"];\n s.tmp_0.arg5 = r0;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n s.tmp_0 = helpers_imageFillRect__P411_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - s.width___7091);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - 1);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = 0;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_0.arg3 = r0;\n s.tmp_4 = if_charHeight_1_mk(s);\n s.tmp_4.arg0 = globals.font8___423;\n if (!s.tmp_4.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_4.arg0, \"charHeight\");\n } else {\n s.tmp_4.fn = s.tmp_4.arg0.vtable.iface[\"charHeight\"];\n if (s.tmp_4.fn == null) { s.retval = s.tmp_4.arg0.fields[\"charHeight\"]; }\n else { s.pc = 8; return s.tmp_4; }\n }\n case 8:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_3 + 2);\n s.tmp_0.arg4 = r0;\n r0 = globals.infoState___745.fields[\"bgColor\"];\n s.tmp_0.arg5 = r0;\n s.pc = 7; return s.tmp_0;\n case 7:\n r0 = s.retval;\n s.tmp_0 = helpers_imagePrint__P432_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_0.arg1 = s.num___7087;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - s.width___7091);\n s.tmp_0.arg2 = r0;\n s.tmp_0.arg3 = s.offsetY___7079;\n r0 = globals.infoState___745.fields[\"fontColor\"];\n s.tmp_0.arg4 = r0;\n s.tmp_0.arg5 = s.font___7078;\n s.tmp_0.arg6 = undefined;\n s.pc = 9; return s.tmp_0;\n case 9:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_PlayerInfo_drawScore__P838.info = {\"start\":24914,\"length\":1048,\"line\":808,\"column\":8,\"endLine\":846,\"endColumn\":9,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"drawScore\",\"argumentNames\":[\"this\"]}\n\nfunction info_PlayerInfo_drawScore__P838_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_PlayerInfo_drawScore__P838, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n s___7076: undefined,\n font___7078: undefined,\n offsetY___7079: undefined,\n num___7087: undefined,\n width___7091: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction info_PlayerInfo_drawPlayer__P837(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.state___7153 = undefined;\n s.font___7155 = undefined;\n s.score___7157 = undefined;\n s.life___7158 = undefined;\n s.height___7159 = undefined;\n s.scoreWidth___7160 = undefined;\n s.lifeWidth___7161 = undefined;\n s.offsetX___7162 = undefined;\n s.offsetY___7163 = undefined;\n s.showScore___7164 = undefined;\n s.showLife___7170 = undefined;\n s.width___7230 = undefined;\n s.x___7238 = undefined;\n s.y___7244 = undefined;\n s.bump___7271 = undefined;\n s.xLoc___7292 = undefined;\n s.mult___7301 = undefined;\n s.pNum___7356 = undefined;\n s.iconWidth___7363 = undefined;\n s.iconHeight___7370 = undefined;\n s.iconX___7376 = undefined;\n s.iconY___7385 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, info_PlayerInfo__C823_VT)) failedCast(r0);\n s.tmp_0 = info_PlayerInfo_getState__P825_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 43; return s.tmp_0;\n case 43:\n r0 = s.retval;\n s.state___7153 = (r0);\n s.font___7155 = (globals.font5___428);\n s.height___7159 = (4);\n s.scoreWidth___7160 = (0);\n s.lifeWidth___7161 = (0);\n s.offsetX___7162 = (1);\n s.offsetY___7163 = (2);\n r0 = s.arg0.fields[\"showScore\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = s.state___7153.fields[\"score\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 !== undefined);\n case 2:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n s.showScore___7164 = (s.tmp_2);\n r0 = s.arg0.fields[\"showLife\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 3; continue; }\n r0 = s.tmp_0;\n { step = 4; continue; }\n case 3:\n r0 = s.state___7153.fields[\"life\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 !== undefined);\n case 4:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n s.showLife___7170 = (s.tmp_2);\n r0 = pxsim_numops_toBoolDecr(s.showScore___7164);\n if (!r0) { step = 5; continue; }\n r0 = pxsim_String_.mkEmpty();\n s.tmp_0 = r0;\n r0 = s.state___7153.fields[\"score\"];\n s.tmp_2 = r0;\n if ((s.tmp_2) && (s.tmp_2).vtable) {\n setupResume(s, 44);\n pxsim_String__stringConv(s.tmp_2);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_2) + \"\"; }\n case 44:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_String__concat(s.tmp_0, s.tmp_1);\n s.score___7157 = (r0);\n r0 = pxsim_String_.length(s.score___7157);\n s.tmp_1 = r0;\n s.tmp_3 = if_charWidth_1_mk(s);\n s.tmp_3.arg0 = s.font___7155;\n if (!s.tmp_3.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, \"charWidth\");\n } else {\n s.tmp_3.fn = s.tmp_3.arg0.vtable.iface[\"charWidth\"];\n if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields[\"charWidth\"]; }\n else { s.pc = 45; return s.tmp_3; }\n }\n case 45:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (s.tmp_1 * s.tmp_2);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 + 3);\n s.scoreWidth___7160 = (r0);\n s.tmp_0 = r0 = s.height___7159;\n s.tmp_2 = if_charHeight_1_mk(s);\n s.tmp_2.arg0 = s.font___7155;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, \"charHeight\");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface[\"charHeight\"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields[\"charHeight\"]; }\n else { s.pc = 46; return s.tmp_2; }\n }\n case 46:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n s.height___7159 = (r0);\n s.tmp_0 = r0 = s.offsetY___7163;\n s.tmp_3 = if_charHeight_1_mk(s);\n s.tmp_3.arg0 = s.font___7155;\n if (!s.tmp_3.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, \"charHeight\");\n } else {\n s.tmp_3.fn = s.tmp_3.arg0.vtable.iface[\"charHeight\"];\n if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields[\"charHeight\"]; }\n else { s.pc = 47; return s.tmp_3; }\n }\n case 47:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + 1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n s.offsetY___7163 = (r0);\n case 5:\n case 6:\n r0 = pxsim_numops_toBoolDecr(s.showLife___7170);\n if (!r0) { step = 9; continue; }\n r0 = s.state___7153.fields[\"life\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 7; continue; }\n r0 = s.tmp_0;\n { step = 8; continue; }\n case 7:\n r0 = 0;\n case 8:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_String_.mkEmpty();\n s.tmp_2 = r0;\n if ((s.tmp_1) && (s.tmp_1).vtable) {\n setupResume(s, 48);\n pxsim_String__stringConv(s.tmp_1);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_1) + \"\"; }\n case 48:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = pxsim_String__concat(s.tmp_2, s.tmp_3);\n s.life___7158 = (r0);\n r0 = globals.infoState___745.fields[\"heartImage\"];\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_3);\n s.tmp_2 = r0;\n r0 = globals.infoState___745.fields[\"multiplierImage\"];\n s.tmp_5 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_5);\n s.tmp_4 = r0;\n r0 = (s.tmp_2 + s.tmp_4);\n s.tmp_1 = r0;\n r0 = pxsim_String_.length(s.life___7158);\n s.tmp_7 = r0;\n s.tmp_9 = if_charWidth_1_mk(s);\n s.tmp_9.arg0 = s.font___7155;\n if (!s.tmp_9.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_9.arg0, \"charWidth\");\n } else {\n s.tmp_9.fn = s.tmp_9.arg0.vtable.iface[\"charWidth\"];\n if (s.tmp_9.fn == null) { s.retval = s.tmp_9.arg0.fields[\"charWidth\"]; }\n else { s.pc = 49; return s.tmp_9; }\n }\n case 49:\n r0 = s.retval;\n s.tmp_8 = r0;\n r0 = (s.tmp_7 * s.tmp_8);\n s.tmp_6 = r0;\n r0 = (s.tmp_1 + s.tmp_6);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 + 3);\n s.lifeWidth___7161 = (r0);\n s.tmp_0 = r0 = s.height___7159;\n r0 = globals.infoState___745.fields[\"heartImage\"];\n s.tmp_2 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n s.height___7159 = (r0);\n case 9:\n case 10:\n s.tmp_0 = Math_max__P61_mk(s);\n s.tmp_0.arg0 = s.scoreWidth___7160;\n s.tmp_0.arg1 = s.lifeWidth___7161;\n s.pc = 50; return s.tmp_0;\n case 50:\n r0 = s.retval;\n s.width___7230 = (r0);\n s.tmp_0 = r0 = s.showScore___7164;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 11; continue; }\n r0 = s.tmp_0;\n { step = 12; continue; }\n case 11:\n r0 = s.showLife___7170;\n case 12:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 13; continue; }\n r0 = (s.height___7159 + 1);\n s.height___7159 = (r0);\n case 13:\n case 14:\n r0 = s.arg0.fields[\"left\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 15; continue; }\n r0 = s.width___7230;\n { step = 16; continue; }\n case 15:\n r0 = 0;\n case 16:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = s.arg0.fields[\"x\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - s.tmp_1);\n s.x___7238 = (r0);\n r0 = s.arg0.fields[\"up\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 17; continue; }\n r0 = s.height___7159;\n { step = 18; continue; }\n case 17:\n r0 = 0;\n case 18:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = s.arg0.fields[\"y\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - s.tmp_1);\n s.y___7244 = (r0);\n s.tmp_0 = r0 = s.showScore___7164;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 19; continue; }\n r0 = s.tmp_0;\n { step = 20; continue; }\n case 19:\n r0 = s.showLife___7170;\n case 20:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 21; continue; }\n s.tmp_2 = helpers_imageFillRect__P411_mk(s);\n s.tmp_2.arg0 = globals.screen___464;\n s.tmp_2.arg1 = s.x___7238;\n s.tmp_2.arg2 = s.y___7244;\n s.tmp_2.arg3 = s.width___7230;\n s.tmp_2.arg4 = s.height___7159;\n r0 = s.arg0.fields[\"border\"];\n s.tmp_2.arg5 = r0;\n s.pc = 51; return s.tmp_2;\n case 51:\n r0 = s.retval;\n s.tmp_0 = helpers_imageFillRect__P411_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n r0 = (s.x___7238 + 1);\n s.tmp_0.arg1 = r0;\n r0 = (s.y___7244 + 1);\n s.tmp_0.arg2 = r0;\n r0 = (s.width___7230 - 2);\n s.tmp_0.arg3 = r0;\n r0 = (s.height___7159 - 2);\n s.tmp_0.arg4 = r0;\n r0 = s.arg0.fields[\"bg\"];\n s.tmp_0.arg5 = r0;\n s.pc = 52; return s.tmp_0;\n case 52:\n r0 = s.retval;\n case 21:\n case 22:\n r0 = pxsim_numops_toBoolDecr(s.showScore___7164);\n if (!r0) { step = 25; continue; }\n r0 = s.arg0.fields[\"left\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 23; continue; }\n r0 = (s.width___7230 - s.scoreWidth___7160);\n { step = 24; continue; }\n case 23:\n r0 = 0;\n case 24:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n s.bump___7271 = (s.tmp_1);\n s.tmp_0 = helpers_imagePrint__P432_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_0.arg1 = s.score___7157;\n r0 = (s.x___7238 + s.offsetX___7162);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.bump___7271);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 + 1);\n s.tmp_0.arg2 = r0;\n r0 = (s.y___7244 + 2);\n s.tmp_0.arg3 = r0;\n r0 = s.arg0.fields[\"fc\"];\n s.tmp_0.arg4 = r0;\n s.tmp_0.arg5 = s.font___7155;\n s.tmp_0.arg6 = undefined;\n s.pc = 53; return s.tmp_0;\n case 53:\n r0 = s.retval;\n case 25:\n case 26:\n r0 = pxsim_numops_toBoolDecr(s.showLife___7170);\n if (!r0) { step = 29; continue; }\n r0 = s.arg0.fields[\"left\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 27; continue; }\n r0 = (s.width___7230 - s.lifeWidth___7161);\n { step = 28; continue; }\n case 27:\n r0 = 0;\n case 28:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = (s.x___7238 + s.offsetX___7162);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.tmp_1);\n s.xLoc___7292 = (r0);\n r0 = globals.infoState___745.fields[\"multiplierImage\"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.clone(s.tmp_0);\n s.mult___7301 = (r0);\n r0 = s.arg0.fields[\"fc\"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.replace(s.mult___7301, 1, s.tmp_0);\n s.tmp_0 = r0 = globals.screen___464;\n r0 = globals.infoState___745.fields[\"heartImage\"];\n s.tmp_1 = r0;\n s.tmp_2 = r0 = s.xLoc___7292;\n r0 = (s.y___7244 + s.offsetY___7163);\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.drawTransparentImage(s.tmp_0, s.tmp_1, s.tmp_2, s.tmp_3);\n s.tmp_0 = r0 = globals.screen___464;\n s.tmp_1 = r0 = s.mult___7301;\n s.tmp_3 = r0 = s.xLoc___7292;\n r0 = globals.infoState___745.fields[\"heartImage\"];\n s.tmp_5 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_5);\n s.tmp_4 = r0;\n r0 = (s.tmp_3 + s.tmp_4);\n s.tmp_2 = r0;\n r0 = (s.y___7244 + s.offsetY___7163);\n s.tmp_9 = r0;\n s.tmp_11 = if_charHeight_1_mk(s);\n s.tmp_11.arg0 = s.font___7155;\n if (!s.tmp_11.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_11.arg0, \"charHeight\");\n } else {\n s.tmp_11.fn = s.tmp_11.arg0.vtable.iface[\"charHeight\"];\n if (s.tmp_11.fn == null) { s.retval = s.tmp_11.arg0.fields[\"charHeight\"]; }\n else { s.pc = 54; return s.tmp_11; }\n }\n case 54:\n r0 = s.retval;\n s.tmp_10 = r0;\n r0 = (s.tmp_9 + s.tmp_10);\n s.tmp_8 = r0;\n r0 = globals.infoState___745.fields[\"multiplierImage\"];\n s.tmp_13 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_13);\n s.tmp_12 = r0;\n r0 = (s.tmp_8 - s.tmp_12);\n s.tmp_7 = r0;\n r0 = (s.tmp_7 - 1);\n s.tmp_6 = r0;\n r0 = pxsim_ImageMethods.drawTransparentImage(s.tmp_0, s.tmp_1, s.tmp_2, s.tmp_6);\n s.tmp_0 = helpers_imagePrint__P432_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_0.arg1 = s.life___7158;\n s.tmp_3 = r0 = s.xLoc___7292;\n r0 = globals.infoState___745.fields[\"heartImage\"];\n s.tmp_5 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_5);\n s.tmp_4 = r0;\n r0 = (s.tmp_3 + s.tmp_4);\n s.tmp_2 = r0;\n r0 = globals.infoState___745.fields[\"multiplierImage\"];\n s.tmp_7 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_7);\n s.tmp_6 = r0;\n r0 = (s.tmp_2 + s.tmp_6);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 + 1);\n s.tmp_0.arg2 = r0;\n r0 = (s.y___7244 + s.offsetY___7163);\n s.tmp_0.arg3 = r0;\n r0 = s.arg0.fields[\"fc\"];\n s.tmp_0.arg4 = r0;\n s.tmp_0.arg5 = s.font___7155;\n s.tmp_0.arg6 = undefined;\n s.pc = 55; return s.tmp_0;\n case 55:\n r0 = s.retval;\n case 29:\n case 30:\n r0 = s.arg0.fields[\"showPlayer\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 41; continue; }\n r0 = pxsim_String_.mkEmpty();\n s.tmp_1 = r0;\n r0 = s.arg0.fields[\"_player\"];\n s.tmp_3 = r0;\n if ((s.tmp_3) && (s.tmp_3).vtable) {\n setupResume(s, 56);\n pxsim_String__stringConv(s.tmp_3);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_3) + \"\"; }\n case 56:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = pxsim_String__concat(s.tmp_1, s.tmp_2);\n s.pNum___7356 = (r0);\n r0 = pxsim_String_.length(s.pNum___7356);\n s.tmp_1 = r0;\n s.tmp_3 = if_charWidth_1_mk(s);\n s.tmp_3.arg0 = s.font___7155;\n if (!s.tmp_3.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, \"charWidth\");\n } else {\n s.tmp_3.fn = s.tmp_3.arg0.vtable.iface[\"charWidth\"];\n if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields[\"charWidth\"]; }\n else { s.pc = 57; return s.tmp_3; }\n }\n case 57:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (s.tmp_1 * s.tmp_2);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 + 1);\n s.iconWidth___7363 = (r0);\n s.tmp_0 = Math_max__P61_mk(s);\n s.tmp_0.arg0 = s.height___7159;\n s.tmp_2 = if_charHeight_1_mk(s);\n s.tmp_2.arg0 = s.font___7155;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, \"charHeight\");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface[\"charHeight\"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields[\"charHeight\"]; }\n else { s.pc = 59; return s.tmp_2; }\n }\n case 59:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 + 2);\n s.tmp_0.arg1 = r0;\n s.pc = 58; return s.tmp_0;\n case 58:\n r0 = s.retval;\n s.iconHeight___7370 = (r0);\n r0 = s.arg0.fields[\"left\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 31; continue; }\n r0 = (s.x___7238 - s.iconWidth___7363);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 + 1);\n { step = 32; continue; }\n case 31:\n r0 = (s.x___7238 + s.width___7230);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - 1);\n case 32:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n s.iconX___7376 = (s.tmp_3);\n s.iconY___7385 = (s.y___7244);\n r0 = pxsim_numops_toBoolDecr(s.showScore___7164);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 33; continue; }\n r0 = s.tmp_0;\n { step = 34; continue; }\n case 33:\n r0 = pxsim_numops_toBoolDecr(s.showLife___7170);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n case 34:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 39; continue; }\n r0 = s.arg0.fields[\"left\"];\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n if (!r0) { step = 35; continue; }\n r0 = -1;\n { step = 36; continue; }\n case 35:\n r0 = 1;\n case 36:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n r0 = (s.iconX___7376 + s.tmp_5);\n s.iconX___7376 = (r0);\n r0 = s.arg0.fields[\"up\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 37; continue; }\n r0 = (s.iconY___7385 - 3);\n s.iconY___7385 = (r0);\n case 37:\n case 38:\n case 39:\n case 40:\n s.tmp_0 = helpers_imageFillRect__P411_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_0.arg1 = s.iconX___7376;\n s.tmp_0.arg2 = s.iconY___7385;\n s.tmp_0.arg3 = s.iconWidth___7363;\n s.tmp_0.arg4 = s.iconHeight___7370;\n r0 = s.arg0.fields[\"border\"];\n s.tmp_0.arg5 = r0;\n s.pc = 60; return s.tmp_0;\n case 60:\n r0 = s.retval;\n s.tmp_0 = helpers_imagePrint__P432_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_0.arg1 = s.pNum___7356;\n r0 = (s.iconX___7376 + 1);\n s.tmp_0.arg2 = r0;\n s.tmp_2 = r0 = s.iconY___7385;\n r0 = (s.iconHeight___7370 >> 1);\n s.tmp_3 = r0;\n r0 = (s.tmp_2 + s.tmp_3);\n s.tmp_1 = r0;\n s.tmp_6 = if_charHeight_1_mk(s);\n s.tmp_6.arg0 = s.font___7155;\n if (!s.tmp_6.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_6.arg0, \"charHeight\");\n } else {\n s.tmp_6.fn = s.tmp_6.arg0.vtable.iface[\"charHeight\"];\n if (s.tmp_6.fn == null) { s.retval = s.tmp_6.arg0.fields[\"charHeight\"]; }\n else { s.pc = 62; return s.tmp_6; }\n }\n case 62:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = (s.tmp_5 >> 1);\n s.tmp_4 = r0;\n r0 = (s.tmp_1 - s.tmp_4);\n s.tmp_0.arg3 = r0;\n r0 = s.arg0.fields[\"bg\"];\n s.tmp_0.arg4 = r0;\n s.tmp_0.arg5 = s.font___7155;\n s.tmp_0.arg6 = undefined;\n s.pc = 61; return s.tmp_0;\n case 61:\n r0 = s.retval;\n case 41:\n case 42:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_PlayerInfo_drawPlayer__P837.info = {\"start\":21269,\"length\":3635,\"line\":703,\"column\":8,\"endLine\":806,\"endColumn\":9,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"drawPlayer\",\"argumentNames\":[\"this\"]}\n\nfunction info_PlayerInfo_drawPlayer__P837_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_PlayerInfo_drawPlayer__P837, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n tmp_12: undefined,\n tmp_13: undefined,\n state___7153: undefined,\n font___7155: undefined,\n score___7157: undefined,\n life___7158: undefined,\n height___7159: undefined,\n scoreWidth___7160: undefined,\n lifeWidth___7161: undefined,\n offsetX___7162: undefined,\n offsetY___7163: undefined,\n showScore___7164: undefined,\n showLife___7170: undefined,\n width___7230: undefined,\n x___7238: undefined,\n y___7244: undefined,\n bump___7271: undefined,\n xLoc___7292: undefined,\n mult___7301: undefined,\n pNum___7356: undefined,\n iconWidth___7363: undefined,\n iconHeight___7370: undefined,\n iconX___7376: undefined,\n iconY___7385: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction info_PlayerInfo_raiseLifeZero__P836(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.state___7133 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, info_PlayerInfo__C823_VT)) failedCast(r0);\n s.tmp_0 = info_PlayerInfo_getState__P825_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 9; return s.tmp_0;\n case 9:\n r0 = s.retval;\n s.state___7133 = (r0);\n r0 = s.state___7133.fields[\"life\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 !== null);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = s.state___7133.fields[\"life\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 <= 0);\n case 2:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 7; continue; }\n r0 = (s.state___7133).fields[\"life\"] = (null);\n r0 = s.state___7133.fields[\"lifeZeroHandler\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.tmp_1 = lambda_1_mk(s);\n r0 = s.state___7133.fields[\"lifeZeroHandler\"];\n s.tmp_1.argL = r0;\n setupLambda(s.tmp_1, s.tmp_1.argL);\n s.pc = 10; return s.tmp_1;\n case 10:\n r0 = s.retval;\n { step = 6; continue; }\n case 3:\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n if (!r0) { step = 4; continue; }\n s.tmp_0 = game_over__P1026_mk(s);\n s.tmp_0.arg0 = false;\n s.tmp_0.arg1 = undefined;\n s.pc = 11; return s.tmp_0;\n case 11:\n r0 = s.retval;\n case 4:\n case 5:\n case 6:\n case 7:\n case 8:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_PlayerInfo_raiseLifeZero__P836.info = {\"start\":20885,\"length\":374,\"line\":691,\"column\":8,\"endLine\":701,\"endColumn\":9,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"raiseLifeZero\",\"argumentNames\":[\"this\",\"gameOver\"]}\n\nfunction info_PlayerInfo_raiseLifeZero__P836_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_PlayerInfo_raiseLifeZero__P836, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n state___7133: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction info_PlayerInfo_hasLife__P834(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.state___7066 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, info_PlayerInfo__C823_VT)) failedCast(r0);\n s.tmp_0 = info_PlayerInfo_getState__P825_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.state___7066 = (r0);\n r0 = s.state___7066.fields[\"life\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 !== undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = s.state___7066.fields[\"life\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 !== null);\n case 2:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = s.tmp_3;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_PlayerInfo_hasLife__P834.info = {\"start\":20361,\"length\":141,\"line\":674,\"column\":8,\"endLine\":677,\"endColumn\":9,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"hasLife\",\"argumentNames\":[\"this\"]}\n\nfunction info_PlayerInfo_hasLife__P834_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_PlayerInfo_hasLife__P834, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n state___7066: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction info_PlayerInfo_hasScore__P830(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.state___4134 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, info_PlayerInfo__C823_VT)) failedCast(r0);\n s.tmp_0 = info_PlayerInfo_getState__P825_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.state___4134 = (r0);\n r0 = s.state___4134.fields[\"score\"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 !== undefined);\n return leave(s, r0)\n default: oops()\n} } }\ninfo_PlayerInfo_hasScore__P830.info = {\"start\":18633,\"length\":111,\"line\":617,\"column\":8,\"endLine\":620,\"endColumn\":9,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"hasScore\",\"argumentNames\":[\"this\"]}\n\nfunction info_PlayerInfo_hasScore__P830_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_PlayerInfo_hasScore__P830, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n state___4134: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction info_drawTimer__P822(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.font___6779 = undefined;\n s.smallFont___6781 = undefined;\n s.seconds___6783 = undefined;\n s.width___6787 = undefined;\n s.left___6790 = undefined;\n s.color1___6796 = undefined;\n s.color2___6800 = undefined;\n s.temp___6810 = undefined;\n s.top___6837 = undefined;\n s.remainder___6838 = undefined;\n s.decimalLeft___6856 = undefined;\n s.minutes___6871 = undefined;\n s.remainder___6875 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.arg0 = (0);\n case 1:\n case 2:\n r0 = (s.arg0 | 0);\n s.arg0 = (r0);\n s.font___6779 = (globals.font8___423);\n s.smallFont___6781 = (globals.font5___428);\n r0 = pxsim.Math_.idiv(s.arg0, 1000);\n s.seconds___6783 = (r0);\n s.tmp_2 = if_charWidth_1_mk(s);\n s.tmp_2.arg0 = s.font___6779;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, \"charWidth\");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface[\"charWidth\"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields[\"charWidth\"]; }\n else { s.pc = 11; return s.tmp_2; }\n }\n case 11:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 * 5);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 - 2);\n s.width___6787 = (r0);\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 >> 1);\n s.tmp_1 = r0;\n r0 = (s.width___6787 >> 1);\n s.tmp_3 = r0;\n r0 = (s.tmp_1 - s.tmp_3);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 + 1);\n s.left___6790 = (r0);\n r0 = globals.infoState___745.fields[\"fontColor\"];\n s.color1___6796 = (r0);\n r0 = globals.infoState___745.fields[\"bgColor\"];\n s.color2___6800 = (r0);\n r0 = (s.seconds___6783 < 10);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 3; continue; }\n r0 = s.tmp_0;\n { step = 4; continue; }\n case 3:\n r0 = (s.seconds___6783 & 1);\n case 4:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBool(s.tmp_1);\n if (r0) { step = 5; continue; }\n r0 = s.tmp_1;\n { step = 6; continue; }\n case 5:\n r0 = pxsim_ImageMethods.isMono(globals.screen___464);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n case 6:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n if (!r0) { step = 7; continue; }\n s.temp___6810 = (s.color1___6796);\n s.color1___6796 = (s.color2___6800);\n s.color2___6800 = (s.temp___6810);\n case 7:\n case 8:\n s.tmp_0 = helpers_imageFillRect__P411_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n r0 = (s.left___6790 - 3);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = 0;\n r0 = (s.width___6787 + 6);\n s.tmp_0.arg3 = r0;\n s.tmp_2 = if_charHeight_1_mk(s);\n s.tmp_2.arg0 = s.font___6779;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, \"charHeight\");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface[\"charHeight\"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields[\"charHeight\"]; }\n else { s.pc = 13; return s.tmp_2; }\n }\n case 13:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 + 3);\n s.tmp_0.arg4 = r0;\n r0 = globals.infoState___745.fields[\"borderColor\"];\n s.tmp_0.arg5 = r0;\n s.pc = 12; return s.tmp_0;\n case 12:\n r0 = s.retval;\n s.tmp_0 = helpers_imageFillRect__P411_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n r0 = (s.left___6790 - 2);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = 0;\n r0 = (s.width___6787 + 4);\n s.tmp_0.arg3 = r0;\n s.tmp_2 = if_charHeight_1_mk(s);\n s.tmp_2.arg0 = s.font___6779;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, \"charHeight\");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface[\"charHeight\"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields[\"charHeight\"]; }\n else { s.pc = 15; return s.tmp_2; }\n }\n case 15:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 + 2);\n s.tmp_0.arg4 = r0;\n s.tmp_0.arg5 = s.color2___6800;\n s.pc = 14; return s.tmp_0;\n case 14:\n r0 = s.retval;\n r0 = (s.seconds___6783 < 60);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 9; continue; }\n s.top___6837 = (1);\n r0 = (s.arg0 % 1000);\n s.tmp_0 = r0;\n r0 = pxsim.Math_.idiv(s.tmp_0, 10);\n s.remainder___6838 = (r0);\n s.tmp_0 = helpers_imagePrint__P432_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_3 = info_formatDecimal__P841_mk(s);\n s.tmp_3.arg0 = s.seconds___6783;\n s.pc = 17; return s.tmp_3;\n case 17:\n r0 = s.retval;\n s.tmp_2 = r0;\n if ((s.tmp_2) && (s.tmp_2).vtable) {\n setupResume(s, 18);\n pxsim_String__stringConv(s.tmp_2);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_2) + \"\"; }\n case 18:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_String__concat(s.tmp_1, \".\");\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = s.left___6790;\n s.tmp_0.arg3 = s.top___6837;\n s.tmp_0.arg4 = s.color1___6796;\n s.tmp_0.arg5 = s.font___6779;\n s.tmp_0.arg6 = undefined;\n s.pc = 16; return s.tmp_0;\n case 16:\n r0 = s.retval;\n s.tmp_0 = r0 = s.left___6790;\n s.tmp_3 = if_charWidth_1_mk(s);\n s.tmp_3.arg0 = s.font___6779;\n if (!s.tmp_3.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, \"charWidth\");\n } else {\n s.tmp_3.fn = s.tmp_3.arg0.vtable.iface[\"charWidth\"];\n if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields[\"charWidth\"]; }\n else { s.pc = 19; return s.tmp_3; }\n }\n case 19:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (3 * s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n s.decimalLeft___6856 = (r0);\n s.tmp_0 = helpers_imagePrint__P432_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_1 = info_formatDecimal__P841_mk(s);\n s.tmp_1.arg0 = s.remainder___6838;\n s.pc = 21; return s.tmp_1;\n case 21:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = s.decimalLeft___6856;\n r0 = (s.top___6837 + 2);\n s.tmp_0.arg3 = r0;\n s.tmp_0.arg4 = s.color1___6796;\n s.tmp_0.arg5 = s.smallFont___6781;\n s.tmp_0.arg6 = undefined;\n s.pc = 20; return s.tmp_0;\n case 20:\n r0 = s.retval;\n { step = 10; continue; }\n case 9:\n r0 = pxsim.Math_.idiv(s.seconds___6783, 60);\n s.minutes___6871 = (r0);\n r0 = (s.seconds___6783 % 60);\n s.remainder___6875 = (r0);\n s.tmp_0 = helpers_imagePrint__P432_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_5 = info_formatDecimal__P841_mk(s);\n s.tmp_5.arg0 = s.minutes___6871;\n s.pc = 23; return s.tmp_5;\n case 23:\n r0 = s.retval;\n s.tmp_4 = r0;\n if ((s.tmp_4) && (s.tmp_4).vtable) {\n setupResume(s, 24);\n pxsim_String__stringConv(s.tmp_4);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_4) + \"\"; }\n case 24:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = pxsim_String__concat(s.tmp_3, \":\");\n s.tmp_2 = r0;\n if ((s.tmp_2) && (s.tmp_2).vtable) {\n setupResume(s, 25);\n pxsim_String__stringConv(s.tmp_2);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_2) + \"\"; }\n case 25:\n r0 = s.retval;\n s.tmp_1 = r0;\n s.tmp_8 = info_formatDecimal__P841_mk(s);\n s.tmp_8.arg0 = s.remainder___6875;\n s.pc = 26; return s.tmp_8;\n case 26:\n r0 = s.retval;\n s.tmp_7 = r0;\n if ((s.tmp_7) && (s.tmp_7).vtable) {\n setupResume(s, 27);\n pxsim_String__stringConv(s.tmp_7);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_7) + \"\"; }\n case 27:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = pxsim_String__concat(s.tmp_1, s.tmp_6);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = s.left___6790;\n s.tmp_0.arg3 = 1;\n s.tmp_0.arg4 = s.color1___6796;\n s.tmp_0.arg5 = s.font___6779;\n s.tmp_0.arg6 = undefined;\n s.pc = 22; return s.tmp_0;\n case 22:\n r0 = s.retval;\n case 10:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_drawTimer__P822.info = {\"start\":13501,\"length\":1328,\"line\":463,\"column\":4,\"endLine\":498,\"endColumn\":5,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"drawTimer\",\"argumentNames\":[\"millis\"]}\n\nfunction info_drawTimer__P822_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_drawTimer__P822, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n font___6779: undefined,\n smallFont___6781: undefined,\n seconds___6783: undefined,\n width___6787: undefined,\n left___6790: undefined,\n color1___6796: undefined,\n color2___6800: undefined,\n temp___6810: undefined,\n top___6837: undefined,\n remainder___6838: undefined,\n decimalLeft___6856: undefined,\n minutes___6871: undefined,\n remainder___6875: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction info_formatDecimal__P841(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 | 0);\n s.arg0 = (r0);\n r0 = (s.arg0 < 10);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n if ((s.arg0) && (s.arg0).vtable) {\n setupResume(s, 4);\n pxsim_String__stringConv(s.arg0);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.arg0) + \"\"; }\n case 4:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_String__concat(\"0\", s.tmp_1);\n { step = 3; continue; }\n case 1:\n case 2:\n r0 = pxsim_numops.toString(s.arg0);\n case 3:\n return leave(s, r0)\n default: oops()\n} } }\ninfo_formatDecimal__P841.info = {\"start\":28442,\"length\":156,\"line\":917,\"column\":4,\"endLine\":923,\"endColumn\":5,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"formatDecimal\",\"argumentNames\":[\"val\"]}\n\nfunction info_formatDecimal__P841_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_formatDecimal__P841, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction info_InfoState_constructor__P743(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, info_InfoState__C742_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"visibilityFlag\"] = (8);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"playerStates\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_2 = info_defaultHeartImage__P795_mk(s);\n s.pc = 7; return s.tmp_2;\n case 7:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"heartImage\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim.image.ofBuffer(_hex7488);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"multiplierImage\"] = (s.tmp_1);\n r0 = pxsim_ImageMethods.isMono(globals.screen___464);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = 0;\n { step = 2; continue; }\n case 1:\n r0 = 1;\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = (s.arg0).fields[\"bgColor\"] = (s.tmp_1);\n r0 = pxsim_ImageMethods.isMono(globals.screen___464);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = 1;\n { step = 4; continue; }\n case 3:\n r0 = 3;\n case 4:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = (s.arg0).fields[\"borderColor\"] = (s.tmp_1);\n r0 = pxsim_ImageMethods.isMono(globals.screen___464);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = 1;\n { step = 6; continue; }\n case 5:\n r0 = 3;\n case 6:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = (s.arg0).fields[\"fontColor\"] = (s.tmp_1);\n r0 = (s.arg0).fields[\"countdownExpired\"] = (undefined);\n r0 = (s.arg0).fields[\"countdownEndHandler\"] = (undefined);\n r0 = (s.arg0).fields[\"gameEnd\"] = (undefined);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"playerStates\"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_InfoState_constructor__P743.info = {\"start\":1038,\"length\":674,\"line\":43,\"column\":8,\"endLine\":61,\"endColumn\":9,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\"]}\n\nfunction info_InfoState_constructor__P743_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_InfoState_constructor__P743, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\nconst _hex7488 = pxsim.BufferMethods.createBufferFromHex(\"87040500050000000100010010100000000100001010000001000100\")\n\n\n\n\nfunction info_defaultHeartImage__P795(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_ImageMethods.isMono(globals.screen___464);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim.image.ofBuffer(_hex7516);\n { step = 2; continue; }\n case 1:\n r0 = pxsim.image.ofBuffer(_hex7518);\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = s.tmp_1;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_defaultHeartImage__P795.info = {\"start\":5105,\"length\":592,\"line\":163,\"column\":4,\"endLine\":184,\"endColumn\":5,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"defaultHeartImage\",\"argumentNames\":[]}\n\nfunction info_defaultHeartImage__P795_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_defaultHeartImage__P795, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n} }\n\nconst _hex7516 = pxsim.BufferMethods.createBufferFromHex(\"87040800070000001011000001000100010010001000000101001000010001001011000000000000\")\nconst _hex7518 = pxsim.BufferMethods.createBufferFromHex(\"8704080007000000c0cc00002c220c002222c2002222220c20222202222422004222020020220000\")\n\n\n\n\nfunction helpers_arrayFilter__P48(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.res___2828 = undefined;\n s.len___2830 = undefined;\n s.i___2833 = undefined;\n s.v___2837 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_Array__mk();\n s.res___2828 = (r0);\n r0 = pxsim_Array__length(s.arg0);\n s.len___2830 = (r0);\n s.i___2833 = (0);\n case 1:\n r0 = (s.i___2833 < s.len___2830);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 4; continue; }\n r0 = pxsim_Array__getAt(s.arg0, s.i___2833);\n s.v___2837 = (r0);\n s.tmp_1 = lambda_3_mk(s);\n s.tmp_1.argL = s.arg1;\n s.tmp_1.arg0 = s.v___2837;\n s.tmp_1.arg1 = s.i___2833;\n setupLambda(s.tmp_1, s.tmp_1.argL);\n s.pc = 5; return s.tmp_1;\n case 5:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n r0 = pxsim_Array__push(s.res___2828, s.v___2837);\n case 2:\n case 3:\n r0 = (s.i___2833 + 1);\n s.i___2833 = (r0);\n { step = 1; continue; }\n case 4:\n r0 = s.res___2828;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_arrayFilter__P48.info = {\"start\":5412,\"length\":317,\"line\":177,\"column\":4,\"endLine\":185,\"endColumn\":5,\"fileName\":\"pxt_modules/base/pxt-helpers.ts\",\"functionName\":\"arrayFilter\",\"argumentNames\":[\"arr\",\"callbackfn\"]}\n\nfunction helpers_arrayFilter__P48_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_arrayFilter__P48, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n res___2828: undefined,\n len___2830: undefined,\n i___2833: undefined,\n v___2837: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction info_PlayerState_constructor__P741(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, info_PlayerState__C740_VT)) failedCast(r0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_PlayerState_constructor__P741.info = {\"start\":601,\"length\":17,\"line\":27,\"column\":8,\"endLine\":27,\"endColumn\":25,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\"]}\n\nfunction info_PlayerState_constructor__P741_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_PlayerState_constructor__P741, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction info_changeScoreBy__P802(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = info_PlayerInfo_changeScoreBy__P829_mk(s);\n s.tmp_0.arg0 = globals.player1___845;\n s.tmp_0.arg1 = s.arg0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_changeScoreBy__P802.info = {\"start\":7719,\"length\":90,\"line\":264,\"column\":4,\"endLine\":266,\"endColumn\":5,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"changeScoreBy\",\"argumentNames\":[\"value\"]}\n\nfunction info_changeScoreBy__P802_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_changeScoreBy__P802, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction info_PlayerInfo_changeScoreBy__P829(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, info_PlayerInfo__C823_VT)) failedCast(r0);\n s.tmp_0 = info_PlayerInfo_setScore__P828_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_2 = info_PlayerInfo_score__P827_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 2; return s.tmp_2;\n case 2:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 + s.arg1);\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_PlayerInfo_changeScoreBy__P829.info = {\"start\":18528,\"length\":95,\"line\":613,\"column\":8,\"endLine\":615,\"endColumn\":9,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"changeScoreBy\",\"argumentNames\":[\"this\",\"value\"]}\n\nfunction info_PlayerInfo_changeScoreBy__P829_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_PlayerInfo_changeScoreBy__P829, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction info_PlayerInfo_setScore__P828(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.state___8150 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, info_PlayerInfo__C823_VT)) failedCast(r0);\n s.tmp_0 = info_PlayerInfo_getState__P825_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.state___8150 = (r0);\n s.tmp_0 = info_updateFlag__P815_mk(s);\n s.tmp_0.arg0 = 2;\n s.tmp_0.arg1 = true;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n s.tmp_0 = info_PlayerInfo_score__P827_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.tmp_0 = r0 = s.state___8150;\n r0 = (s.arg1 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"score\"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_PlayerInfo_setScore__P828.info = {\"start\":18041,\"length\":220,\"line\":597,\"column\":8,\"endLine\":603,\"endColumn\":9,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"setScore\",\"argumentNames\":[\"this\",\"value\"]}\n\nfunction info_PlayerInfo_setScore__P828_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_PlayerInfo_setScore__P828, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n state___8150: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction info_updateFlag__P815(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = info_initHUD__P793_mk(s);\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n if (!r0) { step = 1; continue; }\n s.tmp_0 = r0 = globals.infoState___745;\n r0 = s.tmp_0.fields[\"visibilityFlag\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | s.arg0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"visibilityFlag\"] = (s.tmp_1);\n { step = 2; continue; }\n case 1:\n s.tmp_0 = r0 = globals.infoState___745;\n r0 = globals.infoState___745.fields[\"visibilityFlag\"];\n s.tmp_4 = r0;\n r0 = (~ s.tmp_4);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 | s.arg0);\n s.tmp_2 = r0;\n r0 = (~ s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"visibilityFlag\"] = (s.tmp_1);\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninfo_updateFlag__P815.info = {\"start\":11468,\"length\":204,\"line\":394,\"column\":4,\"endLine\":398,\"endColumn\":5,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"updateFlag\",\"argumentNames\":[\"flag\",\"on\"]}\n\nfunction info_updateFlag__P815_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_updateFlag__P815, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Math_percentChance__P1154(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 >= 100);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = true;\n { step = 5; continue; }\n { step = 4; continue; }\n case 1:\n r0 = (s.arg0 <= 0);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 2; continue; }\n r0 = false;\n { step = 5; continue; }\n case 2:\n case 3:\n case 4:\n r0 = pxsim.Math_.randomRange(0, 99);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 < s.arg0);\n case 5:\n return leave(s, r0)\n default: oops()\n} } }\nMath_percentChance__P1154.info = {\"start\":336,\"length\":259,\"line\":8,\"column\":4,\"endLine\":16,\"endColumn\":5,\"fileName\":\"pxt_modules/game/mathUtil.ts\",\"functionName\":\"percentChance\",\"argumentNames\":[\"percentage\"]}\n\nfunction Math_percentChance__P1154_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Math_percentChance__P1154, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Sprite_setKind__P638(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.spritesByKind___8186 = undefined;\n s.overlapMap___8212 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = (s.arg1 == undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = s.arg0.fields[\"_kind\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 === s.arg1);\n case 2:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 3; continue; }\n { step = 15; continue; }\n case 3:\n case 4:\n s.tmp_3 = game_currentScene__P769_mk(s);\n s.pc = 16; return s.tmp_3;\n case 16:\n r0 = s.retval;\n r0 = r0.fields[\"spritesByKind\"];\n s.spritesByKind___8186 = (r0);\n r0 = s.arg0.fields[\"_kind\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 >= 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 5; continue; }\n r0 = s.tmp_0;\n { step = 6; continue; }\n case 5:\n r0 = s.arg0.fields[\"_kind\"];\n s.tmp_2 = r0;\n r0 = pxsim_pxtrt.mapGetGeneric(s.spritesByKind___8186, s.tmp_2);\n case 6:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 7; continue; }\n s.tmp_4 = SpriteSet_remove__P682_mk(s);\n r0 = s.arg0.fields[\"_kind\"];\n s.tmp_5 = r0;\n r0 = pxsim_pxtrt.mapGetGeneric(s.spritesByKind___8186, s.tmp_5);\n s.tmp_4.arg0 = r0;\n s.tmp_4.arg1 = s.arg0;\n s.pc = 17; return s.tmp_4;\n case 17:\n r0 = s.retval;\n case 7:\n case 8:\n r0 = (s.arg1 >= 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 11; continue; }\n r0 = pxsim_pxtrt.mapGetGeneric(s.spritesByKind___8186, s.arg1);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 9; continue; }\n r0 = pxsim_pxtcore_mkClassInstance(SpriteSet__C676_VT);\n s.tmp_4 = r0;\n s.tmp_5 = SpriteSet_constructor__P687_mk(s);\n s.tmp_5.arg0 = s.tmp_4;\n s.pc = 18; return s.tmp_5;\n case 18:\n r0 = s.retval;\n r0 = pxsim_pxtrt.mapSetGeneric(s.spritesByKind___8186, s.arg1, s.tmp_4);\n case 9:\n case 10:\n s.tmp_0 = SpriteSet_add__P680_mk(s);\n r0 = pxsim_pxtrt.mapGetGeneric(s.spritesByKind___8186, s.arg1);\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = s.arg0;\n s.pc = 19; return s.tmp_0;\n case 19:\n r0 = s.retval;\n case 11:\n case 12:\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 20; return s.tmp_0;\n case 20:\n r0 = s.retval;\n r0 = r0.fields[\"overlapMap\"];\n s.overlapMap___8212 = (r0);\n r0 = pxsim_pxtrt.mapGetGeneric(s.overlapMap___8212, s.arg1);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 13; continue; }\n s.tmp_3 = r0 = s.overlapMap___8212;\n s.tmp_4 = r0 = s.arg1;\n r0 = pxsim_Array__mk();\n s.tmp_5 = r0;\n r0 = pxsim_pxtrt.mapSetGeneric(s.tmp_3, s.tmp_4, s.tmp_5);\n case 13:\n case 14:\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_pxtrt.mapGetGeneric(s.overlapMap___8212, s.arg1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"_kindsOverlappedWith\"] = (s.tmp_1);\n r0 = (s.arg0).fields[\"_kind\"] = (s.arg1);\n case 15:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_setKind__P638.info = {\"start\":9666,\"length\":655,\"line\":349,\"column\":4,\"endLine\":369,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"setKind\",\"argumentNames\":[\"this\",\"value\"]}\n\nfunction Sprite_setKind__P638_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_setKind__P638, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n spritesByKind___8186: undefined,\n overlapMap___8212: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction SpriteSet_constructor__P687(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, SpriteSet__C676_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"_sprites\"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSpriteSet_constructor__P687.info = {\"start\":392,\"length\":49,\"line\":18,\"column\":4,\"endLine\":20,\"endColumn\":5,\"fileName\":\"pxt_modules/game/spriteset.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\"]}\n\nfunction SpriteSet_constructor__P687_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: SpriteSet_constructor__P687, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction SpriteSet_remove__P682(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.i___2869 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, SpriteSet__C676_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_sprites\"];\n s.tmp_0 = r0;\n r0 = pxsim_Array_.indexOf(s.tmp_0, s.arg1, undefined);\n s.i___2869 = (r0);\n r0 = (s.i___2869 > -1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_1 = helpers_arraySplice__P36_mk(s);\n r0 = s.arg0.fields[\"_sprites\"];\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = s.i___2869;\n s.tmp_1.arg2 = 1;\n s.pc = 4; return s.tmp_1;\n case 4:\n r0 = s.retval;\n r0 = true;\n { step = 3; continue; }\n case 1:\n case 2:\n r0 = false;\n case 3:\n return leave(s, r0)\n default: oops()\n} } }\nSpriteSet_remove__P682.info = {\"start\":1556,\"length\":207,\"line\":65,\"column\":4,\"endLine\":72,\"endColumn\":5,\"fileName\":\"pxt_modules/game/spriteset.ts\",\"functionName\":\"remove\",\"argumentNames\":[\"this\",\"sprite\"]}\n\nfunction SpriteSet_remove__P682_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: SpriteSet_remove__P682, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n i___2869: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction helpers_arraySplice__P36(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.i___2889 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg1 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 5; continue; }\n case 1:\n case 2:\n s.i___2889 = (0);\n case 3:\n r0 = (s.i___2889 < s.arg2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 4; continue; }\n r0 = pxsim_Array_.removeAt(s.arg0, s.arg1);\n r0 = (s.i___2889 + 1);\n s.i___2889 = (r0);\n { step = 3; continue; }\n case 4:\n case 5:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_arraySplice__P36.info = {\"start\":1359,\"length\":213,\"line\":53,\"column\":4,\"endLine\":60,\"endColumn\":5,\"fileName\":\"pxt_modules/base/pxt-helpers.ts\",\"functionName\":\"arraySplice\",\"argumentNames\":[\"arr\",\"start\",\"len\"]}\n\nfunction helpers_arraySplice__P36_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_arraySplice__P36, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n i___2889: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction SpriteSet_add__P680(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, SpriteSet__C676_VT)) failedCast(r0);\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = false;\n { step = 5; continue; }\n case 1:\n case 2:\n r0 = s.arg0.fields[\"_sprites\"];\n s.tmp_4 = r0;\n r0 = pxsim_Array_.indexOf(s.tmp_4, s.arg1, undefined);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 > -1);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 3; continue; }\n r0 = false;\n { step = 5; continue; }\n case 3:\n case 4:\n r0 = s.arg0.fields[\"_sprites\"];\n s.tmp_5 = r0;\n r0 = pxsim_Array__push(s.tmp_5, s.arg1);\n r0 = true;\n case 5:\n return leave(s, r0)\n default: oops()\n} } }\nSpriteSet_add__P680.info = {\"start\":855,\"length\":235,\"line\":40,\"column\":4,\"endLine\":48,\"endColumn\":5,\"fileName\":\"pxt_modules/game/spriteset.ts\",\"functionName\":\"add\",\"argumentNames\":[\"this\",\"sprite\"]}\n\nfunction SpriteSet_add__P680_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: SpriteSet_add__P680, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction SpriteSet_contains__P683(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, SpriteSet__C676_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_sprites\"];\n s.tmp_1 = r0;\n r0 = pxsim_Array_.indexOf(s.tmp_1, s.arg1, undefined);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 > -1);\n return leave(s, r0)\n default: oops()\n} } }\nSpriteSet_contains__P683.info = {\"start\":1854,\"length\":92,\"line\":78,\"column\":4,\"endLine\":80,\"endColumn\":5,\"fileName\":\"pxt_modules/game/spriteset.ts\",\"functionName\":\"contains\",\"argumentNames\":[\"this\",\"sprite\"]}\n\nfunction SpriteSet_contains__P683_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: SpriteSet_contains__P683, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction sprites_createProjectileFromSide__P604(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = sprites_createProjectile__P606_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.tmp_0.arg2 = s.arg2;\n s.tmp_0.arg3 = 1;\n s.tmp_0.arg4 = undefined;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_createProjectileFromSide__P604.info = {\"start\":2403,\"length\":153,\"line\":74,\"column\":4,\"endLine\":76,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprites.ts\",\"functionName\":\"createProjectileFromSide\",\"argumentNames\":[\"img\",\"vx\",\"vy\"]}\n\nfunction sprites_createProjectileFromSide__P604_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_createProjectileFromSide__P604, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction sprites_createProjectile__P606(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.s___8560 = undefined;\n s.sc___8565 = undefined;\n s.xOff___8573 = undefined;\n s.yOff___8581 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = r0 = s.arg3;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = 1;\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n s.tmp_2 = sprites_create__P602_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.tmp_2.arg1 = s.tmp_1;\n s.pc = 21; return s.tmp_2;\n case 21:\n r0 = s.retval;\n s.s___8560 = (r0);\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 22; return s.tmp_0;\n case 22:\n r0 = s.retval;\n s.sc___8565 = (r0);\n s.tmp_0 = Sprite_vx__P614_mk(s);\n s.tmp_0.arg0 = s.s___8560;\n s.tmp_0.arg1 = s.arg1;\n s.pc = 23; return s.tmp_0;\n case 23:\n r0 = s.retval;\n s.tmp_0 = Sprite_vy__P616_mk(s);\n s.tmp_0.arg0 = s.s___8560;\n s.tmp_0.arg1 = s.arg2;\n s.pc = 24; return s.tmp_0;\n case 24:\n r0 = s.retval;\n r0 = s.sc___8565.fields[\"tileMap\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = s.s___8560.fields[\"_image\"];\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 >> 1);\n s.tmp_1 = r0;\n r0 = (0 - s.tmp_1);\n { step = 4; continue; }\n case 3:\n r0 = s.s___8560.fields[\"_image\"];\n s.tmp_6 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_6);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 >> 1);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 - 1);\n case 4:\n // jmp value (already in r0)\n s.tmp_7 = r0;\n s.xOff___8573 = (s.tmp_7);\n r0 = s.sc___8565.fields[\"tileMap\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = s.s___8560.fields[\"_image\"];\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 >> 1);\n s.tmp_1 = r0;\n r0 = (0 - s.tmp_1);\n { step = 6; continue; }\n case 5:\n r0 = s.s___8560.fields[\"_image\"];\n s.tmp_6 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_6);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 >> 1);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 - 1);\n case 6:\n // jmp value (already in r0)\n s.tmp_7 = r0;\n s.yOff___8581 = (s.tmp_7);\n case 7:\n r0 = (s.arg1 == 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 8; continue; }\n r0 = s.tmp_0;\n { step = 9; continue; }\n case 8:\n r0 = (s.arg2 == 0);\n case 9:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 10; continue; }\n r0 = pxsim.Math_.randomRange(-100, 100);\n s.arg1 = (r0);\n r0 = pxsim.Math_.randomRange(-100, 100);\n s.arg2 = (r0);\n { step = 7; continue; }\n case 10:\n r0 = (s.arg1 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 11; continue; }\n s.tmp_1 = Sprite_x__P610_mk(s);\n s.tmp_1.arg0 = s.s___8560;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.xOff___8573);\n s.tmp_1.arg1 = r0;\n s.pc = 25; return s.tmp_1;\n case 25:\n r0 = s.retval;\n { step = 14; continue; }\n case 11:\n r0 = (s.arg1 > 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 12; continue; }\n s.tmp_1 = Sprite_x__P610_mk(s);\n s.tmp_1.arg0 = s.s___8560;\n r0 = (0 - s.xOff___8573);\n s.tmp_1.arg1 = r0;\n s.pc = 26; return s.tmp_1;\n case 26:\n r0 = s.retval;\n case 12:\n case 13:\n case 14:\n r0 = (s.arg2 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 15; continue; }\n s.tmp_1 = Sprite_y__P612_mk(s);\n s.tmp_1.arg0 = s.s___8560;\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.yOff___8581);\n s.tmp_1.arg1 = r0;\n s.pc = 27; return s.tmp_1;\n case 27:\n r0 = s.retval;\n { step = 18; continue; }\n case 15:\n r0 = (s.arg2 > 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 16; continue; }\n s.tmp_1 = Sprite_y__P612_mk(s);\n s.tmp_1.arg0 = s.s___8560;\n r0 = (0 - s.yOff___8581);\n s.tmp_1.arg1 = r0;\n s.pc = 28; return s.tmp_1;\n case 28:\n r0 = s.retval;\n case 16:\n case 17:\n case 18:\n s.tmp_0 = r0 = s.s___8560;\n r0 = s.tmp_0.fields[\"flags\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 4);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"flags\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.s___8560;\n r0 = s.tmp_0.fields[\"flags\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 16);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"flags\"] = (s.tmp_1);\n r0 = pxsim_numops_toBoolDecr(s.arg4);\n if (!r0) { step = 19; continue; }\n s.tmp_0 = Sprite_x__P610_mk(s);\n s.tmp_0.arg0 = s.s___8560;\n s.tmp_1 = Sprite_x__P609_mk(s);\n s.tmp_1.arg0 = s.arg4;\n s.pc = 30; return s.tmp_1;\n case 30:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.pc = 29; return s.tmp_0;\n case 29:\n r0 = s.retval;\n s.tmp_0 = Sprite_y__P612_mk(s);\n s.tmp_0.arg0 = s.s___8560;\n s.tmp_1 = Sprite_y__P611_mk(s);\n s.tmp_1.arg0 = s.arg4;\n s.pc = 32; return s.tmp_1;\n case 32:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.pc = 31; return s.tmp_0;\n case 31:\n r0 = s.retval;\n case 19:\n case 20:\n r0 = s.s___8560;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_createProjectile__P606.info = {\"start\":4034,\"length\":1115,\"line\":106,\"column\":4,\"endLine\":142,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprites.ts\",\"functionName\":\"createProjectile\",\"argumentNames\":[\"img\",\"vx\",\"vy\",\"kind\",\"sprite\"]}\n\nfunction sprites_createProjectile__P606_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_createProjectile__P606, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n s___8560: undefined,\n sc___8565: undefined,\n xOff___8573: undefined,\n yOff___8581: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n} }\n\n\n\n\n\nfunction Sprite_height__P628(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_image\"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\nSprite_height__P628.info = {\"start\":7461,\"length\":54,\"line\":265,\"column\":4,\"endLine\":267,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"height\",\"argumentNames\":[\"this\"]}\n\nfunction Sprite_height__P628_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_height__P628, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Sprite_width__P627(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_image\"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\nSprite_width__P627.info = {\"start\":7316,\"length\":52,\"line\":260,\"column\":4,\"endLine\":262,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"width\",\"argumentNames\":[\"this\"]}\n\nfunction Sprite_width__P627_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_width__P627, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Sprite_y__P612(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_0 = Sprite_top__P634_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_1 = r0 = s.arg1;\n r0 = s.arg0.fields[\"_image\"];\n s.tmp_4 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_4);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 >> 1);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 - s.tmp_2);\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_y__P612.info = {\"start\":1677,\"length\":73,\"line\":69,\"column\":4,\"endLine\":71,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"y\",\"argumentNames\":[\"this\",\"v\"]}\n\nfunction Sprite_y__P612_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_y__P612, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_top__P634(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.physics___2382 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = r0.fields[\"physicsEngine\"];\n s.physics___2382 = (r0);\n s.tmp_0 = PhysicsEngine__C708_v2_4_mk(s);\n s.tmp_0.arg0 = s.physics___2382;\n s.tmp_0.arg1 = s.arg0;\n s.tmp_0.arg2 = globals.zeroFx8___79;\n r0 = (s.arg1 * 256);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_1 = r0;\n r0 = s.arg0.fields[\"_y\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_1 - s.tmp_3);\n s.tmp_0.arg3 = r0;\n if (!checkSubtype(s.tmp_0.arg0, PhysicsEngine__C708_VT)) failedCast(s.tmp_0.arg0);\n s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.moveSprite;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_top__P634.info = {\"start\":8527,\"length\":256,\"line\":306,\"column\":4,\"endLine\":316,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"top\",\"argumentNames\":[\"this\",\"value\"]}\n\nfunction Sprite_top__P634_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_top__P634, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n physics___2382: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction PhysicsEngine_moveSprite__P711(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, PhysicsEngine__C708_VT)) failedCast(r0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nPhysicsEngine_moveSprite__P711.info = {\"start\":230,\"length\":43,\"line\":13,\"column\":4,\"endLine\":13,\"endColumn\":47,\"fileName\":\"pxt_modules/game/physics.ts\",\"functionName\":\"moveSprite\",\"argumentNames\":[\"this\",\"s\",\"dx\",\"dy\"]}\n\nfunction PhysicsEngine_moveSprite__P711_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: PhysicsEngine_moveSprite__P711, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction Fx_sub__P88(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 - s.arg1);\n return leave(s, r0)\n default: oops()\n} } }\nFx_sub__P88.info = {\"start\":736,\"length\":118,\"line\":26,\"column\":4,\"endLine\":28,\"endColumn\":5,\"fileName\":\"pxt_modules/base/fixed.ts\",\"functionName\":\"sub\",\"argumentNames\":[\"a\",\"b\"]}\n\nfunction Fx_sub__P88_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Fx_sub__P88, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_top__P633(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_y\"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 + 128);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 >> 8);\n return leave(s, r0)\n default: oops()\n} } }\nSprite_top__P633.info = {\"start\":8398,\"length\":51,\"line\":301,\"column\":4,\"endLine\":303,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"top\",\"argumentNames\":[\"this\"]}\n\nfunction Sprite_top__P633_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_top__P633, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_runtime__P1033(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_1 = game_currentScene__P769_mk(s);\n s.pc = 1; return s.tmp_1;\n case 1:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = s.tmp_0.fields[\"_millis\"];\n return leave(s, r0)\n default: oops()\n} } }\ngame_runtime__P1033.info = {\"start\":10222,\"length\":81,\"line\":331,\"column\":4,\"endLine\":333,\"endColumn\":5,\"fileName\":\"pxt_modules/game/game.ts\",\"functionName\":\"runtime\",\"argumentNames\":[]}\n\nfunction game_runtime__P1033_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_runtime__P1033, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n} }\n\n\n\n\n\nfunction forever__P505(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = game_forever__P1030_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nforever__P505.info = {\"start\":264,\"length\":62,\"line\":6,\"column\":0,\"endLine\":8,\"endColumn\":1,\"fileName\":\"pxt_modules/game/gameoverrides.ts\",\"functionName\":\"forever\",\"argumentNames\":[\"a\"]}\n\nfunction forever__P505_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: forever__P505, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_forever__P1030(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_numops_toBoolDecr(globals.foreverRunning___1029);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n globals.foreverRunning___1029 = (true);\n r0 = pxsim.control.runInParallel(inline__P8262);\n case 1:\n case 2:\n r0 = pxsim_pxtcore_mkClassInstance(scene_GameForeverHandler__C902_VT);\n s.tmp_0 = r0;\n s.tmp_1 = scene_GameForeverHandler_constructor__P903_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = s.arg0;\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n s.tmp_3 = game_currentScene__P769_mk(s);\n s.pc = 4; return s.tmp_3;\n case 4:\n r0 = s.retval;\n r0 = r0.fields[\"gameForeverHandlers\"];\n s.tmp_2 = r0;\n r0 = pxsim_Array__push(s.tmp_2, s.tmp_0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_forever__P1030.info = {\"start\":8541,\"length\":820,\"line\":276,\"column\":4,\"endLine\":299,\"endColumn\":5,\"fileName\":\"pxt_modules/game/game.ts\",\"functionName\":\"forever\",\"argumentNames\":[\"action\"]}\n\nfunction game_forever__P1030_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_forever__P1030, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P8262(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.handlers___8264 = undefined;\n case 1:\n r0 = pxsim_numops_toBoolDecr(1);\n if (!r0) { step = 2; continue; }\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n r0 = r0.fields[\"gameForeverHandlers\"];\n s.handlers___8264 = (r0);\n s.tmp_0 = helpers_arrayForEach__P47_mk(s);\n s.tmp_0.arg0 = s.handlers___8264;\n s.tmp_0.arg1 = inline__P8270;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n s.tmp_0 = pause__P241_mk(s);\n s.tmp_0.arg0 = 20;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n { step = 1; continue; }\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P8262.info = {\"start\":8693,\"length\":535,\"line\":279,\"column\":34,\"endLine\":293,\"endColumn\":13,\"fileName\":\"pxt_modules/game/game.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P8262_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P8262, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n handlers___8264: undefined,\n} }\n\n\n\n\n\nfunction inline__P8270(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0.fields[\"lock\"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = (s.arg0).fields[\"lock\"] = (true);\n r0 = pxsim_pxtcore_mkAction(1, inline__P8279);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n r0 = pxsim.control.runInParallel(s.tmp_0);\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P8270.info = {\"start\":8844,\"length\":319,\"line\":282,\"column\":37,\"endLine\":290,\"endColumn\":21,\"fileName\":\"pxt_modules/game/game.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"h\"]}\n\nfunction inline__P8270_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P8270, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P8279(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = lambda_1_mk(s);\n r0 = s.caps[0].fields[\"handler\"];\n s.tmp_0.argL = r0;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = (s.caps[0]).fields[\"lock\"] = (false);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P8279.info = {\"start\":8983,\"length\":130,\"line\":285,\"column\":50,\"endLine\":288,\"endColumn\":29,\"fileName\":\"pxt_modules/game/game.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P8279_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P8279, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction scene_GameForeverHandler_constructor__P903(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_GameForeverHandler__C902_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"handler\"] = (s.arg1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_GameForeverHandler_constructor__P903.info = {\"start\":643,\"length\":65,\"line\":29,\"column\":8,\"endLine\":31,\"endColumn\":13,\"fileName\":\"pxt_modules/game/scene.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"handler\"]}\n\nfunction scene_GameForeverHandler_constructor__P903_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_GameForeverHandler_constructor__P903, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction game_onUpdateInterval__P1028(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.timer___8301 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = game_init__P1018_mk(s);\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = (s.arg0 < 0);\n case 2:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 3; continue; }\n { step = 5; continue; }\n case 3:\n case 4:\n r0 = pxsim_pxtrt.mklocRef();\n s.timer___8301 = (r0);\n r0 = pxsim_pxtrt_stlocRef(s.timer___8301, 0);\n r0 = pxsim_pxtcore_mkAction(3, inline__P8305);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.timer___8301);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.arg0);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 2, s.arg1);\n s.tmp_1 = control_EventContext_registerFrameHandler__P226_mk(s);\n s.tmp_2 = game_eventContext__P1017_mk(s);\n s.pc = 8; return s.tmp_2;\n case 8:\n r0 = s.retval;\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = 19;\n s.tmp_1.arg2 = s.tmp_0;\n s.pc = 7; return s.tmp_1;\n case 7:\n r0 = s.retval;\n case 5:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_onUpdateInterval__P1028.info = {\"start\":7860,\"length\":417,\"line\":255,\"column\":4,\"endLine\":266,\"endColumn\":5,\"fileName\":\"pxt_modules/game/game.ts\",\"functionName\":\"onUpdateInterval\",\"argumentNames\":[\"period\",\"a\"]}\n\nfunction game_onUpdateInterval__P1028_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_onUpdateInterval__P1028, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n timer___8301: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction inline__P8305(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.time___8306 = undefined;\n s.tmp_1 = game_currentScene__P769_mk(s);\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = s.tmp_0.fields[\"_millis\"];\n s.time___8306 = (r0);\n r0 = pxsim_pxtrt_ldlocRef(s.caps[0]);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 <= s.time___8306);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_2 = r0 = s.caps[0];\n r0 = (s.time___8306 + s.caps[1]);\n s.tmp_3 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_2, s.tmp_3);\n s.tmp_0 = lambda_1_mk(s);\n s.tmp_0.argL = s.caps[2];\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P8305.info = {\"start\":8090,\"length\":179,\"line\":259,\"column\":81,\"endLine\":265,\"endColumn\":9,\"fileName\":\"pxt_modules/game/game.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P8305_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P8305, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n time___8306: undefined,\n} }\n\n\n\n\n\nfunction Sprite_bottom__P636(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_0 = Sprite_top__P634_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_1 = r0 = s.arg1;\n r0 = s.arg0.fields[\"_image\"];\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 - s.tmp_2);\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_bottom__P636.info = {\"start\":9029,\"length\":73,\"line\":325,\"column\":4,\"endLine\":327,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"bottom\",\"argumentNames\":[\"this\",\"value\"]}\n\nfunction Sprite_bottom__P636_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_bottom__P636, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_bottom__P635(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_1 = Sprite_top__P633_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.pc = 1; return s.tmp_1;\n case 1:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = s.arg0.fields[\"_image\"];\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_0 + s.tmp_2);\n return leave(s, r0)\n default: oops()\n} } }\nSprite_bottom__P635.info = {\"start\":8877,\"length\":59,\"line\":320,\"column\":4,\"endLine\":322,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"bottom\",\"argumentNames\":[\"this\"]}\n\nfunction Sprite_bottom__P635_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_bottom__P635, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_onUpdate__P1027(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = game_init__P1018_mk(s);\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(s.arg0);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 3; continue; }\n case 1:\n case 2:\n s.tmp_2 = control_EventContext_registerFrameHandler__P226_mk(s);\n s.tmp_3 = game_eventContext__P1017_mk(s);\n s.pc = 6; return s.tmp_3;\n case 6:\n r0 = s.retval;\n s.tmp_2.arg0 = r0;\n s.tmp_2.arg1 = 20;\n s.tmp_2.arg2 = s.arg0;\n s.pc = 5; return s.tmp_2;\n case 5:\n r0 = s.retval;\n case 3:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_onUpdate__P1027.info = {\"start\":7358,\"length\":169,\"line\":241,\"column\":4,\"endLine\":245,\"endColumn\":5,\"fileName\":\"pxt_modules/game/game.ts\",\"functionName\":\"onUpdate\",\"argumentNames\":[\"a\"]}\n\nfunction game_onUpdate__P1027_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_onUpdate__P1027, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction setupFrames__P22748(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_Array__mk();\n s.tmp_0 = r0;\n r0 = pxsim.image.ofBuffer(_hex22949);\n s.tmp_1 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_1);\n r0 = pxsim.image.ofBuffer(_hex22951);\n s.tmp_2 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_2);\n r0 = pxsim.image.ofBuffer(_hex22953);\n s.tmp_3 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_3);\n r0 = pxsim.image.ofBuffer(_hex22955);\n s.tmp_4 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_4);\n r0 = pxsim.image.ofBuffer(_hex22957);\n s.tmp_5 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_5);\n r0 = pxsim.image.ofBuffer(_hex22959);\n s.tmp_6 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_6);\n r0 = pxsim.image.ofBuffer(_hex22961);\n s.tmp_7 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_7);\n r0 = pxsim.image.ofBuffer(_hex22963);\n s.tmp_8 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_8);\n r0 = pxsim.image.ofBuffer(_hex22965);\n s.tmp_9 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_9);\n r0 = pxsim.image.ofBuffer(_hex22967);\n s.tmp_10 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_10);\n globals.birdFrames___22771 = (s.tmp_0);\n s.tmp_0 = animation_runImageAnimation__P1553_mk(s);\n s.tmp_0.arg0 = globals.bird___22772;\n s.tmp_0.arg1 = globals.birdFrames___22771;\n s.tmp_0.arg2 = 40;\n s.tmp_0.arg3 = true;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = pxsim_Array__mk();\n s.tmp_0 = r0;\n r0 = pxsim.image.ofBuffer(_hex22974);\n s.tmp_1 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_1);\n r0 = pxsim.image.ofBuffer(_hex22976);\n s.tmp_2 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_2);\n globals.obstacles___22770 = (s.tmp_0);\n r0 = pxsim_Array__mk();\n s.tmp_0 = r0;\n r0 = pxsim.image.ofBuffer(_hex22980);\n s.tmp_1 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_1);\n r0 = pxsim.image.ofBuffer(_hex22982);\n s.tmp_2 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_2);\n r0 = pxsim.image.ofBuffer(_hex22984);\n s.tmp_3 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_3);\n globals.trees___22769 = (s.tmp_0);\n r0 = pxsim_Array__mk();\n s.tmp_0 = r0;\n r0 = pxsim.image.ofBuffer(_hex22988);\n s.tmp_1 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_1);\n r0 = pxsim.image.ofBuffer(_hex22990);\n s.tmp_2 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_2);\n r0 = pxsim.image.ofBuffer(_hex22992);\n s.tmp_3 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_3);\n r0 = pxsim.image.ofBuffer(_hex22994);\n s.tmp_4 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_4);\n r0 = pxsim.image.ofBuffer(_hex22996);\n s.tmp_5 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_5);\n r0 = pxsim.image.ofBuffer(_hex22998);\n s.tmp_6 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_6);\n globals.grassImages___22768 = (s.tmp_0);\n r0 = pxsim_Array__mk();\n s.tmp_0 = r0;\n r0 = pxsim.image.ofBuffer(_hex23002);\n s.tmp_1 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_1);\n r0 = pxsim.image.ofBuffer(_hex23004);\n s.tmp_2 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_2);\n r0 = pxsim.image.ofBuffer(_hex23006);\n s.tmp_3 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_3);\n r0 = pxsim.image.ofBuffer(_hex23008);\n s.tmp_4 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_4);\n r0 = pxsim.image.ofBuffer(_hex23010);\n s.tmp_5 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_5);\n globals.clouds___22767 = (s.tmp_0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsetupFrames__P22748.info = {\"start\":250,\"length\":32035,\"line\":10,\"column\":0,\"endLine\":535,\"endColumn\":1,\"fileName\":\"main.ts\",\"functionName\":\"setupFrames\",\"argumentNames\":[]}\n\nfunction setupFrames__P22748_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: setupFrames__P22748, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n} }\n\nconst _hex22949 = pxsim.BufferMethods.createBufferFromHex(\"87040c000c000000000000000000000000000000000000000000000100000000000000010000000000111101000000001011110100000000101111010000000010010001000000001000000000000000000000000000000000000000000000000000000000000000\")\nconst _hex22951 = pxsim.BufferMethods.createBufferFromHex(\"87040c000c000000000000000000000000000000000000000000000100000000000011010000000000101101000000000010110100000000001011010000000000100101000000000010000000000000001000000000000000000000000000000000000000000000\")\nconst _hex22953 = pxsim.BufferMethods.createBufferFromHex(\"87040c000c000000000000000000000000000000000000000000000100000000000010110000000000001011000000000000101100000000000010110000000000000011000000000000001000000000000000100000000000000010000000000000000000000000\")\nconst _hex22955 = pxsim.BufferMethods.createBufferFromHex(\"87040c000c000000000000000000000000000000000000000000000100000000000000110100000000000011110000000000001111000000000000111100000000000001110000000000000011000000000000001000000000000000100000000000000000000000\")\nconst _hex22957 = pxsim.BufferMethods.createBufferFromHex(\"87040c000c000000000000000000000000000000000000000000000100000000000000110100000000000011110000000000001111010000000000111101000000000001100100000000000010010000000000000001000000000000000000000000000000000000\")\nconst _hex22959 = pxsim.BufferMethods.createBufferFromHex(\"87040c000c000000000000000000000000000000000000000000000100000000000000110100000000000011110000000000001111010000000000111101000000000001100100000000000010010000000000000001000000000000000000000000000000000000\")\nconst _hex22961 = pxsim.BufferMethods.createBufferFromHex(\"87040c000c000000000000000000000000000000000000000000000100000000000000110100000000000011110000000000001111000000000000111100000000000001110000000000000011000000000000001000000000000000100000000000000000000000\")\nconst _hex22963 = pxsim.BufferMethods.createBufferFromHex(\"87040c000c000000000000000000000000000000000000000000000100000000000010110000000000001011000000000000101100000000000010110000000000000011000000000000001000000000000000100000000000000010000000000000000000000000\")\nconst _hex22965 = pxsim.BufferMethods.createBufferFromHex(\"87040c000c000000000000000000000000000000000000000000000100000000000011010000000000101101000000000010110100000000001011010000000000100101000000000010000000000000001000000000000000000000000000000000000000000000\")\nconst _hex22967 = pxsim.BufferMethods.createBufferFromHex(\"87040c000c000000000000000000000000000000000000000000000100000000000000010000000000111101000000001011110100000000101111010000000010010001000000001000000000000000000000000000000000000000000000000000000000000000\")\nconst _hex22974 = pxsim.BufferMethods.createBufferFromHex(\"8704160020000000000000000000000000006006000000000000000000000000000060060000000000000000000000600000600600000000000000000000006006006667000060060000000000000060060076670000600000000000000000600600766706006006000000000600666606607767060000000000006006606676066077670600060000006666666666776776776706000000006066766766777767767777eeeeee0e707777776766777767767777eeeeee0e007777776766777767777777eeeeee0e000077776770777777777777eeeeee0e000000770770777776777777070000000000000000007777067077770700600000000000000070770600777707000600000000000000007706007777070000000000000000000070060070770700000000000000000000700000007706000000000000000000000000000077060000000000000000000000000000670600000000000000000000000000000600000000\")\nconst _hex22976 = pxsim.BufferMethods.createBufferFromHex(\"87040f0020000000000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000e00e00000000000000000000eee0eeeeee0e000000000000000000e0eebeeebbbe0e000000000000000000eebbeeebeeee0e000000000000000000beeeebebeebbee000000000000000000beeeebebebeeee000000000000000000bebeeeebeebe0e000000000000000000eebbbeeebbee0e000000000000000000e0eebeeeeeee0e00000000000000000000eee00ee0e00e000000000000000000000000000e000e000000000000000000000000e00000000000000000000000000000000e0e0000\")\nconst _hex22980 = pxsim.BufferMethods.createBufferFromHex(\"8704240030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b00000000000000000000000000000000000000000000b00b0000000000000000000000000000000000000000000bbb0b00000000000000000000000000000000000b0000b00bbb0b0000000000000000000000000000b00000bb0000bb00bb0b0000000000000000000000000000b000b0bb00b0bb00bb0b0000000000000000000000000000bb00b0bb00b0bbb0bb0b0000000000000000000000000000bb00b0bb00bb0bb0bb0b00000000000000000000b00000b0bb00bbbb00bbbbbbbb0000000000000000000000bb0000bb0bb0bb00b0bbbbbbbb0000000000000000000bb00b00b0bb00bbbb00bbbbbbbbbb0000000000000000b00bbb0b0bbbbbbbbbbbbbbbbbbbbbbb0b000000000000b0bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb00000000bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb0000000000b0b00bbbbb0bbbb0bbbbb0bbbbbbbbbbbbbbbb000000000000000bb0bb00b0bbbbbbbb00bbbbbbbbbb0b00000000000000000000bb0000bb0bb0bb0bbbb00bbbbb0b00000000000000000000b00b00b0bb00b00bb0b00bb0bb0b00000000000000000000000b0000b000000b00b00bb0bb0b00000000000000000000000b0000b00b000000b00b00bb0b0000000000000000000000000000b00b000000b00b00bb000000000000000000000000000000000b000000b00000bb0000000000000000000000000000000000000000000000b00000000000000000000000000000000000000000000000b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\")\nconst _hex22982 = pxsim.BufferMethods.createBufferFromHex(\"870424003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b0000b000b00000000000000000000000000000000000000bb000bb00b000000000000000000000000000000000000000b000bb00000000000000000000000000000000b00b000000b000bb00b00000000000000000000000b00b0bb00b000bb0bb000b00000000000000000000000b00b00bb0b00bbb0bbbbb00bbb0000000000000000000000b00bb0bb0bb0bbb0bbbbbb00bb00000000000000000b0b00b00bb00b00bb0bbbbbbbbb000b00000000000000000bbb00b00bb00bbbbbbbbbbbbb0bb00bbb00000000000bb00bbb00bb00bbbbbbbbbbbbbbbbbbbbbbbb00000000b0bbb0b0bbbbbbbbbbbbbbbbbbbbbbbbbbbbb0bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb00b00bbbb0bbb00bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb00000bbb00bb0bbb00bbbbbb0bbbb0bbbbbb0b0b0000000000000bbb00b00bbb0000bbbbbbbbbb0b0bbb0b0b00000000000000b000b00bb00000b0bbbb0bbb0b00bbbbbb000000000000000000000bb00000b0b0bb0bb0bb00bbb0bb0000000000000000000000000000000bbb0b00bb0b00b0bb00000000000000000000000000000000000b00b00b00b0bb0b000000000000000000000000000000000b00000b0000b00b000000000000000000000000000000000000000b0000000b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\")\nconst _hex22984 = pxsim.BufferMethods.createBufferFromHex(\"87042400300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b00b00000000000000000000000000000000000000000000b00b00000000000000000000000000000000000000000000b00b00b0000000000000000000000000000000000000000bb00bb0b00000000000000000000000000000000b00000b0bb00bb0b00000000000000000000000000000000b00000b0bb00bb0b00000000000000000000000000000000bb0000b0bbb0bb0b000000000000000000000000000b0000bb0000bbbbb0bb00000000000000000000000000000b00b00b00bbbbbbbbbb00000000000000000000000000b00bbbbb0bbbbbbbbbbbbb000000000000000000000000b0bbbbbbbbbbbbbbbbbbbbbbbbbbbb00000000000000b0bbbbbbbbbbbbbbbbbbbbbbbbbbbb00bb00000000000000000000bb00bbbbbbbbbbbbbbbbbbbbbbbb00000000000000000000000000bbbb00bbbbbbbbbb0b000000000000000000000000000000b0bb0000bbbbbbbb0000000000000000000000000000000000bb0000b0bbb0bb0000000000000000000000000000000000b00000b0bbbbbb000000000000000000000000000000000000000000bbb0bb000000000000000000000000000000000000000000bbb0bb0000000000000000000000000000000000000000000bb00b00000000000000000000000000000000000000000000b00b00000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\")\nconst _hex22988 = pxsim.BufferMethods.createBufferFromHex(\"8704080008000000000000000000000000000000000000bb0000bbbb000000000000000000000000\")\nconst _hex22990 = pxsim.BufferMethods.createBufferFromHex(\"87040800080000000000000000000000000000000000bbbb000000bb00000000000000bb00000000\")\nconst _hex22992 = pxsim.BufferMethods.createBufferFromHex(\"870408000800000000bbbbbb000000b00000b0bb00b0bbbb0000bbbb00000000000000bb00000000\")\nconst _hex22994 = pxsim.BufferMethods.createBufferFromHex(\"87040800080000000000000000000000000000000000bbbb000000bb00000000000000bb00b0bbbb\")\nconst _hex22996 = pxsim.BufferMethods.createBufferFromHex(\"870408000800000000000000000000000000bbbb00bbbbbb0000b0bb000000000000000000000000\")\nconst _hex22998 = pxsim.BufferMethods.createBufferFromHex(\"87040800080000000000000000b0bbbb0000b0bb0000000000000000000000000000b0bb00000000\")\nconst _hex23002 = pxsim.BufferMethods.createBufferFromHex(\"8704330017000000000000000000000000001100000000000000000000101100000000000000000000111100000000000000000010111100000000000000000011111100000000000000000011111101000000000000001011111101000000000010111111111101000000000011111111111101000000001011111111111101000000001111111111111101000000001111111111111101000000001111111111111101000000001111111111111101000000001111111111111101000000101111111111111101000000101111111111111101000000101111111111111101000000111111111111111101000000111111111111111101000000111111111111111101000010111111111111111101000011111111111111111101001011111111111111111101001111111111111111111101101111111111111111111101101111111111111111111101101111111111111111111101111111111111111111111101111111111111111111111101101111111111111111111101101111111111111111111101001111111111111111111101001111111111111111111101001111111111111111111101001111111111111111111101001011111111111111111101000011111111111111111101000000111111111111111101000000101111111111111101000000001111111111111101000000001011111111111101000000000011111111111101000000000011111111111101000000000010111111111101000000000010111111111100000000000000111111111100000000000000101111111100000000000000001111111100000000000000000010111100000000000000000000100100\")\nconst _hex23004 = pxsim.BufferMethods.createBufferFromHex(\"87042e0018000000000000000000000000000011000000000000000000001011000000000000000000001111000000000000000011111111000000000000001011111111000000000000001111111111000000000000101111111111000000000000101111111111000000000000101111111111000000000000101111111111000000000000101111111111000000000000111111111111000000001011111111111111000000111111111111111111000010111111111111111111000011111111111111111111000011111111111111111111000011111111111111111101001011111111111111111101001011111111111111111101001011111111111111111101001011111111111111111101001111111111111111111101001111111111111111111101101111111111111111111101111111111111111111111101111111111111111111111101111111111111111111111101111111111111111111111101111111111111111111111101101111111111111111111101001111111111111111111101001011111111111111111101000010111111111111111101000010111111111111111101000010111111111111111111000010111111111111111111000010111111111111111111000010111111111111111111000000111111111111111111000000001111111111111111000000000011111111111111000000000000111111111111000000000000101111111111000000000000001111111101000000000000000011111100\")\nconst _hex23006 = pxsim.BufferMethods.createBufferFromHex(\"8704210010000000000000001100000000000011111100000000111111110100001011111111010000111111111101000011111111111100001111111111110110111111111111011111111111111101111111111111110111111111111111011111111111111101111111111111110111111111111111011111111111111101111111111111110110111111111111010011111111111101001011111111110100001111111111010000111111111101000011111111110100001111111111010000111111111101000011111111110100001011111111010000001111111101000000101111110100000000101111010000000010111101000000000011110000000000001011000000000000001100\")\nconst _hex23008 = pxsim.BufferMethods.createBufferFromHex(\"870447001e0000000000000000000000000000001101000000000000000000000000001011110000000000000000000011111111111101000000000000000011111111111111010000000000000010111111111111110100000000000000101111111111111101000000000000001111111111111111010000000000001011111111111111110100000000000010111111111111111101000000000010111111111111111111010000000010111111111111111111110100000000111111111111111111111101000000101111111111111111111111010000001011111111111111111111110100000011111111111111111111111101000000111111111111111111111111110000101111111111111111111111111100001111111111111111111111111111001011111111111111111111111111110011111111111111111111111111111100111111111111111111111111111111001111111111111111111111111111110011111111111111111111111111111100101111111111111111111111111111000011111111111111111111111111110000111111111111111111111111111100001111111111111111111111111111000011111111111111111111111111110000111111111111111111111111111100001111111111111111111111111111000011111111111111111111111111110000101111111111111111111111111100000011111111111111111111111111000000101111111111111111111111110000000000111111111111111111111100000000000011111111111111111111000000000000111111111111111111110000000000001111111111111111111100000000001011111111111111111111000000000010111111111111111111110000000000101111111111111111111100000000001111111111111111111111000000000011111111111111111111110000000000111111111111111111111100000000001111111111111111111111000000000011111111111111111111110000000000101111111111111111110100000000000011111111111111111101000000000000101111111111111111010000000000000011111111111111110100000000000000111111111111111101000000000000001111111111111111010000000000000010111111111111110100000000000000101111111111111101000000000000000011111111111111010000000000000000101111111111110100000000000000000011111111111111000000000000000000001111111111110000000000000000000010111111111100000000000000000000001111111111000000000000000000000011111111110000000000000000000000101111111100000000000000000000001011111111000000000000000000000000111111110000000000000000000000001111110100000000000000000000000011111101000000000000000000000000111111010000000000000000000000001111110100000000000000000000000010111101000000000000000000000000001111010000000000000000000000000000110000\")\nconst _hex23010 = pxsim.BufferMethods.createBufferFromHex(\"8704270012000000000000000000000011000000000000000000001011000000000000000000001111000000000000000000001111000000000000000010111111000000000000001011111111000000000000001111111111000000000000101111111111000000000000111111111111000000000010111111111111000000000010111111111111000000000010111111111111000000000011111111111111000000001011111111111111000000001011111111111111000000001111111111111111000000001111111111111111000000101111111111111111000000101111111111111101000000101111111111111101000000101111111111111101000000001111111111111101000000001111111111111101000000101111111111111101000000111111111111111101000000111111111111111101000000111111111111111101000000111111111111111101000000101111111111111101000000001111111111111101000000001011111111111101000000000011111111111101000000000010111111111101000000000000101111111101000000000000101111111101000000000000001111111101000000000000001011111101000000000000000011111100000000000000000000110100000000\")\n\n\n\n\nfunction animation_runImageAnimation__P1553(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.anim___8656 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_pxtcore_mkClassInstance(animation_ImageAnimation__C1545_VT);\n s.tmp_0 = r0;\n s.tmp_1 = r0 = s.arg2;\n r0 = pxsim_numops_toBool(s.tmp_1);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_1;\n { step = 2; continue; }\n case 1:\n r0 = 500;\n case 2:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n s.tmp_3 = animation_ImageAnimation_constructor__P1548_mk(s);\n s.tmp_3.arg0 = s.tmp_0;\n s.tmp_3.arg1 = s.arg0;\n s.tmp_3.arg2 = s.arg1;\n s.tmp_3.arg3 = s.tmp_2;\n r0 = pxsim_numops_toBoolDecr(s.arg3);\n s.tmp_6 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_6);\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_5);\n s.tmp_4 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_4);\n s.tmp_3.arg4 = r0;\n s.pc = 3; return s.tmp_3;\n case 3:\n r0 = s.retval;\n s.anim___8656 = (s.tmp_0);\n s.tmp_0 = animation_SpriteAnimation_init__P1542_mk(s);\n s.tmp_0.arg0 = s.anim___8656;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nanimation_runImageAnimation__P1553.info = {\"start\":19924,\"length\":222,\"line\":510,\"column\":4,\"endLine\":513,\"endColumn\":5,\"fileName\":\"pxt_modules/animation/animation.ts\",\"functionName\":\"runImageAnimation\",\"argumentNames\":[\"sprite\",\"frames\",\"frameInterval\",\"loop\"]}\n\nfunction animation_runImageAnimation__P1553_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: animation_runImageAnimation__P1553, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n anim___8656: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction animation_ImageAnimation_constructor__P1548(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, animation_ImageAnimation__C1545_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"frames\"] = (s.arg2);\n r0 = (s.arg0).fields[\"frameInterval\"] = (s.arg3);\n s.tmp_0 = animation_SpriteAnimation_constructor__P1544_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.tmp_0.arg2 = s.arg4;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = (s.arg0).fields[\"lastFrame\"] = (-1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nanimation_ImageAnimation_constructor__P1548.info = {\"start\":17589,\"length\":178,\"line\":450,\"column\":8,\"endLine\":454,\"endColumn\":9,\"fileName\":\"pxt_modules/animation/animation.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"sprite\",\"frames\",\"frameInterval\",\"loop\"]}\n\nfunction animation_ImageAnimation_constructor__P1548_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: animation_ImageAnimation_constructor__P1548, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n} }\n\n\n\n\n\nfunction animation_SpriteAnimation_constructor__P1544(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, animation_SpriteAnimation__C1541_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"sprite\"] = (s.arg1);\n r0 = (s.arg0).fields[\"loop\"] = (s.arg2);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nanimation_SpriteAnimation_constructor__P1544.info = {\"start\":16085,\"length\":71,\"line\":412,\"column\":8,\"endLine\":413,\"endColumn\":9,\"fileName\":\"pxt_modules/animation/animation.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"sprite\",\"loop\"]}\n\nfunction animation_SpriteAnimation_constructor__P1544_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: animation_SpriteAnimation_constructor__P1544, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction animation_SpriteAnimation_init__P1542(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.state___8667 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, animation_SpriteAnimation__C1541_VT)) failedCast(r0);\n r0 = pxsim_pxtrt.mklocRef();\n s.state___8667 = (r0);\n s.tmp_0 = r0 = s.state___8667;\n s.tmp_4 = game_currentScene__P769_mk(s);\n s.pc = 3; return s.tmp_4;\n case 3:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = s.tmp_3.fields[\"_data\"];\n s.tmp_2 = r0;\n r0 = pxsim_pxtrt.mapGetGeneric(s.tmp_2, \"__animation\");\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1);\n r0 = pxsim_pxtrt_ldlocRef(s.state___8667);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_pxtrt.mkMap();\n s.tmp_3 = r0;\n r0 = pxsim_Array__mk();\n s.tmp_4 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_3, \"animations\", s.tmp_4);\n s.tmp_7 = game_currentScene__P769_mk(s);\n s.pc = 4; return s.tmp_7;\n case 4:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = s.tmp_6.fields[\"_data\"];\n s.tmp_5 = r0;\n r0 = pxsim_pxtrt.mapSetGeneric(s.tmp_5, \"__animation\", s.tmp_3);\n r0 = pxsim_pxtrt_stlocRef(s.state___8667, s.tmp_3);\n r0 = pxsim_pxtcore_mkAction(1, inline__P8681);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.state___8667);\n s.tmp_1 = control_EventContext_registerFrameHandler__P226_mk(s);\n s.tmp_2 = game_eventContext__P1017_mk(s);\n s.pc = 6; return s.tmp_2;\n case 6:\n r0 = s.retval;\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = 15;\n s.tmp_1.arg2 = s.tmp_0;\n s.pc = 5; return s.tmp_1;\n case 5:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = pxsim_pxtcore_mkAction(1, inline__P8698);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n s.tmp_1 = if_animations_2_mk(s);\n r0 = pxsim_pxtrt_ldlocRef(s.state___8667);\n s.tmp_1.arg0 = r0;\n s.tmp_2 = helpers_arrayFilter__P48_mk(s);\n s.tmp_3 = if_animations_1_mk(s);\n r0 = pxsim_pxtrt_ldlocRef(s.state___8667);\n s.tmp_3.arg0 = r0;\n if (!s.tmp_3.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, \"animations\");\n } else {\n s.tmp_3.fn = s.tmp_3.arg0.vtable.iface[\"animations\"];\n if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields[\"animations\"]; }\n else { s.pc = 9; return s.tmp_3; }\n }\n case 9:\n r0 = s.retval;\n s.tmp_2.arg0 = r0;\n s.tmp_2.arg1 = s.tmp_0;\n s.pc = 8; return s.tmp_2;\n case 8:\n r0 = s.retval;\n s.tmp_1.arg1 = r0;\n if (!s.tmp_1.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapSetByString(s.tmp_1.arg0, \"animations\", s.tmp_1.arg1);\n } else {\n s.tmp_1.fn = s.tmp_1.arg0.vtable.iface[\"set/animations\"];\n if (s.tmp_1.fn === null) { s.tmp_1.arg0.fields[\"animations\"] = s.tmp_1.arg1; }\n else if (s.tmp_1.fn === undefined) { failedCast(s.tmp_1.arg0) }\n else { s.pc = 7; return s.tmp_1; }\n }\n case 7:\n r0 = s.retval;\n s.tmp_1 = if_animations_1_mk(s);\n r0 = pxsim_pxtrt_ldlocRef(s.state___8667);\n s.tmp_1.arg0 = r0;\n if (!s.tmp_1.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, \"animations\");\n } else {\n s.tmp_1.fn = s.tmp_1.arg0.vtable.iface[\"animations\"];\n if (s.tmp_1.fn == null) { s.retval = s.tmp_1.arg0.fields[\"animations\"]; }\n else { s.pc = 10; return s.tmp_1; }\n }\n case 10:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.arg0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nanimation_SpriteAnimation_init__P1542.info = {\"start\":16166,\"length\":1185,\"line\":415,\"column\":8,\"endLine\":439,\"endColumn\":9,\"fileName\":\"pxt_modules/animation/animation.ts\",\"functionName\":\"init\",\"argumentNames\":[\"this\"]}\n\nfunction animation_SpriteAnimation_init__P1542_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: animation_SpriteAnimation_init__P1542, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n state___8667: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P8681(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = if_animations_2_mk(s);\n r0 = pxsim_pxtrt_ldlocRef(s.caps[0]);\n s.tmp_0.arg0 = r0;\n s.tmp_1 = helpers_arrayFilter__P48_mk(s);\n s.tmp_2 = if_animations_1_mk(s);\n r0 = pxsim_pxtrt_ldlocRef(s.caps[0]);\n s.tmp_2.arg0 = r0;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, \"animations\");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface[\"animations\"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields[\"animations\"]; }\n else { s.pc = 3; return s.tmp_2; }\n }\n case 3:\n r0 = s.retval;\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = inline__P8688;\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n if (!s.tmp_0.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapSetByString(s.tmp_0.arg0, \"animations\", s.tmp_0.arg1);\n } else {\n s.tmp_0.fn = s.tmp_0.arg0.vtable.iface[\"set/animations\"];\n if (s.tmp_0.fn === null) { s.tmp_0.arg0.fields[\"animations\"] = s.tmp_0.arg1; }\n else if (s.tmp_0.fn === undefined) { failedCast(s.tmp_0.arg0) }\n else { s.pc = 1; return s.tmp_0; }\n }\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P8681.info = {\"start\":16598,\"length\":257,\"line\":424,\"column\":90,\"endLine\":428,\"endColumn\":17,\"fileName\":\"pxt_modules/animation/animation.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P8681_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P8681, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n} }\n\n\n\n\n\nfunction inline__P8688(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_2 = animation_SpriteAnimation__C1541_v0_1_mk(s);\n s.tmp_2.arg0 = s.arg0;\n if (!checkSubtype(s.tmp_2.arg0, animation_SpriteAnimation__C1541_VT)) failedCast(s.tmp_2.arg0);\n s.tmp_2.fn = s.tmp_2.arg0.vtable.methods.update;\n s.pc = 1; return s.tmp_2;\n case 1:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\ninline__P8688.info = {\"start\":16669,\"length\":166,\"line\":425,\"column\":63,\"endLine\":427,\"endColumn\":21,\"fileName\":\"pxt_modules/animation/animation.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"anim\"]}\n\nfunction inline__P8688_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P8688, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P8698(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0.fields[\"sprite\"];\n s.tmp_1 = r0;\n r0 = s.caps[0].fields[\"sprite\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_1 === s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 8; continue; }\n case 1:\n r0 = s.arg0;\n r0 = checkSubtype(r0, animation_ImageAnimation__C1545_VT);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBool(s.tmp_3);\n if (r0) { step = 2; continue; }\n r0 = s.tmp_3;\n { step = 3; continue; }\n case 2:\n r0 = s.caps[0];\n r0 = checkSubtype(r0, animation_ImageAnimation__C1545_VT);\n case 3:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBool(s.tmp_4);\n if (!r0) { step = 4; continue; }\n r0 = s.tmp_4;\n { step = 7; continue; }\n case 4:\n r0 = s.arg0;\n r0 = checkSubtype(r0, animation_MovementAnimation__C1549_VT);\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBool(s.tmp_5);\n if (r0) { step = 5; continue; }\n r0 = s.tmp_5;\n { step = 6; continue; }\n case 5:\n r0 = s.caps[0];\n r0 = checkSubtype(r0, animation_MovementAnimation__C1549_VT);\n case 6:\n // jmp value (already in r0)\n s.tmp_6 = r0;\n r0 = s.tmp_6;\n case 7:\n // jmp value (already in r0)\n s.tmp_7 = r0;\n r0 = s.tmp_7;\n case 8:\n // jmp value (already in r0)\n s.tmp_8 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_8);\n s.tmp_9 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_9);\n return leave(s, r0)\n default: oops()\n} } }\ninline__P8698.info = {\"start\":17012,\"length\":285,\"line\":432,\"column\":55,\"endLine\":436,\"endColumn\":13,\"fileName\":\"pxt_modules/animation/animation.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"anim\"]}\n\nfunction inline__P8698_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P8698, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction animation_SpriteAnimation_update__P1543(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, animation_SpriteAnimation__C1541_VT)) failedCast(r0);\n r0 = false;\n return leave(s, r0)\n default: oops()\n} } }\nanimation_SpriteAnimation_update__P1543.info = {\"start\":17361,\"length\":118,\"line\":441,\"column\":8,\"endLine\":444,\"endColumn\":9,\"fileName\":\"pxt_modules/animation/animation.ts\",\"functionName\":\"update\",\"argumentNames\":[\"this\"]}\n\nfunction animation_SpriteAnimation_update__P1543_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: animation_SpriteAnimation_update__P1543, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_Scene_data__P925(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Scene__C923_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_data\"];\n return leave(s, r0)\n default: oops()\n} } }\nscene_Scene_data__P925.info = {\"start\":5591,\"length\":53,\"line\":157,\"column\":8,\"endLine\":159,\"endColumn\":9,\"fileName\":\"pxt_modules/game/scene.ts\",\"functionName\":\"data\",\"argumentNames\":[\"this\"]}\n\nfunction scene_Scene_data__P925_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Scene_data__P925, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Sprite_setVelocity__P640(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_0 = Sprite_vx__P614_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.tmp_0 = Sprite_vy__P616_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg2;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_setVelocity__P640.info = {\"start\":11311,\"length\":93,\"line\":401,\"column\":4,\"endLine\":404,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"setVelocity\",\"argumentNames\":[\"this\",\"vx\",\"vy\"]}\n\nfunction Sprite_setVelocity__P640_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_setVelocity__P640, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction Sprite_setPosition__P639(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.physics___8332 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = r0.fields[\"physicsEngine\"];\n s.physics___8332 = (r0);\n s.tmp_0 = PhysicsEngine__C708_v2_4_mk(s);\n s.tmp_0.arg0 = s.physics___8332;\n s.tmp_0.arg1 = s.arg0;\n s.tmp_2 = r0 = s.arg1;\n s.tmp_4 = Sprite_x__P609_mk(s);\n s.tmp_4.arg0 = s.arg0;\n s.pc = 3; return s.tmp_4;\n case 3:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_2 - s.tmp_3);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 * 256);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 | 0);\n s.tmp_0.arg2 = r0;\n s.tmp_7 = r0 = s.arg2;\n s.tmp_9 = Sprite_y__P611_mk(s);\n s.tmp_9.arg0 = s.arg0;\n s.pc = 4; return s.tmp_9;\n case 4:\n r0 = s.retval;\n s.tmp_8 = r0;\n r0 = (s.tmp_7 - s.tmp_8);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 * 256);\n s.tmp_10 = r0;\n r0 = (s.tmp_10 | 0);\n s.tmp_0.arg3 = r0;\n if (!checkSubtype(s.tmp_0.arg0, PhysicsEngine__C708_VT)) failedCast(s.tmp_0.arg0);\n s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.moveSprite;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_setPosition__P639.info = {\"start\":10748,\"length\":220,\"line\":381,\"column\":4,\"endLine\":388,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"setPosition\",\"argumentNames\":[\"this\",\"x\",\"y\"]}\n\nfunction Sprite_setPosition__P639_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_setPosition__P639, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n physics___8332: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction Sprite_x__P610(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_0 = Sprite_left__P630_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_1 = r0 = s.arg1;\n r0 = s.arg0.fields[\"_image\"];\n s.tmp_4 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_4);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 >> 1);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 - s.tmp_2);\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_x__P610.info = {\"start\":1328,\"length\":73,\"line\":58,\"column\":4,\"endLine\":60,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"x\",\"argumentNames\":[\"this\",\"v\"]}\n\nfunction Sprite_x__P610_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_x__P610, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_left__P630(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.physics___8353 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = r0.fields[\"physicsEngine\"];\n s.physics___8353 = (r0);\n s.tmp_0 = PhysicsEngine__C708_v2_4_mk(s);\n s.tmp_0.arg0 = s.physics___8353;\n s.tmp_0.arg1 = s.arg0;\n r0 = (s.arg1 * 256);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_1 = r0;\n r0 = s.arg0.fields[\"_x\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_1 - s.tmp_3);\n s.tmp_0.arg2 = r0;\n s.tmp_0.arg3 = globals.zeroFx8___79;\n if (!checkSubtype(s.tmp_0.arg0, PhysicsEngine__C708_VT)) failedCast(s.tmp_0.arg0);\n s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.moveSprite;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_left__P630.info = {\"start\":7749,\"length\":257,\"line\":276,\"column\":4,\"endLine\":286,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"left\",\"argumentNames\":[\"this\",\"value\"]}\n\nfunction Sprite_left__P630_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_left__P630, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n physics___8353: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_left__P629(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_x\"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 + 128);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 >> 8);\n return leave(s, r0)\n default: oops()\n} } }\nSprite_left__P629.info = {\"start\":7607,\"length\":51,\"line\":271,\"column\":4,\"endLine\":273,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"left\",\"argumentNames\":[\"this\"]}\n\nfunction Sprite_left__P629_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_left__P629, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Sprite_x__P609(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_x\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 + 128);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 >> 8);\n s.tmp_0 = r0;\n r0 = s.arg0.fields[\"_image\"];\n s.tmp_5 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_5);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 >> 1);\n s.tmp_3 = r0;\n r0 = (s.tmp_0 + s.tmp_3);\n return leave(s, r0)\n default: oops()\n} } }\nSprite_x__P609.info = {\"start\":1157,\"length\":83,\"line\":53,\"column\":4,\"endLine\":55,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"x\",\"argumentNames\":[\"this\"]}\n\nfunction Sprite_x__P609_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_x__P609, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction sprites_create__P602(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.scene___8381 = undefined;\n s.sprite___8383 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.scene___8381 = (r0);\n r0 = pxsim_pxtcore_mkClassInstance(Sprite__C607_VT);\n s.tmp_0 = r0;\n s.tmp_1 = Sprite_constructor__P657_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = s.arg0;\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n s.sprite___8383 = (s.tmp_0);\n s.tmp_0 = Sprite_setKind__P638_mk(s);\n s.tmp_0.arg0 = s.sprite___8383;\n s.tmp_0.arg1 = s.arg1;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.tmp_0 = PhysicsEngine__C708_v0_2_mk(s);\n r0 = s.scene___8381.fields[\"physicsEngine\"];\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = s.sprite___8383;\n if (!checkSubtype(s.tmp_0.arg0, PhysicsEngine__C708_VT)) failedCast(s.tmp_0.arg0);\n s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.addSprite;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkAction(1, inline__P8398);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg1);\n r0 = pxsim_pxtcore_mkAction(1, inline__P8403);\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_1, 0, s.sprite___8383);\n s.tmp_2 = helpers_arrayForEach__P47_mk(s);\n s.tmp_3 = helpers_arrayFilter__P48_mk(s);\n r0 = s.scene___8381.fields[\"createdHandlers\"];\n s.tmp_3.arg0 = r0;\n s.tmp_3.arg1 = s.tmp_0;\n s.pc = 6; return s.tmp_3;\n case 6:\n r0 = s.retval;\n s.tmp_2.arg0 = r0;\n s.tmp_2.arg1 = s.tmp_1;\n s.pc = 5; return s.tmp_2;\n case 5:\n r0 = s.retval;\n r0 = s.sprite___8383;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_create__P602.info = {\"start\":890,\"length\":400,\"line\":35,\"column\":4,\"endLine\":47,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprites.ts\",\"functionName\":\"create\",\"argumentNames\":[\"img\",\"kind\"]}\n\nfunction sprites_create__P602_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_create__P602, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n scene___8381: undefined,\n sprite___8383: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction inline__P8398(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0.fields[\"kind\"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 == s.caps[0]);\n return leave(s, r0)\n default: oops()\n} } }\ninline__P8398.info = {\"start\":1195,\"length\":19,\"line\":43,\"column\":20,\"endLine\":43,\"endColumn\":39,\"fileName\":\"pxt_modules/game/sprites.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"h\"]}\n\nfunction inline__P8398_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P8398, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P8403(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = lambda_2_mk(s);\n r0 = s.arg0.fields[\"handler\"];\n s.tmp_0.argL = r0;\n s.tmp_0.arg0 = s.caps[0];\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P8403.info = {\"start\":1237,\"length\":22,\"line\":44,\"column\":21,\"endLine\":44,\"endColumn\":43,\"fileName\":\"pxt_modules/game/sprites.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"h\"]}\n\nfunction inline__P8403_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P8403, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction PhysicsEngine_addSprite__P709(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, PhysicsEngine__C708_VT)) failedCast(r0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nPhysicsEngine_addSprite__P709.info = {\"start\":124,\"length\":29,\"line\":8,\"column\":4,\"endLine\":8,\"endColumn\":33,\"fileName\":\"pxt_modules/game/physics.ts\",\"functionName\":\"addSprite\",\"argumentNames\":[\"this\",\"sprite\"]}\n\nfunction PhysicsEngine_addSprite__P709_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: PhysicsEngine_addSprite__P709, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_constructor__P657(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_0 = sprites_BaseSprite_constructor__P516_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = 0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_4 = r0;\n r0 = pxsim_ImageMethods.width(s.arg1);\n s.tmp_5 = r0;\n r0 = (s.tmp_4 - s.tmp_5);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 >> 1);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 * 256);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"_x\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n s.tmp_4 = r0;\n r0 = pxsim_ImageMethods.height(s.arg1);\n s.tmp_5 = r0;\n r0 = (s.tmp_4 - s.tmp_5);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 >> 1);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 * 256);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"_y\"] = (s.tmp_1);\n r0 = s.arg0.fields[\"_x\"];\n s.tmp_0 = r0;\n r0 = (s.arg0).fields[\"_lastX\"] = (s.tmp_0);\n r0 = s.arg0.fields[\"_y\"];\n s.tmp_0 = r0;\n r0 = (s.arg0).fields[\"_lastY\"] = (s.tmp_0);\n s.tmp_0 = Sprite_vx__P614_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = 0;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n s.tmp_0 = Sprite_vy__P616_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = 0;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.tmp_0 = Sprite_ax__P618_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = 0;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n s.tmp_0 = Sprite_ay__P620_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = 0;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n r0 = (s.arg0).fields[\"flags\"] = (0);\n s.tmp_0 = Sprite_setImage__P625_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n s.tmp_0 = Sprite_setKind__P638_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = -1;\n s.pc = 7; return s.tmp_0;\n case 7:\n r0 = s.retval;\n r0 = (s.arg0).fields[\"layer\"] = (1);\n r0 = (s.arg0).fields[\"lifespan\"] = (undefined);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"_overlappers\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"_obstacles\"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_constructor__P657.info = {\"start\":4147,\"length\":578,\"line\":164,\"column\":4,\"endLine\":182,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"img\"]}\n\nfunction Sprite_constructor__P657_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_constructor__P657, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_setImage__P625(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.oMinX___3091 = undefined;\n s.oMinY___3092 = undefined;\n s.oMaxX___3093 = undefined;\n s.oMaxY___3094 = undefined;\n s.nMinX___3131 = undefined;\n s.nMinY___3135 = undefined;\n s.nMaxX___3139 = undefined;\n s.nMaxY___3146 = undefined;\n s.minXDiff___3153 = undefined;\n s.minYDiff___3156 = undefined;\n s.maxXDiff___3159 = undefined;\n s.maxYDiff___3162 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 13; continue; }\n case 1:\n case 2:\n s.oMinX___3091 = (0);\n s.oMinY___3092 = (0);\n s.oMaxX___3093 = (0);\n s.oMaxY___3094 = (0);\n r0 = s.arg0.fields[\"_hitbox\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = s.arg0.fields[\"_hitbox\"];\n r0 = r0.fields[\"ox\"];\n s.oMinX___3091 = (r0);\n r0 = s.arg0.fields[\"_hitbox\"];\n r0 = r0.fields[\"oy\"];\n s.oMinY___3092 = (r0);\n r0 = s.arg0.fields[\"_hitbox\"];\n r0 = r0.fields[\"ox\"];\n s.tmp_0 = r0;\n r0 = s.arg0.fields[\"_hitbox\"];\n r0 = r0.fields[\"width\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n s.oMaxX___3093 = (r0);\n r0 = s.arg0.fields[\"_hitbox\"];\n r0 = r0.fields[\"oy\"];\n s.tmp_0 = r0;\n r0 = s.arg0.fields[\"_hitbox\"];\n r0 = r0.fields[\"height\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n s.oMaxY___3094 = (r0);\n case 3:\n case 4:\n r0 = (s.arg0).fields[\"_image\"] = (s.arg1);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_2 = game_calculateHitBox__P599_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 14; return s.tmp_2;\n case 14:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"_hitbox\"] = (s.tmp_1);\n r0 = s.arg0.fields[\"_hitbox\"];\n r0 = r0.fields[\"ox\"];\n s.nMinX___3131 = (r0);\n r0 = s.arg0.fields[\"_hitbox\"];\n r0 = r0.fields[\"oy\"];\n s.nMinY___3135 = (r0);\n r0 = s.arg0.fields[\"_hitbox\"];\n r0 = r0.fields[\"ox\"];\n s.tmp_0 = r0;\n r0 = s.arg0.fields[\"_hitbox\"];\n r0 = r0.fields[\"width\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n s.nMaxX___3139 = (r0);\n r0 = s.arg0.fields[\"_hitbox\"];\n r0 = r0.fields[\"oy\"];\n s.tmp_0 = r0;\n r0 = s.arg0.fields[\"_hitbox\"];\n r0 = r0.fields[\"height\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n s.nMaxY___3146 = (r0);\n r0 = (s.oMinX___3091 - s.nMinX___3131);\n s.minXDiff___3153 = (r0);\n r0 = (s.oMinY___3092 - s.nMinY___3135);\n s.minYDiff___3156 = (r0);\n r0 = (s.oMaxX___3093 - s.nMaxX___3139);\n s.maxXDiff___3159 = (r0);\n r0 = (s.oMaxY___3094 - s.nMaxY___3146);\n s.maxYDiff___3162 = (r0);\n r0 = (s.oMaxX___3093 != s.oMinX___3091);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 5; continue; }\n r0 = s.tmp_0;\n { step = 6; continue; }\n case 5:\n s.tmp_3 = Math_abs__P59_mk(s);\n s.tmp_3.arg0 = s.minXDiff___3153;\n s.pc = 15; return s.tmp_3;\n case 15:\n r0 = s.retval;\n s.tmp_2 = r0;\n s.tmp_5 = Math_abs__P59_mk(s);\n s.tmp_5.arg0 = s.maxXDiff___3159;\n s.pc = 16; return s.tmp_5;\n case 16:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = (s.tmp_2 + s.tmp_4);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 <= 2);\n case 6:\n // jmp value (already in r0)\n s.tmp_6 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_6);\n if (!r0) { step = 7; continue; }\n r0 = s.arg0.fields[\"_hitbox\"];\n s.tmp_7 = r0;\n r0 = (s.tmp_7).fields[\"ox\"] = (s.oMinX___3091);\n r0 = s.arg0.fields[\"_hitbox\"];\n s.tmp_0 = r0;\n r0 = (s.oMaxX___3093 - s.oMinX___3091);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"width\"] = (s.tmp_1);\n case 7:\n case 8:\n r0 = (s.oMaxY___3094 != s.oMinY___3092);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 9; continue; }\n r0 = s.tmp_0;\n { step = 10; continue; }\n case 9:\n s.tmp_3 = Math_abs__P59_mk(s);\n s.tmp_3.arg0 = s.minYDiff___3156;\n s.pc = 17; return s.tmp_3;\n case 17:\n r0 = s.retval;\n s.tmp_2 = r0;\n s.tmp_5 = Math_abs__P59_mk(s);\n s.tmp_5.arg0 = s.maxYDiff___3162;\n s.pc = 18; return s.tmp_5;\n case 18:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = (s.tmp_2 + s.tmp_4);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 <= 2);\n case 10:\n // jmp value (already in r0)\n s.tmp_6 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_6);\n if (!r0) { step = 11; continue; }\n r0 = s.arg0.fields[\"_hitbox\"];\n s.tmp_7 = r0;\n r0 = (s.tmp_7).fields[\"oy\"] = (s.oMinY___3092);\n r0 = s.arg0.fields[\"_hitbox\"];\n s.tmp_0 = r0;\n r0 = (s.oMaxY___3094 - s.oMinY___3092);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"height\"] = (s.tmp_1);\n case 11:\n case 12:\n case 13:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_setImage__P625.info = {\"start\":5754,\"length\":1391,\"line\":212,\"column\":4,\"endLine\":252,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"setImage\",\"argumentNames\":[\"this\",\"img\"]}\n\nfunction Sprite_setImage__P625_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_setImage__P625, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n oMinX___3091: undefined,\n oMinY___3092: undefined,\n oMaxX___3093: undefined,\n oMaxY___3094: undefined,\n nMinX___3131: undefined,\n nMinY___3135: undefined,\n nMaxX___3139: undefined,\n nMaxY___3146: undefined,\n minXDiff___3153: undefined,\n minYDiff___3156: undefined,\n maxXDiff___3159: undefined,\n maxYDiff___3162: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction game_calculateHitBox__P599(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.i___3202 = undefined;\n s.minX___3205 = undefined;\n s.minY___3208 = undefined;\n s.maxX___3211 = undefined;\n s.maxY___3212 = undefined;\n s.c___3213 = undefined;\n s.r___3218 = undefined;\n s.width___3249 = undefined;\n s.height___3254 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0.fields[\"_image\"];\n s.i___3202 = (r0);\n r0 = pxsim_ImageMethods.width(s.i___3202);\n s.minX___3205 = (r0);\n r0 = pxsim_ImageMethods.height(s.i___3202);\n s.minY___3208 = (r0);\n s.maxX___3211 = (0);\n s.maxY___3212 = (0);\n s.c___3213 = (0);\n case 1:\n s.tmp_1 = r0 = s.c___3213;\n r0 = pxsim_ImageMethods.width(s.i___3202);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 6; continue; }\n s.r___3218 = (0);\n case 2:\n s.tmp_1 = r0 = s.r___3218;\n r0 = pxsim_ImageMethods.height(s.i___3202);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = pxsim_ImageMethods.getPixel(s.i___3202, s.c___3213, s.r___3218);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 3; continue; }\n s.tmp_4 = Math_min__P62_mk(s);\n s.tmp_4.arg0 = s.minX___3205;\n s.tmp_4.arg1 = s.c___3213;\n s.pc = 7; return s.tmp_4;\n case 7:\n r0 = s.retval;\n s.minX___3205 = (r0);\n s.tmp_0 = Math_min__P62_mk(s);\n s.tmp_0.arg0 = s.minY___3208;\n s.tmp_0.arg1 = s.r___3218;\n s.pc = 8; return s.tmp_0;\n case 8:\n r0 = s.retval;\n s.minY___3208 = (r0);\n s.tmp_0 = Math_max__P61_mk(s);\n s.tmp_0.arg0 = s.maxX___3211;\n s.tmp_0.arg1 = s.c___3213;\n s.pc = 9; return s.tmp_0;\n case 9:\n r0 = s.retval;\n s.maxX___3211 = (r0);\n s.tmp_0 = Math_max__P61_mk(s);\n s.tmp_0.arg0 = s.maxY___3212;\n s.tmp_0.arg1 = s.r___3218;\n s.pc = 10; return s.tmp_0;\n case 10:\n r0 = s.retval;\n s.maxY___3212 = (r0);\n case 3:\n case 4:\n r0 = (s.r___3218 + 1);\n s.r___3218 = (r0);\n { step = 2; continue; }\n case 5:\n r0 = (s.c___3213 + 1);\n s.c___3213 = (r0);\n { step = 1; continue; }\n case 6:\n r0 = (s.maxX___3211 - s.minX___3205);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 + 1);\n s.width___3249 = (r0);\n r0 = (s.maxY___3212 - s.minY___3208);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 + 1);\n s.height___3254 = (r0);\n r0 = pxsim_pxtcore_mkClassInstance(game_Hitbox__C593_VT);\n s.tmp_0 = r0;\n s.tmp_1 = game_Hitbox_constructor__P598_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = s.arg0;\n s.tmp_1.arg2 = s.width___3249;\n s.tmp_1.arg3 = s.height___3254;\n s.tmp_1.arg4 = s.minX___3205;\n s.tmp_1.arg5 = s.minY___3208;\n s.pc = 11; return s.tmp_1;\n case 11:\n r0 = s.retval;\n r0 = s.tmp_0;\n return leave(s, r0)\n default: oops()\n} } }\ngame_calculateHitBox__P599.info = {\"start\":764,\"length\":692,\"line\":34,\"column\":4,\"endLine\":56,\"endColumn\":5,\"fileName\":\"pxt_modules/game/hitbox.ts\",\"functionName\":\"calculateHitBox\",\"argumentNames\":[\"s\"]}\n\nfunction game_calculateHitBox__P599_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_calculateHitBox__P599, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n i___3202: undefined,\n minX___3205: undefined,\n minY___3208: undefined,\n maxX___3211: undefined,\n maxY___3212: undefined,\n c___3213: undefined,\n r___3218: undefined,\n width___3249: undefined,\n height___3254: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Sprite_image__P624(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_image\"];\n return leave(s, r0)\n default: oops()\n} } }\nSprite_image__P624.info = {\"start\":5478,\"length\":54,\"line\":202,\"column\":4,\"endLine\":204,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"image\",\"argumentNames\":[\"this\"]}\n\nfunction Sprite_image__P624_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_image__P624, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_Hitbox_constructor__P598(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.arg5 = (s.lambdaArgs[5]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_Hitbox__C593_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"width\"] = (s.arg2);\n r0 = (s.arg0).fields[\"height\"] = (s.arg3);\n r0 = (s.arg0).fields[\"parent\"] = (s.arg1);\n r0 = (s.arg0).fields[\"ox\"] = (s.arg4);\n r0 = (s.arg0).fields[\"oy\"] = (s.arg5);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_Hitbox_constructor__P598.info = {\"start\":163,\"length\":246,\"line\":8,\"column\":8,\"endLine\":14,\"endColumn\":9,\"fileName\":\"pxt_modules/game/hitbox.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"parent\",\"width\",\"height\",\"ox\",\"oy\"]}\n\nfunction game_Hitbox_constructor__P598_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_Hitbox_constructor__P598, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n arg5: undefined,\n} }\n\n\n\n\n\nfunction Sprite_ax__P618(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg1 * 256);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"_ax\"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_ax__P618.info = {\"start\":2700,\"length\":51,\"line\":102,\"column\":4,\"endLine\":104,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"ax\",\"argumentNames\":[\"this\",\"v\"]}\n\nfunction Sprite_ax__P618_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_ax__P618, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_ax__P617(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_ax\"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 / 256);\n return leave(s, r0)\n default: oops()\n} } }\nSprite_ax__P617.info = {\"start\":2534,\"length\":60,\"line\":97,\"column\":4,\"endLine\":99,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"ax\",\"argumentNames\":[\"this\"]}\n\nfunction Sprite_ax__P617_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_ax__P617, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_setBackgroundColor__P935(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.scene___8475 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.scene___8475 = (r0);\n r0 = s.scene___8475.fields[\"background\"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0).fields[\"color\"] = (s.arg0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_setBackgroundColor__P935.info = {\"start\":1004,\"length\":140,\"line\":37,\"column\":4,\"endLine\":40,\"endColumn\":5,\"fileName\":\"pxt_modules/game/scenes.ts\",\"functionName\":\"setBackgroundColor\",\"argumentNames\":[\"color\"]}\n\nfunction scene_setBackgroundColor__P935_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_setBackgroundColor__P935, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n scene___8475: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction gameover__P22758(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.scoreInfo___23014 = undefined;\n s.highScore___23017 = undefined;\n s.c___23066 = undefined;\n globals.over___22733 = (true);\n s.tmp_0 = info_PlayerInfo_getState__P825_mk(s);\n s.tmp_0.arg0 = globals.player1___845;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.scoreInfo___23014 = (r0);\n s.tmp_0 = info_highScore__P800_mk(s);\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n s.highScore___23017 = (r0);\n r0 = s.scoreInfo___23014.fields[\"score\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > s.highScore___23017);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_2 = info_saveHighScore__P797_mk(s);\n s.pc = 5; return s.tmp_2;\n case 5:\n r0 = s.retval;\n case 1:\n case 2:\n s.tmp_0 = music_setVolume__P341_mk(s);\n s.tmp_0.arg0 = 12;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n s.tmp_0 = music_Melody_play__P357_mk(s);\n s.tmp_0.arg0 = globals.wawawawaa___368;\n s.tmp_0.arg1 = 255;\n s.pc = 7; return s.tmp_0;\n case 7:\n r0 = s.retval;\n s.tmp_0 = Sprite_destroy__P653_mk(s);\n s.tmp_0.arg0 = globals.bunny___22740;\n s.tmp_0.arg1 = undefined;\n s.tmp_0.arg2 = undefined;\n s.pc = 8; return s.tmp_0;\n case 8:\n r0 = s.retval;\n s.tmp_0 = game_onShade__P1032_mk(s);\n s.tmp_0.arg0 = inline__P23031;\n s.pc = 9; return s.tmp_0;\n case 9:\n r0 = s.retval;\n s.tmp_0 = pause__P241_mk(s);\n s.tmp_0.arg0 = 500;\n s.pc = 10; return s.tmp_0;\n case 10:\n r0 = s.retval;\n s.tmp_0 = sprites_create__P602_mk(s);\n r0 = pxsim.image.ofBuffer(_hex23069);\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = 99;\n s.pc = 11; return s.tmp_0;\n case 11:\n r0 = s.retval;\n s.c___23066 = (r0);\n s.tmp_0 = if_z_2_mk(s);\n s.tmp_0.arg0 = s.c___23066;\n s.tmp_0.arg1 = 101;\n if (!s.tmp_0.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapSetByString(s.tmp_0.arg0, \"z\", s.tmp_0.arg1);\n } else {\n s.tmp_0.fn = s.tmp_0.arg0.vtable.iface[\"set/z\"];\n if (s.tmp_0.fn === null) { s.tmp_0.arg0.fields[\"z\"] = s.tmp_0.arg1; }\n else if (s.tmp_0.fn === undefined) { failedCast(s.tmp_0.arg0) }\n else { s.pc = 12; return s.tmp_0; }\n }\n case 12:\n r0 = s.retval;\n s.tmp_0 = Sprite_setPosition__P639_mk(s);\n s.tmp_0.arg0 = s.c___23066;\n s.tmp_0.arg1 = 145;\n s.tmp_0.arg2 = 70;\n s.pc = 13; return s.tmp_0;\n case 13:\n r0 = s.retval;\n s.tmp_0 = game_waitAnyButton__P1016_mk(s);\n s.pc = 14; return s.tmp_0;\n case 14:\n r0 = s.retval;\n setupResume(s, 15);\n pxsim.control.reset();\n checkResumeConsumed();\n return;\n case 15:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngameover__P22758.info = {\"start\":36166,\"length\":1631,\"line\":664,\"column\":0,\"endLine\":719,\"endColumn\":1,\"fileName\":\"main.ts\",\"functionName\":\"gameover\",\"argumentNames\":[]}\n\nfunction gameover__P22758_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: gameover__P22758, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n scoreInfo___23014: undefined,\n highScore___23017: undefined,\n c___23066: undefined,\n} }\n\nconst _hex23069 = pxsim.BufferMethods.createBufferFromHex(\"87040b000b00000000606686080000006076776686000000607777676608000076171111670800007671177766080000767117776608000076711777660800007617111167080000607777676608000060767766860000000060668608000000\")\n\n\n\n\nfunction inline__P23031(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = helpers_imageFillRect__P411_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_0.arg1 = 0;\n s.tmp_0.arg2 = 35;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_0.arg3 = r0;\n s.tmp_0.arg4 = 1;\n s.tmp_0.arg5 = 1;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.tmp_0 = helpers_imageFillRect__P411_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_0.arg1 = 0;\n s.tmp_0.arg2 = 36;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_0.arg3 = r0;\n s.tmp_0.arg4 = 48;\n s.tmp_0.arg5 = 15;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n s.tmp_0 = helpers_imageFillRect__P411_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_0.arg1 = 0;\n s.tmp_0.arg2 = 85;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_0.arg3 = r0;\n s.tmp_0.arg4 = 1;\n s.tmp_0.arg5 = 1;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.tmp_0 = helpers_imagePrintCenter__P431_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_0.arg1 = \"Game Over!\";\n s.tmp_0.arg2 = 46;\n s.tmp_0.arg3 = 5;\n s.tmp_0.arg4 = undefined;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n s.tmp_0 = helpers_imagePrintCenter__P431_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_3 = info_score__P798_mk(s);\n s.pc = 6; return s.tmp_3;\n case 6:\n r0 = s.retval;\n s.tmp_2 = r0;\n if ((s.tmp_2) && (s.tmp_2).vtable) {\n setupResume(s, 7);\n pxsim_String__stringConv(s.tmp_2);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_2) + \"\"; }\n case 7:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_String__concat(\"Score: \", s.tmp_1);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = 58;\n s.tmp_0.arg3 = 2;\n s.tmp_0.arg4 = undefined;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n s.tmp_0 = helpers_imagePrintCenter__P431_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_3 = info_highScore__P800_mk(s);\n s.pc = 9; return s.tmp_3;\n case 9:\n r0 = s.retval;\n s.tmp_2 = r0;\n if ((s.tmp_2) && (s.tmp_2).vtable) {\n setupResume(s, 10);\n pxsim_String__stringConv(s.tmp_2);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_2) + \"\"; }\n case 10:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_String__concat(\"HI: \", s.tmp_1);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = 70;\n s.tmp_0.arg3 = 2;\n s.tmp_0.arg4 = undefined;\n s.pc = 8; return s.tmp_0;\n case 8:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P23031.info = {\"start\":36453,\"length\":340,\"line\":676,\"column\":17,\"endLine\":683,\"endColumn\":5,\"fileName\":\"main.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P23031_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P23031, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n} }\n\n\n\n\n\nfunction game_onShade__P1032(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = game_init__P1018_mk(s);\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(s.arg0);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 3; continue; }\n case 1:\n case 2:\n s.tmp_2 = scene_createRenderable__P896_mk(s);\n s.tmp_2.arg0 = 80;\n s.tmp_2.arg1 = s.arg0;\n s.tmp_2.arg2 = undefined;\n s.pc = 5; return s.tmp_2;\n case 5:\n r0 = s.retval;\n case 3:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_onShade__P1032.info = {\"start\":9865,\"length\":145,\"line\":319,\"column\":4,\"endLine\":323,\"endColumn\":5,\"fileName\":\"pxt_modules/game/game.ts\",\"functionName\":\"onShade\",\"argumentNames\":[\"a\"]}\n\nfunction game_onShade__P1032_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_onShade__P1032, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Sprite_destroy__P653(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"flags\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 & 2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 5; continue; }\n case 1:\n case 2:\n s.tmp_2 = r0 = s.arg0;\n r0 = s.tmp_2.fields[\"flags\"];\n s.tmp_4 = r0;\n r0 = (s.tmp_4 | 2);\n s.tmp_3 = r0;\n r0 = (s.tmp_2).fields[\"flags\"] = (s.tmp_3);\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n if (!r0) { step = 3; continue; }\n s.tmp_0 = effects_ParticleEffect_destroy__P1406_mk(s);\n s.tmp_0.arg0 = s.arg1;\n s.tmp_0.arg1 = s.arg0;\n s.tmp_0.arg2 = s.arg2;\n s.tmp_0.arg3 = undefined;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n { step = 4; continue; }\n case 3:\n s.tmp_0 = Sprite__destroyCore__P654_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 7; return s.tmp_0;\n case 7:\n r0 = s.retval;\n case 4:\n case 5:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_destroy__P653.info = {\"start\":24607,\"length\":293,\"line\":752,\"column\":4,\"endLine\":761,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"destroy\",\"argumentNames\":[\"this\",\"effect\",\"duration\"]}\n\nfunction Sprite_destroy__P653_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_destroy__P653, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction effects_ParticleEffect_destroy__P1406(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, effects_ParticleEffect__C1404_VT)) failedCast(r0);\n s.tmp_0 = Sprite_setFlag__P646_mk(s);\n s.tmp_0.arg0 = s.arg1;\n s.tmp_0.arg1 = 1;\n s.tmp_0.arg2 = true;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.tmp_0 = effects_ParticleEffect_start__P1405_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.tmp_0.arg2 = s.arg3;\n s.tmp_0.arg3 = undefined;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(s.arg2);\n if (!r0) { step = 1; continue; }\n r0 = s.arg2;\n { step = 2; continue; }\n case 1:\n r0 = s.arg0.fields[\"defaultLifespan\"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 >> 2);\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = (s.arg1).fields[\"lifespan\"] = (s.tmp_1);\n s.tmp_0 = effects_ImageEffect_applyTo__P1439_mk(s);\n s.tmp_0.arg0 = globals.dissolve___1443;\n s.tmp_0.arg1 = s.arg1;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\neffects_ParticleEffect_destroy__P1406.info = {\"start\":1652,\"length\":312,\"line\":40,\"column\":8,\"endLine\":45,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particleeffects.ts\",\"functionName\":\"destroy\",\"argumentNames\":[\"this\",\"anchor\",\"duration\",\"particlesPerSecond\"]}\n\nfunction effects_ParticleEffect_destroy__P1406_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: effects_ParticleEffect_destroy__P1406, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction inline__P2929(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.i___2932 = undefined;\n s.x___2939 = undefined;\n s.y___2944 = undefined;\n s.w___2949 = undefined;\n s.h___2952 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_ImageMethods.width(s.arg0);\n s.tmp_1 = r0;\n r0 = pxsim_ImageMethods.height(s.arg0);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 * s.tmp_2);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 >> 5);\n s.i___2932 = (r0);\n case 1:\n r0 = (s.i___2932 > 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n s.tmp_1 = Math_FastRandom_randomRange__P1158_mk(s);\n s.tmp_1.arg0 = s.arg1;\n s.tmp_1.arg1 = 0;\n r0 = pxsim_ImageMethods.width(s.arg0);\n s.tmp_1.arg2 = r0;\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n s.x___2939 = (r0);\n s.tmp_0 = Math_FastRandom_randomRange__P1158_mk(s);\n s.tmp_0.arg0 = s.arg1;\n s.tmp_0.arg1 = 0;\n r0 = pxsim_ImageMethods.height(s.arg0);\n s.tmp_0.arg2 = r0;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n s.y___2944 = (r0);\n s.tmp_0 = Math_FastRandom_randomRange__P1158_mk(s);\n s.tmp_0.arg0 = s.arg1;\n s.tmp_0.arg1 = 1;\n s.tmp_0.arg2 = 3;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n s.w___2949 = (r0);\n s.tmp_0 = Math_FastRandom_randomRange__P1158_mk(s);\n s.tmp_0.arg0 = s.arg1;\n s.tmp_0.arg1 = 1;\n s.tmp_0.arg2 = 3;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n s.h___2952 = (r0);\n s.tmp_0 = helpers_imageDrawRect__P414_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.x___2939;\n s.tmp_0.arg2 = s.y___2944;\n s.tmp_0.arg3 = s.w___2949;\n s.tmp_0.arg4 = s.h___2952;\n s.tmp_0.arg5 = 0;\n s.pc = 7; return s.tmp_0;\n case 7:\n r0 = s.retval;\n r0 = (s.i___2932 - 1);\n s.i___2932 = (r0);\n { step = 1; continue; }\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P2929.info = {\"start\":2199,\"length\":360,\"line\":60,\"column\":49,\"endLine\":69,\"endColumn\":5,\"fileName\":\"pxt_modules/game/effects.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"input\",\"r\"]}\n\nfunction inline__P2929_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P2929, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n i___2932: undefined,\n x___2939: undefined,\n y___2944: undefined,\n w___2949: undefined,\n h___2952: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction helpers_imageDrawRect__P414(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.arg5 = (s.lambdaArgs[5]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg3 == 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = (s.arg4 == 0);\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 3; continue; }\n { step = 5; continue; }\n case 3:\n case 4:\n r0 = (s.arg3 - 1);\n s.arg3 = (r0);\n r0 = (s.arg4 - 1);\n s.arg4 = (r0);\n s.tmp_0 = helpers_imageDrawLine__P413_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.tmp_0.arg2 = s.arg2;\n r0 = (s.arg1 + s.arg3);\n s.tmp_0.arg3 = r0;\n s.tmp_0.arg4 = s.arg2;\n s.tmp_0.arg5 = s.arg5;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n s.tmp_0 = helpers_imageDrawLine__P413_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.tmp_0.arg2 = s.arg2;\n s.tmp_0.arg3 = s.arg1;\n r0 = (s.arg2 + s.arg4);\n s.tmp_0.arg4 = r0;\n s.tmp_0.arg5 = s.arg5;\n s.pc = 7; return s.tmp_0;\n case 7:\n r0 = s.retval;\n s.tmp_0 = helpers_imageDrawLine__P413_mk(s);\n s.tmp_0.arg0 = s.arg0;\n r0 = (s.arg1 + s.arg3);\n s.tmp_0.arg1 = r0;\n r0 = (s.arg2 + s.arg4);\n s.tmp_0.arg2 = r0;\n r0 = (s.arg1 + s.arg3);\n s.tmp_0.arg3 = r0;\n s.tmp_0.arg4 = s.arg2;\n s.tmp_0.arg5 = s.arg5;\n s.pc = 8; return s.tmp_0;\n case 8:\n r0 = s.retval;\n s.tmp_0 = helpers_imageDrawLine__P413_mk(s);\n s.tmp_0.arg0 = s.arg0;\n r0 = (s.arg1 + s.arg3);\n s.tmp_0.arg1 = r0;\n r0 = (s.arg2 + s.arg4);\n s.tmp_0.arg2 = r0;\n s.tmp_0.arg3 = s.arg1;\n r0 = (s.arg2 + s.arg4);\n s.tmp_0.arg4 = r0;\n s.tmp_0.arg5 = s.arg5;\n s.pc = 9; return s.tmp_0;\n case 9:\n r0 = s.retval;\n case 5:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_imageDrawRect__P414.info = {\"start\":4139,\"length\":370,\"line\":140,\"column\":4,\"endLine\":148,\"endColumn\":5,\"fileName\":\"pxt_modules/screen/image.ts\",\"functionName\":\"imageDrawRect\",\"argumentNames\":[\"img\",\"x\",\"y\",\"w\",\"h\",\"c\"]}\n\nfunction helpers_imageDrawRect__P414_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_imageDrawRect__P414, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n arg5: undefined,\n} }\n\n\n\n\n\nfunction helpers_imageDrawLine__P413(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.arg5 = (s.lambdaArgs[5]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = r0 = s.arg0;\n s.tmp_2 = helpers_pack__P408_mk(s);\n s.tmp_2.arg0 = s.arg1;\n s.tmp_2.arg1 = s.arg2;\n s.pc = 1; return s.tmp_2;\n case 1:\n r0 = s.retval;\n s.tmp_1 = r0;\n s.tmp_4 = helpers_pack__P408_mk(s);\n s.tmp_4.arg0 = s.arg3;\n s.tmp_4.arg1 = s.arg4;\n s.pc = 2; return s.tmp_4;\n case 2:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods._drawLine(s.tmp_0, s.tmp_1, s.tmp_3, s.arg5);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_imageDrawLine__P413.info = {\"start\":3975,\"length\":159,\"line\":137,\"column\":4,\"endLine\":139,\"endColumn\":5,\"fileName\":\"pxt_modules/screen/image.ts\",\"functionName\":\"imageDrawLine\",\"argumentNames\":[\"img\",\"x\",\"y\",\"w\",\"h\",\"c\"]}\n\nfunction helpers_imageDrawLine__P413_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_imageDrawLine__P413, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n arg5: undefined,\n} }\n\n\n\n\n\nfunction effects_ImageEffect_applyTo__P1439(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.clonedImage___3077 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, effects_ImageEffect__C1438_VT)) failedCast(r0);\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = s.arg1.fields[\"_image\"];\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n case 2:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n if (!r0) { step = 3; continue; }\n { step = 5; continue; }\n case 3:\n case 4:\n r0 = s.arg1.fields[\"_image\"];\n s.tmp_5 = r0;\n r0 = pxsim_ImageMethods.clone(s.tmp_5);\n s.clonedImage___3077 = (r0);\n s.tmp_0 = effects_ImageEffect_change__P1440_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.clonedImage___3077;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n s.tmp_0 = Sprite_setImage__P625_mk(s);\n s.tmp_0.arg0 = s.arg1;\n s.tmp_0.arg1 = s.clonedImage___3077;\n s.pc = 7; return s.tmp_0;\n case 7:\n r0 = s.retval;\n case 5:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\neffects_ImageEffect_applyTo__P1439.info = {\"start\":823,\"length\":218,\"line\":21,\"column\":8,\"endLine\":26,\"endColumn\":9,\"fileName\":\"pxt_modules/game/effects.ts\",\"functionName\":\"applyTo\",\"argumentNames\":[\"this\",\"sprite\"]}\n\nfunction effects_ImageEffect_applyTo__P1439_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: effects_ImageEffect_applyTo__P1439, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n clonedImage___3077: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction effects_ImageEffect_change__P1440(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, effects_ImageEffect__C1438_VT)) failedCast(r0);\n s.tmp_0 = lambda_3_mk(s);\n r0 = s.arg0.fields[\"effect\"];\n s.tmp_0.argL = r0;\n s.tmp_0.arg0 = s.arg1;\n r0 = s.arg0.fields[\"fastRandom\"];\n s.tmp_0.arg1 = r0;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\neffects_ImageEffect_change__P1440.info = {\"start\":1151,\"length\":81,\"line\":32,\"column\":8,\"endLine\":34,\"endColumn\":9,\"fileName\":\"pxt_modules/game/effects.ts\",\"functionName\":\"change\",\"argumentNames\":[\"this\",\"input\"]}\n\nfunction effects_ImageEffect_change__P1440_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: effects_ImageEffect_change__P1440, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction effects_ParticleEffect_start__P1405(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.src___3305 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, effects_ParticleEffect__C1404_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"sourceFactory\"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 9; continue; }\n case 1:\n case 2:\n r0 = pxsim_numops_toBoolDecr(s.arg3);\n if (!r0) { step = 3; continue; }\n r0 = s.arg3;\n { step = 4; continue; }\n case 3:\n r0 = s.arg0.fields[\"defaultRate\"];\n case 4:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n s.tmp_4 = lambda_3_mk(s);\n r0 = s.arg0.fields[\"sourceFactory\"];\n s.tmp_4.argL = r0;\n s.tmp_4.arg0 = s.arg1;\n s.tmp_4.arg1 = s.tmp_3;\n setupLambda(s.tmp_4, s.tmp_4.argL);\n s.pc = 10; return s.tmp_4;\n case 10:\n r0 = s.retval;\n s.src___3305 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.arg2);\n if (!r0) { step = 7; continue; }\n r0 = (s.arg2 > 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = s.arg2;\n { step = 6; continue; }\n case 5:\n r0 = s.arg0.fields[\"defaultLifespan\"];\n case 6:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = (s.src___3305).fields[\"lifespan\"] = (s.tmp_1);\n case 7:\n case 8:\n case 9:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\neffects_ParticleEffect_start__P1405.info = {\"start\":968,\"length\":367,\"line\":26,\"column\":8,\"endLine\":31,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particleeffects.ts\",\"functionName\":\"start\",\"argumentNames\":[\"this\",\"anchor\",\"duration\",\"particlesPerSecond\"]}\n\nfunction effects_ParticleEffect_start__P1405_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: effects_ParticleEffect_start__P1405, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n src___3305: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction Sprite_setFlag__P646(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = pxsim_numops_toBoolDecr(s.arg2);\n if (!r0) { step = 1; continue; }\n s.tmp_0 = r0 = s.arg0;\n r0 = s.tmp_0.fields[\"flags\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | s.arg1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"flags\"] = (s.tmp_1);\n { step = 2; continue; }\n case 1:\n s.tmp_0 = r0 = s.arg0;\n r0 = s.arg0.fields[\"flags\"];\n s.tmp_4 = r0;\n r0 = (~ s.tmp_4);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 | s.arg1);\n s.tmp_2 = r0;\n r0 = (~ s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"flags\"] = (s.tmp_1);\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_setFlag__P646.info = {\"start\":21999,\"length\":130,\"line\":673,\"column\":4,\"endLine\":676,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"setFlag\",\"argumentNames\":[\"this\",\"flag\",\"on\"]}\n\nfunction Sprite_setFlag__P646_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_setFlag__P646, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction Sprite__destroyCore__P654(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.scene___2774 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.tmp_0.fields[\"flags\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"flags\"] = (s.tmp_1);\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 9; return s.tmp_0;\n case 9:\n r0 = s.retval;\n s.scene___2774 = (r0);\n r0 = s.arg0.fields[\"sayBubbleSprite\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_1 = Sprite_destroy__P653_mk(s);\n r0 = s.arg0.fields[\"sayBubbleSprite\"];\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = undefined;\n s.tmp_1.arg2 = undefined;\n s.pc = 10; return s.tmp_1;\n case 10:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = s.scene___2774.fields[\"allSprites\"];\n s.tmp_0 = r0;\n r0 = pxsim_Array_.removeElement(s.tmp_0, s.arg0);\n r0 = s.arg0.fields[\"_kind\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 >= 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 3; continue; }\n r0 = s.tmp_0;\n { step = 4; continue; }\n case 3:\n r0 = s.scene___2774.fields[\"spritesByKind\"];\n s.tmp_2 = r0;\n r0 = s.arg0.fields[\"_kind\"];\n s.tmp_3 = r0;\n r0 = pxsim_pxtrt.mapGetGeneric(s.tmp_2, s.tmp_3);\n case 4:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n if (!r0) { step = 5; continue; }\n s.tmp_5 = SpriteSet_remove__P682_mk(s);\n r0 = s.scene___2774.fields[\"spritesByKind\"];\n s.tmp_6 = r0;\n r0 = s.arg0.fields[\"_kind\"];\n s.tmp_7 = r0;\n r0 = pxsim_pxtrt.mapGetGeneric(s.tmp_6, s.tmp_7);\n s.tmp_5.arg0 = r0;\n s.tmp_5.arg1 = s.arg0;\n s.pc = 11; return s.tmp_5;\n case 11:\n r0 = s.retval;\n case 5:\n case 6:\n s.tmp_0 = PhysicsEngine__C708_v1_2_mk(s);\n r0 = s.scene___2774.fields[\"physicsEngine\"];\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = s.arg0;\n if (!checkSubtype(s.tmp_0.arg0, PhysicsEngine__C708_VT)) failedCast(s.tmp_0.arg0);\n s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.removeSprite;\n s.pc = 12; return s.tmp_0;\n case 12:\n r0 = s.retval;\n r0 = s.arg0.fields[\"destroyHandler\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 7; continue; }\n s.tmp_1 = lambda_1_mk(s);\n r0 = s.arg0.fields[\"destroyHandler\"];\n s.tmp_1.argL = r0;\n setupLambda(s.tmp_1, s.tmp_1.argL);\n s.pc = 13; return s.tmp_1;\n case 13:\n r0 = s.retval;\n case 7:\n case 8:\n r0 = pxsim_pxtcore_mkAction(1, inline__P2815);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n r0 = pxsim_pxtcore_mkAction(1, inline__P2821);\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_1, 0, s.arg0);\n s.tmp_2 = helpers_arrayForEach__P47_mk(s);\n s.tmp_3 = helpers_arrayFilter__P48_mk(s);\n r0 = s.scene___2774.fields[\"destroyedHandlers\"];\n s.tmp_3.arg0 = r0;\n s.tmp_3.arg1 = s.tmp_0;\n s.pc = 15; return s.tmp_3;\n case 15:\n r0 = s.retval;\n s.tmp_2.arg0 = r0;\n s.tmp_2.arg1 = s.tmp_1;\n s.pc = 14; return s.tmp_2;\n case 14:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite__destroyCore__P654.info = {\"start\":24906,\"length\":693,\"line\":763,\"column\":4,\"endLine\":779,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"_destroyCore\",\"argumentNames\":[\"this\"]}\n\nfunction Sprite__destroyCore__P654_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite__destroyCore__P654, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n scene___2774: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P2815(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0.fields[\"kind\"];\n s.tmp_0 = r0;\n r0 = s.caps[0].fields[\"_kind\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_0 == s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\ninline__P2815.info = {\"start\":25522,\"length\":26,\"line\":777,\"column\":20,\"endLine\":777,\"endColumn\":46,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"h\"]}\n\nfunction inline__P2815_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P2815, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P2821(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = lambda_2_mk(s);\n r0 = s.arg0.fields[\"handler\"];\n s.tmp_0.argL = r0;\n s.tmp_0.arg0 = s.caps[0];\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P2821.info = {\"start\":25571,\"length\":20,\"line\":778,\"column\":21,\"endLine\":778,\"endColumn\":41,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"h\"]}\n\nfunction inline__P2821_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P2821, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction PhysicsEngine_removeSprite__P710(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, PhysicsEngine__C708_VT)) failedCast(r0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nPhysicsEngine_removeSprite__P710.info = {\"start\":159,\"length\":32,\"line\":10,\"column\":4,\"endLine\":10,\"endColumn\":36,\"fileName\":\"pxt_modules/game/physics.ts\",\"functionName\":\"removeSprite\",\"argumentNames\":[\"this\",\"sprite\"]}\n\nfunction PhysicsEngine_removeSprite__P710_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: PhysicsEngine_removeSprite__P710, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_kind__P637(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_kind\"];\n return leave(s, r0)\n default: oops()\n} } }\nSprite_kind__P637.info = {\"start\":9398,\"length\":41,\"line\":338,\"column\":4,\"endLine\":340,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"kind\",\"argumentNames\":[\"this\"]}\n\nfunction Sprite_kind__P637_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_kind__P637, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction sprites_onOverlap__P674(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.sc___8491 = undefined;\n s.overlapHandlers___8493 = undefined;\n s.overlapMap___8496 = undefined;\n s.associate___8499 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 == undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = (s.arg1 == undefined);\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBool(s.tmp_1);\n if (!r0) { step = 3; continue; }\n r0 = s.tmp_1;\n { step = 4; continue; }\n case 3:\n r0 = pxsim_numops_toBoolDecr(s.arg2);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n case 4:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 5; continue; }\n { step = 7; continue; }\n case 5:\n case 6:\n s.tmp_4 = game_currentScene__P769_mk(s);\n s.pc = 8; return s.tmp_4;\n case 8:\n r0 = s.retval;\n s.sc___8491 = (r0);\n r0 = s.sc___8491.fields[\"overlapHandlers\"];\n s.overlapHandlers___8493 = (r0);\n r0 = s.sc___8491.fields[\"overlapMap\"];\n s.overlapMap___8496 = (r0);\n r0 = pxsim_pxtcore_mkAction(1, associate__P8499);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.overlapMap___8496);\n s.associate___8499 = (s.tmp_0);\n s.tmp_1 = lambda_3_mk(s);\n s.tmp_1.argL = s.associate___8499;\n s.tmp_1.arg0 = s.arg0;\n s.tmp_1.arg1 = s.arg1;\n setupLambda(s.tmp_1, s.tmp_1.argL);\n s.pc = 9; return s.tmp_1;\n case 9:\n r0 = s.retval;\n s.tmp_0 = lambda_3_mk(s);\n s.tmp_0.argL = s.associate___8499;\n s.tmp_0.arg0 = s.arg1;\n s.tmp_0.arg1 = s.arg0;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 10; return s.tmp_0;\n case 10:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkClassInstance(scene_OverlapHandler__C900_VT);\n s.tmp_0 = r0;\n s.tmp_1 = scene_OverlapHandler_constructor__P901_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = s.arg0;\n s.tmp_1.arg2 = s.arg1;\n s.tmp_1.arg3 = s.arg2;\n s.pc = 11; return s.tmp_1;\n case 11:\n r0 = s.retval;\n r0 = pxsim_Array__push(s.overlapHandlers___8493, s.tmp_0);\n case 7:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_onOverlap__P674.info = {\"start\":1605,\"length\":755,\"line\":50,\"column\":4,\"endLine\":74,\"endColumn\":5,\"fileName\":\"pxt_modules/game/spriteevents.ts\",\"functionName\":\"onOverlap\",\"argumentNames\":[\"kind\",\"otherKind\",\"handler\"]}\n\nfunction sprites_onOverlap__P674_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_onOverlap__P674, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n sc___8491: undefined,\n overlapHandlers___8493: undefined,\n overlapMap___8496: undefined,\n associate___8499: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction associate__P8499(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_pxtrt.mapGetGeneric(s.caps[0], s.arg0);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_3 = r0 = s.caps[0];\n s.tmp_4 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_5 = r0;\n r0 = pxsim_pxtrt.mapSetGeneric(s.tmp_3, s.tmp_4, s.tmp_5);\n case 1:\n case 2:\n r0 = pxsim_pxtrt.mapGetGeneric(s.caps[0], s.arg0);\n s.tmp_0 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.arg1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nassociate__P8499.info = {\"start\":1942,\"length\":172,\"line\":56,\"column\":8,\"endLine\":62,\"endColumn\":9,\"fileName\":\"pxt_modules/game/spriteevents.ts\",\"functionName\":\"associate\",\"argumentNames\":[\"a\",\"b\"]}\n\nfunction associate__P8499_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: associate__P8499, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction scene_OverlapHandler_constructor__P901(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_OverlapHandler__C900_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"kind\"] = (s.arg1);\n r0 = (s.arg0).fields[\"otherKind\"] = (s.arg2);\n r0 = (s.arg0).fields[\"handler\"] = (s.arg3);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_OverlapHandler_constructor__P901.info = {\"start\":388,\"length\":171,\"line\":20,\"column\":8,\"endLine\":24,\"endColumn\":13,\"fileName\":\"pxt_modules/game/scene.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"kind\",\"otherKind\",\"handler\"]}\n\nfunction scene_OverlapHandler_constructor__P901_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_OverlapHandler_constructor__P901, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction Sprite_ay__P620(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg1 * 256);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"_ay\"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_ay__P620.info = {\"start\":3039,\"length\":51,\"line\":113,\"column\":4,\"endLine\":115,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"ay\",\"argumentNames\":[\"this\",\"v\"]}\n\nfunction Sprite_ay__P620_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_ay__P620, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_vy__P616(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg1 * 256);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"_vy\"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_vy__P616.info = {\"start\":2361,\"length\":51,\"line\":91,\"column\":4,\"endLine\":93,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"vy\",\"argumentNames\":[\"this\",\"v\"]}\n\nfunction Sprite_vy__P616_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_vy__P616, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_vy__P615(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_vy\"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 / 256);\n return leave(s, r0)\n default: oops()\n} } }\nSprite_vy__P615.info = {\"start\":2199,\"length\":60,\"line\":86,\"column\":4,\"endLine\":88,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"vy\",\"argumentNames\":[\"this\"]}\n\nfunction Sprite_vy__P615_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_vy__P615, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Sprite_ay__P619(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_ay\"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 / 256);\n return leave(s, r0)\n default: oops()\n} } }\nSprite_ay__P619.info = {\"start\":2873,\"length\":60,\"line\":108,\"column\":4,\"endLine\":110,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"ay\",\"argumentNames\":[\"this\"]}\n\nfunction Sprite_ay__P619_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_ay__P619, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller_Button_onEvent__P543(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Button__C538_VT)) failedCast(r0);\n s.tmp_0 = control_onEvent__P213_mk(s);\n s.tmp_0.arg0 = s.arg1;\n r0 = s.arg0.fields[\"id\"];\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = s.arg2;\n s.tmp_0.arg3 = 16;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Button_onEvent__P543.info = {\"start\":3475,\"length\":124,\"line\":108,\"column\":8,\"endLine\":110,\"endColumn\":9,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"onEvent\",\"argumentNames\":[\"this\",\"event\",\"handler\"]}\n\nfunction controller_Button_onEvent__P543_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Button_onEvent__P543, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction control_onEvent__P213(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.ctx___8772 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = control_eventContext__P235_mk(s);\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.ctx___8772 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.ctx___8772);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim.control.internalOnEvent(s.arg0, s.arg1, s.arg2, s.arg3);\n { step = 2; continue; }\n case 1:\n s.tmp_0 = control_EventContext_registerHandler__P227_mk(s);\n s.tmp_0.arg0 = s.ctx___8772;\n s.tmp_0.arg1 = s.arg0;\n s.tmp_0.arg2 = s.arg1;\n s.tmp_0.arg3 = s.arg2;\n s.tmp_0.arg4 = s.arg3;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_onEvent__P213.info = {\"start\":336,\"length\":325,\"line\":9,\"column\":4,\"endLine\":15,\"endColumn\":5,\"fileName\":\"pxt_modules/base/eventcontext.ts\",\"functionName\":\"onEvent\",\"argumentNames\":[\"src\",\"value\",\"handler\",\"flags\"]}\n\nfunction control_onEvent__P213_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_onEvent__P213, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n ctx___8772: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction control_EventContext_registerHandler__P227(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.h___8793 = undefined;\n s.unnamed50___U1 = undefined;\n s.unnamed51___U2 = undefined;\n s.hn___8809 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, control_EventContext__C220_VT)) failedCast(r0);\n s.h___8793 = (undefined);\n s.h___8793 = (undefined);\n r0 = s.arg0.fields[\"handlers\"];\n s.unnamed50___U1 = (r0);\n s.unnamed51___U2 = (0);\n case 1:\n s.tmp_0 = r0 = s.unnamed51___U2;\n r0 = pxsim_Array__length(s.unnamed50___U1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 6; continue; }\n r0 = pxsim_Array__getAt(s.unnamed50___U1, s.unnamed51___U2);\n s.h___8793 = (r0);\n r0 = s.h___8793.fields[\"src\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 == s.arg1);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBool(s.tmp_2);\n if (r0) { step = 2; continue; }\n r0 = s.tmp_2;\n { step = 3; continue; }\n case 2:\n r0 = s.h___8793.fields[\"value\"];\n s.tmp_4 = r0;\n r0 = (s.tmp_4 == s.arg2);\n case 3:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_5);\n if (!r0) { step = 4; continue; }\n r0 = (s.h___8793).fields[\"flags\"] = (s.arg4);\n r0 = (s.h___8793).fields[\"handler\"] = (s.arg3);\n { step = 7; continue; }\n case 4:\n case 5:\n r0 = (s.unnamed51___U2 + 1);\n s.unnamed51___U2 = (r0);\n { step = 1; continue; }\n case 6:\n s.unnamed50___U1 = (undefined);\n r0 = pxsim_pxtcore_mkClassInstance(control_EventHandler__C215_VT);\n s.tmp_0 = r0;\n s.tmp_1 = control_EventHandler_constructor__P218_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = s.arg1;\n s.tmp_1.arg2 = s.arg2;\n s.tmp_1.arg3 = s.arg3;\n s.tmp_1.arg4 = s.arg4;\n s.pc = 8; return s.tmp_1;\n case 8:\n r0 = s.retval;\n s.hn___8809 = (s.tmp_0);\n r0 = s.arg0.fields[\"handlers\"];\n s.tmp_0 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.hn___8809);\n s.tmp_0 = control_EventHandler_register__P216_mk(s);\n s.tmp_0.arg0 = s.hn___8809;\n s.pc = 9; return s.tmp_0;\n case 9:\n r0 = s.retval;\n case 7:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_EventContext_registerHandler__P227.info = {\"start\":4832,\"length\":525,\"line\":150,\"column\":8,\"endLine\":163,\"endColumn\":9,\"fileName\":\"pxt_modules/base/eventcontext.ts\",\"functionName\":\"registerHandler\",\"argumentNames\":[\"this\",\"src\",\"value\",\"handler\",\"flags\"]}\n\nfunction control_EventContext_registerHandler__P227_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_EventContext_registerHandler__P227, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n h___8793: undefined,\n unnamed50___U1: undefined,\n unnamed51___U2: undefined,\n hn___8809: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n} }\n\n\n\n\n\nfunction control_EventHandler_constructor__P218(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, control_EventHandler__C215_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"src\"] = (s.arg1);\n r0 = (s.arg0).fields[\"value\"] = (s.arg2);\n r0 = (s.arg0).fields[\"handler\"] = (s.arg3);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_EventHandler_constructor__P218.info = {\"start\":876,\"length\":183,\"line\":28,\"column\":8,\"endLine\":32,\"endColumn\":9,\"fileName\":\"pxt_modules/base/eventcontext.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"src\",\"value\",\"handler\",\"flags\"]}\n\nfunction control_EventHandler_constructor__P218_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_EventHandler_constructor__P218, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n} }\n\n\n\n\n\nfunction game_eventContext__P1017(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = game_init__P1018_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = globals._scene___1008.fields[\"eventContext\"];\n return leave(s, r0)\n default: oops()\n} } }\ngame_eventContext__P1017.info = {\"start\":1084,\"length\":112,\"line\":40,\"column\":4,\"endLine\":43,\"endColumn\":5,\"fileName\":\"pxt_modules/game/game.ts\",\"functionName\":\"eventContext\",\"argumentNames\":[]}\n\nfunction game_eventContext__P1017_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_eventContext__P1017, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction controller_pauseUntilAnyButtonIsPressed__P585(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n setupResume(s, 1);\n pxsim.control.waitForEvent(2049, 0);\n checkResumeConsumed();\n return;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_pauseUntilAnyButtonIsPressed__P585.info = {\"start\":17360,\"length\":96,\"line\":537,\"column\":4,\"endLine\":539,\"endColumn\":5,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"pauseUntilAnyButtonIsPressed\",\"argumentNames\":[]}\n\nfunction controller_pauseUntilAnyButtonIsPressed__P585_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_pauseUntilAnyButtonIsPressed__P585, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n} }\n\n\n\n\n\nfunction game_setWaitAnyButton__P1015(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n globals.__waitAnyButton___1012 = (s.arg0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_setWaitAnyButton__P1015.info = {\"start\":878,\"length\":83,\"line\":31,\"column\":4,\"endLine\":33,\"endColumn\":5,\"fileName\":\"pxt_modules/game/game.ts\",\"functionName\":\"setWaitAnyButton\",\"argumentNames\":[\"f\"]}\n\nfunction game_setWaitAnyButton__P1015_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_setWaitAnyButton__P1015, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Math_abs__P59(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = (0 - s.arg0);\n { step = 2; continue; }\n case 1:\n r0 = s.arg0;\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = s.tmp_1;\n return leave(s, r0)\n default: oops()\n} } }\nMath_abs__P59.info = {\"start\":10354,\"length\":77,\"line\":348,\"column\":4,\"endLine\":350,\"endColumn\":5,\"fileName\":\"pxt_modules/base/pxt-helpers.ts\",\"functionName\":\"abs\",\"argumentNames\":[\"x\"]}\n\nfunction Math_abs__P59_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Math_abs__P59, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Math_sign__P60(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 == 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = 0;\n { step = 5; continue; }\n case 1:\n case 2:\n r0 = (s.arg0 > 0);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 3; continue; }\n r0 = 1;\n { step = 5; continue; }\n case 3:\n case 4:\n r0 = -1;\n case 5:\n return leave(s, r0)\n default: oops()\n} } }\nMath_sign__P60.info = {\"start\":10589,\"length\":125,\"line\":356,\"column\":4,\"endLine\":360,\"endColumn\":5,\"fileName\":\"pxt_modules/base/pxt-helpers.ts\",\"functionName\":\"sign\",\"argumentNames\":[\"x\"]}\n\nfunction Math_sign__P60_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Math_sign__P60, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction texteffects_TextEffect_constructor__P1449(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, texteffects_TextEffect__C1448_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"getState\"] = (s.arg1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ntexteffects_TextEffect_constructor__P1449.info = {\"start\":657,\"length\":133,\"line\":25,\"column\":8,\"endLine\":27,\"endColumn\":9,\"fileName\":\"pxt_modules/game/texteffects.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"getState\"]}\n\nfunction texteffects_TextEffect_constructor__P1449_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: texteffects_TextEffect_constructor__P1449, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Math_FastRandom_constructor__P1163(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Math_FastRandom__C1156_VT)) failedCast(r0);\n r0 = (s.arg1 === undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim.Math_.randomRange(1, 65535);\n s.arg1 = (r0);\n case 1:\n case 2:\n r0 = (s.arg0).fields[\"seed\"] = (s.arg1);\n r0 = (s.arg0).fields[\"lfsr\"] = (s.arg1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nMath_FastRandom_constructor__P1163.info = {\"start\":1392,\"length\":175,\"line\":43,\"column\":8,\"endLine\":47,\"endColumn\":9,\"fileName\":\"pxt_modules/game/mathUtil.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"seed\"]}\n\nfunction Math_FastRandom_constructor__P1163_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Math_FastRandom_constructor__P1163, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction control_ramSize__P179(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_pxtcore.getConfig(205, 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = (32 * 1024);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 * 1024);\n case 2:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = s.tmp_2;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol_ramSize__P179.info = {\"start\":7962,\"length\":100,\"line\":265,\"column\":4,\"endLine\":267,\"endColumn\":5,\"fileName\":\"pxt_modules/base/control.ts\",\"functionName\":\"ramSize\",\"argumentNames\":[]}\n\nfunction control_ramSize__P179_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control_ramSize__P179, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n} }\n\n\n\n\n\nfunction control__ramSize__P178(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = (32 * 1024);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 * 1024);\n return leave(s, r0)\n default: oops()\n} } }\ncontrol__ramSize__P178.info = {\"start\":7842,\"length\":60,\"line\":260,\"column\":4,\"endLine\":262,\"endColumn\":5,\"fileName\":\"pxt_modules/base/control.ts\",\"functionName\":\"_ramSize\",\"argumentNames\":[]}\n\nfunction control__ramSize__P178_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control__ramSize__P178, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction game_consoleOverlay_listener__P1267(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_numops_toBoolDecr(globals.consoleStrings___1239);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n case 2:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 3; continue; }\n { step = 7; continue; }\n case 3:\n case 4:\n s.tmp_4 = helpers_arrayForEach__P47_mk(s);\n s.tmp_5 = helpers_arrayFilter__P48_mk(s);\n s.tmp_6 = helpers_stringSplit__P55_mk(s);\n s.tmp_6.arg0 = s.arg1;\n s.tmp_6.arg1 = \"\\\\n\";\n s.tmp_6.arg2 = undefined;\n s.pc = 10; return s.tmp_6;\n case 10:\n r0 = s.retval;\n s.tmp_5.arg0 = r0;\n s.tmp_5.arg1 = inline__P8889;\n s.pc = 9; return s.tmp_5;\n case 9:\n r0 = s.retval;\n s.tmp_4.arg0 = r0;\n s.tmp_4.arg1 = inline__P8893;\n s.pc = 8; return s.tmp_4;\n case 8:\n r0 = s.retval;\n r0 = pxsim_Array__length(globals.consoleStrings___1239);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > globals.consoleLines___1245);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n s.tmp_2 = helpers_arraySplice__P36_mk(s);\n s.tmp_2.arg0 = globals.consoleStrings___1239;\n s.tmp_2.arg1 = 0;\n r0 = pxsim_Array__length(globals.consoleStrings___1239);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 - globals.consoleLines___1245);\n s.tmp_2.arg2 = r0;\n s.pc = 11; return s.tmp_2;\n case 11:\n r0 = s.retval;\n case 5:\n case 6:\n case 7:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_consoleOverlay_listener__P1267.info = {\"start\":787,\"length\":571,\"line\":26,\"column\":4,\"endLine\":42,\"endColumn\":5,\"fileName\":\"pxt_modules/game/console.ts\",\"functionName\":\"listener\",\"argumentNames\":[\"priority\",\"text\"]}\n\nfunction game_consoleOverlay_listener__P1267_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_consoleOverlay_listener__P1267, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction inline__P8889(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_numops_toBoolDecr(s.arg0);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\ninline__P8889.info = {\"start\":985,\"length\":14,\"line\":32,\"column\":20,\"endLine\":32,\"endColumn\":34,\"fileName\":\"pxt_modules/game/console.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"line\"]}\n\nfunction inline__P8889_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P8889, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P8893(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.j___8895 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.j___8895 = (0);\n case 1:\n s.tmp_1 = r0 = s.j___8895;\n r0 = pxsim_String_.length(s.arg0);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n s.tmp_3 = r0 = globals.consoleStrings___1239;\n s.tmp_5 = helpers_stringSlice__P53_mk(s);\n s.tmp_5.arg0 = s.arg0;\n s.tmp_5.arg1 = s.j___8895;\n r0 = (s.j___8895 + globals.consoleColumns___1255);\n s.tmp_5.arg2 = r0;\n s.pc = 3; return s.tmp_5;\n case 3:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = pxsim_Array__push(s.tmp_3, s.tmp_4);\n r0 = (s.j___8895 + globals.consoleColumns___1255);\n s.j___8895 = (r0);\n { step = 1; continue; }\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P8893.info = {\"start\":1022,\"length\":189,\"line\":33,\"column\":21,\"endLine\":37,\"endColumn\":13,\"fileName\":\"pxt_modules/game/console.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"line\"]}\n\nfunction inline__P8893_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P8893, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n j___8895: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction console_addListener__P194(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_numops_toBoolDecr(s.arg0);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = pxsim_Array_.indexOf(globals.listeners___186, s.arg0, undefined);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 > -1);\n case 2:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 3; continue; }\n { step = 5; continue; }\n case 3:\n case 4:\n r0 = pxsim_Array__push(globals.listeners___186, s.arg0);\n case 5:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nconsole_addListener__P194.info = {\"start\":3460,\"length\":197,\"line\":118,\"column\":4,\"endLine\":121,\"endColumn\":5,\"fileName\":\"pxt_modules/base/console.ts\",\"functionName\":\"addListener\",\"argumentNames\":[\"listener\"]}\n\nfunction console_addListener__P194_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: console_addListener__P194, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P8934(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim.control.__log(s.arg0, s.arg1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P8934.info = {\"start\":534,\"length\":85,\"line\":25,\"column\":8,\"endLine\":25,\"endColumn\":93,\"fileName\":\"pxt_modules/base/console.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"priority\",\"text\"]}\n\nfunction inline__P8934_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P8934, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_register__P1196(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals.instance___1164);\n if (!r0) { step = 1; continue; }\n { step = 3; continue; }\n case 1:\n case 2:\n s.tmp_0 = controller_Button_onEvent__P543_mk(s);\n s.tmp_0.arg0 = globals.menu___531;\n s.tmp_0.arg1 = 2049;\n s.tmp_0.arg2 = scene_systemMenu_showSystemMenu__P1197;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n case 3:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_register__P1196.info = {\"start\":12112,\"length\":193,\"line\":365,\"column\":4,\"endLine\":369,\"endColumn\":5,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"register\",\"argumentNames\":[]}\n\nfunction scene_systemMenu_register__P1196_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_register__P1196, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_showSystemMenu__P1197(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals.instance___1164);\n if (!r0) { step = 1; continue; }\n { step = 3; continue; }\n case 1:\n case 2:\n s.tmp_0 = game_pushScene__P1019_mk(s);\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_PauseMenu__C1176_VT);\n s.tmp_0 = r0;\n s.tmp_1 = scene_systemMenu_PauseMenu_constructor__P1183_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = scene_systemMenu_buildOptionList__P1193;\n s.tmp_1.arg2 = undefined;\n s.pc = 5; return s.tmp_1;\n case 5:\n r0 = s.retval;\n globals.instance___1164 = (s.tmp_0);\n s.tmp_0 = scene_systemMenu_PauseMenu_show__P1177_mk(s);\n s.tmp_0.arg0 = globals.instance___1164;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n case 3:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_showSystemMenu__P1197.info = {\"start\":12311,\"length\":172,\"line\":371,\"column\":4,\"endLine\":376,\"endColumn\":5,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"showSystemMenu\",\"argumentNames\":[]}\n\nfunction scene_systemMenu_showSystemMenu__P1197_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_showSystemMenu__P1197, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_buildOptionList__P1193(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.options___9511 = undefined;\n r0 = pxsim_Array__mk();\n s.options___9511 = (r0);\n r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_MenuOption__C1167_VT);\n s.tmp_0 = r0;\n s.tmp_1 = scene_systemMenu_MenuOption_constructor__P1175_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = globals.VOLUME_DOWN_ICON___1223;\n s.tmp_1.arg2 = inline__P9519;\n s.tmp_1.arg3 = scene_systemMenu_volumeDown__P1186;\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n r0 = pxsim_Array__push(s.options___9511, s.tmp_0);\n r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_MenuOption__C1167_VT);\n s.tmp_0 = r0;\n s.tmp_1 = scene_systemMenu_MenuOption_constructor__P1175_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = globals.VOLUME_UP_ICON___1214;\n s.tmp_1.arg2 = inline__P9533;\n s.tmp_1.arg3 = scene_systemMenu_volumeUp__P1185;\n s.pc = 4; return s.tmp_1;\n case 4:\n r0 = s.retval;\n r0 = pxsim_Array__push(s.options___9511, s.tmp_0);\n r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_MenuOption__C1167_VT);\n s.tmp_0 = r0;\n s.tmp_1 = scene_systemMenu_MenuOption_constructor__P1175_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = globals.BRIGHTNESS_DOWN_ICON___1217;\n s.tmp_1.arg2 = inline__P9547;\n s.tmp_1.arg3 = scene_systemMenu_brightnessDown__P1188;\n s.pc = 5; return s.tmp_1;\n case 5:\n r0 = s.retval;\n r0 = pxsim_Array__push(s.options___9511, s.tmp_0);\n r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_MenuOption__C1167_VT);\n s.tmp_0 = r0;\n s.tmp_1 = scene_systemMenu_MenuOption_constructor__P1175_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = globals.BRIGHTNESS_UP_ICON___1232;\n s.tmp_1.arg2 = inline__P9563;\n s.tmp_1.arg3 = scene_systemMenu_brightnessUp__P1187;\n s.pc = 6; return s.tmp_1;\n case 6:\n r0 = s.retval;\n r0 = pxsim_Array__push(s.options___9511, s.tmp_0);\n r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_MenuOption__C1167_VT);\n s.tmp_0 = r0;\n s.tmp_1 = scene_systemMenu_MenuOption_constructor__P1175_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = globals.STATS_ICON___1235;\n s.tmp_1.arg2 = inline__P9578;\n s.tmp_1.arg3 = scene_systemMenu_toggleStats__P1189;\n s.pc = 7; return s.tmp_1;\n case 7:\n r0 = s.retval;\n r0 = pxsim_Array__push(s.options___9511, s.tmp_0);\n r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_MenuOption__C1167_VT);\n s.tmp_0 = r0;\n s.tmp_1 = scene_systemMenu_MenuOption_constructor__P1175_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = globals.CONSOLE_ICON___1229;\n s.tmp_1.arg2 = inline__P9587;\n s.tmp_1.arg3 = scene_systemMenu_toggleConsole__P1190;\n s.pc = 8; return s.tmp_1;\n case 8:\n r0 = s.retval;\n r0 = pxsim_Array__push(s.options___9511, s.tmp_0);\n r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_MenuOption__C1167_VT);\n s.tmp_0 = r0;\n s.tmp_1 = scene_systemMenu_MenuOption_constructor__P1175_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = globals.SLEEP_ICON___1226;\n s.tmp_1.arg2 = inline__P9596;\n s.tmp_1.arg3 = scene_systemMenu_sleep__P1191;\n s.pc = 9; return s.tmp_1;\n case 9:\n r0 = s.retval;\n r0 = pxsim_Array__push(s.options___9511, s.tmp_0);\n r0 = pxsim_numops_toBoolDecr(globals.customMenuOptions___1165);\n if (!r0) { step = 1; continue; }\n s.tmp_0 = helpers_arrayConcat__P51_mk(s);\n s.tmp_0.arg0 = s.options___9511;\n s.tmp_0.arg1 = globals.customMenuOptions___1165;\n s.pc = 10; return s.tmp_0;\n case 10:\n r0 = s.retval;\n s.options___9511 = (r0);\n case 1:\n case 2:\n r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_MenuOption__C1167_VT);\n s.tmp_0 = r0;\n s.tmp_1 = scene_systemMenu_MenuOption_constructor__P1175_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = globals.CLOSE_MENU_ICON___1220;\n s.tmp_1.arg2 = inline__P9610;\n s.tmp_1.arg3 = scene_systemMenu_closeMenu__P1192;\n s.pc = 11; return s.tmp_1;\n case 11:\n r0 = s.retval;\n r0 = pxsim_Array__push(s.options___9511, s.tmp_0);\n r0 = s.options___9511;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_buildOptionList__P1193.info = {\"start\":9882,\"length\":1085,\"line\":319,\"column\":4,\"endLine\":337,\"endColumn\":5,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"buildOptionList\",\"argumentNames\":[]}\n\nfunction scene_systemMenu_buildOptionList__P1193_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_buildOptionList__P1193, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n options___9511: undefined,\n} }\n\n\n\n\n\nfunction inline__P9519(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_3 = music_volume__P342_mk(s);\n s.pc = 1; return s.tmp_3;\n case 1:\n r0 = s.retval;\n s.tmp_2 = r0;\n if ((s.tmp_2) && (s.tmp_2).vtable) {\n setupResume(s, 2);\n pxsim_String__stringConv(s.tmp_2);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_2) + \"\"; }\n case 2:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_String__concat(\"VOLUME DOWN (\", s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_String__concat(s.tmp_0, \")\");\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9519.info = {\"start\":10027,\"length\":39,\"line\":322,\"column\":54,\"endLine\":322,\"endColumn\":93,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P9519_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9519, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n} }\n\n\n\n\n\nfunction inline__P9533(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_3 = music_volume__P342_mk(s);\n s.pc = 1; return s.tmp_3;\n case 1:\n r0 = s.retval;\n s.tmp_2 = r0;\n if ((s.tmp_2) && (s.tmp_2).vtable) {\n setupResume(s, 2);\n pxsim_String__stringConv(s.tmp_2);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_2) + \"\"; }\n case 2:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_String__concat(\"VOLUME UP (\", s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_String__concat(s.tmp_0, \")\");\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9533.info = {\"start\":10134,\"length\":37,\"line\":323,\"column\":52,\"endLine\":323,\"endColumn\":89,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P9533_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9533, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n} }\n\n\n\n\n\nfunction inline__P9547(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = globals.brightness___401;\n s.tmp_2 = r0;\n if ((s.tmp_2) && (s.tmp_2).vtable) {\n setupResume(s, 1);\n pxsim_String__stringConv(s.tmp_2);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_2) + \"\"; }\n case 1:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_String__concat(\"BRIGHTNESS DOWN (\", s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_String__concat(s.tmp_0, \")\");\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9547.info = {\"start\":10243,\"length\":48,\"line\":324,\"column\":58,\"endLine\":324,\"endColumn\":106,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P9547_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9547, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n} }\n\n\n\n\n\nfunction inline__P9563(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = globals.brightness___401;\n s.tmp_2 = r0;\n if ((s.tmp_2) && (s.tmp_2).vtable) {\n setupResume(s, 1);\n pxsim_String__stringConv(s.tmp_2);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_2) + \"\"; }\n case 1:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_String__concat(\"BRIGHTNESS UP (\", s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_String__concat(s.tmp_0, \")\");\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9563.info = {\"start\":10367,\"length\":46,\"line\":325,\"column\":56,\"endLine\":325,\"endColumn\":102,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P9563_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9563, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n} }\n\n\n\n\n\nfunction inline__P9578(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals.stats___999);\n if (!r0) { step = 1; continue; }\n r0 = \"HIDE STATS\";\n { step = 2; continue; }\n case 1:\n r0 = \"SHOW STATS\";\n case 2:\n // jmp value (already in r0)\n s.tmp_0 = r0;\n r0 = s.tmp_0;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9578.info = {\"start\":10479,\"length\":46,\"line\":326,\"column\":48,\"endLine\":326,\"endColumn\":94,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P9578_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9578, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction inline__P9587(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals.consoleStrings___1239);\n s.tmp_3 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = \"HIDE CONSOLE\";\n { step = 2; continue; }\n case 1:\n r0 = \"SHOW CONSOLE\";\n case 2:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n r0 = s.tmp_4;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9587.info = {\"start\":10592,\"length\":71,\"line\":327,\"column\":50,\"endLine\":327,\"endColumn\":121,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P9587_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9587, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n} }\n\n\n\n\n\nfunction inline__P9596(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = \"SLEEP\";\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9596.info = {\"start\":10730,\"length\":13,\"line\":328,\"column\":48,\"endLine\":328,\"endColumn\":61,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P9596_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9596, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n} }\n\n\n\n\n\nfunction inline__P9610(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = \"CLOSE\";\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9610.info = {\"start\":10909,\"length\":13,\"line\":334,\"column\":53,\"endLine\":334,\"endColumn\":66,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P9610_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9610, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n} }\n\n\n\n\n\nfunction game_consoleOverlay_isVisible__P1268(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals.consoleStrings___1239);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\ngame_consoleOverlay_isVisible__P1268.info = {\"start\":422,\"length\":68,\"line\":11,\"column\":4,\"endLine\":13,\"endColumn\":5,\"fileName\":\"pxt_modules/game/console.ts\",\"functionName\":\"isVisible\",\"argumentNames\":[]}\n\nfunction game_consoleOverlay_isVisible__P1268_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_consoleOverlay_isVisible__P1268, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_closeMenu__P1192(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals.instance___1164);\n if (!r0) { step = 1; continue; }\n s.tmp_0 = scene_systemMenu_PauseMenu_dispose__P1181_mk(s);\n s.tmp_0.arg0 = globals.instance___1164;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n globals.instance___1164 = (undefined);\n s.tmp_0 = controller__setUserEventsEnabled__P586_mk(s);\n s.tmp_0.arg0 = true;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n s.tmp_0 = game_popScene__P1020_mk(s);\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_closeMenu__P1192.info = {\"start\":9667,\"length\":209,\"line\":310,\"column\":4,\"endLine\":317,\"endColumn\":5,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"closeMenu\",\"argumentNames\":[]}\n\nfunction scene_systemMenu_closeMenu__P1192_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_closeMenu__P1192, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_PauseMenu_dispose__P1181(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_systemMenu_PauseMenu__C1176_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"options\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_1 = helpers_arrayForEach__P47_mk(s);\n r0 = s.arg0.fields[\"options\"];\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = inline__P9370;\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n r0 = (s.arg0).fields[\"options\"] = (undefined);\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_PauseMenu_dispose__P1181.info = {\"start\":7732,\"length\":165,\"line\":243,\"column\":8,\"endLine\":248,\"endColumn\":9,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"dispose\",\"argumentNames\":[\"this\"]}\n\nfunction scene_systemMenu_PauseMenu_dispose__P1181_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_PauseMenu_dispose__P1181, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P9370(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = scene_systemMenu_MenuOption_dispose__P1173_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9370.info = {\"start\":7813,\"length\":16,\"line\":245,\"column\":37,\"endLine\":245,\"endColumn\":53,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"o\"]}\n\nfunction inline__P9370_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9370, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_MenuOption_dispose__P1173(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_systemMenu_MenuOption__C1167_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"card\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_1 = Sprite_destroy__P653_mk(s);\n r0 = s.arg0.fields[\"card\"];\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = undefined;\n s.tmp_1.arg2 = undefined;\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n s.tmp_0 = Sprite_destroy__P653_mk(s);\n r0 = s.arg0.fields[\"icon\"];\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = undefined;\n s.tmp_0.arg2 = undefined;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n r0 = (s.arg0).fields[\"card\"] = (undefined);\n r0 = (s.arg0).fields[\"icon\"] = (undefined);\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_MenuOption_dispose__P1173.info = {\"start\":1812,\"length\":216,\"line\":77,\"column\":8,\"endLine\":84,\"endColumn\":9,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"dispose\",\"argumentNames\":[\"this\"]}\n\nfunction scene_systemMenu_MenuOption_dispose__P1173_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_MenuOption_dispose__P1173, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller__setUserEventsEnabled__P586(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n globals._userEventsEnabled___535 = (s.arg0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller__setUserEventsEnabled__P586.info = {\"start\":17462,\"length\":101,\"line\":541,\"column\":4,\"endLine\":543,\"endColumn\":5,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"_setUserEventsEnabled\",\"argumentNames\":[\"enabled\"]}\n\nfunction controller__setUserEventsEnabled__P586_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller__setUserEventsEnabled__P586, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_sleep__P1191(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_pxtcore.deepSleep();\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_sleep__P1191.info = {\"start\":9610,\"length\":51,\"line\":306,\"column\":4,\"endLine\":308,\"endColumn\":5,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"sleep\",\"argumentNames\":[]}\n\nfunction scene_systemMenu_sleep__P1191_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_sleep__P1191, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n} }\n\n\n\n\n\nfunction scene_systemMenu_toggleConsole__P1190(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals.consoleStrings___1239);\n s.tmp_3 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_4 = game_consoleOverlay_setVisible__P1270_mk(s);\n s.tmp_4.arg0 = false;\n s.tmp_4.arg1 = undefined;\n s.pc = 3; return s.tmp_4;\n case 3:\n r0 = s.retval;\n { step = 2; continue; }\n case 1:\n s.tmp_0 = game_consoleOverlay_setVisible__P1270_mk(s);\n s.tmp_0.arg0 = true;\n s.tmp_0.arg1 = undefined;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n s.tmp_0 = console_log__P191_mk(s);\n s.tmp_0.arg0 = \"console\";\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_toggleConsole__P1190.info = {\"start\":9365,\"length\":239,\"line\":297,\"column\":4,\"endLine\":304,\"endColumn\":5,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"toggleConsole\",\"argumentNames\":[]}\n\nfunction scene_systemMenu_toggleConsole__P1190_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_toggleConsole__P1190, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n} }\n\n\n\n\n\nfunction game_consoleOverlay_setVisible__P1270(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n s.tmp_1 = r0 = s.arg0;\n r0 = pxsim_numops_toBoolDecr(globals.consoleStrings___1239);\n s.tmp_5 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_5);\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n s.tmp_3 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 != s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = pxsim_numops_toBoolDecr(s.arg0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_Array__mk();\n { step = 2; continue; }\n case 1:\n r0 = undefined;\n case 2:\n // jmp value (already in r0)\n s.tmp_6 = r0;\n globals.consoleStrings___1239 = (s.tmp_6);\n case 3:\n case 4:\n r0 = (s.arg1 !== undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n globals.consoleColor___1238 = (s.arg1);\n case 5:\n case 6:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_consoleOverlay_setVisible__P1270.info = {\"start\":562,\"length\":219,\"line\":19,\"column\":4,\"endLine\":24,\"endColumn\":5,\"fileName\":\"pxt_modules/game/console.ts\",\"functionName\":\"setVisible\",\"argumentNames\":[\"value\",\"col\"]}\n\nfunction game_consoleOverlay_setVisible__P1270_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_consoleOverlay_setVisible__P1270, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction console_log__P191(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = console_add__P187_mk(s);\n s.tmp_0.arg0 = 1;\n s.tmp_1 = console_inspect__P193_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.tmp_1.arg1 = 20;\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nconsole_log__P191.info = {\"start\":1422,\"length\":95,\"line\":57,\"column\":4,\"endLine\":59,\"endColumn\":5,\"fileName\":\"pxt_modules/base/console.ts\",\"functionName\":\"log\",\"argumentNames\":[\"value\"]}\n\nfunction console_log__P191_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: console_log__P191, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction console_inspect__P193(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.asArr___9658 = undefined;\n s.asString___9675 = undefined;\n s.keys___9685 = undefined;\n s.snipped___9689 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_pxtcore.typeOf(s.arg0);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 == \"string\");\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.arg0;\n { step = 17; continue; }\n { step = 16; continue; }\n case 1:\n r0 = pxsim_pxtcore.typeOf(s.arg0);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 == \"number\");\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 2; continue; }\n r0 = pxsim_String_.mkEmpty();\n s.tmp_4 = r0;\n if ((s.arg0) && (s.arg0).vtable) {\n setupResume(s, 18);\n pxsim_String__stringConv(s.arg0);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.arg0) + \"\"; }\n case 18:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = pxsim_String__concat(s.tmp_4, s.tmp_5);\n { step = 17; continue; }\n { step = 15; continue; }\n case 2:\n r0 = pxsim_Array_.isArray(s.arg0);\n s.tmp_6 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_6);\n if (!r0) { step = 5; continue; }\n s.asArr___9658 = (s.arg0);\n r0 = pxsim_Array__length(s.asArr___9658);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 <= s.arg1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.tmp_2 = helpers_arrayJoin__P39_mk(s);\n s.tmp_2.arg0 = s.asArr___9658;\n s.tmp_2.arg1 = \",\";\n s.pc = 19; return s.tmp_2;\n case 19:\n r0 = s.retval;\n { step = 17; continue; }\n { step = 4; continue; }\n case 3:\n r0 = pxsim_String_.mkEmpty();\n s.tmp_4 = r0;\n s.tmp_7 = helpers_arrayJoin__P39_mk(s);\n s.tmp_8 = helpers_arraySlice__P52_mk(s);\n s.tmp_8.arg0 = s.asArr___9658;\n s.tmp_8.arg1 = 0;\n s.tmp_8.arg2 = s.arg1;\n s.pc = 21; return s.tmp_8;\n case 21:\n r0 = s.retval;\n s.tmp_7.arg0 = r0;\n s.tmp_7.arg1 = \",\";\n s.pc = 20; return s.tmp_7;\n case 20:\n r0 = s.retval;\n s.tmp_6 = r0;\n if ((s.tmp_6) && (s.tmp_6).vtable) {\n setupResume(s, 22);\n pxsim_String__stringConv(s.tmp_6);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_6) + \"\"; }\n case 22:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = pxsim_String__concat(s.tmp_4, s.tmp_5);\n s.tmp_3 = r0;\n r0 = pxsim_String__concat(s.tmp_3, \"...\");\n { step = 17; continue; }\n case 4:\n { step = 14; continue; }\n case 5:\n if ((s.arg0) && (s.arg0).vtable) {\n setupResume(s, 23);\n pxsim_String__stringConv(s.arg0);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.arg0) + \"\"; }\n case 23:\n r0 = s.retval;\n s.tmp_9 = r0;\n r0 = pxsim_String_.mkEmpty();\n s.tmp_10 = r0;\n r0 = pxsim_String__concat(s.tmp_9, s.tmp_10);\n s.asString___9675 = (r0);\n r0 = (s.asString___9675 != \"[object Object]\");\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 6; continue; }\n r0 = s.tmp_0;\n { step = 7; continue; }\n case 6:\n r0 = (s.asString___9675 != \"[Object]\");\n case 7:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 8; continue; }\n r0 = s.asString___9675;\n { step = 17; continue; }\n case 8:\n case 9:\n r0 = pxsim_pxtrt.keysOf(s.arg0);\n s.keys___9685 = (r0);\n r0 = pxsim_Array__length(s.keys___9685);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 > s.arg1);\n s.snipped___9689 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.snipped___9689);\n if (!r0) { step = 10; continue; }\n s.tmp_0 = helpers_arraySlice__P52_mk(s);\n s.tmp_0.arg0 = s.keys___9685;\n s.tmp_0.arg1 = 0;\n s.tmp_0.arg2 = s.arg1;\n s.pc = 24; return s.tmp_0;\n case 24:\n r0 = s.retval;\n s.keys___9685 = (r0);\n case 10:\n case 11:\n r0 = pxsim_pxtcore_mkAction(1, inline__P9706);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n r0 = pxsim_numops_toBoolDecr(s.snipped___9689);\n if (!r0) { step = 12; continue; }\n r0 = \"\\\\n ...\";\n { step = 13; continue; }\n case 12:\n r0 = pxsim_String_.mkEmpty();\n case 13:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n s.tmp_7 = helpers_arrayReduce__P50_mk(s);\n s.tmp_7.arg0 = s.keys___9685;\n s.tmp_7.arg1 = s.tmp_0;\n r0 = pxsim_String_.mkEmpty();\n s.tmp_7.arg2 = r0;\n s.pc = 25; return s.tmp_7;\n case 25:\n r0 = s.retval;\n s.tmp_6 = r0;\n if ((s.tmp_6) && (s.tmp_6).vtable) {\n setupResume(s, 26);\n pxsim_String__stringConv(s.tmp_6);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_6) + \"\"; }\n case 26:\n r0 = s.retval;\n s.tmp_5 = r0;\n if ((s.tmp_1) && (s.tmp_1).vtable) {\n setupResume(s, 27);\n pxsim_String__stringConv(s.tmp_1);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_1) + \"\"; }\n case 27:\n r0 = s.retval;\n s.tmp_8 = r0;\n r0 = pxsim_String__concat(s.tmp_5, s.tmp_8);\n s.tmp_4 = r0;\n if ((s.tmp_4) && (s.tmp_4).vtable) {\n setupResume(s, 28);\n pxsim_String__stringConv(s.tmp_4);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_4) + \"\"; }\n case 28:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = pxsim_String__concat(\"{\", s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_String__concat(s.tmp_2, \"\\\\n}\");\n { step = 17; continue; }\n case 14:\n case 15:\n case 16:\n r0 = undefined;\n case 17:\n return leave(s, r0)\n default: oops()\n} } }\nconsole_inspect__P193.info = {\"start\":2173,\"length\":1190,\"line\":78,\"column\":4,\"endLine\":111,\"endColumn\":5,\"fileName\":\"pxt_modules/base/console.ts\",\"functionName\":\"inspect\",\"argumentNames\":[\"obj\",\"maxElements\"]}\n\nfunction console_inspect__P193_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: console_inspect__P193, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n asArr___9658: undefined,\n asString___9675: undefined,\n keys___9685: undefined,\n snipped___9689: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction inline__P9706(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n if ((s.arg0) && (s.arg0).vtable) {\n setupResume(s, 1);\n pxsim_String__stringConv(s.arg0);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.arg0) + \"\"; }\n case 1:\n r0 = s.retval;\n s.tmp_0 = r0;\n if ((s.arg1) && (s.arg1).vtable) {\n setupResume(s, 2);\n pxsim_String__stringConv(s.arg1);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.arg1) + \"\"; }\n case 2:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = pxsim_String__concat(\"\\\\n \", s.tmp_5);\n s.tmp_4 = r0;\n r0 = pxsim_String__concat(s.tmp_4, \": \");\n s.tmp_3 = r0;\n r0 = pxsim_pxtrt.mapGetGeneric(s.caps[0], s.arg1);\n s.tmp_7 = r0;\n if ((s.tmp_7) && (s.tmp_7).vtable) {\n setupResume(s, 3);\n pxsim_String__stringConv(s.tmp_7);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_7) + \"\"; }\n case 3:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = pxsim_String__concat(s.tmp_3, s.tmp_6);\n s.tmp_2 = r0;\n if ((s.tmp_2) && (s.tmp_2).vtable) {\n setupResume(s, 4);\n pxsim_String__stringConv(s.tmp_2);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_2) + \"\"; }\n case 4:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_String__concat(s.tmp_0, s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9706.info = {\"start\":3195,\"length\":61,\"line\":105,\"column\":20,\"endLine\":105,\"endColumn\":81,\"fileName\":\"pxt_modules/base/console.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"prev\",\"currKey\"]}\n\nfunction inline__P9706_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9706, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction helpers_arrayReduce__P50(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.len___9733 = undefined;\n s.i___9736 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_Array__length(s.arg0);\n s.len___9733 = (r0);\n s.i___9736 = (0);\n case 1:\n r0 = (s.i___9736 < s.len___9733);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n s.tmp_1 = lambda_4_mk(s);\n s.tmp_1.argL = s.arg1;\n s.tmp_1.arg0 = s.arg2;\n r0 = pxsim_Array__getAt(s.arg0, s.i___9736);\n s.tmp_1.arg1 = r0;\n s.tmp_1.arg2 = s.i___9736;\n setupLambda(s.tmp_1, s.tmp_1.argL);\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n s.arg2 = (r0);\n r0 = (s.i___9736 + 1);\n s.i___9736 = (r0);\n { step = 1; continue; }\n case 2:\n r0 = s.arg2;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_arrayReduce__P50.info = {\"start\":6033,\"length\":317,\"line\":196,\"column\":4,\"endLine\":202,\"endColumn\":5,\"fileName\":\"pxt_modules/base/pxt-helpers.ts\",\"functionName\":\"arrayReduce\",\"argumentNames\":[\"arr\",\"callbackfn\",\"initialValue\"]}\n\nfunction helpers_arrayReduce__P50_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_arrayReduce__P50, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n len___9733: undefined,\n i___9736: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction helpers_arrayJoin__P39(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.r___9757 = undefined;\n s.len___9758 = undefined;\n s.i___9761 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg1 === undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = (s.arg1 === null);\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 3; continue; }\n s.arg1 = (\",\");\n case 3:\n case 4:\n r0 = pxsim_String_.mkEmpty();\n s.r___9757 = (r0);\n r0 = pxsim_Array__length(s.arg0);\n s.len___9758 = (r0);\n s.i___9761 = (0);\n case 5:\n r0 = (s.i___9761 < s.len___9758);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 14; continue; }\n r0 = (s.i___9761 > 0);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBool(s.tmp_1);\n if (r0) { step = 6; continue; }\n r0 = s.tmp_1;\n { step = 7; continue; }\n case 6:\n r0 = s.arg1;\n case 7:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 8; continue; }\n if ((s.r___9757) && (s.r___9757).vtable) {\n setupResume(s, 15);\n pxsim_String__stringConv(s.r___9757);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.r___9757) + \"\"; }\n case 15:\n r0 = s.retval;\n s.tmp_3 = r0;\n if ((s.arg1) && (s.arg1).vtable) {\n setupResume(s, 16);\n pxsim_String__stringConv(s.arg1);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.arg1) + \"\"; }\n case 16:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = pxsim_String__concat(s.tmp_3, s.tmp_4);\n s.r___9757 = (r0);\n case 8:\n case 9:\n r0 = pxsim_Array__getAt(s.arg0, s.i___9761);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 === undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 10; continue; }\n r0 = s.tmp_0;\n { step = 11; continue; }\n case 10:\n r0 = pxsim_Array__getAt(s.arg0, s.i___9761);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 === null);\n case 11:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 12; continue; }\n r0 = pxsim_String_.mkEmpty();\n { step = 13; continue; }\n case 12:\n r0 = pxsim_Array__getAt(s.arg0, s.i___9761);\n case 13:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n if ((s.r___9757) && (s.r___9757).vtable) {\n setupResume(s, 17);\n pxsim_String__stringConv(s.r___9757);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.r___9757) + \"\"; }\n case 17:\n r0 = s.retval;\n s.tmp_5 = r0;\n if ((s.tmp_4) && (s.tmp_4).vtable) {\n setupResume(s, 18);\n pxsim_String__stringConv(s.tmp_4);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_4) + \"\"; }\n case 18:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = pxsim_String__concat(s.tmp_5, s.tmp_6);\n s.r___9757 = (r0);\n r0 = (s.i___9761 + 1);\n s.i___9761 = (r0);\n { step = 5; continue; }\n case 14:\n r0 = s.r___9757;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_arrayJoin__P39.info = {\"start\":1850,\"length\":432,\"line\":73,\"column\":4,\"endLine\":86,\"endColumn\":5,\"fileName\":\"pxt_modules/base/pxt-helpers.ts\",\"functionName\":\"arrayJoin\",\"argumentNames\":[\"arr\",\"sep\"]}\n\nfunction helpers_arrayJoin__P39_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_arrayJoin__P39, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n r___9757: undefined,\n len___9758: undefined,\n i___9761: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction console_add__P187(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.i___9802 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 < globals.minPriority___185);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 5; continue; }\n case 1:\n case 2:\n if ((s.arg1) && (s.arg1).vtable) {\n setupResume(s, 6);\n pxsim_String__stringConv(s.arg1);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.arg1) + \"\"; }\n case 6:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_String__concat(s.tmp_1, \"\\\\n\");\n s.arg1 = (r0);\n s.i___9802 = (0);\n case 3:\n s.tmp_1 = r0 = s.i___9802;\n r0 = pxsim_Array__length(globals.listeners___186);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 4; continue; }\n s.tmp_3 = lambda_3_mk(s);\n r0 = pxsim_Array__getAt(globals.listeners___186, s.i___9802);\n s.tmp_3.argL = r0;\n s.tmp_3.arg0 = s.arg0;\n s.tmp_3.arg1 = s.arg1;\n setupLambda(s.tmp_3, s.tmp_3.argL);\n s.pc = 7; return s.tmp_3;\n case 7:\n r0 = s.retval;\n r0 = (s.i___9802 + 1);\n s.i___9802 = (r0);\n { step = 3; continue; }\n case 4:\n case 5:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nconsole_add__P187.info = {\"start\":632,\"length\":280,\"line\":28,\"column\":4,\"endLine\":35,\"endColumn\":5,\"fileName\":\"pxt_modules/base/console.ts\",\"functionName\":\"add\",\"argumentNames\":[\"priority\",\"text\"]}\n\nfunction console_add__P187_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: console_add__P187, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n i___9802: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_toggleStats__P1189(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals.stats___999);\n s.tmp_0 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_0);\n globals.stats___999 = (r0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_toggleStats__P1189.info = {\"start\":9295,\"length\":64,\"line\":293,\"column\":4,\"endLine\":295,\"endColumn\":5,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"toggleStats\",\"argumentNames\":[]}\n\nfunction scene_systemMenu_toggleStats__P1189_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_toggleStats__P1189, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_brightnessDown__P1188(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = helpers_setScreenBrightness__P419_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n r0 = globals.brightness___401;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - 10);\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_brightnessDown__P1188.info = {\"start\":9200,\"length\":89,\"line\":289,\"column\":4,\"endLine\":291,\"endColumn\":5,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"brightnessDown\",\"argumentNames\":[]}\n\nfunction scene_systemMenu_brightnessDown__P1188_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_brightnessDown__P1188, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n} }\n\n\n\n\n\nfunction helpers_setScreenBrightness__P419(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = Math_clamp__P58_mk(s);\n s.tmp_0.arg0 = 10;\n s.tmp_0.arg1 = 100;\n r0 = (s.arg1 | 0);\n s.tmp_0.arg2 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.arg1 = (r0);\n globals.brightness___401 = (s.arg1);\n r0 = pxsim_pxtcore.setScreenBrightness(globals.brightness___401);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_setScreenBrightness__P419.info = {\"start\":7332,\"length\":210,\"line\":237,\"column\":4,\"endLine\":241,\"endColumn\":5,\"fileName\":\"pxt_modules/screen/image.ts\",\"functionName\":\"setScreenBrightness\",\"argumentNames\":[\"img\",\"b\"]}\n\nfunction helpers_setScreenBrightness__P419_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_setScreenBrightness__P419, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_brightnessUp__P1187(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = helpers_setScreenBrightness__P419_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n r0 = globals.brightness___401;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 + 10);\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_brightnessUp__P1187.info = {\"start\":9107,\"length\":87,\"line\":285,\"column\":4,\"endLine\":287,\"endColumn\":5,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"brightnessUp\",\"argumentNames\":[]}\n\nfunction scene_systemMenu_brightnessUp__P1187_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_brightnessUp__P1187, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_volumeDown__P1186(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.v___9937 = undefined;\n s.remainder___9939 = undefined;\n s.newVolume___9941 = undefined;\n s.tmp_0 = music_volume__P342_mk(s);\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.v___9937 = (r0);\n r0 = (s.v___9937 % 32);\n s.remainder___9939 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.remainder___9939);\n if (!r0) { step = 1; continue; }\n r0 = s.remainder___9939;\n { step = 2; continue; }\n case 1:\n r0 = 32;\n case 2:\n // jmp value (already in r0)\n s.tmp_0 = r0;\n r0 = (s.v___9937 - s.tmp_0);\n s.newVolume___9941 = (r0);\n s.tmp_0 = scene_systemMenu_setVolume__P1184_mk(s);\n s.tmp_0.arg0 = s.newVolume___9941;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_volumeDown__P1186.info = {\"start\":8914,\"length\":187,\"line\":278,\"column\":4,\"endLine\":283,\"endColumn\":5,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"volumeDown\",\"argumentNames\":[]}\n\nfunction scene_systemMenu_volumeDown__P1186_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_volumeDown__P1186, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n v___9937: undefined,\n remainder___9939: undefined,\n newVolume___9941: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_setVolume__P1184(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = music_setVolume__P341_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.tmp_0 = music_playTone__P344_mk(s);\n s.tmp_0.arg0 = 440;\n s.tmp_0.arg1 = 500;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n s.tmp_0 = settings_writeNumber__P496_mk(s);\n s.tmp_0.arg0 = \"#volume\";\n s.tmp_0.arg1 = s.arg0;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_setVolume__P1184.info = {\"start\":8565,\"length\":166,\"line\":265,\"column\":4,\"endLine\":269,\"endColumn\":5,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"setVolume\",\"argumentNames\":[\"newVolume\"]}\n\nfunction scene_systemMenu_setVolume__P1184_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_setVolume__P1184, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction music_playTone__P344(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.id___9880 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_pxtrt.mklocRef();\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.arg1);\n s.arg1 = (s.tmp_0);\n r0 = pxsim_pxtrt_ldlocRef(s.arg1);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 == 0);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_pxtrt_stlocRef(s.arg1, 86400000);\n case 1:\n case 2:\n r0 = pxsim_pxtrt_ldlocRef(s.arg1);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 <= 2000);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.tmp_2 = music_playNoteCore__P343_mk(s);\n s.tmp_2.arg0 = 0;\n s.tmp_2.arg1 = s.arg0;\n r0 = pxsim_pxtrt_ldlocRef(s.arg1);\n s.tmp_2.arg2 = r0;\n s.pc = 5; return s.tmp_2;\n case 5:\n r0 = s.retval;\n s.tmp_0 = pause__P241_mk(s);\n r0 = pxsim_pxtrt_ldlocRef(s.arg1);\n s.tmp_0.arg0 = r0;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n { step = 4; continue; }\n case 3:\n r0 = (globals.playToneID___345 + 1);\n s.tmp_0 = r0;\n globals.playToneID___345 = (r0);\n s.id___9880 = (s.tmp_0);\n r0 = pxsim_pxtcore_mkAction(3, inline__P9885);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.id___9880);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.arg1);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 2, s.arg0);\n r0 = pxsim.control.runInParallel(s.tmp_0);\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nmusic_playTone__P344.info = {\"start\":2591,\"length\":831,\"line\":83,\"column\":4,\"endLine\":108,\"endColumn\":5,\"fileName\":\"pxt_modules/mixer/melody.ts\",\"functionName\":\"playTone\",\"argumentNames\":[\"frequency\",\"ms\"]}\n\nfunction music_playTone__P344_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_playTone__P344, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n id___9880: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction inline__P9885(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.pos___9886 = undefined;\n s.now___9894 = undefined;\n s.d___9897 = undefined;\n s.t___9900 = undefined;\n r0 = pxsim.control.millis();\n s.pos___9886 = (r0);\n case 1:\n r0 = (s.caps[0] == globals.playToneID___345);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 2; continue; }\n r0 = s.tmp_0;\n { step = 3; continue; }\n case 2:\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > 0);\n case 3:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 6; continue; }\n r0 = pxsim.control.millis();\n s.now___9894 = (r0);\n r0 = (s.pos___9886 - s.now___9894);\n s.d___9897 = (r0);\n s.tmp_0 = Math_min__P62_mk(s);\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = 500;\n s.pc = 7; return s.tmp_0;\n case 7:\n r0 = s.retval;\n s.t___9900 = (r0);\n s.tmp_0 = r0 = s.caps[1];\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - s.t___9900);\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1);\n r0 = (s.pos___9886 + s.t___9900);\n s.pos___9886 = (r0);\n s.tmp_0 = music_playNoteCore__P343_mk(s);\n r0 = (s.d___9897 - 1);\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = s.caps[2];\n s.tmp_0.arg2 = s.t___9900;\n s.pc = 8; return s.tmp_0;\n case 8:\n r0 = s.retval;\n r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 == 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 4; continue; }\n s.tmp_2 = pause__P241_mk(s);\n r0 = (s.d___9897 + s.t___9900);\n s.tmp_2.arg0 = r0;\n s.pc = 9; return s.tmp_2;\n case 9:\n r0 = s.retval;\n { step = 5; continue; }\n case 4:\n s.tmp_0 = pause__P241_mk(s);\n r0 = (s.d___9897 + s.t___9900);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - 100);\n s.tmp_0.arg0 = r0;\n s.pc = 10; return s.tmp_0;\n case 10:\n r0 = s.retval;\n case 5:\n { step = 1; continue; }\n case 6:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9885.info = {\"start\":2890,\"length\":515,\"line\":92,\"column\":34,\"endLine\":106,\"endColumn\":13,\"fileName\":\"pxt_modules/mixer/melody.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P9885_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9885, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n pos___9886: undefined,\n now___9894: undefined,\n d___9897: undefined,\n t___9900: undefined,\n} }\n\n\n\n\n\nfunction music_playNoteCore__P343(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.buf___9923 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = pxsim.control.createBuffer(12);\n s.buf___9923 = (r0);\n s.tmp_0 = music_addNote__P362_mk(s);\n s.tmp_0.arg0 = s.buf___9923;\n s.tmp_0.arg1 = 0;\n s.tmp_0.arg2 = s.arg2;\n s.tmp_0.arg3 = 255;\n s.tmp_0.arg4 = 255;\n s.tmp_0.arg5 = 3;\n s.tmp_0.arg6 = s.arg1;\n s.tmp_1 = music_volume__P342_mk(s);\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n s.tmp_0.arg7 = r0;\n s.tmp_0.arg8 = s.arg1;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = pxsim.music.queuePlayInstructions(s.arg0, s.buf___9923);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nmusic_playNoteCore__P343.info = {\"start\":1877,\"length\":240,\"line\":66,\"column\":4,\"endLine\":70,\"endColumn\":5,\"fileName\":\"pxt_modules/mixer/melody.ts\",\"functionName\":\"playNoteCore\",\"argumentNames\":[\"when\",\"frequency\",\"ms\"]}\n\nfunction music_playNoteCore__P343_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_playNoteCore__P343, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n buf___9923: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_volumeUp__P1185(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.v___9854 = undefined;\n s.remainder___9856 = undefined;\n s.newVolume___9858 = undefined;\n s.tmp_0 = music_volume__P342_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.v___9854 = (r0);\n r0 = (s.v___9854 % 32);\n s.remainder___9856 = (r0);\n r0 = (s.v___9854 + 32);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 - s.remainder___9856);\n s.newVolume___9858 = (r0);\n s.tmp_0 = scene_systemMenu_setVolume__P1184_mk(s);\n s.tmp_0.arg0 = s.newVolume___9858;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_volumeUp__P1185.info = {\"start\":8737,\"length\":171,\"line\":271,\"column\":4,\"endLine\":276,\"endColumn\":5,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"volumeUp\",\"argumentNames\":[]}\n\nfunction scene_systemMenu_volumeUp__P1185_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_volumeUp__P1185, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n v___9854: undefined,\n remainder___9856: undefined,\n newVolume___9858: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_MenuOption_constructor__P1175(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_systemMenu_MenuOption__C1167_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"iconImage\"] = (s.arg1);\n r0 = (s.arg0).fields[\"getText\"] = (s.arg2);\n r0 = (s.arg0).fields[\"action\"] = (s.arg3);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_MenuOption_constructor__P1175.info = {\"start\":786,\"length\":108,\"line\":38,\"column\":8,\"endLine\":39,\"endColumn\":9,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"iconImage\",\"getText\",\"action\"]}\n\nfunction scene_systemMenu_MenuOption_constructor__P1175_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_MenuOption_constructor__P1175, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction helpers_screenBrightness__P420(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = globals.brightness___401;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_screenBrightness__P420.info = {\"start\":7548,\"length\":98,\"line\":243,\"column\":4,\"endLine\":245,\"endColumn\":5,\"fileName\":\"pxt_modules/screen/image.ts\",\"functionName\":\"screenBrightness\",\"argumentNames\":[\"img\"]}\n\nfunction helpers_screenBrightness__P420_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_screenBrightness__P420, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction helpers_arrayConcat__P51(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.out___9615 = undefined;\n s.value___9618 = undefined;\n s.unnamed36___U2 = undefined;\n s.unnamed37___U3 = undefined;\n s.value___9625 = undefined;\n s.unnamed38___U5 = undefined;\n s.unnamed39___U6 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_Array__mk();\n s.out___9615 = (r0);\n s.value___9618 = (undefined);\n s.value___9618 = (undefined);\n s.unnamed36___U2 = (s.arg0);\n s.unnamed37___U3 = (0);\n case 1:\n s.tmp_0 = r0 = s.unnamed37___U3;\n r0 = pxsim_Array__length(s.unnamed36___U2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 2; continue; }\n r0 = pxsim_Array__getAt(s.unnamed36___U2, s.unnamed37___U3);\n s.value___9618 = (r0);\n r0 = pxsim_Array__push(s.out___9615, s.value___9618);\n r0 = (s.unnamed37___U3 + 1);\n s.unnamed37___U3 = (r0);\n { step = 1; continue; }\n case 2:\n s.unnamed36___U2 = (undefined);\n s.value___9625 = (undefined);\n s.value___9625 = (undefined);\n s.unnamed38___U5 = (s.arg1);\n s.unnamed39___U6 = (0);\n case 3:\n s.tmp_0 = r0 = s.unnamed39___U6;\n r0 = pxsim_Array__length(s.unnamed38___U5);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 4; continue; }\n r0 = pxsim_Array__getAt(s.unnamed38___U5, s.unnamed39___U6);\n s.value___9625 = (r0);\n r0 = pxsim_Array__push(s.out___9615, s.value___9625);\n r0 = (s.unnamed39___U6 + 1);\n s.unnamed39___U6 = (r0);\n { step = 3; continue; }\n case 4:\n s.unnamed38___U5 = (undefined);\n r0 = s.out___9615;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_arrayConcat__P51.info = {\"start\":6356,\"length\":264,\"line\":204,\"column\":4,\"endLine\":213,\"endColumn\":5,\"fileName\":\"pxt_modules/base/pxt-helpers.ts\",\"functionName\":\"arrayConcat\",\"argumentNames\":[\"arr\",\"otherArr\"]}\n\nfunction helpers_arrayConcat__P51_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_arrayConcat__P51, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n out___9615: undefined,\n value___9618: undefined,\n unnamed36___U2: undefined,\n unnamed37___U3: undefined,\n value___9625: undefined,\n unnamed38___U5: undefined,\n unnamed39___U6: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_PauseMenu_constructor__P1183(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_systemMenu_PauseMenu__C1176_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"generator\"] = (s.arg1);\n s.tmp_0 = r0 = s.arg2;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n s.tmp_1 = scene_systemMenu_buildMenuTheme__P1194_mk(s);\n r0 = pxsim_ImageMethods.width(globals.CARD_NORMAL___1205);\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = 3;\n s.tmp_1.arg2 = undefined;\n s.tmp_1.arg3 = undefined;\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n case 2:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = (s.arg0).fields[\"theme\"] = (s.tmp_2);\n r0 = (s.arg0).fields[\"scrollRow\"] = (0);\n r0 = (s.arg0).fields[\"scrollOffset\"] = (0);\n r0 = (s.arg0).fields[\"scrollTarget\"] = (0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_PauseMenu_constructor__P1183.info = {\"start\":3029,\"length\":257,\"line\":116,\"column\":8,\"endLine\":121,\"endColumn\":9,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"generator\",\"theme\"]}\n\nfunction scene_systemMenu_PauseMenu_constructor__P1183_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_PauseMenu_constructor__P1183, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_buildMenuTheme__P1194(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.cardsPerRow___9968 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_0 = r0;\n r0 = (s.arg0 + s.arg1);\n s.tmp_1 = r0;\n r0 = pxsim.Math_.idiv(s.tmp_0, s.tmp_1);\n s.cardsPerRow___9968 = (r0);\n s.tmp_0 = r0 = s.arg2;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = globals.font8___423;\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n s.arg2 = (s.tmp_1);\n s.tmp_0 = r0 = s.arg3;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = s.tmp_0;\n { step = 4; continue; }\n case 3:\n s.tmp_1 = image_doubledFont__P426_mk(s);\n s.tmp_1.arg0 = s.arg2;\n s.pc = 5; return s.tmp_1;\n case 5:\n r0 = s.retval;\n case 4:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n s.arg3 = (s.tmp_2);\n r0 = pxsim_pxtrt.mkMap();\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, \"cardSpacing\", s.arg1);\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, \"cardWidth\", s.arg0);\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, \"cardsPerRow\", s.cardsPerRow___9968);\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_3 = r0;\n r0 = (s.cardsPerRow___9968 * s.arg0);\n s.tmp_5 = r0;\n r0 = (s.cardsPerRow___9968 - 1);\n s.tmp_7 = r0;\n r0 = (s.tmp_7 * s.arg1);\n s.tmp_6 = r0;\n r0 = (s.tmp_5 + s.tmp_6);\n s.tmp_4 = r0;\n r0 = (s.tmp_3 - s.tmp_4);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 >> 1);\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, \"padding\", s.tmp_1);\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, \"infoFont\", s.arg2);\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, \"headerFont\", s.arg3);\n s.tmp_11 = if_charHeight_1_mk(s);\n s.tmp_11.arg0 = s.arg3;\n if (!s.tmp_11.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_11.arg0, \"charHeight\");\n } else {\n s.tmp_11.fn = s.tmp_11.arg0.vtable.iface[\"charHeight\"];\n if (s.tmp_11.fn == null) { s.retval = s.tmp_11.arg0.fields[\"charHeight\"]; }\n else { s.pc = 6; return s.tmp_11; }\n }\n case 6:\n r0 = s.retval;\n s.tmp_10 = r0;\n r0 = (s.tmp_10 + 2);\n s.tmp_9 = r0;\n r0 = (s.tmp_9 + s.arg1);\n s.tmp_8 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, \"cardsTop\", s.tmp_8);\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n s.tmp_14 = r0;\n s.tmp_16 = if_charHeight_1_mk(s);\n s.tmp_16.arg0 = s.arg2;\n if (!s.tmp_16.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_16.arg0, \"charHeight\");\n } else {\n s.tmp_16.fn = s.tmp_16.arg0.vtable.iface[\"charHeight\"];\n if (s.tmp_16.fn == null) { s.retval = s.tmp_16.arg0.fields[\"charHeight\"]; }\n else { s.pc = 7; return s.tmp_16; }\n }\n case 7:\n r0 = s.retval;\n s.tmp_15 = r0;\n r0 = (s.tmp_14 - s.tmp_15);\n s.tmp_13 = r0;\n r0 = (s.tmp_13 - 2);\n s.tmp_12 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, \"infoTop\", s.tmp_12);\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, \"headerText\", \"PAUSED\");\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, \"selectedCard\", globals.CARD_SELECTED___1208);\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, \"activeCard\", globals.CARD_ACTIVE___1211);\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, \"basicCard\", globals.CARD_NORMAL___1205);\n r0 = s.tmp_0;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_buildMenuTheme__P1194.info = {\"start\":10973,\"length\":906,\"line\":339,\"column\":4,\"endLine\":358,\"endColumn\":5,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"buildMenuTheme\",\"argumentNames\":[\"cardWidth\",\"cardSpacing\",\"infoFont\",\"headerFont\"]}\n\nfunction scene_systemMenu_buildMenuTheme__P1194_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_buildMenuTheme__P1194, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n tmp_12: undefined,\n tmp_13: undefined,\n tmp_14: undefined,\n tmp_15: undefined,\n tmp_16: undefined,\n cardsPerRow___9968: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction image_doubledFont__P426(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = image_scaledFont__P427_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = 2;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n return leave(s, r0)\n default: oops()\n} } }\nimage_doubledFont__P426.info = {\"start\":12008,\"length\":82,\"line\":146,\"column\":4,\"endLine\":148,\"endColumn\":5,\"fileName\":\"pxt_modules/screen/text.ts\",\"functionName\":\"doubledFont\",\"argumentNames\":[\"f\"]}\n\nfunction image_doubledFont__P426_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: image_doubledFont__P426, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction image_scaledFont__P427(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg1 | 0);\n s.arg1 = (r0);\n r0 = (s.arg1 < 2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.arg0;\n { step = 5; continue; }\n case 1:\n case 2:\n r0 = pxsim_pxtrt.mkMap();\n s.tmp_1 = r0;\n s.tmp_4 = if_charWidth_1_mk(s);\n s.tmp_4.arg0 = s.arg0;\n if (!s.tmp_4.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_4.arg0, \"charWidth\");\n } else {\n s.tmp_4.fn = s.tmp_4.arg0.vtable.iface[\"charWidth\"];\n if (s.tmp_4.fn == null) { s.retval = s.tmp_4.arg0.fields[\"charWidth\"]; }\n else { s.pc = 6; return s.tmp_4; }\n }\n case 6:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_3 * s.arg1);\n s.tmp_2 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_1, \"charWidth\", s.tmp_2);\n s.tmp_7 = if_charHeight_1_mk(s);\n s.tmp_7.arg0 = s.arg0;\n if (!s.tmp_7.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_7.arg0, \"charHeight\");\n } else {\n s.tmp_7.fn = s.tmp_7.arg0.vtable.iface[\"charHeight\"];\n if (s.tmp_7.fn == null) { s.retval = s.tmp_7.arg0.fields[\"charHeight\"]; }\n else { s.pc = 7; return s.tmp_7; }\n }\n case 7:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = (s.tmp_6 * s.arg1);\n s.tmp_5 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_1, \"charHeight\", s.tmp_5);\n s.tmp_9 = if_data_1_mk(s);\n s.tmp_9.arg0 = s.arg0;\n if (!s.tmp_9.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_9.arg0, \"data\");\n } else {\n s.tmp_9.fn = s.tmp_9.arg0.vtable.iface[\"data\"];\n if (s.tmp_9.fn == null) { s.retval = s.tmp_9.arg0.fields[\"data\"]; }\n else { s.pc = 8; return s.tmp_9; }\n }\n case 8:\n r0 = s.retval;\n s.tmp_8 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_1, \"data\", s.tmp_8);\n s.tmp_11 = if_multiplier_1_mk(s);\n s.tmp_11.arg0 = s.arg0;\n if (!s.tmp_11.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_11.arg0, \"multiplier\");\n } else {\n s.tmp_11.fn = s.tmp_11.arg0.vtable.iface[\"multiplier\"];\n if (s.tmp_11.fn == null) { s.retval = s.tmp_11.arg0.fields[\"multiplier\"]; }\n else { s.pc = 9; return s.tmp_11; }\n }\n case 9:\n r0 = s.retval;\n s.tmp_10 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_10);\n if (!r0) { step = 3; continue; }\n s.tmp_12 = r0 = s.arg1;\n s.tmp_14 = if_multiplier_1_mk(s);\n s.tmp_14.arg0 = s.arg0;\n if (!s.tmp_14.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_14.arg0, \"multiplier\");\n } else {\n s.tmp_14.fn = s.tmp_14.arg0.vtable.iface[\"multiplier\"];\n if (s.tmp_14.fn == null) { s.retval = s.tmp_14.arg0.fields[\"multiplier\"]; }\n else { s.pc = 10; return s.tmp_14; }\n }\n case 10:\n r0 = s.retval;\n s.tmp_13 = r0;\n r0 = (s.tmp_12 * s.tmp_13);\n { step = 4; continue; }\n case 3:\n r0 = s.arg1;\n case 4:\n // jmp value (already in r0)\n s.tmp_15 = r0;\n r0 = pxsim_pxtrt.mapSetByString(s.tmp_1, \"multiplier\", s.tmp_15);\n r0 = s.tmp_1;\n case 5:\n return leave(s, r0)\n default: oops()\n} } }\nimage_scaledFont__P427.info = {\"start\":12096,\"length\":331,\"line\":150,\"column\":4,\"endLine\":160,\"endColumn\":5,\"fileName\":\"pxt_modules/screen/text.ts\",\"functionName\":\"scaledFont\",\"argumentNames\":[\"f\",\"size\"]}\n\nfunction image_scaledFont__P427_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: image_scaledFont__P427, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n tmp_12: undefined,\n tmp_13: undefined,\n tmp_14: undefined,\n tmp_15: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_PauseMenu_show__P1177(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.current___8967 = undefined;\n s.i___8968 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_systemMenu_PauseMenu__C1176_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_2 = lambda_1_mk(s);\n r0 = s.arg0.fields[\"generator\"];\n s.tmp_2.argL = r0;\n setupLambda(s.tmp_2, s.tmp_2.argL);\n s.pc = 3; return s.tmp_2;\n case 3:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"options\"] = (s.tmp_1);\n r0 = (s.arg0).fields[\"selection\"] = (0);\n s.i___8968 = (0);\n case 1:\n s.tmp_1 = r0 = s.i___8968;\n r0 = s.arg0.fields[\"options\"];\n s.tmp_3 = r0;\n r0 = pxsim_Array__length(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n r0 = s.arg0.fields[\"options\"];\n s.tmp_4 = r0;\n r0 = pxsim_Array__getAt(s.tmp_4, s.i___8968);\n s.current___8967 = (r0);\n s.tmp_0 = scene_systemMenu_MenuOption_show__P1168_mk(s);\n s.tmp_0.arg0 = s.current___8967;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n s.tmp_0 = scene_systemMenu_MenuOption_setTheme__P1171_mk(s);\n s.tmp_0.arg0 = s.current___8967;\n r0 = s.arg0.fields[\"theme\"];\n s.tmp_0.arg1 = r0;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n s.tmp_0 = scene_systemMenu_MenuOption_position__P1169_mk(s);\n s.tmp_0.arg0 = s.current___8967;\n s.tmp_2 = if_padding_1_mk(s);\n r0 = s.arg0.fields[\"theme\"];\n s.tmp_2.arg0 = r0;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, \"padding\");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface[\"padding\"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields[\"padding\"]; }\n else { s.pc = 7; return s.tmp_2; }\n }\n case 7:\n r0 = s.retval;\n s.tmp_1 = r0;\n s.tmp_5 = r0 = s.i___8968;\n s.tmp_7 = if_cardsPerRow_1_mk(s);\n r0 = s.arg0.fields[\"theme\"];\n s.tmp_7.arg0 = r0;\n if (!s.tmp_7.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_7.arg0, \"cardsPerRow\");\n } else {\n s.tmp_7.fn = s.tmp_7.arg0.vtable.iface[\"cardsPerRow\"];\n if (s.tmp_7.fn == null) { s.retval = s.tmp_7.arg0.fields[\"cardsPerRow\"]; }\n else { s.pc = 8; return s.tmp_7; }\n }\n case 8:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = (s.tmp_5 % s.tmp_6);\n s.tmp_4 = r0;\n s.tmp_10 = if_cardWidth_1_mk(s);\n r0 = s.arg0.fields[\"theme\"];\n s.tmp_10.arg0 = r0;\n if (!s.tmp_10.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_10.arg0, \"cardWidth\");\n } else {\n s.tmp_10.fn = s.tmp_10.arg0.vtable.iface[\"cardWidth\"];\n if (s.tmp_10.fn == null) { s.retval = s.tmp_10.arg0.fields[\"cardWidth\"]; }\n else { s.pc = 9; return s.tmp_10; }\n }\n case 9:\n r0 = s.retval;\n s.tmp_9 = r0;\n s.tmp_12 = if_cardSpacing_1_mk(s);\n r0 = s.arg0.fields[\"theme\"];\n s.tmp_12.arg0 = r0;\n if (!s.tmp_12.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_12.arg0, \"cardSpacing\");\n } else {\n s.tmp_12.fn = s.tmp_12.arg0.vtable.iface[\"cardSpacing\"];\n if (s.tmp_12.fn == null) { s.retval = s.tmp_12.arg0.fields[\"cardSpacing\"]; }\n else { s.pc = 10; return s.tmp_12; }\n }\n case 10:\n r0 = s.retval;\n s.tmp_11 = r0;\n r0 = (s.tmp_9 + s.tmp_11);\n s.tmp_8 = r0;\n r0 = (s.tmp_4 * s.tmp_8);\n s.tmp_3 = r0;\n r0 = (s.tmp_1 + s.tmp_3);\n s.tmp_0.arg1 = r0;\n s.tmp_14 = if_cardsTop_1_mk(s);\n r0 = s.arg0.fields[\"theme\"];\n s.tmp_14.arg0 = r0;\n if (!s.tmp_14.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_14.arg0, \"cardsTop\");\n } else {\n s.tmp_14.fn = s.tmp_14.arg0.vtable.iface[\"cardsTop\"];\n if (s.tmp_14.fn == null) { s.retval = s.tmp_14.arg0.fields[\"cardsTop\"]; }\n else { s.pc = 11; return s.tmp_14; }\n }\n case 11:\n r0 = s.retval;\n s.tmp_13 = r0;\n s.tmp_17 = r0 = s.i___8968;\n s.tmp_19 = if_cardsPerRow_1_mk(s);\n r0 = s.arg0.fields[\"theme\"];\n s.tmp_19.arg0 = r0;\n if (!s.tmp_19.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_19.arg0, \"cardsPerRow\");\n } else {\n s.tmp_19.fn = s.tmp_19.arg0.vtable.iface[\"cardsPerRow\"];\n if (s.tmp_19.fn == null) { s.retval = s.tmp_19.arg0.fields[\"cardsPerRow\"]; }\n else { s.pc = 12; return s.tmp_19; }\n }\n case 12:\n r0 = s.retval;\n s.tmp_18 = r0;\n r0 = pxsim.Math_.idiv(s.tmp_17, s.tmp_18);\n s.tmp_16 = r0;\n s.tmp_22 = if_cardWidth_1_mk(s);\n r0 = s.arg0.fields[\"theme\"];\n s.tmp_22.arg0 = r0;\n if (!s.tmp_22.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_22.arg0, \"cardWidth\");\n } else {\n s.tmp_22.fn = s.tmp_22.arg0.vtable.iface[\"cardWidth\"];\n if (s.tmp_22.fn == null) { s.retval = s.tmp_22.arg0.fields[\"cardWidth\"]; }\n else { s.pc = 13; return s.tmp_22; }\n }\n case 13:\n r0 = s.retval;\n s.tmp_21 = r0;\n s.tmp_24 = if_cardSpacing_1_mk(s);\n r0 = s.arg0.fields[\"theme\"];\n s.tmp_24.arg0 = r0;\n if (!s.tmp_24.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_24.arg0, \"cardSpacing\");\n } else {\n s.tmp_24.fn = s.tmp_24.arg0.vtable.iface[\"cardSpacing\"];\n if (s.tmp_24.fn == null) { s.retval = s.tmp_24.arg0.fields[\"cardSpacing\"]; }\n else { s.pc = 14; return s.tmp_24; }\n }\n case 14:\n r0 = s.retval;\n s.tmp_23 = r0;\n r0 = (s.tmp_21 + s.tmp_23);\n s.tmp_20 = r0;\n r0 = (s.tmp_16 * s.tmp_20);\n s.tmp_15 = r0;\n r0 = (s.tmp_13 + s.tmp_15);\n s.tmp_0.arg2 = r0;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n r0 = (s.i___8968 + 1);\n s.i___8968 = (r0);\n { step = 1; continue; }\n case 2:\n s.tmp_0 = controller__setUserEventsEnabled__P586_mk(s);\n s.tmp_0.arg0 = false;\n s.pc = 15; return s.tmp_0;\n case 15:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkAction(1, inline__P9028);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n s.tmp_1 = controller_Button_onEvent__P543_mk(s);\n s.tmp_1.arg0 = globals.A___525;\n s.tmp_1.arg1 = 2053;\n s.tmp_1.arg2 = s.tmp_0;\n s.pc = 16; return s.tmp_1;\n case 16:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkAction(1, inline__P9047);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n s.tmp_1 = controller_Button_onEvent__P543_mk(s);\n s.tmp_1.arg0 = globals.A___525;\n s.tmp_1.arg1 = 2052;\n s.tmp_1.arg2 = s.tmp_0;\n s.pc = 17; return s.tmp_1;\n case 17:\n r0 = s.retval;\n s.tmp_0 = controller_Button_onEvent__P543_mk(s);\n s.tmp_0.arg0 = globals.B___526;\n s.tmp_0.arg1 = 2053;\n s.tmp_0.arg2 = inline__P9075;\n s.pc = 18; return s.tmp_0;\n case 18:\n r0 = s.retval;\n s.tmp_0 = controller_Button_onEvent__P543_mk(s);\n s.tmp_0.arg0 = globals.menu___531;\n s.tmp_0.arg1 = 2053;\n s.tmp_0.arg2 = inline__P9080;\n s.pc = 19; return s.tmp_0;\n case 19:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkAction(1, inline__P9085);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n s.tmp_1 = controller_Button_onEvent__P543_mk(s);\n s.tmp_1.arg0 = globals.up___528;\n s.tmp_1.arg1 = 2053;\n s.tmp_1.arg2 = s.tmp_0;\n s.pc = 20; return s.tmp_1;\n case 20:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkAction(1, inline__P9096);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n s.tmp_1 = controller_Button_onEvent__P543_mk(s);\n s.tmp_1.arg0 = globals.left___527;\n s.tmp_1.arg1 = 2053;\n s.tmp_1.arg2 = s.tmp_0;\n s.pc = 21; return s.tmp_1;\n case 21:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkAction(1, inline__P9104);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n s.tmp_1 = controller_Button_onEvent__P543_mk(s);\n s.tmp_1.arg0 = globals.down___530;\n s.tmp_1.arg1 = 2053;\n s.tmp_1.arg2 = s.tmp_0;\n s.pc = 22; return s.tmp_1;\n case 22:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkAction(1, inline__P9118);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n s.tmp_1 = controller_Button_onEvent__P543_mk(s);\n s.tmp_1.arg0 = globals.right___529;\n s.tmp_1.arg1 = 2053;\n s.tmp_1.arg2 = s.tmp_0;\n s.pc = 23; return s.tmp_1;\n case 23:\n r0 = s.retval;\n r0 = pxsim_pxtcore_mkAction(1, inline__P9128);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n s.tmp_1 = game_onShade__P1032_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.pc = 24; return s.tmp_1;\n case 24:\n r0 = s.retval;\n s.tmp_0 = scene_systemMenu_PauseMenu_setSelection__P1179_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = 0;\n s.pc = 25; return s.tmp_0;\n case 25:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_PauseMenu_show__P1177.info = {\"start\":3296,\"length\":2241,\"line\":123,\"column\":8,\"endLine\":181,\"endColumn\":9,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"show\",\"argumentNames\":[\"this\"]}\n\nfunction scene_systemMenu_PauseMenu_show__P1177_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_PauseMenu_show__P1177, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n tmp_12: undefined,\n tmp_13: undefined,\n tmp_14: undefined,\n tmp_15: undefined,\n tmp_16: undefined,\n tmp_17: undefined,\n tmp_18: undefined,\n tmp_19: undefined,\n tmp_20: undefined,\n tmp_21: undefined,\n tmp_22: undefined,\n tmp_23: undefined,\n tmp_24: undefined,\n current___8967: undefined,\n i___8968: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P9028(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = s.caps[0].fields[\"options\"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = s.caps[0].fields[\"options\"];\n s.tmp_5 = r0;\n r0 = s.caps[0].fields[\"selection\"];\n s.tmp_6 = r0;\n r0 = pxsim_Array__getAt(s.tmp_5, s.tmp_6);\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n s.tmp_3 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_3);\n case 2:\n // jmp value (already in r0)\n s.tmp_7 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_7);\n if (!r0) { step = 3; continue; }\n { step = 5; continue; }\n case 3:\n case 4:\n s.tmp_8 = scene_systemMenu_MenuOption_setState__P1172_mk(s);\n r0 = s.caps[0].fields[\"options\"];\n s.tmp_9 = r0;\n r0 = s.caps[0].fields[\"selection\"];\n s.tmp_10 = r0;\n r0 = pxsim_Array__getAt(s.tmp_9, s.tmp_10);\n s.tmp_8.arg0 = r0;\n s.tmp_8.arg1 = 1;\n s.pc = 6; return s.tmp_8;\n case 6:\n r0 = s.retval;\n case 5:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9028.info = {\"start\":4025,\"length\":170,\"line\":140,\"column\":50,\"endLine\":143,\"endColumn\":13,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P9028_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9028, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n} }\n\n\n\n\n\nfunction inline__P9047(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = s.caps[0].fields[\"options\"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = s.caps[0].fields[\"options\"];\n s.tmp_5 = r0;\n r0 = s.caps[0].fields[\"selection\"];\n s.tmp_6 = r0;\n r0 = pxsim_Array__getAt(s.tmp_5, s.tmp_6);\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n s.tmp_3 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_3);\n case 2:\n // jmp value (already in r0)\n s.tmp_7 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_7);\n if (!r0) { step = 3; continue; }\n { step = 5; continue; }\n case 3:\n case 4:\n s.tmp_8 = scene_systemMenu_MenuOption_setState__P1172_mk(s);\n r0 = s.caps[0].fields[\"options\"];\n s.tmp_9 = r0;\n r0 = s.caps[0].fields[\"selection\"];\n s.tmp_10 = r0;\n r0 = pxsim_Array__getAt(s.tmp_9, s.tmp_10);\n s.tmp_8.arg0 = r0;\n s.tmp_8.arg1 = 0;\n s.pc = 6; return s.tmp_8;\n case 6:\n r0 = s.retval;\n r0 = s.caps[0].fields[\"options\"];\n s.tmp_1 = r0;\n r0 = s.caps[0].fields[\"selection\"];\n s.tmp_2 = r0;\n r0 = pxsim_Array__getAt(s.tmp_1, s.tmp_2);\n r0 = r0.fields[\"action\"];\n s.tmp_0 = r0;\n r0 = pxsim.control.runInParallel(s.tmp_0);\n case 5:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9047.info = {\"start\":4247,\"length\":247,\"line\":145,\"column\":48,\"endLine\":149,\"endColumn\":13,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P9047_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9047, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n} }\n\n\n\n\n\nfunction inline__P9075(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = scene_systemMenu_closeMenu__P1192_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9075.info = {\"start\":4548,\"length\":50,\"line\":151,\"column\":50,\"endLine\":153,\"endColumn\":13,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P9075_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9075, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction inline__P9080(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = scene_systemMenu_closeMenu__P1192_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9080.info = {\"start\":4655,\"length\":50,\"line\":155,\"column\":53,\"endLine\":157,\"endColumn\":13,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P9080_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9080, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction inline__P9085(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = scene_systemMenu_PauseMenu_setSelection__P1179_mk(s);\n s.tmp_0.arg0 = s.caps[0];\n s.tmp_1 = Math_max__P61_mk(s);\n s.tmp_1.arg0 = 0;\n r0 = s.caps[0].fields[\"selection\"];\n s.tmp_2 = r0;\n s.tmp_4 = if_cardsPerRow_1_mk(s);\n r0 = s.caps[0].fields[\"theme\"];\n s.tmp_4.arg0 = r0;\n if (!s.tmp_4.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_4.arg0, \"cardsPerRow\");\n } else {\n s.tmp_4.fn = s.tmp_4.arg0.vtable.iface[\"cardsPerRow\"];\n if (s.tmp_4.fn == null) { s.retval = s.tmp_4.arg0.fields[\"cardsPerRow\"]; }\n else { s.pc = 3; return s.tmp_4; }\n }\n case 3:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_2 - s.tmp_3);\n s.tmp_1.arg1 = r0;\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9085.info = {\"start\":4760,\"length\":110,\"line\":159,\"column\":51,\"endLine\":161,\"endColumn\":13,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P9085_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9085, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n} }\n\n\n\n\n\nfunction inline__P9096(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = scene_systemMenu_PauseMenu_setSelection__P1179_mk(s);\n s.tmp_0.arg0 = s.caps[0];\n s.tmp_1 = Math_max__P61_mk(s);\n s.tmp_1.arg0 = 0;\n r0 = s.caps[0].fields[\"selection\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - 1);\n s.tmp_1.arg1 = r0;\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9096.info = {\"start\":4927,\"length\":89,\"line\":163,\"column\":53,\"endLine\":165,\"endColumn\":13,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P9096_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9096, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n} }\n\n\n\n\n\nfunction inline__P9104(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = scene_systemMenu_PauseMenu_setSelection__P1179_mk(s);\n s.tmp_0.arg0 = s.caps[0];\n s.tmp_1 = Math_min__P62_mk(s);\n r0 = s.caps[0].fields[\"options\"];\n s.tmp_3 = r0;\n r0 = pxsim_Array__length(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - 1);\n s.tmp_1.arg0 = r0;\n r0 = s.caps[0].fields[\"selection\"];\n s.tmp_4 = r0;\n s.tmp_6 = if_cardsPerRow_1_mk(s);\n r0 = s.caps[0].fields[\"theme\"];\n s.tmp_6.arg0 = r0;\n if (!s.tmp_6.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_6.arg0, \"cardsPerRow\");\n } else {\n s.tmp_6.fn = s.tmp_6.arg0.vtable.iface[\"cardsPerRow\"];\n if (s.tmp_6.fn == null) { s.retval = s.tmp_6.arg0.fields[\"cardsPerRow\"]; }\n else { s.pc = 3; return s.tmp_6; }\n }\n case 3:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = (s.tmp_4 + s.tmp_5);\n s.tmp_1.arg1 = r0;\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9104.info = {\"start\":5073,\"length\":132,\"line\":167,\"column\":53,\"endLine\":169,\"endColumn\":13,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P9104_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9104, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n} }\n\n\n\n\n\nfunction inline__P9118(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = scene_systemMenu_PauseMenu_setSelection__P1179_mk(s);\n s.tmp_0.arg0 = s.caps[0];\n s.tmp_1 = Math_min__P62_mk(s);\n r0 = s.caps[0].fields[\"options\"];\n s.tmp_3 = r0;\n r0 = pxsim_Array__length(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - 1);\n s.tmp_1.arg0 = r0;\n r0 = s.caps[0].fields[\"selection\"];\n s.tmp_4 = r0;\n r0 = (s.tmp_4 + 1);\n s.tmp_1.arg1 = r0;\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9118.info = {\"start\":5263,\"length\":111,\"line\":171,\"column\":54,\"endLine\":173,\"endColumn\":13,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P9118_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9118, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n} }\n\n\n\n\n\nfunction inline__P9128(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = scene_systemMenu_PauseMenu_onUpdate__P1178_mk(s);\n s.tmp_0.arg0 = s.caps[0];\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.tmp_0 = scene_systemMenu_PauseMenu_drawText__P1180_mk(s);\n s.tmp_0.arg0 = s.caps[0];\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P9128.info = {\"start\":5403,\"length\":87,\"line\":175,\"column\":25,\"endLine\":178,\"endColumn\":13,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P9128_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P9128, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_PauseMenu_drawText__P1180(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_systemMenu_PauseMenu__C1176_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"options\"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 3; continue; }\n case 1:\n case 2:\n s.tmp_3 = helpers_imageFillRect__P411_mk(s);\n s.tmp_3.arg0 = globals.screen___464;\n s.tmp_3.arg1 = 0;\n s.tmp_3.arg2 = 0;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_3.arg3 = r0;\n s.tmp_5 = if_cardsTop_1_mk(s);\n r0 = s.arg0.fields[\"theme\"];\n s.tmp_5.arg0 = r0;\n if (!s.tmp_5.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_5.arg0, \"cardsTop\");\n } else {\n s.tmp_5.fn = s.tmp_5.arg0.vtable.iface[\"cardsTop\"];\n if (s.tmp_5.fn == null) { s.retval = s.tmp_5.arg0.fields[\"cardsTop\"]; }\n else { s.pc = 5; return s.tmp_5; }\n }\n case 5:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = (s.tmp_4 - 2);\n s.tmp_3.arg4 = r0;\n s.tmp_3.arg5 = 15;\n s.pc = 4; return s.tmp_3;\n case 4:\n r0 = s.retval;\n s.tmp_0 = helpers_imagePrintCenter__P431_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_1 = if_headerText_1_mk(s);\n r0 = s.arg0.fields[\"theme\"];\n s.tmp_1.arg0 = r0;\n if (!s.tmp_1.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, \"headerText\");\n } else {\n s.tmp_1.fn = s.tmp_1.arg0.vtable.iface[\"headerText\"];\n if (s.tmp_1.fn == null) { s.retval = s.tmp_1.arg0.fields[\"headerText\"]; }\n else { s.pc = 7; return s.tmp_1; }\n }\n case 7:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = 2;\n s.tmp_0.arg3 = 1;\n s.tmp_2 = if_headerFont_1_mk(s);\n r0 = s.arg0.fields[\"theme\"];\n s.tmp_2.arg0 = r0;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, \"headerFont\");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface[\"headerFont\"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields[\"headerFont\"]; }\n else { s.pc = 8; return s.tmp_2; }\n }\n case 8:\n r0 = s.retval;\n s.tmp_0.arg4 = r0;\n s.pc = 6; return s.tmp_0;\n case 6:\n r0 = s.retval;\n s.tmp_0 = helpers_imageFillRect__P411_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_0.arg1 = 0;\n s.tmp_2 = if_infoTop_1_mk(s);\n r0 = s.arg0.fields[\"theme\"];\n s.tmp_2.arg0 = r0;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, \"infoTop\");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface[\"infoTop\"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields[\"infoTop\"]; }\n else { s.pc = 10; return s.tmp_2; }\n }\n case 10:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - 3);\n s.tmp_0.arg2 = r0;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_0.arg3 = r0;\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n s.tmp_4 = r0;\n s.tmp_6 = if_infoTop_1_mk(s);\n r0 = s.arg0.fields[\"theme\"];\n s.tmp_6.arg0 = r0;\n if (!s.tmp_6.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_6.arg0, \"infoTop\");\n } else {\n s.tmp_6.fn = s.tmp_6.arg0.vtable.iface[\"infoTop\"];\n if (s.tmp_6.fn == null) { s.retval = s.tmp_6.arg0.fields[\"infoTop\"]; }\n else { s.pc = 11; return s.tmp_6; }\n }\n case 11:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = (s.tmp_4 - s.tmp_5);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 + 6);\n s.tmp_0.arg4 = r0;\n s.tmp_0.arg5 = 15;\n s.pc = 9; return s.tmp_0;\n case 9:\n r0 = s.retval;\n s.tmp_0 = helpers_imageFillRect__P411_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_1 = if_padding_1_mk(s);\n r0 = s.arg0.fields[\"theme\"];\n s.tmp_1.arg0 = r0;\n if (!s.tmp_1.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, \"padding\");\n } else {\n s.tmp_1.fn = s.tmp_1.arg0.vtable.iface[\"padding\"];\n if (s.tmp_1.fn == null) { s.retval = s.tmp_1.arg0.fields[\"padding\"]; }\n else { s.pc = 13; return s.tmp_1; }\n }\n case 13:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.tmp_2 = if_infoTop_1_mk(s);\n r0 = s.arg0.fields[\"theme\"];\n s.tmp_2.arg0 = r0;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, \"infoTop\");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface[\"infoTop\"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields[\"infoTop\"]; }\n else { s.pc = 14; return s.tmp_2; }\n }\n case 14:\n r0 = s.retval;\n s.tmp_0.arg2 = r0;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_3 = r0;\n s.tmp_6 = if_padding_1_mk(s);\n r0 = s.arg0.fields[\"theme\"];\n s.tmp_6.arg0 = r0;\n if (!s.tmp_6.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_6.arg0, \"padding\");\n } else {\n s.tmp_6.fn = s.tmp_6.arg0.vtable.iface[\"padding\"];\n if (s.tmp_6.fn == null) { s.retval = s.tmp_6.arg0.fields[\"padding\"]; }\n else { s.pc = 15; return s.tmp_6; }\n }\n case 15:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = (s.tmp_5 << 1);\n s.tmp_4 = r0;\n r0 = (s.tmp_3 - s.tmp_4);\n s.tmp_0.arg3 = r0;\n s.tmp_8 = if_charHeight_1_mk(s);\n s.tmp_9 = if_infoFont_1_mk(s);\n r0 = s.arg0.fields[\"theme\"];\n s.tmp_9.arg0 = r0;\n if (!s.tmp_9.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_9.arg0, \"infoFont\");\n } else {\n s.tmp_9.fn = s.tmp_9.arg0.vtable.iface[\"infoFont\"];\n if (s.tmp_9.fn == null) { s.retval = s.tmp_9.arg0.fields[\"infoFont\"]; }\n else { s.pc = 17; return s.tmp_9; }\n }\n case 17:\n r0 = s.retval;\n s.tmp_8.arg0 = r0;\n if (!s.tmp_8.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_8.arg0, \"charHeight\");\n } else {\n s.tmp_8.fn = s.tmp_8.arg0.vtable.iface[\"charHeight\"];\n if (s.tmp_8.fn == null) { s.retval = s.tmp_8.arg0.fields[\"charHeight\"]; }\n else { s.pc = 16; return s.tmp_8; }\n }\n case 16:\n r0 = s.retval;\n s.tmp_7 = r0;\n r0 = (s.tmp_7 + 1);\n s.tmp_0.arg4 = r0;\n s.tmp_0.arg5 = 1;\n s.pc = 12; return s.tmp_0;\n case 12:\n r0 = s.retval;\n s.tmp_0 = helpers_imagePrintCenter__P431_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_1 = lambda_1_mk(s);\n r0 = s.arg0.fields[\"options\"];\n s.tmp_2 = r0;\n r0 = s.arg0.fields[\"selection\"];\n s.tmp_3 = r0;\n r0 = pxsim_Array__getAt(s.tmp_2, s.tmp_3);\n r0 = r0.fields[\"getText\"];\n s.tmp_1.argL = r0;\n setupLambda(s.tmp_1, s.tmp_1.argL);\n s.pc = 19; return s.tmp_1;\n case 19:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.tmp_5 = if_infoTop_1_mk(s);\n r0 = s.arg0.fields[\"theme\"];\n s.tmp_5.arg0 = r0;\n if (!s.tmp_5.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_5.arg0, \"infoTop\");\n } else {\n s.tmp_5.fn = s.tmp_5.arg0.vtable.iface[\"infoTop\"];\n if (s.tmp_5.fn == null) { s.retval = s.tmp_5.arg0.fields[\"infoTop\"]; }\n else { s.pc = 20; return s.tmp_5; }\n }\n case 20:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = (s.tmp_4 + 1);\n s.tmp_0.arg2 = r0;\n s.tmp_0.arg3 = 15;\n s.tmp_6 = if_infoFont_1_mk(s);\n r0 = s.arg0.fields[\"theme\"];\n s.tmp_6.arg0 = r0;\n if (!s.tmp_6.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_6.arg0, \"infoFont\");\n } else {\n s.tmp_6.fn = s.tmp_6.arg0.vtable.iface[\"infoFont\"];\n if (s.tmp_6.fn == null) { s.retval = s.tmp_6.arg0.fields[\"infoFont\"]; }\n else { s.pc = 21; return s.tmp_6; }\n }\n case 21:\n r0 = s.retval;\n s.tmp_0.arg4 = r0;\n s.pc = 18; return s.tmp_0;\n case 18:\n r0 = s.retval;\n case 3:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_PauseMenu_drawText__P1180.info = {\"start\":6927,\"length\":795,\"line\":224,\"column\":8,\"endLine\":241,\"endColumn\":9,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"drawText\",\"argumentNames\":[\"this\"]}\n\nfunction scene_systemMenu_PauseMenu_drawText__P1180_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_PauseMenu_drawText__P1180, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_PauseMenu_setSelection__P1179(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_systemMenu_PauseMenu__C1176_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"options\"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 9; continue; }\n case 1:\n case 2:\n r0 = s.arg0.fields[\"options\"];\n s.tmp_4 = r0;\n r0 = s.arg0.fields[\"selection\"];\n s.tmp_5 = r0;\n r0 = pxsim_Array__getAt(s.tmp_4, s.tmp_5);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 3; continue; }\n s.tmp_6 = scene_systemMenu_MenuOption_setState__P1172_mk(s);\n r0 = s.arg0.fields[\"options\"];\n s.tmp_7 = r0;\n r0 = s.arg0.fields[\"selection\"];\n s.tmp_8 = r0;\n r0 = pxsim_Array__getAt(s.tmp_7, s.tmp_8);\n s.tmp_6.arg0 = r0;\n s.tmp_6.arg1 = 2;\n s.pc = 10; return s.tmp_6;\n case 10:\n r0 = s.retval;\n case 3:\n case 4:\n r0 = (s.arg0).fields[\"selection\"] = (s.arg1);\n r0 = s.arg0.fields[\"options\"];\n s.tmp_1 = r0;\n r0 = s.arg0.fields[\"selection\"];\n s.tmp_2 = r0;\n r0 = pxsim_Array__getAt(s.tmp_1, s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 7; continue; }\n r0 = globals.A___525.fields[\"_pressed\"];\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 5; continue; }\n r0 = 1;\n { step = 6; continue; }\n case 5:\n r0 = 0;\n case 6:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n s.tmp_5 = scene_systemMenu_MenuOption_setState__P1172_mk(s);\n r0 = s.arg0.fields[\"options\"];\n s.tmp_6 = r0;\n r0 = s.arg0.fields[\"selection\"];\n s.tmp_7 = r0;\n r0 = pxsim_Array__getAt(s.tmp_6, s.tmp_7);\n s.tmp_5.arg0 = r0;\n s.tmp_5.arg1 = s.tmp_4;\n s.pc = 11; return s.tmp_5;\n case 11:\n r0 = s.retval;\n case 7:\n case 8:\n s.tmp_0 = scene_systemMenu_PauseMenu_updateScrollTarget__P1182_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 12; return s.tmp_0;\n case 12:\n r0 = s.retval;\n case 9:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_PauseMenu_setSelection__P1179.info = {\"start\":6436,\"length\":481,\"line\":208,\"column\":8,\"endLine\":222,\"endColumn\":9,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"setSelection\",\"argumentNames\":[\"this\",\"selection\"]}\n\nfunction scene_systemMenu_PauseMenu_setSelection__P1179_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_PauseMenu_setSelection__P1179, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_PauseMenu_updateScrollTarget__P1182(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.row___9322 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_systemMenu_PauseMenu__C1176_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"selection\"];\n s.tmp_0 = r0;\n s.tmp_2 = if_cardsPerRow_1_mk(s);\n r0 = s.arg0.fields[\"theme\"];\n s.tmp_2.arg0 = r0;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, \"cardsPerRow\");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface[\"cardsPerRow\"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields[\"cardsPerRow\"]; }\n else { s.pc = 8; return s.tmp_2; }\n }\n case 8:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim.Math_.idiv(s.tmp_0, s.tmp_1);\n s.row___9322 = (r0);\n r0 = s.arg0.fields[\"scrollRow\"];\n s.tmp_1 = r0;\n r0 = (s.row___9322 === s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = (s.row___9322 - 1);\n s.tmp_2 = r0;\n r0 = s.arg0.fields[\"scrollRow\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_2 === s.tmp_3);\n case 2:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n if (!r0) { step = 3; continue; }\n { step = 7; continue; }\n case 3:\n case 4:\n r0 = s.arg0.fields[\"scrollRow\"];\n s.tmp_6 = r0;\n r0 = (s.row___9322 > s.tmp_6);\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_5);\n if (!r0) { step = 5; continue; }\n s.tmp_7 = r0 = s.arg0;\n r0 = s.tmp_7.fields[\"scrollRow\"];\n s.tmp_9 = r0;\n r0 = (s.tmp_9 + 1);\n s.tmp_8 = r0;\n r0 = (s.tmp_7).fields[\"scrollRow\"] = (s.tmp_8);\n { step = 6; continue; }\n case 5:\n s.tmp_0 = r0 = s.arg0;\n r0 = s.tmp_0.fields[\"scrollRow\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - 1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"scrollRow\"] = (s.tmp_1);\n case 6:\n s.tmp_0 = r0 = s.arg0;\n r0 = s.arg0.fields[\"scrollRow\"];\n s.tmp_2 = r0;\n s.tmp_5 = if_cardSpacing_1_mk(s);\n r0 = s.arg0.fields[\"theme\"];\n s.tmp_5.arg0 = r0;\n if (!s.tmp_5.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_5.arg0, \"cardSpacing\");\n } else {\n s.tmp_5.fn = s.tmp_5.arg0.vtable.iface[\"cardSpacing\"];\n if (s.tmp_5.fn == null) { s.retval = s.tmp_5.arg0.fields[\"cardSpacing\"]; }\n else { s.pc = 9; return s.tmp_5; }\n }\n case 9:\n r0 = s.retval;\n s.tmp_4 = r0;\n s.tmp_7 = if_cardWidth_1_mk(s);\n r0 = s.arg0.fields[\"theme\"];\n s.tmp_7.arg0 = r0;\n if (!s.tmp_7.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_7.arg0, \"cardWidth\");\n } else {\n s.tmp_7.fn = s.tmp_7.arg0.vtable.iface[\"cardWidth\"];\n if (s.tmp_7.fn == null) { s.retval = s.tmp_7.arg0.fields[\"cardWidth\"]; }\n else { s.pc = 10; return s.tmp_7; }\n }\n case 10:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = (s.tmp_4 + s.tmp_6);\n s.tmp_3 = r0;\n r0 = (s.tmp_2 * s.tmp_3);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"scrollTarget\"] = (s.tmp_1);\n case 7:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_PauseMenu_updateScrollTarget__P1182.info = {\"start\":7907,\"length\":458,\"line\":250,\"column\":8,\"endLine\":260,\"endColumn\":9,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"updateScrollTarget\",\"argumentNames\":[\"this\"]}\n\nfunction scene_systemMenu_PauseMenu_updateScrollTarget__P1182_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_PauseMenu_updateScrollTarget__P1182, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n row___9322: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_PauseMenu_onUpdate__P1178(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.t___9203 = undefined;\n s.i___9206 = undefined;\n s.dt___9226 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_systemMenu_PauseMenu__C1176_VT)) failedCast(r0);\n r0 = pxsim.control.millis();\n s.tmp_0 = r0;\n r0 = (s.tmp_0 / 250);\n s.t___9203 = (r0);\n s.i___9206 = (0);\n case 1:\n s.tmp_1 = r0 = s.i___9206;\n r0 = s.arg0.fields[\"options\"];\n s.tmp_3 = r0;\n r0 = pxsim_Array__length(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n s.tmp_4 = scene_systemMenu_MenuOption_setOffset__P1170_mk(s);\n r0 = s.arg0.fields[\"options\"];\n s.tmp_5 = r0;\n r0 = pxsim_Array__getAt(s.tmp_5, s.i___9206);\n s.tmp_4.arg0 = r0;\n s.tmp_8 = r0 = s.t___9203;\n s.tmp_11 = r0 = s.i___9206;\n s.tmp_13 = if_cardsPerRow_1_mk(s);\n r0 = s.arg0.fields[\"theme\"];\n s.tmp_13.arg0 = r0;\n if (!s.tmp_13.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_13.arg0, \"cardsPerRow\");\n } else {\n s.tmp_13.fn = s.tmp_13.arg0.vtable.iface[\"cardsPerRow\"];\n if (s.tmp_13.fn == null) { s.retval = s.tmp_13.arg0.fields[\"cardsPerRow\"]; }\n else { s.pc = 11; return s.tmp_13; }\n }\n case 11:\n r0 = s.retval;\n s.tmp_12 = r0;\n r0 = (s.tmp_11 % s.tmp_12);\n s.tmp_10 = r0;\n r0 = (3.141592653589793 / 2);\n s.tmp_14 = r0;\n r0 = (s.tmp_10 * s.tmp_14);\n s.tmp_9 = r0;\n r0 = (s.tmp_8 - s.tmp_9);\n s.tmp_7 = r0;\n r0 = pxsim.Math_.sin(s.tmp_7);\n s.tmp_6 = r0;\n r0 = (2 * s.tmp_6);\n s.tmp_4.arg1 = r0;\n s.pc = 10; return s.tmp_4;\n case 10:\n r0 = s.retval;\n r0 = (s.i___9206 + 1);\n s.i___9206 = (r0);\n { step = 1; continue; }\n case 2:\n s.tmp_1 = game_currentScene__P769_mk(s);\n s.pc = 12; return s.tmp_1;\n case 12:\n r0 = s.retval;\n r0 = r0.fields[\"eventContext\"];\n s.tmp_0 = r0;\n r0 = s.tmp_0.fields[\"deltaTimeMillis\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 / 1000);\n s.dt___9226 = (r0);\n r0 = s.arg0.fields[\"scrollOffset\"];\n s.tmp_1 = r0;\n r0 = s.arg0.fields[\"scrollTarget\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.tmp_3 = r0 = s.arg0;\n r0 = s.tmp_3.fields[\"scrollOffset\"];\n s.tmp_5 = r0;\n r0 = (s.dt___9226 * 100);\n s.tmp_6 = r0;\n r0 = (s.tmp_5 + s.tmp_6);\n s.tmp_4 = r0;\n r0 = (s.tmp_3).fields[\"scrollOffset\"] = (s.tmp_4);\n { step = 6; continue; }\n case 3:\n r0 = s.arg0.fields[\"scrollOffset\"];\n s.tmp_1 = r0;\n r0 = s.arg0.fields[\"scrollTarget\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_1 > s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 4; continue; }\n s.tmp_3 = r0 = s.arg0;\n r0 = s.tmp_3.fields[\"scrollOffset\"];\n s.tmp_5 = r0;\n r0 = (s.dt___9226 * 100);\n s.tmp_6 = r0;\n r0 = (s.tmp_5 - s.tmp_6);\n s.tmp_4 = r0;\n r0 = (s.tmp_3).fields[\"scrollOffset\"] = (s.tmp_4);\n { step = 5; continue; }\n case 4:\n { step = 9; continue; }\n case 5:\n case 6:\n s.tmp_2 = Math_abs__P59_mk(s);\n r0 = s.arg0.fields[\"scrollOffset\"];\n s.tmp_3 = r0;\n r0 = s.arg0.fields[\"scrollTarget\"];\n s.tmp_4 = r0;\n r0 = (s.tmp_3 - s.tmp_4);\n s.tmp_2.arg0 = r0;\n s.pc = 13; return s.tmp_2;\n case 13:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 < 2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 7; continue; }\n r0 = s.arg0.fields[\"scrollTarget\"];\n s.tmp_5 = r0;\n r0 = (s.arg0).fields[\"scrollOffset\"] = (s.tmp_5);\n case 7:\n case 8:\n s.tmp_1 = game_currentScene__P769_mk(s);\n s.pc = 14; return s.tmp_1;\n case 14:\n r0 = s.retval;\n r0 = r0.fields[\"camera\"];\n s.tmp_0 = r0;\n r0 = s.arg0.fields[\"scrollOffset\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_0).fields[\"offsetY\"] = (s.tmp_2);\n case 9:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_PauseMenu_onUpdate__P1178.info = {\"start\":5547,\"length\":879,\"line\":183,\"column\":8,\"endLine\":206,\"endColumn\":9,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"onUpdate\",\"argumentNames\":[\"this\"]}\n\nfunction scene_systemMenu_PauseMenu_onUpdate__P1178_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_PauseMenu_onUpdate__P1178, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n tmp_12: undefined,\n tmp_13: undefined,\n tmp_14: undefined,\n t___9203: undefined,\n i___9206: undefined,\n dt___9226: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_MenuOption_setOffset__P1170(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_systemMenu_MenuOption__C1167_VT)) failedCast(r0);\n s.tmp_0 = Sprite_top__P634_mk(s);\n r0 = s.arg0.fields[\"card\"];\n s.tmp_0.arg0 = r0;\n r0 = s.arg0.fields[\"top\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 + s.arg1);\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.tmp_0 = Sprite_y__P612_mk(s);\n r0 = s.arg0.fields[\"icon\"];\n s.tmp_0.arg0 = r0;\n s.tmp_1 = Sprite_y__P611_mk(s);\n r0 = s.arg0.fields[\"card\"];\n s.tmp_1.arg0 = r0;\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_MenuOption_setOffset__P1170.info = {\"start\":1411,\"length\":123,\"line\":61,\"column\":8,\"endLine\":64,\"endColumn\":9,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"setOffset\",\"argumentNames\":[\"this\",\"offset\"]}\n\nfunction scene_systemMenu_MenuOption_setOffset__P1170_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_MenuOption_setOffset__P1170, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_MenuOption_setState__P1172(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_systemMenu_MenuOption__C1167_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"state\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 === s.arg1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 3; continue; }\n case 1:\n case 2:\n r0 = (s.arg0).fields[\"state\"] = (s.arg1);\n s.tmp_0 = scene_systemMenu_MenuOption_updateCard__P1174_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 4; return s.tmp_0;\n case 4:\n r0 = s.retval;\n case 3:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_MenuOption_setState__P1172.info = {\"start\":1655,\"length\":147,\"line\":71,\"column\":8,\"endLine\":75,\"endColumn\":9,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"setState\",\"argumentNames\":[\"this\",\"state\"]}\n\nfunction scene_systemMenu_MenuOption_setState__P1172_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_MenuOption_setState__P1172, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_MenuOption_updateCard__P1174(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_systemMenu_MenuOption__C1167_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"theme\"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 7; continue; }\n case 1:\n case 2:\n r0 = s.arg0.fields[\"state\"];\n s.tmp_3 = r0;\n r0 = pxsim_pxtcore.switch_eq(2, s.tmp_3);\n if (r0) { step = 3; continue; }\n r0 = pxsim_pxtcore.switch_eq(0, s.tmp_3);\n if (r0) { step = 4; continue; }\n r0 = pxsim_pxtcore.switch_eq(1, s.tmp_3);\n if (r0) { step = 5; continue; }\n r0 = s.tmp_3;\n { step = 6; continue; }\n case 3:\n s.tmp_4 = Sprite_setImage__P625_mk(s);\n r0 = s.arg0.fields[\"card\"];\n s.tmp_4.arg0 = r0;\n s.tmp_5 = if_basicCard_1_mk(s);\n r0 = s.arg0.fields[\"theme\"];\n s.tmp_5.arg0 = r0;\n if (!s.tmp_5.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_5.arg0, \"basicCard\");\n } else {\n s.tmp_5.fn = s.tmp_5.arg0.vtable.iface[\"basicCard\"];\n if (s.tmp_5.fn == null) { s.retval = s.tmp_5.arg0.fields[\"basicCard\"]; }\n else { s.pc = 9; return s.tmp_5; }\n }\n case 9:\n r0 = s.retval;\n s.tmp_4.arg1 = r0;\n s.pc = 8; return s.tmp_4;\n case 8:\n r0 = s.retval;\n { step = 6; continue; }\n case 4:\n s.tmp_0 = Sprite_setImage__P625_mk(s);\n r0 = s.arg0.fields[\"card\"];\n s.tmp_0.arg0 = r0;\n s.tmp_1 = if_selectedCard_1_mk(s);\n r0 = s.arg0.fields[\"theme\"];\n s.tmp_1.arg0 = r0;\n if (!s.tmp_1.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, \"selectedCard\");\n } else {\n s.tmp_1.fn = s.tmp_1.arg0.vtable.iface[\"selectedCard\"];\n if (s.tmp_1.fn == null) { s.retval = s.tmp_1.arg0.fields[\"selectedCard\"]; }\n else { s.pc = 11; return s.tmp_1; }\n }\n case 11:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.pc = 10; return s.tmp_0;\n case 10:\n r0 = s.retval;\n { step = 6; continue; }\n case 5:\n s.tmp_0 = Sprite_setImage__P625_mk(s);\n r0 = s.arg0.fields[\"card\"];\n s.tmp_0.arg0 = r0;\n s.tmp_1 = if_activeCard_1_mk(s);\n r0 = s.arg0.fields[\"theme\"];\n s.tmp_1.arg0 = r0;\n if (!s.tmp_1.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, \"activeCard\");\n } else {\n s.tmp_1.fn = s.tmp_1.arg0.vtable.iface[\"activeCard\"];\n if (s.tmp_1.fn == null) { s.retval = s.tmp_1.arg0.fields[\"activeCard\"]; }\n else { s.pc = 13; return s.tmp_1; }\n }\n case 13:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.pc = 12; return s.tmp_0;\n case 12:\n r0 = s.retval;\n case 6:\n s.tmp_0 = Sprite_x__P610_mk(s);\n r0 = s.arg0.fields[\"icon\"];\n s.tmp_0.arg0 = r0;\n s.tmp_1 = Sprite_x__P609_mk(s);\n r0 = s.arg0.fields[\"card\"];\n s.tmp_1.arg0 = r0;\n s.pc = 15; return s.tmp_1;\n case 15:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.pc = 14; return s.tmp_0;\n case 14:\n r0 = s.retval;\n s.tmp_0 = Sprite_y__P612_mk(s);\n r0 = s.arg0.fields[\"icon\"];\n s.tmp_0.arg0 = r0;\n s.tmp_1 = Sprite_y__P611_mk(s);\n r0 = s.arg0.fields[\"card\"];\n s.tmp_1.arg0 = r0;\n s.pc = 17; return s.tmp_1;\n case 17:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.pc = 16; return s.tmp_0;\n case 16:\n r0 = s.retval;\n case 7:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_MenuOption_updateCard__P1174.info = {\"start\":2038,\"length\":497,\"line\":86,\"column\":8,\"endLine\":97,\"endColumn\":9,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"updateCard\",\"argumentNames\":[\"this\"]}\n\nfunction scene_systemMenu_MenuOption_updateCard__P1174_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_MenuOption_updateCard__P1174, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_MenuOption_setTheme__P1171(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_systemMenu_MenuOption__C1167_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"theme\"] = (s.arg1);\n s.tmp_0 = scene_systemMenu_MenuOption_updateCard__P1174_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_MenuOption_setTheme__P1171.info = {\"start\":1544,\"length\":101,\"line\":66,\"column\":8,\"endLine\":69,\"endColumn\":9,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"setTheme\",\"argumentNames\":[\"this\",\"theme\"]}\n\nfunction scene_systemMenu_MenuOption_setTheme__P1171_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_MenuOption_setTheme__P1171, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_MenuOption_position__P1169(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_systemMenu_MenuOption__C1167_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"top\"] = (s.arg2);\n s.tmp_0 = Sprite_left__P630_mk(s);\n r0 = s.arg0.fields[\"card\"];\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = s.arg1;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.tmp_0 = Sprite_top__P634_mk(s);\n r0 = s.arg0.fields[\"card\"];\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = s.arg2;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n s.tmp_0 = Sprite_x__P610_mk(s);\n r0 = s.arg0.fields[\"icon\"];\n s.tmp_0.arg0 = r0;\n s.tmp_1 = Sprite_x__P609_mk(s);\n r0 = s.arg0.fields[\"card\"];\n s.tmp_1.arg0 = r0;\n s.pc = 4; return s.tmp_1;\n case 4:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.tmp_0 = Sprite_y__P612_mk(s);\n r0 = s.arg0.fields[\"icon\"];\n s.tmp_0.arg0 = r0;\n s.tmp_1 = Sprite_y__P611_mk(s);\n r0 = s.arg0.fields[\"card\"];\n s.tmp_1.arg0 = r0;\n s.pc = 6; return s.tmp_1;\n case 6:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_MenuOption_position__P1169.info = {\"start\":1178,\"length\":223,\"line\":51,\"column\":8,\"endLine\":59,\"endColumn\":9,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"position\",\"argumentNames\":[\"this\",\"left\",\"top\"]}\n\nfunction scene_systemMenu_MenuOption_position__P1169_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_MenuOption_position__P1169, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_MenuOption_show__P1168(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_systemMenu_MenuOption__C1167_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"theme\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_1 = if_basicCard_1_mk(s);\n r0 = s.arg0.fields[\"theme\"];\n s.tmp_1.arg0 = r0;\n if (!s.tmp_1.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, \"basicCard\");\n } else {\n s.tmp_1.fn = s.tmp_1.arg0.vtable.iface[\"basicCard\"];\n if (s.tmp_1.fn == null) { s.retval = s.tmp_1.arg0.fields[\"basicCard\"]; }\n else { s.pc = 3; return s.tmp_1; }\n }\n case 3:\n r0 = s.retval;\n { step = 2; continue; }\n case 1:\n r0 = globals.CARD_NORMAL___1205;\n case 2:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n s.tmp_3 = r0 = s.arg0;\n s.tmp_5 = sprites_create__P602_mk(s);\n s.tmp_5.arg0 = s.tmp_2;\n s.tmp_5.arg1 = undefined;\n s.pc = 4; return s.tmp_5;\n case 4:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = (s.tmp_3).fields[\"card\"] = (s.tmp_4);\n s.tmp_0 = if_z_2_mk(s);\n r0 = s.arg0.fields[\"card\"];\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = 1;\n if (!s.tmp_0.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapSetByString(s.tmp_0.arg0, \"z\", s.tmp_0.arg1);\n } else {\n s.tmp_0.fn = s.tmp_0.arg0.vtable.iface[\"set/z\"];\n if (s.tmp_0.fn === null) { s.tmp_0.arg0.fields[\"z\"] = s.tmp_0.arg1; }\n else if (s.tmp_0.fn === undefined) { failedCast(s.tmp_0.arg0) }\n else { s.pc = 5; return s.tmp_0; }\n }\n case 5:\n r0 = s.retval;\n s.tmp_0 = r0 = s.arg0;\n s.tmp_2 = sprites_create__P602_mk(s);\n r0 = s.arg0.fields[\"iconImage\"];\n s.tmp_2.arg0 = r0;\n s.tmp_2.arg1 = undefined;\n s.pc = 6; return s.tmp_2;\n case 6:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"icon\"] = (s.tmp_1);\n s.tmp_0 = if_z_2_mk(s);\n r0 = s.arg0.fields[\"icon\"];\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = 2;\n if (!s.tmp_0.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapSetByString(s.tmp_0.arg0, \"z\", s.tmp_0.arg1);\n } else {\n s.tmp_0.fn = s.tmp_0.arg0.vtable.iface[\"set/z\"];\n if (s.tmp_0.fn === null) { s.tmp_0.arg0.fields[\"z\"] = s.tmp_0.arg1; }\n else if (s.tmp_0.fn === undefined) { failedCast(s.tmp_0.arg0) }\n else { s.pc = 7; return s.tmp_0; }\n }\n case 7:\n r0 = s.retval;\n r0 = (s.arg0).fields[\"state\"] = (2);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_MenuOption_show__P1168.info = {\"start\":904,\"length\":264,\"line\":41,\"column\":8,\"endLine\":49,\"endColumn\":9,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"show\",\"argumentNames\":[\"this\"]}\n\nfunction scene_systemMenu_MenuOption_show__P1168_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_MenuOption_show__P1168, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_systemMenu_initVolume__P1199(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.vol___10031 = undefined;\n s.tmp_0 = settings_readNumber__P500_mk(s);\n s.tmp_0.arg0 = \"#volume\";\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.vol___10031 = (r0);\n r0 = (s.vol___10031 != null);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_1 = music_setVolume__P341_mk(s);\n s.tmp_1.arg0 = s.vol___10031;\n s.pc = 4; return s.tmp_1;\n case 4:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_systemMenu_initVolume__P1199.info = {\"start\":12557,\"length\":138,\"line\":382,\"column\":4,\"endLine\":386,\"endColumn\":5,\"fileName\":\"pxt_modules/game/systemmenu.ts\",\"functionName\":\"initVolume\",\"argumentNames\":[]}\n\nfunction scene_systemMenu_initVolume__P1199_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_systemMenu_initVolume__P1199, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n vol___10031: undefined,\n} }\n\n\n\n\n\nfunction game_currentScene__P769(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = game_init__P1018_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = globals._scene___1008;\n return leave(s, r0)\n default: oops()\n} } }\ngame_currentScene__P769.info = {\"start\":667,\"length\":90,\"line\":22,\"column\":4,\"endLine\":25,\"endColumn\":5,\"fileName\":\"pxt_modules/game/game.ts\",\"functionName\":\"currentScene\",\"argumentNames\":[]}\n\nfunction game_currentScene__P769_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_currentScene__P769, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction game_addScenePopHandler__P765(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_numops_toBoolDecr(globals._scenePopHandlers___1011);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_Array__mk();\n globals._scenePopHandlers___1011 = (r0);\n case 1:\n case 2:\n r0 = pxsim_Array_.indexOf(globals._scenePopHandlers___1011, s.arg0, undefined);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = pxsim_Array__push(globals._scenePopHandlers___1011, s.arg0);\n case 3:\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_addScenePopHandler__P765.info = {\"start\":11685,\"length\":237,\"line\":367,\"column\":4,\"endLine\":371,\"endColumn\":5,\"fileName\":\"pxt_modules/game/game.ts\",\"functionName\":\"addScenePopHandler\",\"argumentNames\":[\"handler\"]}\n\nfunction game_addScenePopHandler__P765_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_addScenePopHandler__P765, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_addScenePushHandler__P749(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_numops_toBoolDecr(globals._scenePushHandlers___1010);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_Array__mk();\n globals._scenePushHandlers___1010 = (r0);\n case 1:\n case 2:\n r0 = pxsim_Array_.indexOf(globals._scenePushHandlers___1010, s.arg0, undefined);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = pxsim_Array__push(globals._scenePushHandlers___1010, s.arg0);\n case 3:\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_addScenePushHandler__P749.info = {\"start\":10684,\"length\":242,\"line\":343,\"column\":4,\"endLine\":347,\"endColumn\":5,\"fileName\":\"pxt_modules/game/game.ts\",\"functionName\":\"addScenePushHandler\",\"argumentNames\":[\"handler\"]}\n\nfunction game_addScenePushHandler__P749_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_addScenePushHandler__P749, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction SpriteKind_create__P691(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = (globals.nextKind___690 === undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n globals.nextKind___690 = (1000);\n case 1:\n case 2:\n s.tmp_0 = r0 = globals.nextKind___690;\n r0 = (s.tmp_0 + 1);\n globals.nextKind___690 = (r0);\n r0 = s.tmp_0;\n return leave(s, r0)\n default: oops()\n} } }\nSpriteKind_create__P691.info = {\"start\":750,\"length\":112,\"line\":25,\"column\":4,\"endLine\":28,\"endColumn\":5,\"fileName\":\"pxt_modules/game/spritekind.ts\",\"functionName\":\"create\",\"argumentNames\":[]}\n\nfunction SpriteKind_create__P691_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: SpriteKind_create__P691, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction controller_Button_constructor__P548(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Button__C538_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"id\"] = (s.arg1);\n r0 = (s.arg0).fields[\"_buttonId\"] = (s.arg2);\n r0 = (s.arg0).fields[\"_pressed\"] = (false);\n r0 = (s.arg0).fields[\"repeatDelay\"] = (undefined);\n r0 = (s.arg0).fields[\"repeatInterval\"] = (undefined);\n r0 = (s.arg0).fields[\"_repeatCount\"] = (0);\n r0 = (s.arg1 > 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_pxtcore_mkAction(1, inline__P10117);\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_1, 0, s.arg0);\n r0 = s.arg0.fields[\"id\"];\n s.tmp_2 = r0;\n r0 = pxsim.control.internalOnEvent(2050, s.tmp_2, s.tmp_1, 16);\n r0 = pxsim_pxtcore_mkAction(1, inline__P10124);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n r0 = s.arg0.fields[\"id\"];\n s.tmp_1 = r0;\n r0 = pxsim.control.internalOnEvent(2051, s.tmp_1, s.tmp_0, 16);\n case 1:\n case 2:\n r0 = (s.arg2 > -1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = pxsim_pxtcore_mkAction(1, inline__P10133);\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_1, 0, s.arg0);\n r0 = pxsim.control.internalOnEvent(s.arg2, 2, s.tmp_1, 16);\n r0 = pxsim_pxtcore_mkAction(1, inline__P10144);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n r0 = pxsim.control.internalOnEvent(s.arg2, 1, s.tmp_0, 16);\n case 3:\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Button_constructor__P548.info = {\"start\":1354,\"length\":1205,\"line\":60,\"column\":8,\"endLine\":79,\"endColumn\":9,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"id\",\"buttonId\"]}\n\nfunction controller_Button_constructor__P548_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Button_constructor__P548, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction inline__P10117(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = controller_Button_setPressed__P546_mk(s);\n s.tmp_0.arg0 = s.caps[0];\n s.tmp_0.arg1 = false;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P10117.info = {\"start\":2015,\"length\":28,\"line\":71,\"column\":66,\"endLine\":71,\"endColumn\":94,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P10117_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P10117, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction inline__P10124(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_0 = controller_Button_setPressed__P546_mk(s);\n s.tmp_0.arg0 = s.caps[0];\n s.tmp_0.arg1 = true;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P10124.info = {\"start\":2117,\"length\":27,\"line\":72,\"column\":68,\"endLine\":72,\"endColumn\":95,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P10124_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P10124, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction inline__P10133(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = s.caps[0].fields[\"id\"];\n s.tmp_0 = r0;\n r0 = pxsim.control.raiseEvent(2050, s.tmp_0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P10133.info = {\"start\":2344,\"length\":50,\"line\":76,\"column\":76,\"endLine\":76,\"endColumn\":126,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P10133_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P10133, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction inline__P10144(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = s.caps[0].fields[\"id\"];\n s.tmp_0 = r0;\n r0 = pxsim.control.raiseEvent(2051, s.tmp_0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P10144.info = {\"start\":2478,\"length\":52,\"line\":77,\"column\":78,\"endLine\":77,\"endColumn\":130,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P10144_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P10144, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction controller_Button_setPressed__P546(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Button__C538_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_pressed\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 != s.arg1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n s.tmp_2 = power_poke__P392_mk(s);\n s.pc = 7; return s.tmp_2;\n case 7:\n r0 = s.retval;\n r0 = s.arg0.fields[\"_owner\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_1 = controller_Controller_connected__P574_mk(s);\n r0 = s.arg0.fields[\"_owner\"];\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = true;\n s.pc = 8; return s.tmp_1;\n case 8:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = (s.arg0).fields[\"_pressed\"] = (s.arg1);\n r0 = s.arg0.fields[\"_pressed\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = (s.arg0).fields[\"_pressedElasped\"] = (0);\n s.tmp_0 = controller_Button_raiseButtonDown__P541_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 9; return s.tmp_0;\n case 9:\n r0 = s.retval;\n { step = 4; continue; }\n case 3:\n r0 = (s.arg0).fields[\"_repeatCount\"] = (0);\n s.tmp_0 = controller_Button_raiseButtonUp__P540_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 10; return s.tmp_0;\n case 10:\n r0 = s.retval;\n case 4:\n case 5:\n case 6:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Button_setPressed__P546.info = {\"start\":4302,\"length\":507,\"line\":132,\"column\":8,\"endLine\":146,\"endColumn\":9,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"setPressed\",\"argumentNames\":[\"this\",\"pressed\"]}\n\nfunction controller_Button_setPressed__P546_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Button_setPressed__P546, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction controller_Controller_connected__P574(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Controller__C557_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_connected\"];\n s.tmp_1 = r0;\n r0 = (s.arg1 != s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = (s.arg0).fields[\"_connected\"] = (s.arg1);\n r0 = s.arg0.fields[\"_connected\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = 1;\n { step = 2; continue; }\n case 1:\n r0 = 2;\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = s.arg0.fields[\"_id\"];\n s.tmp_2 = r0;\n r0 = pxsim.control.raiseEvent(s.tmp_2, s.tmp_1);\n case 3:\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Controller_connected__P574.info = {\"start\":11936,\"length\":261,\"line\":376,\"column\":8,\"endLine\":381,\"endColumn\":9,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"connected\",\"argumentNames\":[\"this\",\"value\"]}\n\nfunction controller_Controller_connected__P574_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Controller_connected__P574, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction controller_Controller_id__P560(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Controller__C557_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_id\"];\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Controller_id__P560.info = {\"start\":8221,\"length\":49,\"line\":247,\"column\":8,\"endLine\":249,\"endColumn\":9,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"id\",\"argumentNames\":[\"this\"]}\n\nfunction controller_Controller_id__P560_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Controller_id__P560, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller_Controller_connected__P573(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Controller__C557_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_connected\"];\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Controller_connected__P573.info = {\"start\":11863,\"length\":63,\"line\":372,\"column\":8,\"endLine\":374,\"endColumn\":9,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"connected\",\"argumentNames\":[\"this\"]}\n\nfunction controller_Controller_connected__P573_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Controller_connected__P573, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller_Button_raiseButtonDown__P541(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Button__C538_VT)) failedCast(r0);\n r0 = pxsim_numops_toBoolDecr(globals._userEventsEnabled___535);\n if (!r0) { step = 1; continue; }\n r0 = s.arg0.fields[\"id\"];\n s.tmp_0 = r0;\n r0 = pxsim.control.raiseEvent(2049, s.tmp_0);\n { step = 2; continue; }\n case 1:\n r0 = s.arg0.fields[\"id\"];\n s.tmp_0 = r0;\n r0 = pxsim.control.raiseEvent(2053, s.tmp_0);\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Button_raiseButtonDown__P541.info = {\"start\":2779,\"length\":205,\"line\":88,\"column\":8,\"endLine\":93,\"endColumn\":9,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"raiseButtonDown\",\"argumentNames\":[\"this\"]}\n\nfunction controller_Button_raiseButtonDown__P541_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Button_raiseButtonDown__P541, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller_Button_raiseButtonUp__P540(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Button__C538_VT)) failedCast(r0);\n r0 = pxsim_numops_toBoolDecr(globals._userEventsEnabled___535);\n if (!r0) { step = 1; continue; }\n r0 = s.arg0.fields[\"id\"];\n s.tmp_0 = r0;\n r0 = pxsim.control.raiseEvent(2048, s.tmp_0);\n { step = 2; continue; }\n case 1:\n r0 = s.arg0.fields[\"id\"];\n s.tmp_0 = r0;\n r0 = pxsim.control.raiseEvent(2052, s.tmp_0);\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Button_raiseButtonUp__P540.info = {\"start\":2569,\"length\":200,\"line\":81,\"column\":8,\"endLine\":86,\"endColumn\":9,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"raiseButtonUp\",\"argumentNames\":[\"this\"]}\n\nfunction controller_Button_raiseButtonUp__P540_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Button_raiseButtonUp__P540, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction settings_initScopes__P491(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.rn___10219 = undefined;\n s.tmp_1 = settings_runNumber__P489_mk(s);\n s.pc = 1; return s.tmp_1;\n case 1:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = (s.tmp_0 + 1);\n s.rn___10219 = (r0);\n s.tmp_0 = settings_writeNumber__P496_mk(s);\n s.tmp_0.arg0 = \"#run\";\n s.tmp_0.arg1 = s.rn___10219;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n r0 = pxsim.control.deviceSerialNumber();\n s.tmp_1 = r0;\n r0 = (s.tmp_1 & 2147483647);\n s.tmp_0 = r0;\n r0 = pxsim_pxtcore.seedAddRandom(s.tmp_0);\n r0 = pxsim_pxtcore.seedAddRandom(s.rn___10219);\n s.tmp_0 = settings_setScope__P490_mk(s);\n r0 = pxsim_pxtcore.programName();\n s.tmp_0.arg0 = r0;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsettings_initScopes__P491.info = {\"start\":960,\"length\":229,\"line\":36,\"column\":4,\"endLine\":44,\"endColumn\":5,\"fileName\":\"pxt_modules/settings/settings.ts\",\"functionName\":\"initScopes\",\"argumentNames\":[]}\n\nfunction settings_initScopes__P491_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: settings_initScopes__P491, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n rn___10219: undefined,\n} }\n\n\n\n\n\nfunction settings_setScope__P490(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.currScope___10242 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_numops_toBoolDecr(s.arg0);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = pxsim_String_.length(s.arg0);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 > 100);\n case 2:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 3; continue; }\n r0 = pxsim_pxtrt.panic(922);\n case 3:\n case 4:\n s.tmp_0 = settings_readString__P499_mk(s);\n s.tmp_0.arg0 = \"#scope\";\n s.pc = 7; return s.tmp_0;\n case 7:\n r0 = s.retval;\n s.currScope___10242 = (r0);\n r0 = (s.currScope___10242 != s.arg0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = pxsim.settings._userClean();\n s.tmp_0 = settings_writeString__P495_mk(s);\n s.tmp_0.arg0 = \"#scope\";\n s.tmp_0.arg1 = s.arg0;\n s.pc = 8; return s.tmp_0;\n case 8:\n r0 = s.retval;\n case 5:\n case 6:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsettings_setScope__P490.info = {\"start\":684,\"length\":270,\"line\":26,\"column\":4,\"endLine\":34,\"endColumn\":5,\"fileName\":\"pxt_modules/settings/settings.ts\",\"functionName\":\"setScope\",\"argumentNames\":[\"scope\"]}\n\nfunction settings_setScope__P490_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: settings_setScope__P490, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n currScope___10242: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction settings_readString__P499(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.buf___10258 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim.settings._get(s.arg0);\n s.buf___10258 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.buf___10258);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = undefined;\n { step = 3; continue; }\n { step = 2; continue; }\n case 1:\n r0 = pxsim.BufferMethods.toString(s.buf___10258);\n { step = 3; continue; }\n case 2:\n r0 = undefined;\n case 3:\n return leave(s, r0)\n default: oops()\n} } }\nsettings_readString__P499.info = {\"start\":2504,\"length\":177,\"line\":98,\"column\":4,\"endLine\":104,\"endColumn\":5,\"fileName\":\"pxt_modules/settings/settings.ts\",\"functionName\":\"readString\",\"argumentNames\":[\"key\"]}\n\nfunction settings_readString__P499_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: settings_readString__P499, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n buf___10258: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction settings_writeString__P495(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = settings_writeBuffer__P494_mk(s);\n s.tmp_0.arg0 = s.arg0;\n r0 = pxsim.control.createBufferFromUTF8(s.arg1);\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsettings_writeString__P495.info = {\"start\":1750,\"length\":125,\"line\":70,\"column\":4,\"endLine\":72,\"endColumn\":5,\"fileName\":\"pxt_modules/settings/settings.ts\",\"functionName\":\"writeString\",\"argumentNames\":[\"key\",\"value\"]}\n\nfunction settings_writeString__P495_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: settings_writeString__P495, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction settings_runNumber__P489(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tmp_1 = settings_readNumber__P500_mk(s);\n s.tmp_1.arg0 = \"#run\";\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = 0;\n case 2:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = s.tmp_2;\n return leave(s, r0)\n default: oops()\n} } }\nsettings_runNumber__P489.info = {\"start\":604,\"length\":74,\"line\":22,\"column\":4,\"endLine\":24,\"endColumn\":5,\"fileName\":\"pxt_modules/settings/settings.ts\",\"functionName\":\"runNumber\",\"argumentNames\":[]}\n\nfunction settings_runNumber__P489_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: settings_runNumber__P489, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n} }\n\n\n\n\n\nfunction control___screen_setupUpdate__P436(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n globals.__updated___434 = (true);\n globals.__update___433 = (s.arg0);\n s.tmp_0 = lambda_1_mk(s);\n s.tmp_0.argL = s.arg0;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol___screen_setupUpdate__P436.info = {\"start\":198,\"length\":125,\"line\":10,\"column\":4,\"endLine\":14,\"endColumn\":5,\"fileName\":\"pxt_modules/screen/frame.ts\",\"functionName\":\"setupUpdate\",\"argumentNames\":[\"update\"]}\n\nfunction control___screen_setupUpdate__P436_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control___screen_setupUpdate__P436, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction control___screen_update__P435(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = pxsim_numops_toBoolDecr(globals.__update___433);\n if (!r0) { step = 1; continue; }\n s.tmp_0 = lambda_1_mk(s);\n s.tmp_0.argL = globals.__update___433;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n case 1:\n case 2:\n globals.__updated___434 = (true);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ncontrol___screen_update__P435.info = {\"start\":90,\"length\":102,\"line\":4,\"column\":4,\"endLine\":8,\"endColumn\":5,\"fileName\":\"pxt_modules/screen/frame.ts\",\"functionName\":\"update\",\"argumentNames\":[]}\n\nfunction control___screen_update__P435_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: control___screen_update__P435, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n} }\n\n\n\n\n\nfunction pause__P241(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n setupResume(s, 1);\n pxsim.loops.pause(s.arg0);\n checkResumeConsumed();\n return;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\npause__P241.info = {\"start\":246,\"length\":57,\"line\":7,\"column\":0,\"endLine\":9,\"endColumn\":1,\"fileName\":\"pxt_modules/base/pause.ts\",\"functionName\":\"pause\",\"argumentNames\":[\"ms\"]}\n\nfunction pause__P241_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: pause__P241, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Fx8__P78(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 * 256);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 | 0);\n return leave(s, r0)\n default: oops()\n} } }\nFx8__P78.info = {\"start\":42,\"length\":68,\"line\":4,\"column\":0,\"endLine\":6,\"endColumn\":1,\"fileName\":\"pxt_modules/base/fixed.ts\",\"functionName\":\"Fx8\",\"argumentNames\":[\"v\"]}\n\nfunction Fx8__P78_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Fx8__P78, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction animation_MovementAnimation_constructor__P1552(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, animation_MovementAnimation__C1549_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"path\"] = (s.arg2);\n r0 = (s.arg0).fields[\"nodeInterval\"] = (s.arg3);\n s.tmp_0 = animation_SpriteAnimation_constructor__P1544_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.tmp_0.arg2 = s.arg4;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = (s.arg0).fields[\"loop\"] = (s.arg4);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nanimation_MovementAnimation_constructor__P1552.info = {\"start\":18785,\"length\":169,\"line\":480,\"column\":8,\"endLine\":484,\"endColumn\":9,\"fileName\":\"pxt_modules/animation/animation.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"sprite\",\"path\",\"nodeInterval\",\"loop\"]}\n\nfunction animation_MovementAnimation_constructor__P1552_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: animation_MovementAnimation_constructor__P1552, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n} }\n\n\n\n\n\nfunction animation_MovementAnimation_update__P1551(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.result___10307 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, animation_MovementAnimation__C1549_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"sprite\"];\n r0 = r0.fields[\"flags\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 & 2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = true;\n { step = 9; continue; }\n case 1:\n case 2:\n r0 = s.arg0.fields[\"startedAt\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 == null);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 3; continue; }\n s.tmp_4 = r0 = s.arg0;\n r0 = pxsim.control.millis();\n s.tmp_5 = r0;\n r0 = (s.tmp_4).fields[\"startedAt\"] = (s.tmp_5);\n case 3:\n case 4:\n s.tmp_0 = animation_Path_run__P1512_mk(s);\n r0 = s.arg0.fields[\"path\"];\n s.tmp_0.arg0 = r0;\n r0 = s.arg0.fields[\"nodeInterval\"];\n s.tmp_0.arg1 = r0;\n r0 = s.arg0.fields[\"sprite\"];\n s.tmp_0.arg2 = r0;\n r0 = s.arg0.fields[\"startedAt\"];\n s.tmp_0.arg3 = r0;\n s.pc = 10; return s.tmp_0;\n case 10:\n r0 = s.retval;\n s.result___10307 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.result___10307);\n if (!r0) { step = 7; continue; }\n r0 = s.arg0.fields[\"loop\"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = true;\n { step = 9; continue; }\n case 5:\n case 6:\n s.tmp_3 = r0 = s.arg0;\n r0 = pxsim.control.millis();\n s.tmp_4 = r0;\n r0 = (s.tmp_3).fields[\"startedAt\"] = (s.tmp_4);\n case 7:\n case 8:\n r0 = false;\n case 9:\n return leave(s, r0)\n default: oops()\n} } }\nanimation_MovementAnimation_update__P1551.info = {\"start\":18972,\"length\":460,\"line\":486,\"column\":8,\"endLine\":497,\"endColumn\":9,\"fileName\":\"pxt_modules/animation/animation.ts\",\"functionName\":\"update\",\"argumentNames\":[\"this\"]}\n\nfunction animation_MovementAnimation_update__P1551_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: animation_MovementAnimation_update__P1551, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n result___10307: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction animation_Path_run__P1512(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.runningTime___10328 = undefined;\n s.nodeIndex___10332 = undefined;\n s.nodeTime___10337 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, animation_Path__C1506_VT)) failedCast(r0);\n r0 = pxsim.control.millis();\n s.tmp_0 = r0;\n r0 = (s.tmp_0 - s.arg3);\n s.runningTime___10328 = (r0);\n r0 = (s.runningTime___10328 / s.arg1);\n s.tmp_0 = r0;\n r0 = pxsim.Math_.floor(s.tmp_0);\n s.nodeIndex___10332 = (r0);\n r0 = (s.runningTime___10328 % s.arg1);\n s.nodeTime___10337 = (r0);\n r0 = s.arg0.fields[\"lastNode\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > -1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = s.arg0.fields[\"lastNode\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 < s.nodeIndex___10332);\n case 2:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBool(s.tmp_3);\n if (r0) { step = 3; continue; }\n r0 = s.tmp_3;\n { step = 4; continue; }\n case 3:\n r0 = s.arg0.fields[\"nodes\"];\n s.tmp_4 = r0;\n r0 = pxsim_Array__length(s.tmp_4);\n case 4:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_5);\n if (!r0) { step = 7; continue; }\n s.tmp_6 = animation_PathNode__C1514_v0_4_mk(s);\n r0 = s.arg0.fields[\"nodes\"];\n s.tmp_7 = r0;\n r0 = s.arg0.fields[\"lastNode\"];\n s.tmp_8 = r0;\n r0 = pxsim_Array__getAt(s.tmp_7, s.tmp_8);\n s.tmp_6.arg0 = r0;\n s.tmp_6.arg1 = s.arg2;\n s.tmp_6.arg2 = s.arg1;\n s.tmp_6.arg3 = s.arg1;\n if (!checkSubtype(s.tmp_6.arg0, animation_PathNode__C1514_VT)) failedCast(s.tmp_6.arg0);\n s.tmp_6.fn = s.tmp_6.arg0.vtable.methods.apply;\n s.pc = 10; return s.tmp_6;\n case 10:\n r0 = s.retval;\n s.tmp_1 = r0 = s.nodeIndex___10332;\n r0 = s.arg0.fields[\"nodes\"];\n s.tmp_3 = r0;\n r0 = pxsim_Array__length(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 >= s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = true;\n { step = 9; continue; }\n case 5:\n case 6:\n case 7:\n case 8:\n r0 = (s.arg0).fields[\"lastNode\"] = (s.nodeIndex___10332);\n s.tmp_0 = animation_PathNode__C1514_v0_4_mk(s);\n r0 = s.arg0.fields[\"nodes\"];\n s.tmp_1 = r0;\n r0 = pxsim_Array__getAt(s.tmp_1, s.nodeIndex___10332);\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = s.arg2;\n s.tmp_0.arg2 = s.nodeTime___10337;\n s.tmp_0.arg3 = s.arg1;\n if (!checkSubtype(s.tmp_0.arg0, animation_PathNode__C1514_VT)) failedCast(s.tmp_0.arg0);\n s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.apply;\n s.pc = 11; return s.tmp_0;\n case 11:\n r0 = s.retval;\n r0 = false;\n case 9:\n return leave(s, r0)\n default: oops()\n} } }\nanimation_Path_run__P1512.info = {\"start\":11979,\"length\":1002,\"line\":287,\"column\":8,\"endLine\":301,\"endColumn\":9,\"fileName\":\"pxt_modules/animation/animation.ts\",\"functionName\":\"run\",\"argumentNames\":[\"this\",\"interval\",\"target\",\"startedAt\"]}\n\nfunction animation_Path_run__P1512_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: animation_Path_run__P1512, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n runningTime___10328: undefined,\n nodeIndex___10332: undefined,\n nodeTime___10337: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction animation_PathNode_apply__P1515(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, animation_PathNode__C1514_VT)) failedCast(r0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nanimation_PathNode_apply__P1515.info = {\"start\":13131,\"length\":60,\"line\":310,\"column\":8,\"endLine\":310,\"endColumn\":68,\"fileName\":\"pxt_modules/animation/animation.ts\",\"functionName\":\"apply\",\"argumentNames\":[\"this\",\"target\",\"nodeTime\",\"interval\"]}\n\nfunction animation_PathNode_apply__P1515_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: animation_PathNode_apply__P1515, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction animation_ImageAnimation_update__P1547(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.runningTime___10391 = undefined;\n s.frameIndex___10396 = undefined;\n s.newImage___10413 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, animation_ImageAnimation__C1545_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"sprite\"];\n r0 = r0.fields[\"flags\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 & 2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = true;\n { step = 17; continue; }\n case 1:\n case 2:\n r0 = s.arg0.fields[\"startedAt\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 == null);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 3; continue; }\n s.tmp_4 = r0 = s.arg0;\n r0 = pxsim.control.millis();\n s.tmp_5 = r0;\n r0 = (s.tmp_4).fields[\"startedAt\"] = (s.tmp_5);\n case 3:\n case 4:\n r0 = pxsim.control.millis();\n s.tmp_0 = r0;\n r0 = s.arg0.fields[\"startedAt\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_0 - s.tmp_1);\n s.runningTime___10391 = (r0);\n r0 = s.arg0.fields[\"frameInterval\"];\n s.tmp_1 = r0;\n r0 = (s.runningTime___10391 / s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim.Math_.floor(s.tmp_0);\n s.frameIndex___10396 = (r0);\n r0 = s.arg0.fields[\"lastFrame\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > -1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 5; continue; }\n r0 = s.tmp_0;\n { step = 6; continue; }\n case 5:\n r0 = s.arg0.fields[\"lastFrame\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 < s.frameIndex___10396);\n case 6:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBool(s.tmp_3);\n if (r0) { step = 7; continue; }\n r0 = s.tmp_3;\n { step = 8; continue; }\n case 7:\n r0 = s.arg0.fields[\"frames\"];\n s.tmp_4 = r0;\n r0 = pxsim_Array__length(s.tmp_4);\n case 8:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_5);\n if (!r0) { step = 15; continue; }\n r0 = s.arg0.fields[\"frames\"];\n s.tmp_6 = r0;\n r0 = (s.frameIndex___10396 - 1);\n s.tmp_7 = r0;\n r0 = pxsim_Array__getAt(s.tmp_6, s.tmp_7);\n s.newImage___10413 = (r0);\n r0 = s.arg0.fields[\"sprite\"];\n s.tmp_2 = r0;\n r0 = s.tmp_2.fields[\"_image\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 !== s.newImage___10413);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 9; continue; }\n s.tmp_3 = Sprite_setImage__P625_mk(s);\n r0 = s.arg0.fields[\"sprite\"];\n s.tmp_3.arg0 = r0;\n s.tmp_3.arg1 = s.newImage___10413;\n s.pc = 18; return s.tmp_3;\n case 18:\n r0 = s.retval;\n case 9:\n case 10:\n s.tmp_1 = r0 = s.frameIndex___10396;\n r0 = s.arg0.fields[\"frames\"];\n s.tmp_3 = r0;\n r0 = pxsim_Array__length(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 >= s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 13; continue; }\n r0 = s.arg0.fields[\"loop\"];\n s.tmp_6 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_6);\n s.tmp_5 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_5);\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n if (!r0) { step = 11; continue; }\n r0 = true;\n { step = 17; continue; }\n case 11:\n case 12:\n s.tmp_7 = r0 = s.arg0;\n r0 = pxsim.control.millis();\n s.tmp_8 = r0;\n r0 = (s.tmp_7).fields[\"startedAt\"] = (s.tmp_8);\n case 13:\n case 14:\n case 15:\n case 16:\n r0 = (s.arg0).fields[\"lastFrame\"] = (s.frameIndex___10396);\n r0 = false;\n case 17:\n return leave(s, r0)\n default: oops()\n} } }\nanimation_ImageAnimation_update__P1547.info = {\"start\":17777,\"length\":931,\"line\":456,\"column\":8,\"endLine\":476,\"endColumn\":9,\"fileName\":\"pxt_modules/animation/animation.ts\",\"functionName\":\"update\",\"argumentNames\":[\"this\"]}\n\nfunction animation_ImageAnimation_update__P1547_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: animation_ImageAnimation_update__P1547, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n runningTime___10391: undefined,\n frameIndex___10396: undefined,\n newImage___10413: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction SpriteSet_toString__P686(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, SpriteSet__C676_VT)) failedCast(r0);\n r0 = pxsim_String_.mkEmpty();\n s.tmp_1 = r0;\n r0 = s.arg0.fields[\"_sprites\"];\n s.tmp_4 = r0;\n r0 = pxsim_Array__length(s.tmp_4);\n s.tmp_3 = r0;\n if ((s.tmp_3) && (s.tmp_3).vtable) {\n setupResume(s, 1);\n pxsim_String__stringConv(s.tmp_3);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_3) + \"\"; }\n case 1:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = pxsim_String__concat(s.tmp_1, s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_String__concat(s.tmp_0, \" sprites\");\n return leave(s, r0)\n default: oops()\n} } }\nSpriteSet_toString__P686.info = {\"start\":2209,\"length\":58,\"line\":96,\"column\":4,\"endLine\":98,\"endColumn\":5,\"fileName\":\"pxt_modules/game/spriteset.ts\",\"functionName\":\"toString\",\"argumentNames\":[\"this\"]}\n\nfunction SpriteSet_toString__P686_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: SpriteSet_toString__P686, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction SpriteSet_length__P678(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, SpriteSet__C676_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_sprites\"];\n s.tmp_0 = r0;\n r0 = pxsim_Array__length(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\nSpriteSet_length__P678.info = {\"start\":508,\"length\":57,\"line\":25,\"column\":4,\"endLine\":27,\"endColumn\":5,\"fileName\":\"pxt_modules/game/spriteset.ts\",\"functionName\":\"length\",\"argumentNames\":[\"this\"]}\n\nfunction SpriteSet_length__P678_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: SpriteSet_length__P678, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction tiles_TileMap_constructor__P885(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, tiles_TileMap__C865_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"_tileSets\"] = (s.tmp_1);\n r0 = (s.arg0).fields[\"_layer\"] = (1);\n r0 = (s.arg0).fields[\"scale\"] = (s.arg1);\n r0 = pxsim_pxtcore_mkAction(1, inline__P12163);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n s.tmp_1 = scene_createRenderable__P896_mk(s);\n s.tmp_1.arg0 = globals.TILE_MAP_Z___918;\n s.tmp_1.arg1 = s.tmp_0;\n s.tmp_1.arg2 = undefined;\n s.pc = 1; return s.tmp_1;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ntiles_TileMap_constructor__P885.info = {\"start\":2488,\"length\":283,\"line\":88,\"column\":8,\"endLine\":97,\"endColumn\":9,\"fileName\":\"pxt_modules/game/tilemap.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"scale\"]}\n\nfunction tiles_TileMap_constructor__P885_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: tiles_TileMap_constructor__P885, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction inline__P12163(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = tiles_TileMap_draw__P882_mk(s);\n s.tmp_0.arg0 = s.caps[0];\n s.tmp_0.arg1 = s.arg0;\n s.tmp_0.arg2 = s.arg1;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P12163.info = {\"start\":2721,\"length\":25,\"line\":95,\"column\":16,\"endLine\":95,\"endColumn\":41,\"fileName\":\"pxt_modules/game/tilemap.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"t\",\"c\"]}\n\nfunction inline__P12163_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P12163, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction tiles_TileMap_draw__P882(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.bitmask___12173 = undefined;\n s.offsetX___12176 = undefined;\n s.offsetY___12180 = undefined;\n s.x0___12184 = undefined;\n s.xn___12190 = undefined;\n s.y0___12203 = undefined;\n s.yn___12209 = undefined;\n s.x___12222 = undefined;\n s.y___12227 = undefined;\n s.index___12232 = undefined;\n s.tile___12239 = undefined;\n s.x___12267 = undefined;\n s.xLine___12272 = undefined;\n s.y___12292 = undefined;\n s.yLine___12297 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, tiles_TileMap__C865_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_map\"];\n s.tmp_6 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_6);\n s.tmp_5 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_5);\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n s.tmp_3 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 25; continue; }\n case 1:\n case 2:\n r0 = s.arg0.fields[\"scale\"];\n s.tmp_8 = r0;\n r0 = (1 << s.tmp_8);\n s.tmp_7 = r0;\n r0 = (s.tmp_7 - 1);\n s.bitmask___12173 = (r0);\n r0 = s.arg2.fields[\"drawOffsetX\"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 & s.bitmask___12173);\n s.offsetX___12176 = (r0);\n r0 = s.arg2.fields[\"drawOffsetY\"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 & s.bitmask___12173);\n s.offsetY___12180 = (r0);\n s.tmp_0 = Math_max__P61_mk(s);\n s.tmp_0.arg0 = 0;\n r0 = s.arg2.fields[\"drawOffsetX\"];\n s.tmp_1 = r0;\n r0 = s.arg0.fields[\"scale\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_1 >> s.tmp_2);\n s.tmp_0.arg1 = r0;\n s.pc = 26; return s.tmp_0;\n case 26:\n r0 = s.retval;\n s.x0___12184 = (r0);\n s.tmp_0 = Math_min__P62_mk(s);\n r0 = s.arg0.fields[\"_map\"];\n s.tmp_1 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_1);\n s.tmp_0.arg0 = r0;\n r0 = s.arg2.fields[\"drawOffsetX\"];\n s.tmp_4 = r0;\n r0 = pxsim_ImageMethods.width(s.arg1);\n s.tmp_5 = r0;\n r0 = (s.tmp_4 + s.tmp_5);\n s.tmp_3 = r0;\n r0 = s.arg0.fields[\"scale\"];\n s.tmp_6 = r0;\n r0 = (s.tmp_3 >> s.tmp_6);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + 1);\n s.tmp_0.arg1 = r0;\n s.pc = 27; return s.tmp_0;\n case 27:\n r0 = s.retval;\n s.xn___12190 = (r0);\n s.tmp_0 = Math_max__P61_mk(s);\n s.tmp_0.arg0 = 0;\n r0 = s.arg2.fields[\"drawOffsetY\"];\n s.tmp_1 = r0;\n r0 = s.arg0.fields[\"scale\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_1 >> s.tmp_2);\n s.tmp_0.arg1 = r0;\n s.pc = 28; return s.tmp_0;\n case 28:\n r0 = s.retval;\n s.y0___12203 = (r0);\n s.tmp_0 = Math_min__P62_mk(s);\n r0 = s.arg0.fields[\"_map\"];\n s.tmp_1 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_1);\n s.tmp_0.arg0 = r0;\n r0 = s.arg2.fields[\"drawOffsetY\"];\n s.tmp_4 = r0;\n r0 = pxsim_ImageMethods.height(s.arg1);\n s.tmp_5 = r0;\n r0 = (s.tmp_4 + s.tmp_5);\n s.tmp_3 = r0;\n r0 = s.arg0.fields[\"scale\"];\n s.tmp_6 = r0;\n r0 = (s.tmp_3 >> s.tmp_6);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + 1);\n s.tmp_0.arg1 = r0;\n s.pc = 29; return s.tmp_0;\n case 29:\n r0 = s.retval;\n s.yn___12209 = (r0);\n s.x___12222 = (s.x0___12184);\n case 3:\n r0 = (s.x___12222 <= s.xn___12190);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 10; continue; }\n s.y___12227 = (s.y0___12203);\n case 4:\n r0 = (s.y___12227 <= s.yn___12209);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 9; continue; }\n r0 = s.arg0.fields[\"_map\"];\n s.tmp_1 = r0;\n r0 = pxsim_ImageMethods.getPixel(s.tmp_1, s.x___12222, s.y___12227);\n s.index___12232 = (r0);\n r0 = s.arg0.fields[\"_tileSets\"];\n s.tmp_1 = r0;\n r0 = pxsim_Array__getAt(s.tmp_1, s.index___12232);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = s.tmp_0;\n { step = 6; continue; }\n case 5:\n s.tmp_2 = tiles_TileMap_generateTile__P879_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.tmp_2.arg1 = s.index___12232;\n s.pc = 30; return s.tmp_2;\n case 30:\n r0 = s.retval;\n case 6:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n s.tile___12239 = (s.tmp_3);\n r0 = pxsim_numops_toBoolDecr(s.tile___12239);\n if (!r0) { step = 7; continue; }\n s.tmp_0 = r0 = s.arg1;\n s.tmp_2 = tiles_TileSet_image__P857_mk(s);\n s.tmp_2.arg0 = s.tile___12239;\n s.pc = 31; return s.tmp_2;\n case 31:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.x___12222 - s.x0___12184);\n s.tmp_5 = r0;\n r0 = s.arg0.fields[\"scale\"];\n s.tmp_6 = r0;\n r0 = (s.tmp_5 << s.tmp_6);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 - s.offsetX___12176);\n s.tmp_3 = r0;\n r0 = (s.y___12227 - s.y0___12203);\n s.tmp_9 = r0;\n r0 = s.arg0.fields[\"scale\"];\n s.tmp_10 = r0;\n r0 = (s.tmp_9 << s.tmp_10);\n s.tmp_8 = r0;\n r0 = (s.tmp_8 - s.offsetY___12180);\n s.tmp_7 = r0;\n r0 = pxsim_ImageMethods.drawTransparentImage(s.tmp_0, s.tmp_1, s.tmp_3, s.tmp_7);\n case 7:\n case 8:\n r0 = (s.y___12227 + 1);\n s.y___12227 = (r0);\n { step = 4; continue; }\n case 9:\n r0 = (s.x___12222 + 1);\n s.x___12222 = (r0);\n { step = 3; continue; }\n case 10:\n r0 = pxsim_numops_toBoolDecr(globals.debug___998);\n if (!r0) { step = 23; continue; }\n s.x___12267 = (s.x0___12184);\n case 11:\n r0 = (s.x___12267 <= s.xn___12190);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 16; continue; }\n r0 = (s.x___12267 - s.x0___12184);\n s.tmp_2 = r0;\n r0 = s.arg0.fields[\"scale\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_2 << s.tmp_3);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - s.offsetX___12176);\n s.xLine___12272 = (r0);\n r0 = (s.xLine___12272 >= 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 12; continue; }\n r0 = s.tmp_0;\n { step = 13; continue; }\n case 12:\n s.tmp_1 = r0 = s.xLine___12272;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 <= s.tmp_2);\n case 13:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 14; continue; }\n s.tmp_4 = helpers_imageDrawLine__P413_mk(s);\n s.tmp_4.arg0 = s.arg1;\n s.tmp_4.arg1 = s.xLine___12272;\n s.tmp_4.arg2 = 0;\n s.tmp_4.arg3 = s.xLine___12272;\n r0 = pxsim_ImageMethods.height(s.arg1);\n s.tmp_4.arg4 = r0;\n s.tmp_4.arg5 = 1;\n s.pc = 32; return s.tmp_4;\n case 32:\n r0 = s.retval;\n case 14:\n case 15:\n r0 = (s.x___12267 + 1);\n s.x___12267 = (r0);\n { step = 11; continue; }\n case 16:\n s.y___12292 = (s.y0___12203);\n case 17:\n r0 = (s.y___12292 <= s.yn___12209);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 22; continue; }\n r0 = (s.y___12292 - s.y0___12203);\n s.tmp_2 = r0;\n r0 = s.arg0.fields[\"scale\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_2 << s.tmp_3);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - s.offsetY___12180);\n s.yLine___12297 = (r0);\n r0 = (s.yLine___12297 >= 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 18; continue; }\n r0 = s.tmp_0;\n { step = 19; continue; }\n case 18:\n s.tmp_1 = r0 = s.yLine___12297;\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 <= s.tmp_2);\n case 19:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 20; continue; }\n s.tmp_4 = helpers_imageDrawLine__P413_mk(s);\n s.tmp_4.arg0 = s.arg1;\n s.tmp_4.arg1 = 0;\n s.tmp_4.arg2 = s.yLine___12297;\n r0 = pxsim_ImageMethods.width(s.arg1);\n s.tmp_4.arg3 = r0;\n s.tmp_4.arg4 = s.yLine___12297;\n s.tmp_4.arg5 = 1;\n s.pc = 33; return s.tmp_4;\n case 33:\n r0 = s.retval;\n case 20:\n case 21:\n r0 = (s.y___12292 + 1);\n s.y___12292 = (r0);\n { step = 17; continue; }\n case 22:\n case 23:\n case 24:\n case 25:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ntiles_TileMap_draw__P882.info = {\"start\":5334,\"length\":2251,\"line\":183,\"column\":8,\"endLine\":238,\"endColumn\":9,\"fileName\":\"pxt_modules/game/tilemap.ts\",\"functionName\":\"draw\",\"argumentNames\":[\"this\",\"target\",\"camera\"]}\n\nfunction tiles_TileMap_draw__P882_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: tiles_TileMap_draw__P882, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n bitmask___12173: undefined,\n offsetX___12176: undefined,\n offsetY___12180: undefined,\n x0___12184: undefined,\n xn___12190: undefined,\n y0___12203: undefined,\n yn___12209: undefined,\n x___12222: undefined,\n y___12227: undefined,\n index___12232: undefined,\n tile___12239: undefined,\n x___12267: undefined,\n xLine___12272: undefined,\n y___12292: undefined,\n yLine___12297: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction tiles_TileMap_generateTile__P879(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.size___11138 = undefined;\n s.i___11141 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, tiles_TileMap__C865_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"scale\"];\n s.tmp_0 = r0;\n r0 = (1 << s.tmp_0);\n s.size___11138 = (r0);\n r0 = pxsim.image.create(s.size___11138, s.size___11138);\n s.i___11141 = (r0);\n r0 = pxsim_ImageMethods.fill(s.i___11141, s.arg1);\n r0 = pxsim_pxtcore_mkClassInstance(tiles_TileSet__C856_VT);\n s.tmp_0 = r0;\n s.tmp_1 = tiles_TileSet_constructor__P858_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = s.i___11141;\n s.tmp_1.arg2 = false;\n s.tmp_1.arg3 = s.arg0;\n s.pc = 1; return s.tmp_1;\n case 1:\n r0 = s.retval;\n r0 = s.arg0.fields[\"_tileSets\"];\n s.tmp_2 = r0;\n r0 = pxsim_Array_.setAt(s.tmp_2, s.arg1, s.tmp_0);\n r0 = s.tmp_0;\n return leave(s, r0)\n default: oops()\n} } }\ntiles_TileMap_generateTile__P879.info = {\"start\":4764,\"length\":245,\"line\":166,\"column\":8,\"endLine\":172,\"endColumn\":9,\"fileName\":\"pxt_modules/game/tilemap.ts\",\"functionName\":\"generateTile\",\"argumentNames\":[\"this\",\"index\"]}\n\nfunction tiles_TileMap_generateTile__P879_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: tiles_TileMap_generateTile__P879, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n size___11138: undefined,\n i___11141: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction tiles_TileSet_constructor__P858(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, tiles_TileSet__C856_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"originalImage\"] = (s.arg1);\n r0 = (s.arg0).fields[\"obstacle\"] = (s.arg2);\n r0 = (s.arg0).fields[\"map\"] = (s.arg3);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ntiles_TileSet_constructor__P858.info = {\"start\":312,\"length\":180,\"line\":16,\"column\":8,\"endLine\":20,\"endColumn\":9,\"fileName\":\"pxt_modules/game/tilemap.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"image\",\"collisions\",\"map\"]}\n\nfunction tiles_TileSet_constructor__P858_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: tiles_TileSet_constructor__P858, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction tiles_TileSet_image__P857(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.size___11065 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, tiles_TileSet__C856_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"map\"];\n r0 = r0.fields[\"scale\"];\n s.tmp_0 = r0;\n r0 = (1 << s.tmp_0);\n s.size___11065 = (r0);\n r0 = s.arg0.fields[\"cachedImage\"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = s.arg0.fields[\"cachedImage\"];\n s.tmp_4 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_4);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 != s.size___11065);\n case 2:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBool(s.tmp_5);\n if (!r0) { step = 3; continue; }\n r0 = s.tmp_5;\n { step = 4; continue; }\n case 3:\n r0 = s.arg0.fields[\"cachedImage\"];\n s.tmp_7 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_7);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 != s.size___11065);\n case 4:\n // jmp value (already in r0)\n s.tmp_8 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_8);\n if (!r0) { step = 9; continue; }\n r0 = s.arg0.fields[\"originalImage\"];\n s.tmp_11 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_11);\n s.tmp_10 = r0;\n r0 = (s.tmp_10 == s.size___11065);\n s.tmp_9 = r0;\n r0 = pxsim_numops_toBool(s.tmp_9);\n if (r0) { step = 5; continue; }\n r0 = s.tmp_9;\n { step = 6; continue; }\n case 5:\n r0 = s.arg0.fields[\"originalImage\"];\n s.tmp_13 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_13);\n s.tmp_12 = r0;\n r0 = (s.tmp_12 == s.size___11065);\n case 6:\n // jmp value (already in r0)\n s.tmp_14 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_14);\n if (!r0) { step = 7; continue; }\n r0 = s.arg0.fields[\"originalImage\"];\n s.tmp_15 = r0;\n r0 = (s.arg0).fields[\"cachedImage\"] = (s.tmp_15);\n { step = 8; continue; }\n case 7:\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim.image.create(s.size___11065, s.size___11065);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"cachedImage\"] = (s.tmp_1);\n r0 = s.arg0.fields[\"cachedImage\"];\n s.tmp_0 = r0;\n r0 = s.arg0.fields[\"originalImage\"];\n s.tmp_1 = r0;\n r0 = pxsim_ImageMethods.drawImage(s.tmp_0, s.tmp_1, 0, 0);\n case 8:\n case 9:\n case 10:\n r0 = s.arg0.fields[\"cachedImage\"];\n return leave(s, r0)\n default: oops()\n} } }\ntiles_TileSet_image__P857.info = {\"start\":502,\"length\":567,\"line\":22,\"column\":8,\"endLine\":33,\"endColumn\":9,\"fileName\":\"pxt_modules/game/tilemap.ts\",\"functionName\":\"image\",\"argumentNames\":[\"this\"]}\n\nfunction tiles_TileSet_image__P857_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: tiles_TileSet_image__P857, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n tmp_12: undefined,\n tmp_13: undefined,\n tmp_14: undefined,\n tmp_15: undefined,\n size___11065: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_BackgroundLayer_constructor__P855(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_BackgroundLayer__C853_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_2 = Math_max__P61_mk(s);\n s.tmp_2.arg0 = 1;\n s.tmp_2.arg1 = s.arg1;\n s.pc = 7; return s.tmp_2;\n case 7:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"distance\"] = (s.tmp_1);\n r0 = (s.arg0).fields[\"img\"] = (s.arg3);\n s.tmp_0 = r0 = s.arg2;\n r0 = pxsim_pxtcore.switch_eq(5, s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = pxsim_pxtcore.switch_eq(1, s.tmp_0);\n if (r0) { step = 2; continue; }\n r0 = pxsim_pxtcore.switch_eq(2, s.tmp_0);\n if (r0) { step = 3; continue; }\n r0 = pxsim_pxtcore.switch_eq(3, s.tmp_0);\n if (r0) { step = 4; continue; }\n r0 = pxsim_pxtcore.switch_eq(4, s.tmp_0);\n if (r0) { step = 5; continue; }\n r0 = s.tmp_0;\n { step = 6; continue; }\n case 1:\n r0 = (s.arg0).fields[\"repeatX\"] = (true);\n r0 = (s.arg0).fields[\"repeatY\"] = (true);\n r0 = (s.arg0).fields[\"alignX\"] = (5);\n r0 = (s.arg0).fields[\"alignY\"] = (5);\n { step = 6; continue; }\n case 2:\n case 3:\n r0 = (s.arg0).fields[\"repeatX\"] = (false);\n r0 = (s.arg0).fields[\"repeatY\"] = (true);\n r0 = (s.arg0).fields[\"alignX\"] = (s.arg2);\n r0 = (s.arg0).fields[\"alignY\"] = (5);\n { step = 6; continue; }\n case 4:\n case 5:\n r0 = (s.arg0).fields[\"repeatX\"] = (true);\n r0 = (s.arg0).fields[\"repeatY\"] = (false);\n r0 = (s.arg0).fields[\"alignX\"] = (5);\n r0 = (s.arg0).fields[\"alignY\"] = (s.arg2);\n case 6:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_BackgroundLayer_constructor__P855.info = {\"start\":1936,\"length\":1117,\"line\":72,\"column\":8,\"endLine\":97,\"endColumn\":9,\"fileName\":\"pxt_modules/game/background.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"distance\",\"alignment\",\"img\"]}\n\nfunction scene_BackgroundLayer_constructor__P855_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_BackgroundLayer_constructor__P855, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction sprites_SpriteMap_toString__P670(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_SpriteMap__C659_VT)) failedCast(r0);\n r0 = pxsim_String_.mkEmpty();\n s.tmp_3 = r0;\n r0 = s.arg0.fields[\"buckets\"];\n s.tmp_6 = r0;\n r0 = pxsim_Array__length(s.tmp_6);\n s.tmp_5 = r0;\n if ((s.tmp_5) && (s.tmp_5).vtable) {\n setupResume(s, 1);\n pxsim_String__stringConv(s.tmp_5);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_5) + \"\"; }\n case 1:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = pxsim_String__concat(s.tmp_3, s.tmp_4);\n s.tmp_2 = r0;\n r0 = pxsim_String__concat(s.tmp_2, \" buckets, \");\n s.tmp_1 = r0;\n s.tmp_10 = helpers_arrayFilter__P48_mk(s);\n r0 = s.arg0.fields[\"buckets\"];\n s.tmp_10.arg0 = r0;\n s.tmp_10.arg1 = inline__P10559;\n s.pc = 2; return s.tmp_10;\n case 2:\n r0 = s.retval;\n s.tmp_9 = r0;\n r0 = pxsim_Array__length(s.tmp_9);\n s.tmp_8 = r0;\n if ((s.tmp_8) && (s.tmp_8).vtable) {\n setupResume(s, 3);\n pxsim_String__stringConv(s.tmp_8);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_8) + \"\"; }\n case 3:\n r0 = s.retval;\n s.tmp_7 = r0;\n r0 = pxsim_String__concat(s.tmp_1, s.tmp_7);\n s.tmp_0 = r0;\n r0 = pxsim_String__concat(s.tmp_0, \" filled\");\n return leave(s, r0)\n default: oops()\n} } }\nsprites_SpriteMap_toString__P670.info = {\"start\":4629,\"length\":123,\"line\":126,\"column\":8,\"endLine\":128,\"endColumn\":9,\"fileName\":\"pxt_modules/game/spritemap.ts\",\"functionName\":\"toString\",\"argumentNames\":[\"this\"]}\n\nfunction sprites_SpriteMap_toString__P670_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_SpriteMap_toString__P670, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P10559(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_numops_toBoolDecr(s.arg0);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\ninline__P10559.info = {\"start\":4716,\"length\":8,\"line\":127,\"column\":74,\"endLine\":127,\"endColumn\":82,\"fileName\":\"pxt_modules/game/spritemap.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"b\"]}\n\nfunction inline__P10559_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P10559, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction ArcadePhysicsEngine_moveSprite__P737(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tm___10594 = undefined;\n s.tileSize___10602 = undefined;\n s.ms___10614 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, ArcadePhysicsEngine__C727_VT)) failedCast(r0);\n r0 = s.arg1.fields[\"_x\"];\n s.tmp_0 = r0;\n r0 = (s.arg1).fields[\"_lastX\"] = (s.tmp_0);\n r0 = s.arg1.fields[\"_y\"];\n s.tmp_0 = r0;\n r0 = (s.arg1).fields[\"_lastY\"] = (s.tmp_0);\n s.tmp_0 = r0 = s.arg1;\n r0 = s.arg1.fields[\"_x\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.arg2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"_x\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg1;\n r0 = s.arg1.fields[\"_y\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.arg3);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"_y\"] = (s.tmp_1);\n r0 = s.arg1.fields[\"flags\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 & globals.SPRITE_CANNOT_COLLIDE___718);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 9; continue; }\n s.tmp_4 = game_currentScene__P769_mk(s);\n s.pc = 12; return s.tmp_4;\n case 12:\n r0 = s.retval;\n r0 = r0.fields[\"tileMap\"];\n s.tm___10594 = (r0);\n s.tmp_0 = r0 = s.tm___10594;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = s.tm___10594.fields[\"_map\"];\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n s.tmp_3 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n case 2:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_5);\n s.tmp_7 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_7);\n s.tmp_6 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_6);\n if (!r0) { step = 3; continue; }\n { step = 11; continue; }\n case 3:\n case 4:\n r0 = s.tm___10594.fields[\"scale\"];\n s.tmp_8 = r0;\n r0 = (1 << s.tmp_8);\n s.tileSize___10602 = (r0);\n s.tmp_2 = Math_abs__P59_mk(s);\n r0 = (s.arg2 + 128);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 >> 8);\n s.tmp_2.arg0 = r0;\n s.pc = 13; return s.tmp_2;\n case 13:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 < s.tileSize___10602);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 5; continue; }\n r0 = s.tmp_0;\n { step = 6; continue; }\n case 5:\n s.tmp_5 = Math_abs__P59_mk(s);\n r0 = (s.arg3 + 128);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 >> 8);\n s.tmp_5.arg0 = r0;\n s.pc = 14; return s.tmp_5;\n case 14:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = (s.tmp_4 < s.tileSize___10602);\n case 6:\n // jmp value (already in r0)\n s.tmp_7 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_7);\n if (!r0) { step = 7; continue; }\n r0 = pxsim_pxtcore_mkClassInstance(MovingSprite__C725_VT);\n s.tmp_8 = r0;\n s.tmp_9 = MovingSprite_constructor__P726_mk(s);\n s.tmp_9.arg0 = s.tmp_8;\n s.tmp_9.arg1 = s.arg1;\n r0 = s.arg1.fields[\"_vx\"];\n s.tmp_9.arg2 = r0;\n r0 = s.arg1.fields[\"_vy\"];\n s.tmp_9.arg3 = r0;\n s.tmp_9.arg4 = s.arg2;\n s.tmp_9.arg5 = s.arg3;\n s.tmp_9.arg6 = s.arg2;\n s.tmp_9.arg7 = s.arg3;\n s.pc = 15; return s.tmp_9;\n case 15:\n r0 = s.retval;\n s.ms___10614 = (s.tmp_8);\n s.tmp_0 = ArcadePhysicsEngine_tilemapCollisions__P735_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.ms___10614;\n s.tmp_0.arg2 = s.tm___10594;\n s.pc = 16; return s.tmp_0;\n case 16:\n r0 = s.retval;\n case 7:\n case 8:\n case 9:\n case 10:\n case 11:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nArcadePhysicsEngine_moveSprite__P737.info = {\"start\":16919,\"length\":892,\"line\":479,\"column\":4,\"endLine\":505,\"endColumn\":5,\"fileName\":\"pxt_modules/game/physics.ts\",\"functionName\":\"moveSprite\",\"argumentNames\":[\"this\",\"s\",\"dx\",\"dy\"]}\n\nfunction ArcadePhysicsEngine_moveSprite__P737_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: ArcadePhysicsEngine_moveSprite__P737, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tm___10594: undefined,\n tileSize___10602: undefined,\n ms___10614: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction ArcadePhysicsEngine_tilemapCollisions__P735(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.sprite___10632 = undefined;\n s.tileScale___10636 = undefined;\n s.tileSize___10640 = undefined;\n s.xDiff___10643 = undefined;\n s.yDiff___10649 = undefined;\n s.right___10657 = undefined;\n s.x0___10660 = undefined;\n s.collidedTiles___10675 = undefined;\n s.y___10677 = undefined;\n s.y0___10692 = undefined;\n s.obstacle___10708 = undefined;\n s.collisionDirection___10734 = undefined;\n s.tile___10760 = undefined;\n s.unnamed62___U13 = undefined;\n s.unnamed63___U14 = undefined;\n s.down___10826 = undefined;\n s.y0___10829 = undefined;\n s.collidedTiles___10844 = undefined;\n s.x___10846 = undefined;\n s.x0___10857 = undefined;\n s.obstacle___10871 = undefined;\n s.collisionDirection___10895 = undefined;\n s.tile___10921 = undefined;\n s.unnamed64___U23 = undefined;\n s.unnamed65___U24 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, ArcadePhysicsEngine__C727_VT)) failedCast(r0);\n r0 = s.arg1.fields[\"sprite\"];\n s.sprite___10632 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.arg2);\n if (!r0) { step = 1; continue; }\n r0 = s.arg2.fields[\"scale\"];\n { step = 2; continue; }\n case 1:\n r0 = 0;\n case 2:\n // jmp value (already in r0)\n s.tmp_0 = r0;\n s.tileScale___10636 = (s.tmp_0);\n r0 = pxsim_numops_toBoolDecr(s.arg2);\n if (!r0) { step = 3; continue; }\n r0 = (1 << s.tileScale___10636);\n { step = 4; continue; }\n case 3:\n r0 = 0;\n case 4:\n // jmp value (already in r0)\n s.tmp_0 = r0;\n s.tileSize___10640 = (s.tmp_0);\n r0 = s.sprite___10632.fields[\"_x\"];\n s.tmp_0 = r0;\n r0 = s.sprite___10632.fields[\"_lastX\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_0 - s.tmp_1);\n s.xDiff___10643 = (r0);\n r0 = s.sprite___10632.fields[\"_y\"];\n s.tmp_0 = r0;\n r0 = s.sprite___10632.fields[\"_lastY\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_0 - s.tmp_1);\n s.yDiff___10649 = (r0);\n r0 = (s.xDiff___10643 !== globals.zeroFx8___79);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 37; continue; }\n r0 = (s.xDiff___10643 > globals.zeroFx8___79);\n s.right___10657 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.right___10657);\n if (!r0) { step = 5; continue; }\n s.tmp_1 = game_Hitbox_right__P596_mk(s);\n r0 = s.sprite___10632.fields[\"_hitbox\"];\n s.tmp_1.arg0 = r0;\n s.pc = 73; return s.tmp_1;\n case 73:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = (1 << 8);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.tmp_0);\n { step = 6; continue; }\n case 5:\n s.tmp_4 = game_Hitbox_left__P594_mk(s);\n r0 = s.sprite___10632.fields[\"_hitbox\"];\n s.tmp_4.arg0 = r0;\n s.pc = 74; return s.tmp_4;\n case 74:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (-1 << 8);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 + s.tmp_3);\n case 6:\n // jmp value (already in r0)\n s.tmp_6 = r0;\n r0 = (s.tmp_6 + globals.oneHalfFx8___80);\n s.tmp_7 = r0;\n r0 = (s.tileScale___10636 + 8);\n s.tmp_8 = r0;\n r0 = (s.tmp_7 >> s.tmp_8);\n s.x0___10660 = (r0);\n r0 = pxsim_Array__mk();\n s.collidedTiles___10675 = (r0);\n s.tmp_1 = game_Hitbox_top__P595_mk(s);\n r0 = s.sprite___10632.fields[\"_hitbox\"];\n s.tmp_1.arg0 = r0;\n s.pc = 75; return s.tmp_1;\n case 75:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = (s.tmp_0 - s.yDiff___10649);\n s.y___10677 = (r0);\n case 7:\n s.tmp_1 = r0 = s.y___10677;\n s.tmp_3 = r0 = s.tileSize___10640;\n s.tmp_6 = game_Hitbox_bottom__P597_mk(s);\n r0 = s.sprite___10632.fields[\"_hitbox\"];\n s.tmp_6.arg0 = r0;\n s.pc = 76; return s.tmp_6;\n case 76:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = (s.tmp_5 - s.yDiff___10649);\n s.tmp_4 = r0;\n r0 = (s.tmp_3 << 8);\n s.tmp_7 = r0;\n r0 = (s.tmp_7 + s.tmp_4);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 12; continue; }\n s.tmp_10 = Fx_min__P94_mk(s);\n s.tmp_10.arg0 = s.y___10677;\n s.tmp_12 = game_Hitbox_bottom__P597_mk(s);\n r0 = s.sprite___10632.fields[\"_hitbox\"];\n s.tmp_12.arg0 = r0;\n s.pc = 78; return s.tmp_12;\n case 78:\n r0 = s.retval;\n s.tmp_11 = r0;\n r0 = (s.tmp_11 - s.yDiff___10649);\n s.tmp_10.arg1 = r0;\n s.pc = 77; return s.tmp_10;\n case 77:\n r0 = s.retval;\n s.tmp_9 = r0;\n r0 = (s.tmp_9 + globals.oneHalfFx8___80);\n s.tmp_8 = r0;\n r0 = (s.tileScale___10636 + 8);\n s.tmp_13 = r0;\n r0 = (s.tmp_8 >> s.tmp_13);\n s.y0___10692 = (r0);\n s.tmp_1 = tiles_TileMap_isObstacle__P883_mk(s);\n s.tmp_1.arg0 = s.arg2;\n s.tmp_1.arg1 = s.x0___10660;\n s.tmp_1.arg2 = s.y0___10692;\n s.pc = 79; return s.tmp_1;\n case 79:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 10; continue; }\n s.tmp_2 = tiles_TileMap_getObstacle__P884_mk(s);\n s.tmp_2.arg0 = s.arg2;\n s.tmp_2.arg1 = s.x0___10660;\n s.tmp_2.arg2 = s.y0___10692;\n s.pc = 80; return s.tmp_2;\n case 80:\n r0 = s.retval;\n s.obstacle___10708 = (r0);\n r0 = pxsim_pxtcore_mkAction(1, inline__P10717);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.obstacle___10708);\n s.tmp_4 = helpers_arraySome__P45_mk(s);\n s.tmp_4.arg0 = s.collidedTiles___10675;\n s.tmp_4.arg1 = s.tmp_0;\n s.pc = 81; return s.tmp_4;\n case 81:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 8; continue; }\n r0 = pxsim_Array__push(s.collidedTiles___10675, s.obstacle___10708);\n case 8:\n case 9:\n case 10:\n case 11:\n r0 = (s.tileSize___10640 << 8);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 + s.y___10677);\n s.y___10677 = (r0);\n { step = 7; continue; }\n case 12:\n r0 = pxsim_Array__length(s.collidedTiles___10675);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 35; continue; }\n r0 = pxsim_numops_toBoolDecr(s.right___10657);\n if (!r0) { step = 13; continue; }\n r0 = 2;\n { step = 14; continue; }\n case 13:\n r0 = 0;\n case 14:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n s.collisionDirection___10734 = (s.tmp_1);\n r0 = pxsim_numops_toBoolDecr(s.right___10657);\n if (!r0) { step = 15; continue; }\n r0 = (s.x0___10660 << s.tileScale___10636);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 * 256);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_0 = r0;\n r0 = s.sprite___10632.fields[\"_hitbox\"];\n r0 = r0.fields[\"width\"];\n s.tmp_4 = r0;\n r0 = (s.tmp_4 * 256);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 | 0);\n s.tmp_3 = r0;\n r0 = (s.tmp_0 - s.tmp_3);\n { step = 16; continue; }\n case 15:\n r0 = (s.x0___10660 + 1);\n s.tmp_7 = r0;\n r0 = (s.tmp_7 << s.tileScale___10636);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 * 256);\n s.tmp_8 = r0;\n r0 = (s.tmp_8 | 0);\n case 16:\n // jmp value (already in r0)\n s.tmp_9 = r0;\n s.tmp_10 = r0 = s.sprite___10632;\n r0 = s.sprite___10632.fields[\"_hitbox\"];\n r0 = r0.fields[\"ox\"];\n s.tmp_13 = r0;\n r0 = (0 - s.tmp_13);\n s.tmp_12 = r0;\n r0 = (s.tmp_12 << 8);\n s.tmp_14 = r0;\n r0 = (s.tmp_14 + s.tmp_9);\n s.tmp_11 = r0;\n r0 = (s.tmp_10).fields[\"_x\"] = (s.tmp_11);\n s.tile___10760 = (undefined);\n s.tile___10760 = (undefined);\n s.unnamed62___U13 = (s.collidedTiles___10675);\n s.unnamed63___U14 = (0);\n case 17:\n s.tmp_0 = r0 = s.unnamed63___U14;\n r0 = pxsim_Array__length(s.unnamed62___U13);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 18; continue; }\n r0 = pxsim_Array__getAt(s.unnamed62___U13, s.unnamed63___U14);\n s.tile___10760 = (r0);\n s.tmp_2 = Sprite_registerObstacle__P651_mk(s);\n s.tmp_2.arg0 = s.sprite___10632;\n s.tmp_2.arg1 = s.collisionDirection___10734;\n s.tmp_2.arg2 = s.tile___10760;\n s.pc = 82; return s.tmp_2;\n case 82:\n r0 = s.retval;\n r0 = (s.unnamed63___U14 + 1);\n s.unnamed63___U14 = (r0);\n { step = 17; continue; }\n case 18:\n s.unnamed62___U13 = (undefined);\n r0 = s.sprite___10632.fields[\"flags\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 & 16);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 19; continue; }\n s.tmp_2 = Sprite_destroy__P653_mk(s);\n s.tmp_2.arg0 = s.sprite___10632;\n s.tmp_2.arg1 = undefined;\n s.tmp_2.arg2 = undefined;\n s.pc = 83; return s.tmp_2;\n case 83:\n r0 = s.retval;\n { step = 34; continue; }\n case 19:\n r0 = s.sprite___10632.fields[\"_vx\"];\n s.tmp_1 = r0;\n r0 = s.arg1.fields[\"cachedVx\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_1 === s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 30; continue; }\n r0 = s.sprite___10632.fields[\"flags\"];\n s.tmp_4 = r0;\n r0 = (s.tmp_4 & 32);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 28; continue; }\n r0 = pxsim_numops_toBoolDecr(s.right___10657);\n s.tmp_6 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_6);\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBool(s.tmp_5);\n if (r0) { step = 20; continue; }\n r0 = s.tmp_5;\n { step = 21; continue; }\n case 20:\n s.tmp_8 = Sprite_vx__P613_mk(s);\n s.tmp_8.arg0 = s.sprite___10632;\n s.pc = 84; return s.tmp_8;\n case 84:\n r0 = s.retval;\n s.tmp_7 = r0;\n r0 = (s.tmp_7 < 0);\n case 21:\n // jmp value (already in r0)\n s.tmp_9 = r0;\n r0 = pxsim_numops_toBool(s.tmp_9);\n if (!r0) { step = 22; continue; }\n r0 = s.tmp_9;\n { step = 25; continue; }\n case 22:\n s.tmp_10 = r0 = s.right___10657;\n r0 = pxsim_numops_toBool(s.tmp_10);\n if (r0) { step = 23; continue; }\n r0 = s.tmp_10;\n { step = 24; continue; }\n case 23:\n s.tmp_12 = Sprite_vx__P613_mk(s);\n s.tmp_12.arg0 = s.sprite___10632;\n s.pc = 85; return s.tmp_12;\n case 85:\n r0 = s.retval;\n s.tmp_11 = r0;\n r0 = (s.tmp_11 > 0);\n case 24:\n // jmp value (already in r0)\n s.tmp_13 = r0;\n r0 = s.tmp_13;\n case 25:\n // jmp value (already in r0)\n s.tmp_14 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_14);\n if (!r0) { step = 26; continue; }\n s.tmp_15 = r0 = s.sprite___10632;\n r0 = s.sprite___10632.fields[\"_vx\"];\n s.tmp_17 = r0;\n r0 = (0 - s.tmp_17);\n s.tmp_16 = r0;\n r0 = (s.tmp_15).fields[\"_vx\"] = (s.tmp_16);\n s.tmp_0 = r0 = s.arg1;\n r0 = s.arg1.fields[\"xStep\"];\n s.tmp_2 = r0;\n r0 = (0 - s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"xStep\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg1;\n r0 = s.arg1.fields[\"dx\"];\n s.tmp_2 = r0;\n r0 = (0 - s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"dx\"] = (s.tmp_1);\n case 26:\n case 27:\n { step = 29; continue; }\n case 28:\n r0 = (s.arg1).fields[\"dx\"] = (globals.zeroFx8___79);\n r0 = (s.sprite___10632).fields[\"_vx\"] = (globals.zeroFx8___79);\n case 29:\n { step = 33; continue; }\n case 30:\n s.tmp_2 = Math_sign__P60_mk(s);\n r0 = s.sprite___10632.fields[\"_vx\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 + 128);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 >> 8);\n s.tmp_2.arg0 = r0;\n s.pc = 86; return s.tmp_2;\n case 86:\n r0 = s.retval;\n s.tmp_1 = r0;\n s.tmp_6 = Math_sign__P60_mk(s);\n r0 = s.arg1.fields[\"cachedVx\"];\n s.tmp_7 = r0;\n r0 = (s.tmp_7 + 128);\n s.tmp_8 = r0;\n r0 = (s.tmp_8 >> 8);\n s.tmp_6.arg0 = r0;\n s.pc = 87; return s.tmp_6;\n case 87:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = (s.tmp_1 === s.tmp_5);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 31; continue; }\n r0 = (s.arg1).fields[\"dx\"] = (globals.zeroFx8___79);\n case 31:\n case 32:\n case 33:\n case 34:\n case 35:\n case 36:\n case 37:\n case 38:\n r0 = (s.yDiff___10649 !== globals.zeroFx8___79);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 71; continue; }\n r0 = (s.yDiff___10649 > globals.zeroFx8___79);\n s.down___10826 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.down___10826);\n if (!r0) { step = 39; continue; }\n s.tmp_1 = game_Hitbox_bottom__P597_mk(s);\n r0 = s.sprite___10632.fields[\"_hitbox\"];\n s.tmp_1.arg0 = r0;\n s.pc = 88; return s.tmp_1;\n case 88:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = (1 << 8);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.tmp_0);\n { step = 40; continue; }\n case 39:\n s.tmp_4 = game_Hitbox_top__P595_mk(s);\n r0 = s.sprite___10632.fields[\"_hitbox\"];\n s.tmp_4.arg0 = r0;\n s.pc = 89; return s.tmp_4;\n case 89:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (-1 << 8);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 + s.tmp_3);\n case 40:\n // jmp value (already in r0)\n s.tmp_6 = r0;\n r0 = (s.tmp_6 + globals.oneHalfFx8___80);\n s.tmp_7 = r0;\n r0 = (s.tileScale___10636 + 8);\n s.tmp_8 = r0;\n r0 = (s.tmp_7 >> s.tmp_8);\n s.y0___10829 = (r0);\n r0 = pxsim_Array__mk();\n s.collidedTiles___10844 = (r0);\n s.tmp_0 = game_Hitbox_left__P594_mk(s);\n r0 = s.sprite___10632.fields[\"_hitbox\"];\n s.tmp_0.arg0 = r0;\n s.pc = 90; return s.tmp_0;\n case 90:\n r0 = s.retval;\n s.x___10846 = (r0);\n case 41:\n s.tmp_1 = r0 = s.x___10846;\n s.tmp_3 = r0 = s.tileSize___10640;\n s.tmp_5 = game_Hitbox_right__P596_mk(s);\n r0 = s.sprite___10632.fields[\"_hitbox\"];\n s.tmp_5.arg0 = r0;\n s.pc = 91; return s.tmp_5;\n case 91:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = (s.tmp_3 << 8);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 + s.tmp_4);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 < s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 46; continue; }\n s.tmp_9 = Fx_min__P94_mk(s);\n s.tmp_9.arg0 = s.x___10846;\n s.tmp_10 = game_Hitbox_right__P596_mk(s);\n r0 = s.sprite___10632.fields[\"_hitbox\"];\n s.tmp_10.arg0 = r0;\n s.pc = 93; return s.tmp_10;\n case 93:\n r0 = s.retval;\n s.tmp_9.arg1 = r0;\n s.pc = 92; return s.tmp_9;\n case 92:\n r0 = s.retval;\n s.tmp_8 = r0;\n r0 = (s.tmp_8 + globals.oneHalfFx8___80);\n s.tmp_7 = r0;\n r0 = (s.tileScale___10636 + 8);\n s.tmp_11 = r0;\n r0 = (s.tmp_7 >> s.tmp_11);\n s.x0___10857 = (r0);\n s.tmp_1 = tiles_TileMap_isObstacle__P883_mk(s);\n s.tmp_1.arg0 = s.arg2;\n s.tmp_1.arg1 = s.x0___10857;\n s.tmp_1.arg2 = s.y0___10829;\n s.pc = 94; return s.tmp_1;\n case 94:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 44; continue; }\n s.tmp_2 = tiles_TileMap_getObstacle__P884_mk(s);\n s.tmp_2.arg0 = s.arg2;\n s.tmp_2.arg1 = s.x0___10857;\n s.tmp_2.arg2 = s.y0___10829;\n s.pc = 95; return s.tmp_2;\n case 95:\n r0 = s.retval;\n s.obstacle___10871 = (r0);\n r0 = pxsim_pxtcore_mkAction(1, inline__P10879);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.obstacle___10871);\n s.tmp_4 = helpers_arraySome__P45_mk(s);\n s.tmp_4.arg0 = s.collidedTiles___10844;\n s.tmp_4.arg1 = s.tmp_0;\n s.pc = 96; return s.tmp_4;\n case 96:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 42; continue; }\n r0 = pxsim_Array__push(s.collidedTiles___10844, s.obstacle___10871);\n case 42:\n case 43:\n case 44:\n case 45:\n r0 = (s.tileSize___10640 << 8);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 + s.x___10846);\n s.x___10846 = (r0);\n { step = 41; continue; }\n case 46:\n r0 = pxsim_Array__length(s.collidedTiles___10844);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 69; continue; }\n r0 = pxsim_numops_toBoolDecr(s.down___10826);\n if (!r0) { step = 47; continue; }\n r0 = 3;\n { step = 48; continue; }\n case 47:\n r0 = 1;\n case 48:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n s.collisionDirection___10895 = (s.tmp_1);\n r0 = pxsim_numops_toBoolDecr(s.down___10826);\n if (!r0) { step = 49; continue; }\n r0 = (s.y0___10829 << s.tileScale___10636);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 * 256);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_0 = r0;\n r0 = s.sprite___10632.fields[\"_hitbox\"];\n r0 = r0.fields[\"height\"];\n s.tmp_4 = r0;\n r0 = (s.tmp_4 * 256);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 | 0);\n s.tmp_3 = r0;\n r0 = (s.tmp_0 - s.tmp_3);\n { step = 50; continue; }\n case 49:\n r0 = (s.y0___10829 + 1);\n s.tmp_7 = r0;\n r0 = (s.tmp_7 << s.tileScale___10636);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 * 256);\n s.tmp_8 = r0;\n r0 = (s.tmp_8 | 0);\n case 50:\n // jmp value (already in r0)\n s.tmp_9 = r0;\n s.tmp_10 = r0 = s.sprite___10632;\n r0 = s.sprite___10632.fields[\"_hitbox\"];\n r0 = r0.fields[\"oy\"];\n s.tmp_13 = r0;\n r0 = (0 - s.tmp_13);\n s.tmp_12 = r0;\n r0 = (s.tmp_12 << 8);\n s.tmp_14 = r0;\n r0 = (s.tmp_14 + s.tmp_9);\n s.tmp_11 = r0;\n r0 = (s.tmp_10).fields[\"_y\"] = (s.tmp_11);\n s.tile___10921 = (undefined);\n s.tile___10921 = (undefined);\n s.unnamed64___U23 = (s.collidedTiles___10844);\n s.unnamed65___U24 = (0);\n case 51:\n s.tmp_0 = r0 = s.unnamed65___U24;\n r0 = pxsim_Array__length(s.unnamed64___U23);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 52; continue; }\n r0 = pxsim_Array__getAt(s.unnamed64___U23, s.unnamed65___U24);\n s.tile___10921 = (r0);\n s.tmp_2 = Sprite_registerObstacle__P651_mk(s);\n s.tmp_2.arg0 = s.sprite___10632;\n s.tmp_2.arg1 = s.collisionDirection___10895;\n s.tmp_2.arg2 = s.tile___10921;\n s.pc = 97; return s.tmp_2;\n case 97:\n r0 = s.retval;\n r0 = (s.unnamed65___U24 + 1);\n s.unnamed65___U24 = (r0);\n { step = 51; continue; }\n case 52:\n s.unnamed64___U23 = (undefined);\n r0 = s.sprite___10632.fields[\"flags\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 & 16);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 53; continue; }\n s.tmp_2 = Sprite_destroy__P653_mk(s);\n s.tmp_2.arg0 = s.sprite___10632;\n s.tmp_2.arg1 = undefined;\n s.tmp_2.arg2 = undefined;\n s.pc = 98; return s.tmp_2;\n case 98:\n r0 = s.retval;\n { step = 68; continue; }\n case 53:\n r0 = s.sprite___10632.fields[\"_vy\"];\n s.tmp_1 = r0;\n r0 = s.arg1.fields[\"cachedVy\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_1 === s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 64; continue; }\n r0 = s.sprite___10632.fields[\"flags\"];\n s.tmp_4 = r0;\n r0 = (s.tmp_4 & 32);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 62; continue; }\n r0 = pxsim_numops_toBoolDecr(s.down___10826);\n s.tmp_6 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_6);\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBool(s.tmp_5);\n if (r0) { step = 54; continue; }\n r0 = s.tmp_5;\n { step = 55; continue; }\n case 54:\n s.tmp_8 = Sprite_vy__P615_mk(s);\n s.tmp_8.arg0 = s.sprite___10632;\n s.pc = 99; return s.tmp_8;\n case 99:\n r0 = s.retval;\n s.tmp_7 = r0;\n r0 = (s.tmp_7 < 0);\n case 55:\n // jmp value (already in r0)\n s.tmp_9 = r0;\n r0 = pxsim_numops_toBool(s.tmp_9);\n if (!r0) { step = 56; continue; }\n r0 = s.tmp_9;\n { step = 59; continue; }\n case 56:\n s.tmp_10 = r0 = s.down___10826;\n r0 = pxsim_numops_toBool(s.tmp_10);\n if (r0) { step = 57; continue; }\n r0 = s.tmp_10;\n { step = 58; continue; }\n case 57:\n s.tmp_12 = Sprite_vy__P615_mk(s);\n s.tmp_12.arg0 = s.sprite___10632;\n s.pc = 100; return s.tmp_12;\n case 100:\n r0 = s.retval;\n s.tmp_11 = r0;\n r0 = (s.tmp_11 > 0);\n case 58:\n // jmp value (already in r0)\n s.tmp_13 = r0;\n r0 = s.tmp_13;\n case 59:\n // jmp value (already in r0)\n s.tmp_14 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_14);\n if (!r0) { step = 60; continue; }\n s.tmp_15 = r0 = s.sprite___10632;\n r0 = s.sprite___10632.fields[\"_vy\"];\n s.tmp_17 = r0;\n r0 = (0 - s.tmp_17);\n s.tmp_16 = r0;\n r0 = (s.tmp_15).fields[\"_vy\"] = (s.tmp_16);\n s.tmp_0 = r0 = s.arg1;\n r0 = s.arg1.fields[\"yStep\"];\n s.tmp_2 = r0;\n r0 = (0 - s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"yStep\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg1;\n r0 = s.arg1.fields[\"dy\"];\n s.tmp_2 = r0;\n r0 = (0 - s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"dy\"] = (s.tmp_1);\n case 60:\n case 61:\n { step = 63; continue; }\n case 62:\n r0 = (s.arg1).fields[\"dy\"] = (globals.zeroFx8___79);\n r0 = (s.sprite___10632).fields[\"_vy\"] = (globals.zeroFx8___79);\n case 63:\n { step = 67; continue; }\n case 64:\n s.tmp_2 = Math_sign__P60_mk(s);\n r0 = s.sprite___10632.fields[\"_vy\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 + 128);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 >> 8);\n s.tmp_2.arg0 = r0;\n s.pc = 101; return s.tmp_2;\n case 101:\n r0 = s.retval;\n s.tmp_1 = r0;\n s.tmp_6 = Math_sign__P60_mk(s);\n r0 = s.arg1.fields[\"cachedVy\"];\n s.tmp_7 = r0;\n r0 = (s.tmp_7 + 128);\n s.tmp_8 = r0;\n r0 = (s.tmp_8 >> 8);\n s.tmp_6.arg0 = r0;\n s.pc = 102; return s.tmp_6;\n case 102:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = (s.tmp_1 === s.tmp_5);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 65; continue; }\n r0 = (s.arg1).fields[\"dy\"] = (globals.zeroFx8___79);\n case 65:\n case 66:\n case 67:\n case 68:\n case 69:\n case 70:\n case 71:\n case 72:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nArcadePhysicsEngine_tilemapCollisions__P735.info = {\"start\":9627,\"length\":6961,\"line\":292,\"column\":4,\"endLine\":467,\"endColumn\":5,\"fileName\":\"pxt_modules/game/physics.ts\",\"functionName\":\"tilemapCollisions\",\"argumentNames\":[\"this\",\"movingSprite\",\"tm\"]}\n\nfunction ArcadePhysicsEngine_tilemapCollisions__P735_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: ArcadePhysicsEngine_tilemapCollisions__P735, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n tmp_12: undefined,\n tmp_13: undefined,\n tmp_14: undefined,\n tmp_15: undefined,\n tmp_16: undefined,\n tmp_17: undefined,\n sprite___10632: undefined,\n tileScale___10636: undefined,\n tileSize___10640: undefined,\n xDiff___10643: undefined,\n yDiff___10649: undefined,\n right___10657: undefined,\n x0___10660: undefined,\n collidedTiles___10675: undefined,\n y___10677: undefined,\n y0___10692: undefined,\n obstacle___10708: undefined,\n collisionDirection___10734: undefined,\n tile___10760: undefined,\n unnamed62___U13: undefined,\n unnamed63___U14: undefined,\n down___10826: undefined,\n y0___10829: undefined,\n collidedTiles___10844: undefined,\n x___10846: undefined,\n x0___10857: undefined,\n obstacle___10871: undefined,\n collisionDirection___10895: undefined,\n tile___10921: undefined,\n unnamed64___U23: undefined,\n unnamed65___U24: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction inline__P10717(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0.fields[\"tileIndex\"];\n s.tmp_0 = r0;\n r0 = s.caps[0].fields[\"tileIndex\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_0 === s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\ninline__P10717.info = {\"start\":11372,\"length\":39,\"line\":343,\"column\":44,\"endLine\":343,\"endColumn\":83,\"fileName\":\"pxt_modules/game/physics.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"o\"]}\n\nfunction inline__P10717_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P10717, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P10879(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0.fields[\"tileIndex\"];\n s.tmp_0 = r0;\n r0 = s.caps[0].fields[\"tileIndex\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_0 === s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\ninline__P10879.info = {\"start\":14581,\"length\":39,\"line\":422,\"column\":44,\"endLine\":422,\"endColumn\":83,\"fileName\":\"pxt_modules/game/physics.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"o\"]}\n\nfunction inline__P10879_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P10879, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction tiles_TileMap_getObstacle__P884(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.index___11030 = undefined;\n s.tile___11040 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, tiles_TileMap__C865_VT)) failedCast(r0);\n s.tmp_1 = tiles_TileMap_isOutsideMap__P880_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.tmp_1.arg1 = s.arg1;\n s.tmp_1.arg2 = s.arg2;\n s.pc = 5; return s.tmp_1;\n case 5:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = 0;\n { step = 2; continue; }\n case 1:\n r0 = s.arg0.fields[\"_map\"];\n s.tmp_2 = r0;\n r0 = pxsim_ImageMethods.getPixel(s.tmp_2, s.arg1, s.arg2);\n case 2:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n s.index___11030 = (s.tmp_3);\n r0 = s.arg0.fields[\"_tileSets\"];\n s.tmp_1 = r0;\n r0 = pxsim_Array__getAt(s.tmp_1, s.index___11030);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = s.tmp_0;\n { step = 4; continue; }\n case 3:\n s.tmp_2 = tiles_TileMap_generateTile__P879_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.tmp_2.arg1 = s.index___11030;\n s.pc = 6; return s.tmp_2;\n case 6:\n r0 = s.retval;\n case 4:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n s.tile___11040 = (s.tmp_3);\n r0 = pxsim_pxtcore_mkClassInstance(sprites_StaticObstacle__C700_VT);\n s.tmp_0 = r0;\n s.tmp_1 = sprites_StaticObstacle_constructor__P707_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_2 = tiles_TileSet_image__P857_mk(s);\n s.tmp_2.arg0 = s.tile___11040;\n s.pc = 8; return s.tmp_2;\n case 8:\n r0 = s.retval;\n s.tmp_1.arg1 = r0;\n r0 = s.arg0.fields[\"scale\"];\n s.tmp_3 = r0;\n r0 = (s.arg2 << s.tmp_3);\n s.tmp_1.arg2 = r0;\n r0 = s.arg0.fields[\"scale\"];\n s.tmp_4 = r0;\n r0 = (s.arg1 << s.tmp_4);\n s.tmp_1.arg3 = r0;\n r0 = s.arg0.fields[\"_layer\"];\n s.tmp_1.arg4 = r0;\n s.tmp_1.arg5 = s.index___11030;\n s.pc = 7; return s.tmp_1;\n case 7:\n r0 = s.retval;\n r0 = s.tmp_0;\n return leave(s, r0)\n default: oops()\n} } }\ntiles_TileMap_getObstacle__P884.info = {\"start\":7866,\"length\":432,\"line\":248,\"column\":8,\"endLine\":258,\"endColumn\":9,\"fileName\":\"pxt_modules/game/tilemap.ts\",\"functionName\":\"getObstacle\",\"argumentNames\":[\"this\",\"col\",\"row\"]}\n\nfunction tiles_TileMap_getObstacle__P884_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: tiles_TileMap_getObstacle__P884, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n index___11030: undefined,\n tile___11040: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction tiles_TileMap_isOutsideMap__P880(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, tiles_TileMap__C865_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_map\"];\n s.tmp_6 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_6);\n s.tmp_5 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_5);\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n s.tmp_3 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = (s.arg1 < 0);\n case 2:\n // jmp value (already in r0)\n s.tmp_7 = r0;\n r0 = pxsim_numops_toBool(s.tmp_7);\n if (!r0) { step = 3; continue; }\n r0 = s.tmp_7;\n { step = 4; continue; }\n case 3:\n s.tmp_8 = r0 = s.arg1;\n r0 = s.arg0.fields[\"_map\"];\n s.tmp_10 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_10);\n s.tmp_9 = r0;\n r0 = (s.tmp_8 >= s.tmp_9);\n case 4:\n // jmp value (already in r0)\n s.tmp_11 = r0;\n r0 = pxsim_numops_toBool(s.tmp_11);\n if (!r0) { step = 5; continue; }\n r0 = s.tmp_11;\n { step = 6; continue; }\n case 5:\n r0 = (s.arg2 < 0);\n case 6:\n // jmp value (already in r0)\n s.tmp_12 = r0;\n r0 = pxsim_numops_toBool(s.tmp_12);\n if (!r0) { step = 7; continue; }\n r0 = s.tmp_12;\n { step = 8; continue; }\n case 7:\n s.tmp_13 = r0 = s.arg2;\n r0 = s.arg0.fields[\"_map\"];\n s.tmp_15 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_15);\n s.tmp_14 = r0;\n r0 = (s.tmp_13 >= s.tmp_14);\n case 8:\n // jmp value (already in r0)\n s.tmp_16 = r0;\n r0 = s.tmp_16;\n return leave(s, r0)\n default: oops()\n} } }\ntiles_TileMap_isOutsideMap__P880.info = {\"start\":5019,\"length\":192,\"line\":174,\"column\":8,\"endLine\":177,\"endColumn\":9,\"fileName\":\"pxt_modules/game/tilemap.ts\",\"functionName\":\"isOutsideMap\",\"argumentNames\":[\"this\",\"col\",\"row\"]}\n\nfunction tiles_TileMap_isOutsideMap__P880_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: tiles_TileMap_isOutsideMap__P880, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n tmp_12: undefined,\n tmp_13: undefined,\n tmp_14: undefined,\n tmp_15: undefined,\n tmp_16: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction tiles_TileMap_layer__P871(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, tiles_TileMap__C865_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_layer\"];\n return leave(s, r0)\n default: oops()\n} } }\ntiles_TileMap_layer__P871.info = {\"start\":3319,\"length\":63,\"line\":119,\"column\":8,\"endLine\":121,\"endColumn\":9,\"fileName\":\"pxt_modules/game/tilemap.ts\",\"functionName\":\"layer\",\"argumentNames\":[\"this\"]}\n\nfunction tiles_TileMap_layer__P871_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: tiles_TileMap_layer__P871, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction sprites_StaticObstacle_constructor__P707(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.arg5 = (s.lambdaArgs[5]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_StaticObstacle__C700_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"image\"] = (s.arg1);\n r0 = (s.arg0).fields[\"layer\"] = (s.arg4);\n r0 = (s.arg0).fields[\"top\"] = (s.arg2);\n r0 = (s.arg0).fields[\"left\"] = (s.arg3);\n r0 = (s.arg0).fields[\"tileIndex\"] = (s.arg5);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_StaticObstacle_constructor__P707.info = {\"start\":563,\"length\":261,\"line\":28,\"column\":8,\"endLine\":34,\"endColumn\":9,\"fileName\":\"pxt_modules/game/obstacle.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"image\",\"top\",\"left\",\"layer\",\"tileIndex\"]}\n\nfunction sprites_StaticObstacle_constructor__P707_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_StaticObstacle_constructor__P707, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n arg5: undefined,\n} }\n\n\n\n\n\nfunction tiles_TileMap_isObstacle__P883(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.t___11196 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, tiles_TileMap__C865_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_map\"];\n s.tmp_6 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_6);\n s.tmp_5 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_5);\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n s.tmp_3 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = false;\n { step = 7; continue; }\n case 1:\n case 2:\n s.tmp_8 = tiles_TileMap_isOutsideMap__P880_mk(s);\n s.tmp_8.arg0 = s.arg0;\n s.tmp_8.arg1 = s.arg1;\n s.tmp_8.arg2 = s.arg2;\n s.pc = 8; return s.tmp_8;\n case 8:\n r0 = s.retval;\n s.tmp_7 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_7);\n if (!r0) { step = 3; continue; }\n r0 = true;\n { step = 7; continue; }\n case 3:\n case 4:\n r0 = s.arg0.fields[\"_tileSets\"];\n s.tmp_9 = r0;\n r0 = s.arg0.fields[\"_map\"];\n s.tmp_11 = r0;\n r0 = pxsim_ImageMethods.getPixel(s.tmp_11, s.arg1, s.arg2);\n s.tmp_10 = r0;\n r0 = pxsim_Array__getAt(s.tmp_9, s.tmp_10);\n s.t___11196 = (r0);\n s.tmp_0 = r0 = s.t___11196;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 5; continue; }\n r0 = s.tmp_0;\n { step = 6; continue; }\n case 5:\n r0 = s.t___11196.fields[\"obstacle\"];\n case 6:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = s.tmp_1;\n case 7:\n return leave(s, r0)\n default: oops()\n} } }\ntiles_TileMap_isObstacle__P883.info = {\"start\":7595,\"length\":261,\"line\":240,\"column\":8,\"endLine\":246,\"endColumn\":9,\"fileName\":\"pxt_modules/game/tilemap.ts\",\"functionName\":\"isObstacle\",\"argumentNames\":[\"this\",\"col\",\"row\"]}\n\nfunction tiles_TileMap_isObstacle__P883_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: tiles_TileMap_isObstacle__P883, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n t___11196: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction Sprite_registerObstacle__P651(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.collisionHandlers___10992 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_obstacles\"];\n s.tmp_0 = r0;\n r0 = pxsim_Array_.setAt(s.tmp_0, s.arg1, s.arg2);\n s.tmp_1 = game_currentScene__P769_mk(s);\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n r0 = r0.fields[\"collisionHandlers\"];\n s.tmp_0 = r0;\n s.tmp_3 = if_tileIndex_1_mk(s);\n s.tmp_3.arg0 = s.arg2;\n if (!s.tmp_3.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, \"tileIndex\");\n } else {\n s.tmp_3.fn = s.tmp_3.arg0.vtable.iface[\"tileIndex\"];\n if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields[\"tileIndex\"]; }\n else { s.pc = 4; return s.tmp_3; }\n }\n case 4:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = pxsim_Array__getAt(s.tmp_0, s.tmp_2);\n s.collisionHandlers___10992 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.collisionHandlers___10992);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_pxtcore_mkAction(1, inline__P11003);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n r0 = pxsim_pxtcore_mkAction(1, inline__P11008);\n s.tmp_1 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_1, 0, s.arg0);\n s.tmp_2 = helpers_arrayForEach__P47_mk(s);\n s.tmp_3 = helpers_arrayFilter__P48_mk(s);\n s.tmp_3.arg0 = s.collisionHandlers___10992;\n s.tmp_3.arg1 = s.tmp_0;\n s.pc = 6; return s.tmp_3;\n case 6:\n r0 = s.retval;\n s.tmp_2.arg0 = r0;\n s.tmp_2.arg1 = s.tmp_1;\n s.pc = 5; return s.tmp_2;\n case 5:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_registerObstacle__P651.info = {\"start\":23704,\"length\":388,\"line\":722,\"column\":4,\"endLine\":731,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"registerObstacle\",\"argumentNames\":[\"this\",\"direction\",\"other\"]}\n\nfunction Sprite_registerObstacle__P651_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_registerObstacle__P651, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n collisionHandlers___10992: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction inline__P11003(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0.fields[\"kind\"];\n s.tmp_0 = r0;\n r0 = s.caps[0].fields[\"_kind\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_0 == s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\ninline__P11003.info = {\"start\":24001,\"length\":26,\"line\":728,\"column\":24,\"endLine\":728,\"endColumn\":50,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"h\"]}\n\nfunction inline__P11003_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P11003, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P11008(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = lambda_2_mk(s);\n r0 = s.arg0.fields[\"handler\"];\n s.tmp_0.argL = r0;\n s.tmp_0.arg0 = s.caps[0];\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P11008.info = {\"start\":24054,\"length\":20,\"line\":729,\"column\":25,\"endLine\":729,\"endColumn\":45,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"h\"]}\n\nfunction inline__P11008_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P11008, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_Hitbox_bottom__P597(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_Hitbox__C593_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"height\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - 1);\n s.tmp_0 = r0;\n s.tmp_3 = game_Hitbox_top__P595_mk(s);\n s.tmp_3.arg0 = s.arg0;\n s.pc = 1; return s.tmp_3;\n case 1:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (s.tmp_0 << 8);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 + s.tmp_2);\n return leave(s, r0)\n default: oops()\n} } }\ngame_Hitbox_bottom__P597.info = {\"start\":673,\"length\":78,\"line\":28,\"column\":8,\"endLine\":30,\"endColumn\":9,\"fileName\":\"pxt_modules/game/hitbox.ts\",\"functionName\":\"bottom\",\"argumentNames\":[\"this\"]}\n\nfunction game_Hitbox_bottom__P597_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_Hitbox_bottom__P597, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_Hitbox_right__P596(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_Hitbox__C593_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"width\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - 1);\n s.tmp_0 = r0;\n s.tmp_3 = game_Hitbox_left__P594_mk(s);\n s.tmp_3.arg0 = s.arg0;\n s.pc = 1; return s.tmp_3;\n case 1:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (s.tmp_0 << 8);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 + s.tmp_2);\n return leave(s, r0)\n default: oops()\n} } }\ngame_Hitbox_right__P596.info = {\"start\":586,\"length\":77,\"line\":24,\"column\":8,\"endLine\":26,\"endColumn\":9,\"fileName\":\"pxt_modules/game/hitbox.ts\",\"functionName\":\"right\",\"argumentNames\":[\"this\"]}\n\nfunction game_Hitbox_right__P596_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_Hitbox_right__P596, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_Hitbox_top__P595(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_Hitbox__C593_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"oy\"];\n s.tmp_0 = r0;\n r0 = s.arg0.fields[\"parent\"];\n r0 = r0.fields[\"_y\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_0 << 8);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\ngame_Hitbox_top__P595.info = {\"start\":503,\"length\":73,\"line\":20,\"column\":8,\"endLine\":22,\"endColumn\":9,\"fileName\":\"pxt_modules/game/hitbox.ts\",\"functionName\":\"top\",\"argumentNames\":[\"this\"]}\n\nfunction game_Hitbox_top__P595_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_Hitbox_top__P595, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_Hitbox_left__P594(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_Hitbox__C593_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"ox\"];\n s.tmp_0 = r0;\n r0 = s.arg0.fields[\"parent\"];\n r0 = r0.fields[\"_x\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_0 << 8);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\ngame_Hitbox_left__P594.info = {\"start\":419,\"length\":74,\"line\":16,\"column\":8,\"endLine\":18,\"endColumn\":9,\"fileName\":\"pxt_modules/game/hitbox.ts\",\"functionName\":\"left\",\"argumentNames\":[\"this\"]}\n\nfunction game_Hitbox_left__P594_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_Hitbox_left__P594, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Fx_min__P94(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 < s.arg1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.arg0;\n { step = 3; continue; }\n { step = 2; continue; }\n case 1:\n r0 = s.arg1;\n { step = 3; continue; }\n case 2:\n r0 = undefined;\n case 3:\n return leave(s, r0)\n default: oops()\n} } }\nFx_min__P94.info = {\"start\":1527,\"length\":117,\"line\":47,\"column\":4,\"endLine\":52,\"endColumn\":5,\"fileName\":\"pxt_modules/base/fixed.ts\",\"functionName\":\"min\",\"argumentNames\":[\"a\",\"b\"]}\n\nfunction Fx_min__P94_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Fx_min__P94, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Fx_iadd__P87(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 << 8);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 + s.arg1);\n return leave(s, r0)\n default: oops()\n} } }\nFx_iadd__P87.info = {\"start\":621,\"length\":110,\"line\":23,\"column\":4,\"endLine\":25,\"endColumn\":5,\"fileName\":\"pxt_modules/base/fixed.ts\",\"functionName\":\"iadd\",\"argumentNames\":[\"a\",\"b\"]}\n\nfunction Fx_iadd__P87_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Fx_iadd__P87, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Fx_toIntShifted__P85(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = r0 = s.arg0;\n r0 = (s.arg1 + 8);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 >> s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\nFx_toIntShifted__P85.info = {\"start\":391,\"length\":102,\"line\":17,\"column\":4,\"endLine\":19,\"endColumn\":5,\"fileName\":\"pxt_modules/base/fixed.ts\",\"functionName\":\"toIntShifted\",\"argumentNames\":[\"a\",\"n\"]}\n\nfunction Fx_toIntShifted__P85_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Fx_toIntShifted__P85, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction helpers_arraySome__P45(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.len___11014 = undefined;\n s.i___11017 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_Array__length(s.arg0);\n s.len___11014 = (r0);\n s.i___11017 = (0);\n case 1:\n r0 = (s.i___11017 < s.len___11014);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 4; continue; }\n s.tmp_2 = lambda_3_mk(s);\n s.tmp_2.argL = s.arg1;\n r0 = pxsim_Array__getAt(s.arg0, s.i___11017);\n s.tmp_2.arg0 = r0;\n s.tmp_2.arg1 = s.i___11017;\n setupLambda(s.tmp_2, s.tmp_2.argL);\n s.pc = 6; return s.tmp_2;\n case 6:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 2; continue; }\n r0 = true;\n { step = 5; continue; }\n case 2:\n case 3:\n r0 = (s.i___11017 + 1);\n s.i___11017 = (r0);\n { step = 1; continue; }\n case 4:\n r0 = false;\n case 5:\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_arraySome__P45.info = {\"start\":4550,\"length\":296,\"line\":154,\"column\":4,\"endLine\":160,\"endColumn\":5,\"fileName\":\"pxt_modules/base/pxt-helpers.ts\",\"functionName\":\"arraySome\",\"argumentNames\":[\"arr\",\"callbackfn\"]}\n\nfunction helpers_arraySome__P45_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_arraySome__P45, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n len___11014: undefined,\n i___11017: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction MovingSprite_constructor__P726(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.arg5 = (s.lambdaArgs[5]);\n s.arg6 = (s.lambdaArgs[6]);\n s.arg7 = (s.lambdaArgs[7]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, MovingSprite__C725_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"sprite\"] = (s.arg1);\n r0 = (s.arg0).fields[\"cachedVx\"] = (s.arg2);\n r0 = (s.arg0).fields[\"cachedVy\"] = (s.arg3);\n r0 = (s.arg0).fields[\"dx\"] = (s.arg4);\n r0 = (s.arg0).fields[\"dy\"] = (s.arg5);\n r0 = (s.arg0).fields[\"xStep\"] = (s.arg6);\n r0 = (s.arg0).fields[\"yStep\"] = (s.arg7);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nMovingSprite_constructor__P726.info = {\"start\":610,\"length\":313,\"line\":28,\"column\":4,\"endLine\":39,\"endColumn\":9,\"fileName\":\"pxt_modules/game/physics.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\",\"sprite\",\"cachedVx\",\"cachedVy\",\"dx\",\"dy\",\"xStep\",\"yStep\"]}\n\nfunction MovingSprite_constructor__P726_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: MovingSprite_constructor__P726, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n arg5: undefined,\n arg6: undefined,\n arg7: undefined,\n} }\n\n\n\n\n\nfunction ArcadePhysicsEngine_move__P732(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.dtf___11246 = undefined;\n s.dtSec___11251 = undefined;\n s.dt2___11254 = undefined;\n s.scene___11257 = undefined;\n s.movingSprites___11259 = undefined;\n s.tileMap___11270 = undefined;\n s.MAX_STEP_COUNT___11292 = undefined;\n s.overlapHandlers___11301 = undefined;\n s.selected___11307 = undefined;\n s.buffers___11308 = undefined;\n s.count___11312 = undefined;\n s.currMovers___11320 = undefined;\n s.remainingMovers___11325 = undefined;\n s.ms___11329 = undefined;\n s.unnamed56___U14 = undefined;\n s.unnamed57___U15 = undefined;\n s.s___11331 = undefined;\n s.stepX___11412 = undefined;\n s.stepY___11423 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, ArcadePhysicsEngine__C727_VT)) failedCast(r0);\n s.tmp_0 = Fx_min__P94_mk(s);\n s.tmp_0.arg0 = globals.MAX_TIME_STEP___716;\n r0 = (s.arg1 * 1000);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 * 256);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 | 0);\n s.tmp_0.arg1 = r0;\n s.pc = 47; return s.tmp_0;\n case 47:\n r0 = s.retval;\n s.dtf___11246 = (r0);\n r0 = pxsim.Math_.idiv(s.dtf___11246, 1000);\n s.dtSec___11251 = (r0);\n r0 = pxsim.Math_.idiv(s.dtf___11246, 2);\n s.dt2___11254 = (r0);\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 48; return s.tmp_0;\n case 48:\n r0 = s.retval;\n s.scene___11257 = (r0);\n r0 = pxsim_pxtcore_mkAction(3, inline__P11264);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.dtSec___11251);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 2, s.dt2___11254);\n s.tmp_1 = helpers_arrayMap__P44_mk(s);\n r0 = s.arg0.fields[\"sprites\"];\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = s.tmp_0;\n s.pc = 49; return s.tmp_1;\n case 49:\n r0 = s.retval;\n s.movingSprites___11259 = (r0);\n r0 = s.scene___11257.fields[\"tileMap\"];\n s.tileMap___11270 = (r0);\n s.tmp_0 = helpers_arrayForEach__P47_mk(s);\n r0 = s.arg0.fields[\"sprites\"];\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = inline__P11276;\n s.pc = 50; return s.tmp_0;\n case 50:\n r0 = s.retval;\n s.tmp_0 = sprites_SpriteMap_clear__P664_mk(s);\n r0 = s.arg0.fields[\"map\"];\n s.tmp_0.arg0 = r0;\n s.pc = 51; return s.tmp_0;\n case 51:\n r0 = s.retval;\n s.tmp_0 = sprites_SpriteMap_resizeBuckets__P663_mk(s);\n r0 = s.arg0.fields[\"map\"];\n s.tmp_0.arg0 = r0;\n r0 = s.arg0.fields[\"sprites\"];\n s.tmp_0.arg1 = r0;\n s.pc = 52; return s.tmp_0;\n case 52:\n r0 = s.retval;\n r0 = s.arg0.fields[\"maxVelocity\"];\n s.tmp_2 = r0;\n r0 = s.arg0.fields[\"minSingleStep\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_2 << 8);\n s.tmp_4 = r0;\n r0 = pxsim.Math_.idiv(s.tmp_4, s.tmp_3);\n s.tmp_1 = r0;\n r0 = pxsim.Math_.imul(s.tmp_1, s.dtSec___11251);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 >> 8);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 + 128);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 >> 8);\n s.MAX_STEP_COUNT___11292 = (r0);\n s.tmp_0 = helpers_arraySlice__P52_mk(s);\n r0 = s.scene___11257.fields[\"overlapHandlers\"];\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = undefined;\n s.tmp_0.arg2 = undefined;\n s.pc = 53; return s.tmp_0;\n case 53:\n r0 = s.retval;\n s.overlapHandlers___11301 = (r0);\n s.selected___11307 = (0);\n r0 = pxsim_Array__mk();\n s.tmp_0 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.movingSprites___11259);\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_1);\n s.buffers___11308 = (s.tmp_0);\n s.count___11312 = (0);\n case 1:\n r0 = (s.count___11312 < s.MAX_STEP_COUNT___11292);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 2; continue; }\n r0 = s.tmp_0;\n { step = 3; continue; }\n case 2:\n r0 = pxsim_Array__getAt(s.buffers___11308, s.selected___11307);\n s.tmp_2 = r0;\n r0 = pxsim_Array__length(s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 !== 0);\n case 3:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 46; continue; }\n r0 = pxsim_Array__getAt(s.buffers___11308, s.selected___11307);\n s.currMovers___11320 = (r0);\n r0 = (s.selected___11307 ^ 1);\n s.selected___11307 = (r0);\n r0 = pxsim_Array__getAt(s.buffers___11308, s.selected___11307);\n s.remainingMovers___11325 = (r0);\n s.ms___11329 = (undefined);\n s.ms___11329 = (undefined);\n s.unnamed56___U14 = (s.currMovers___11320);\n s.unnamed57___U15 = (0);\n case 4:\n s.tmp_0 = r0 = s.unnamed57___U15;\n r0 = pxsim_Array__length(s.unnamed56___U14);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 43; continue; }\n r0 = pxsim_Array__getAt(s.unnamed56___U14, s.unnamed57___U15);\n s.ms___11329 = (r0);\n r0 = s.ms___11329.fields[\"sprite\"];\n s.s___11331 = (r0);\n r0 = s.ms___11329.fields[\"cachedVx\"];\n s.tmp_1 = r0;\n r0 = s.s___11331.fields[\"_vx\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_1 !== s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 15; continue; }\n r0 = s.s___11331.fields[\"_vx\"];\n s.tmp_4 = r0;\n r0 = (s.tmp_4 == globals.zeroFx8___79);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 5; continue; }\n r0 = (s.ms___11329).fields[\"dx\"] = (globals.zeroFx8___79);\n { step = 14; continue; }\n case 5:\n r0 = s.s___11331.fields[\"_vx\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 < globals.zeroFx8___79);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 6; continue; }\n r0 = s.tmp_0;\n { step = 7; continue; }\n case 6:\n r0 = s.ms___11329.fields[\"cachedVx\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 > globals.zeroFx8___79);\n case 7:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBool(s.tmp_3);\n if (!r0) { step = 8; continue; }\n r0 = s.tmp_3;\n { step = 11; continue; }\n case 8:\n r0 = s.s___11331.fields[\"_vx\"];\n s.tmp_5 = r0;\n r0 = (s.tmp_5 > globals.zeroFx8___79);\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBool(s.tmp_4);\n if (r0) { step = 9; continue; }\n r0 = s.tmp_4;\n { step = 10; continue; }\n case 9:\n r0 = s.ms___11329.fields[\"cachedVx\"];\n s.tmp_6 = r0;\n r0 = (s.tmp_6 < globals.zeroFx8___79);\n case 10:\n // jmp value (already in r0)\n s.tmp_7 = r0;\n r0 = s.tmp_7;\n case 11:\n // jmp value (already in r0)\n s.tmp_8 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_8);\n if (!r0) { step = 12; continue; }\n s.tmp_9 = r0 = s.ms___11329;\n r0 = s.ms___11329.fields[\"dx\"];\n s.tmp_11 = r0;\n r0 = (0 - s.tmp_11);\n s.tmp_10 = r0;\n r0 = (s.tmp_9).fields[\"dx\"] = (s.tmp_10);\n s.tmp_0 = r0 = s.ms___11329;\n r0 = s.ms___11329.fields[\"xStep\"];\n s.tmp_2 = r0;\n r0 = (0 - s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"xStep\"] = (s.tmp_1);\n case 12:\n case 13:\n case 14:\n r0 = s.s___11331.fields[\"_vx\"];\n s.tmp_0 = r0;\n r0 = (s.ms___11329).fields[\"cachedVx\"] = (s.tmp_0);\n case 15:\n case 16:\n r0 = s.ms___11329.fields[\"cachedVy\"];\n s.tmp_1 = r0;\n r0 = s.s___11331.fields[\"_vy\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_1 !== s.tmp_2);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 27; continue; }\n r0 = s.s___11331.fields[\"_vy\"];\n s.tmp_4 = r0;\n r0 = (s.tmp_4 == globals.zeroFx8___79);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 17; continue; }\n r0 = (s.ms___11329).fields[\"dy\"] = (globals.zeroFx8___79);\n { step = 26; continue; }\n case 17:\n r0 = s.s___11331.fields[\"_vy\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 < globals.zeroFx8___79);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 18; continue; }\n r0 = s.tmp_0;\n { step = 19; continue; }\n case 18:\n r0 = s.ms___11329.fields[\"cachedVy\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 > globals.zeroFx8___79);\n case 19:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBool(s.tmp_3);\n if (!r0) { step = 20; continue; }\n r0 = s.tmp_3;\n { step = 23; continue; }\n case 20:\n r0 = s.s___11331.fields[\"_vy\"];\n s.tmp_5 = r0;\n r0 = (s.tmp_5 > globals.zeroFx8___79);\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBool(s.tmp_4);\n if (r0) { step = 21; continue; }\n r0 = s.tmp_4;\n { step = 22; continue; }\n case 21:\n r0 = s.ms___11329.fields[\"cachedVy\"];\n s.tmp_6 = r0;\n r0 = (s.tmp_6 < globals.zeroFx8___79);\n case 22:\n // jmp value (already in r0)\n s.tmp_7 = r0;\n r0 = s.tmp_7;\n case 23:\n // jmp value (already in r0)\n s.tmp_8 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_8);\n if (!r0) { step = 24; continue; }\n s.tmp_9 = r0 = s.ms___11329;\n r0 = s.ms___11329.fields[\"dy\"];\n s.tmp_11 = r0;\n r0 = (0 - s.tmp_11);\n s.tmp_10 = r0;\n r0 = (s.tmp_9).fields[\"dy\"] = (s.tmp_10);\n s.tmp_0 = r0 = s.ms___11329;\n r0 = s.ms___11329.fields[\"yStep\"];\n s.tmp_2 = r0;\n r0 = (0 - s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"yStep\"] = (s.tmp_1);\n case 24:\n case 25:\n case 26:\n r0 = s.s___11331.fields[\"_vy\"];\n s.tmp_0 = r0;\n r0 = (s.ms___11329).fields[\"cachedVy\"] = (s.tmp_0);\n case 27:\n case 28:\n s.tmp_2 = Fx_abs__P93_mk(s);\n r0 = s.ms___11329.fields[\"xStep\"];\n s.tmp_2.arg0 = r0;\n s.pc = 54; return s.tmp_2;\n case 54:\n r0 = s.retval;\n s.tmp_1 = r0;\n s.tmp_4 = Fx_abs__P93_mk(s);\n r0 = s.ms___11329.fields[\"dx\"];\n s.tmp_4.arg0 = r0;\n s.pc = 55; return s.tmp_4;\n case 55:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_1 > s.tmp_3);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 29; continue; }\n r0 = s.ms___11329.fields[\"dx\"];\n { step = 30; continue; }\n case 29:\n r0 = s.ms___11329.fields[\"xStep\"];\n case 30:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n s.stepX___11412 = (s.tmp_5);\n s.tmp_2 = Fx_abs__P93_mk(s);\n r0 = s.ms___11329.fields[\"yStep\"];\n s.tmp_2.arg0 = r0;\n s.pc = 56; return s.tmp_2;\n case 56:\n r0 = s.retval;\n s.tmp_1 = r0;\n s.tmp_4 = Fx_abs__P93_mk(s);\n r0 = s.ms___11329.fields[\"dy\"];\n s.tmp_4.arg0 = r0;\n s.pc = 57; return s.tmp_4;\n case 57:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_1 > s.tmp_3);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 31; continue; }\n r0 = s.ms___11329.fields[\"dy\"];\n { step = 32; continue; }\n case 31:\n r0 = s.ms___11329.fields[\"yStep\"];\n case 32:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n s.stepY___11423 = (s.tmp_5);\n s.tmp_0 = r0 = s.ms___11329;\n r0 = s.ms___11329.fields[\"dx\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - s.stepX___11412);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"dx\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.ms___11329;\n r0 = s.ms___11329.fields[\"dy\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - s.stepY___11423);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"dy\"] = (s.tmp_1);\n r0 = s.s___11331.fields[\"_x\"];\n s.tmp_0 = r0;\n r0 = (s.s___11331).fields[\"_lastX\"] = (s.tmp_0);\n r0 = s.s___11331.fields[\"_y\"];\n s.tmp_0 = r0;\n r0 = (s.s___11331).fields[\"_lastY\"] = (s.tmp_0);\n s.tmp_0 = r0 = s.s___11331;\n r0 = s.s___11331.fields[\"_x\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.stepX___11412);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"_x\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.s___11331;\n r0 = s.s___11331.fields[\"_y\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.stepY___11423);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"_y\"] = (s.tmp_1);\n r0 = s.s___11331.fields[\"flags\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 & globals.SPRITE_CANNOT_COLLIDE___718);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 37; continue; }\n s.tmp_4 = sprites_SpriteMap_insertAABB__P668_mk(s);\n r0 = s.arg0.fields[\"map\"];\n s.tmp_4.arg0 = r0;\n s.tmp_4.arg1 = s.s___11331;\n s.pc = 58; return s.tmp_4;\n case 58:\n r0 = s.retval;\n s.tmp_0 = r0 = s.tileMap___11270;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 33; continue; }\n r0 = s.tmp_0;\n { step = 34; continue; }\n case 33:\n r0 = s.tileMap___11270.fields[\"_map\"];\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_4);\n s.tmp_3 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n case 34:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_5);\n if (!r0) { step = 35; continue; }\n s.tmp_6 = ArcadePhysicsEngine_tilemapCollisions__P735_mk(s);\n s.tmp_6.arg0 = s.arg0;\n s.tmp_6.arg1 = s.ms___11329;\n s.tmp_6.arg2 = s.tileMap___11270;\n s.pc = 59; return s.tmp_6;\n case 59:\n r0 = s.retval;\n case 35:\n case 36:\n case 37:\n case 38:\n s.tmp_2 = Fx_abs__P93_mk(s);\n r0 = s.ms___11329.fields[\"dx\"];\n s.tmp_2.arg0 = r0;\n s.pc = 60; return s.tmp_2;\n case 60:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > globals.MIN_MOVE_GAP___723);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 39; continue; }\n r0 = s.tmp_0;\n { step = 40; continue; }\n case 39:\n s.tmp_4 = Fx_abs__P93_mk(s);\n r0 = s.ms___11329.fields[\"dy\"];\n s.tmp_4.arg0 = r0;\n s.pc = 61; return s.tmp_4;\n case 61:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_3 > globals.MIN_MOVE_GAP___723);\n case 40:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_5);\n if (!r0) { step = 41; continue; }\n r0 = pxsim_Array__push(s.remainingMovers___11325, s.ms___11329);\n case 41:\n case 42:\n r0 = (s.unnamed57___U15 + 1);\n s.unnamed57___U15 = (r0);\n { step = 4; continue; }\n case 43:\n s.unnamed56___U14 = (undefined);\n s.tmp_0 = ArcadePhysicsEngine_spriteCollisions__P734_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.currMovers___11320;\n s.tmp_0.arg2 = s.overlapHandlers___11301;\n s.pc = 62; return s.tmp_0;\n case 62:\n r0 = s.retval;\n case 44:\n r0 = pxsim_Array__length(s.currMovers___11320);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 45; continue; }\n r0 = pxsim_Array_.pop(s.currMovers___11320);\n { step = 44; continue; }\n case 45:\n r0 = (s.count___11312 + 1);\n s.count___11312 = (r0);\n { step = 1; continue; }\n case 46:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nArcadePhysicsEngine_move__P732.info = {\"start\":1841,\"length\":3940,\"line\":75,\"column\":4,\"endLine\":175,\"endColumn\":5,\"fileName\":\"pxt_modules/game/physics.ts\",\"functionName\":\"move\",\"argumentNames\":[\"this\",\"dt\"]}\n\nfunction ArcadePhysicsEngine_move__P732_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: ArcadePhysicsEngine_move__P732, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n dtf___11246: undefined,\n dtSec___11251: undefined,\n dt2___11254: undefined,\n scene___11257: undefined,\n movingSprites___11259: undefined,\n tileMap___11270: undefined,\n MAX_STEP_COUNT___11292: undefined,\n overlapHandlers___11301: undefined,\n selected___11307: undefined,\n buffers___11308: undefined,\n count___11312: undefined,\n currMovers___11320: undefined,\n remainingMovers___11325: undefined,\n ms___11329: undefined,\n unnamed56___U14: undefined,\n unnamed57___U15: undefined,\n s___11331: undefined,\n stepX___11412: undefined,\n stepY___11423: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction inline__P11264(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = ArcadePhysicsEngine_createMovingSprite__P733_mk(s);\n s.tmp_0.arg0 = s.caps[0];\n s.tmp_0.arg1 = s.arg0;\n s.tmp_0.arg2 = s.caps[1];\n s.tmp_0.arg3 = s.caps[2];\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P11264.info = {\"start\":2236,\"length\":53,\"line\":87,\"column\":17,\"endLine\":87,\"endColumn\":70,\"fileName\":\"pxt_modules/game/physics.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"sprite\"]}\n\nfunction inline__P11264_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P11264, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P11276(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_1 = Sprite_vx__P613_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.pc = 5; return s.tmp_1;\n case 5:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n s.tmp_2 = Sprite_vy__P615_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 6; return s.tmp_2;\n case 6:\n r0 = s.retval;\n case 2:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 3; continue; }\n s.tmp_4 = Sprite_clearObstacles__P650_mk(s);\n s.tmp_4.arg0 = s.arg0;\n s.pc = 7; return s.tmp_4;\n case 7:\n r0 = s.retval;\n case 3:\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P11276.info = {\"start\":2411,\"length\":66,\"line\":91,\"column\":29,\"endLine\":93,\"endColumn\":9,\"fileName\":\"pxt_modules/game/physics.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"s\"]}\n\nfunction inline__P11276_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P11276, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction ArcadePhysicsEngine_spriteCollisions__P734(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.ms___11512 = undefined;\n s.unnamed58___U1 = undefined;\n s.unnamed59___U2 = undefined;\n s.sprite___11514 = undefined;\n s.overSprites___11520 = undefined;\n s.overlapper___11527 = undefined;\n s.unnamed60___U6 = undefined;\n s.unnamed61___U7 = undefined;\n s.thisKind___11532 = undefined;\n s.otherKind___11535 = undefined;\n s.higher___11545 = undefined;\n s.lower___11552 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, ArcadePhysicsEngine__C727_VT)) failedCast(r0);\n r0 = pxsim_Array__length(s.arg2);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 21; continue; }\n case 1:\n case 2:\n s.ms___11512 = (undefined);\n s.ms___11512 = (undefined);\n s.unnamed58___U1 = (s.arg1);\n s.unnamed59___U2 = (0);\n case 3:\n s.tmp_0 = r0 = s.unnamed59___U2;\n r0 = pxsim_Array__length(s.unnamed58___U1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 20; continue; }\n r0 = pxsim_Array__getAt(s.unnamed58___U1, s.unnamed59___U2);\n s.ms___11512 = (r0);\n r0 = s.ms___11512.fields[\"sprite\"];\n s.sprite___11514 = (r0);\n r0 = s.sprite___11514.fields[\"flags\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 & globals.SPRITE_CANNOT_COLLIDE___718);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 4; continue; }\n { step = 19; continue; }\n case 4:\n case 5:\n s.tmp_2 = sprites_SpriteMap_overlaps__P661_mk(s);\n r0 = s.arg0.fields[\"map\"];\n s.tmp_2.arg0 = r0;\n r0 = s.ms___11512.fields[\"sprite\"];\n s.tmp_2.arg1 = r0;\n s.pc = 22; return s.tmp_2;\n case 22:\n r0 = s.retval;\n s.overSprites___11520 = (r0);\n s.overlapper___11527 = (undefined);\n s.overlapper___11527 = (undefined);\n s.unnamed60___U6 = (s.overSprites___11520);\n s.unnamed61___U7 = (0);\n case 6:\n s.tmp_0 = r0 = s.unnamed61___U7;\n r0 = pxsim_Array__length(s.unnamed60___U6);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 18; continue; }\n r0 = pxsim_Array__getAt(s.unnamed60___U6, s.unnamed61___U7);\n s.overlapper___11527 = (r0);\n r0 = s.overlapper___11527.fields[\"flags\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 & globals.SPRITE_CANNOT_COLLIDE___718);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 7; continue; }\n { step = 17; continue; }\n case 7:\n case 8:\n r0 = s.sprite___11514.fields[\"_kind\"];\n s.thisKind___11532 = (r0);\n r0 = s.overlapper___11527.fields[\"_kind\"];\n s.otherKind___11535 = (r0);\n r0 = s.sprite___11514.fields[\"_kindsOverlappedWith\"];\n s.tmp_2 = r0;\n r0 = pxsim_Array_.indexOf(s.tmp_2, s.otherKind___11535, undefined);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 === -1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 9; continue; }\n { step = 17; continue; }\n case 9:\n case 10:\n r0 = s.sprite___11514.fields[\"id\"];\n s.tmp_4 = r0;\n r0 = s.overlapper___11527.fields[\"id\"];\n s.tmp_5 = r0;\n r0 = (s.tmp_4 > s.tmp_5);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 11; continue; }\n r0 = s.sprite___11514;\n { step = 12; continue; }\n case 11:\n r0 = s.overlapper___11527;\n case 12:\n // jmp value (already in r0)\n s.tmp_6 = r0;\n s.higher___11545 = (s.tmp_6);\n r0 = (s.higher___11545 === s.sprite___11514);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 13; continue; }\n r0 = s.overlapper___11527;\n { step = 14; continue; }\n case 13:\n r0 = s.sprite___11514;\n case 14:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n s.lower___11552 = (s.tmp_1);\n r0 = s.higher___11545.fields[\"_overlappers\"];\n s.tmp_2 = r0;\n r0 = s.lower___11552.fields[\"id\"];\n s.tmp_3 = r0;\n r0 = pxsim_Array_.indexOf(s.tmp_2, s.tmp_3, undefined);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 === -1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 15; continue; }\n r0 = pxsim_pxtcore_mkAction(2, inline__P11568);\n s.tmp_4 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_4, 0, s.thisKind___11532);\n r0 = pxsim_pxtrt_stclo(s.tmp_4, 1, s.otherKind___11535);\n r0 = pxsim_pxtcore_mkAction(5, inline__P11585);\n s.tmp_5 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_5, 0, s.higher___11545);\n r0 = pxsim_pxtrt_stclo(s.tmp_5, 1, s.lower___11552);\n r0 = pxsim_pxtrt_stclo(s.tmp_5, 2, s.thisKind___11532);\n r0 = pxsim_pxtrt_stclo(s.tmp_5, 3, s.sprite___11514);\n r0 = pxsim_pxtrt_stclo(s.tmp_5, 4, s.overlapper___11527);\n s.tmp_6 = helpers_arrayForEach__P47_mk(s);\n s.tmp_7 = helpers_arrayFilter__P48_mk(s);\n s.tmp_7.arg0 = s.arg2;\n s.tmp_7.arg1 = s.tmp_4;\n s.pc = 24; return s.tmp_7;\n case 24:\n r0 = s.retval;\n s.tmp_6.arg0 = r0;\n s.tmp_6.arg1 = s.tmp_5;\n s.pc = 23; return s.tmp_6;\n case 23:\n r0 = s.retval;\n case 15:\n case 16:\n case 17:\n r0 = (s.unnamed61___U7 + 1);\n s.unnamed61___U7 = (r0);\n { step = 6; continue; }\n case 18:\n s.unnamed60___U6 = (undefined);\n case 19:\n r0 = (s.unnamed59___U2 + 1);\n s.unnamed59___U2 = (r0);\n { step = 3; continue; }\n case 20:\n s.unnamed58___U1 = (undefined);\n case 21:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nArcadePhysicsEngine_spriteCollisions__P734.info = {\"start\":7509,\"length\":2112,\"line\":248,\"column\":4,\"endLine\":290,\"endColumn\":5,\"fileName\":\"pxt_modules/game/physics.ts\",\"functionName\":\"spriteCollisions\",\"argumentNames\":[\"this\",\"movedSprites\",\"handlers\"]}\n\nfunction ArcadePhysicsEngine_spriteCollisions__P734_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: ArcadePhysicsEngine_spriteCollisions__P734, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n ms___11512: undefined,\n unnamed58___U1: undefined,\n unnamed59___U2: undefined,\n sprite___11514: undefined,\n overSprites___11520: undefined,\n overlapper___11527: undefined,\n unnamed60___U6: undefined,\n unnamed61___U7: undefined,\n thisKind___11532: undefined,\n otherKind___11535: undefined,\n higher___11545: undefined,\n lower___11552: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction inline__P11568(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0.fields[\"kind\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 === s.caps[0]);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = s.arg0.fields[\"otherKind\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 === s.caps[1]);\n case 2:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBool(s.tmp_3);\n if (!r0) { step = 3; continue; }\n r0 = s.tmp_3;\n { step = 6; continue; }\n case 3:\n r0 = s.arg0.fields[\"kind\"];\n s.tmp_5 = r0;\n r0 = (s.tmp_5 === s.caps[1]);\n s.tmp_4 = r0;\n r0 = pxsim_numops_toBool(s.tmp_4);\n if (r0) { step = 4; continue; }\n r0 = s.tmp_4;\n { step = 5; continue; }\n case 4:\n r0 = s.arg0.fields[\"otherKind\"];\n s.tmp_6 = r0;\n r0 = (s.tmp_6 === s.caps[0]);\n case 5:\n // jmp value (already in r0)\n s.tmp_7 = r0;\n r0 = s.tmp_7;\n case 6:\n // jmp value (already in r0)\n s.tmp_8 = r0;\n r0 = s.tmp_8;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P11568.info = {\"start\":8868,\"length\":145,\"line\":274,\"column\":32,\"endLine\":275,\"endColumn\":89,\"fileName\":\"pxt_modules/game/physics.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"h\"]}\n\nfunction inline__P11568_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P11568, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P11585(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.caps[0].fields[\"_overlappers\"];\n s.tmp_0 = r0;\n r0 = s.caps[1].fields[\"id\"];\n s.tmp_1 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.tmp_1);\n r0 = pxsim_pxtcore_mkAction(6, inline__P11595);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.caps[2]);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 2, s.caps[3]);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 3, s.caps[4]);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 4, s.caps[0]);\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 5, s.caps[1]);\n r0 = pxsim.control.runInParallel(s.tmp_0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P11585.info = {\"start\":9073,\"length\":498,\"line\":277,\"column\":33,\"endLine\":286,\"endColumn\":25,\"fileName\":\"pxt_modules/game/physics.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"h\"]}\n\nfunction inline__P11585_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P11585, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction inline__P11595(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n r0 = s.caps[0].fields[\"kind\"];\n s.tmp_1 = r0;\n r0 = (s.caps[1] === s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.caps[2];\n { step = 2; continue; }\n case 1:\n r0 = s.caps[3];\n case 2:\n // jmp value (already in r0)\n s.tmp_2 = r0;\n r0 = s.caps[0].fields[\"kind\"];\n s.tmp_4 = r0;\n r0 = (s.caps[1] === s.tmp_4);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 3; continue; }\n r0 = s.caps[3];\n { step = 4; continue; }\n case 3:\n r0 = s.caps[2];\n case 4:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n s.tmp_6 = lambda_3_mk(s);\n r0 = s.caps[0].fields[\"handler\"];\n s.tmp_6.argL = r0;\n s.tmp_6.arg0 = s.tmp_2;\n s.tmp_6.arg1 = s.tmp_5;\n setupLambda(s.tmp_6, s.tmp_6.argL);\n s.pc = 5; return s.tmp_6;\n case 5:\n r0 = s.retval;\n r0 = s.caps[4].fields[\"_overlappers\"];\n s.tmp_0 = r0;\n r0 = s.caps[5].fields[\"id\"];\n s.tmp_1 = r0;\n r0 = pxsim_Array_.removeElement(s.tmp_0, s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P11595.info = {\"start\":9194,\"length\":349,\"line\":279,\"column\":50,\"endLine\":285,\"endColumn\":29,\"fileName\":\"pxt_modules/game/physics.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P11595_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P11595, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n} }\n\n\n\n\n\nfunction sprites_SpriteMap_overlaps__P661(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.n___11616 = undefined;\n s.o___11619 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_SpriteMap__C659_VT)) failedCast(r0);\n s.tmp_0 = sprites_SpriteMap_neighbors__P660_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.n___11616 = (r0);\n r0 = pxsim_pxtcore_mkAction(1, inline__P11622);\n s.tmp_0 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg1);\n s.tmp_1 = helpers_arrayFilter__P48_mk(s);\n s.tmp_1.arg0 = s.n___11616;\n s.tmp_1.arg1 = s.tmp_0;\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n s.o___11619 = (r0);\n r0 = s.o___11619;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_SpriteMap_overlaps__P661.info = {\"start\":971,\"length\":189,\"line\":32,\"column\":8,\"endLine\":36,\"endColumn\":9,\"fileName\":\"pxt_modules/game/spritemap.ts\",\"functionName\":\"overlaps\",\"argumentNames\":[\"this\",\"sprite\"]}\n\nfunction sprites_SpriteMap_overlaps__P661_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_SpriteMap_overlaps__P661, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n n___11616: undefined,\n o___11619: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction inline__P11622(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n s.tmp_0 = Sprite_overlapsWith__P647_mk(s);\n s.tmp_0.arg0 = s.caps[0];\n s.tmp_0.arg1 = s.arg0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P11622.info = {\"start\":1085,\"length\":41,\"line\":34,\"column\":31,\"endLine\":34,\"endColumn\":72,\"fileName\":\"pxt_modules/game/spritemap.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"neighbor\"]}\n\nfunction inline__P11622_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P11622, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction sprites_SpriteMap_neighbors__P660(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.n___11657 = undefined;\n s.layer___11659 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_SpriteMap__C659_VT)) failedCast(r0);\n s.tmp_1 = sprites_SpriteMap_isOob__P667_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.tmp_1.arg1 = s.arg1;\n s.pc = 4; return s.tmp_1;\n case 4:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = pxsim_Array__mk();\n { step = 3; continue; }\n case 1:\n case 2:\n r0 = pxsim_Array__mk();\n s.n___11657 = (r0);\n r0 = s.arg1.fields[\"layer\"];\n s.layer___11659 = (r0);\n s.tmp_0 = sprites_SpriteMap_mergeAtKey__P669_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_1 = Sprite_left__P629_mk(s);\n s.tmp_1.arg0 = s.arg1;\n s.pc = 6; return s.tmp_1;\n case 6:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.tmp_2 = Sprite_top__P633_mk(s);\n s.tmp_2.arg0 = s.arg1;\n s.pc = 7; return s.tmp_2;\n case 7:\n r0 = s.retval;\n s.tmp_0.arg2 = r0;\n s.tmp_0.arg3 = s.layer___11659;\n s.tmp_0.arg4 = s.n___11657;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n s.tmp_0 = sprites_SpriteMap_mergeAtKey__P669_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_1 = Sprite_left__P629_mk(s);\n s.tmp_1.arg0 = s.arg1;\n s.pc = 9; return s.tmp_1;\n case 9:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.tmp_2 = Sprite_bottom__P635_mk(s);\n s.tmp_2.arg0 = s.arg1;\n s.pc = 10; return s.tmp_2;\n case 10:\n r0 = s.retval;\n s.tmp_0.arg2 = r0;\n s.tmp_0.arg3 = s.layer___11659;\n s.tmp_0.arg4 = s.n___11657;\n s.pc = 8; return s.tmp_0;\n case 8:\n r0 = s.retval;\n s.tmp_0 = sprites_SpriteMap_mergeAtKey__P669_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_1 = Sprite_right__P631_mk(s);\n s.tmp_1.arg0 = s.arg1;\n s.pc = 12; return s.tmp_1;\n case 12:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.tmp_2 = Sprite_top__P633_mk(s);\n s.tmp_2.arg0 = s.arg1;\n s.pc = 13; return s.tmp_2;\n case 13:\n r0 = s.retval;\n s.tmp_0.arg2 = r0;\n s.tmp_0.arg3 = s.layer___11659;\n s.tmp_0.arg4 = s.n___11657;\n s.pc = 11; return s.tmp_0;\n case 11:\n r0 = s.retval;\n s.tmp_0 = sprites_SpriteMap_mergeAtKey__P669_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_1 = Sprite_right__P631_mk(s);\n s.tmp_1.arg0 = s.arg1;\n s.pc = 15; return s.tmp_1;\n case 15:\n r0 = s.retval;\n s.tmp_0.arg1 = r0;\n s.tmp_2 = Sprite_bottom__P635_mk(s);\n s.tmp_2.arg0 = s.arg1;\n s.pc = 16; return s.tmp_2;\n case 16:\n r0 = s.retval;\n s.tmp_0.arg2 = r0;\n s.tmp_0.arg3 = s.layer___11659;\n s.tmp_0.arg4 = s.n___11657;\n s.pc = 14; return s.tmp_0;\n case 14:\n r0 = s.retval;\n r0 = pxsim_Array_.removeElement(s.n___11657, s.arg1);\n r0 = s.n___11657;\n case 3:\n return leave(s, r0)\n default: oops()\n} } }\nsprites_SpriteMap_neighbors__P660.info = {\"start\":376,\"length\":490,\"line\":15,\"column\":8,\"endLine\":26,\"endColumn\":9,\"fileName\":\"pxt_modules/game/spritemap.ts\",\"functionName\":\"neighbors\",\"argumentNames\":[\"this\",\"sprite\"]}\n\nfunction sprites_SpriteMap_neighbors__P660_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_SpriteMap_neighbors__P660, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n n___11657: undefined,\n layer___11659: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction sprites_SpriteMap_mergeAtKey__P669(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.k___11703 = undefined;\n s.bucket___11707 = undefined;\n s.sprite___11713 = undefined;\n s.unnamed54___U3 = undefined;\n s.unnamed55___U4 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.arg4 = (s.lambdaArgs[4]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_SpriteMap__C659_VT)) failedCast(r0);\n s.tmp_0 = sprites_SpriteMap_key__P665_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.tmp_0.arg2 = s.arg2;\n s.pc = 9; return s.tmp_0;\n case 9:\n r0 = s.retval;\n s.k___11703 = (r0);\n r0 = s.arg0.fields[\"buckets\"];\n s.tmp_0 = r0;\n r0 = pxsim_Array__getAt(s.tmp_0, s.k___11703);\n s.bucket___11707 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.bucket___11707);\n if (!r0) { step = 7; continue; }\n s.sprite___11713 = (undefined);\n s.sprite___11713 = (undefined);\n s.unnamed54___U3 = (s.bucket___11707);\n s.unnamed55___U4 = (0);\n case 1:\n s.tmp_0 = r0 = s.unnamed55___U4;\n r0 = pxsim_Array__length(s.unnamed54___U3);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 6; continue; }\n r0 = pxsim_Array__getAt(s.unnamed54___U3, s.unnamed55___U4);\n s.sprite___11713 = (r0);\n r0 = s.sprite___11713.fields[\"layer\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 & s.arg3);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBool(s.tmp_2);\n if (r0) { step = 2; continue; }\n r0 = s.tmp_2;\n { step = 3; continue; }\n case 2:\n r0 = pxsim_Array_.indexOf(s.arg4, s.sprite___11713, undefined);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 < 0);\n case 3:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_5);\n if (!r0) { step = 4; continue; }\n r0 = pxsim_Array__push(s.arg4, s.sprite___11713);\n case 4:\n case 5:\n r0 = (s.unnamed55___U4 + 1);\n s.unnamed55___U4 = (r0);\n { step = 1; continue; }\n case 6:\n s.unnamed54___U3 = (undefined);\n case 7:\n case 8:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_SpriteMap_mergeAtKey__P669.info = {\"start\":4235,\"length\":384,\"line\":115,\"column\":8,\"endLine\":124,\"endColumn\":9,\"fileName\":\"pxt_modules/game/spritemap.ts\",\"functionName\":\"mergeAtKey\",\"argumentNames\":[\"this\",\"x\",\"y\",\"layer\",\"n\"]}\n\nfunction sprites_SpriteMap_mergeAtKey__P669_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_SpriteMap_mergeAtKey__P669, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n k___11703: undefined,\n bucket___11707: undefined,\n sprite___11713: undefined,\n unnamed54___U3: undefined,\n unnamed55___U4: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n} }\n\n\n\n\n\nfunction sprites_SpriteMap_key__P665(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.xi___11731 = undefined;\n s.yi___11742 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_SpriteMap__C659_VT)) failedCast(r0);\n s.tmp_0 = Math_clamp__P58_mk(s);\n s.tmp_0.arg0 = 0;\n r0 = s.arg0.fields[\"columnCount\"];\n s.tmp_0.arg1 = r0;\n r0 = s.arg0.fields[\"cellWidth\"];\n s.tmp_1 = r0;\n r0 = pxsim.Math_.idiv(s.arg1, s.tmp_1);\n s.tmp_0.arg2 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.xi___11731 = (r0);\n s.tmp_0 = Math_clamp__P58_mk(s);\n s.tmp_0.arg0 = 0;\n r0 = s.arg0.fields[\"rowCount\"];\n s.tmp_0.arg1 = r0;\n r0 = s.arg0.fields[\"cellHeight\"];\n s.tmp_1 = r0;\n r0 = pxsim.Math_.idiv(s.arg2, s.tmp_1);\n s.tmp_0.arg2 = r0;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n s.yi___11742 = (r0);\n s.tmp_0 = r0 = s.xi___11731;\n r0 = s.arg0.fields[\"columnCount\"];\n s.tmp_2 = r0;\n r0 = (s.yi___11742 * s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\nsprites_SpriteMap_key__P665.info = {\"start\":2640,\"length\":270,\"line\":78,\"column\":8,\"endLine\":82,\"endColumn\":9,\"fileName\":\"pxt_modules/game/spritemap.ts\",\"functionName\":\"key\",\"argumentNames\":[\"this\",\"x\",\"y\"]}\n\nfunction sprites_SpriteMap_key__P665_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_SpriteMap_key__P665, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n xi___11731: undefined,\n yi___11742: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction sprites_SpriteMap_isOob__P667(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.tMap___11760 = undefined;\n s.areaWidth___11764 = undefined;\n s.areaHeight___11770 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_SpriteMap__C659_VT)) failedCast(r0);\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 11; return s.tmp_0;\n case 11:\n r0 = s.retval;\n r0 = r0.fields[\"tileMap\"];\n s.tMap___11760 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.tMap___11760);\n if (!r0) { step = 1; continue; }\n s.tmp_0 = tiles_TileMap_areaWidth__P869_mk(s);\n s.tmp_0.arg0 = s.tMap___11760;\n s.pc = 12; return s.tmp_0;\n case 12:\n r0 = s.retval;\n { step = 2; continue; }\n case 1:\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n s.areaWidth___11764 = (s.tmp_1);\n r0 = pxsim_numops_toBoolDecr(s.tMap___11760);\n if (!r0) { step = 3; continue; }\n s.tmp_0 = tiles_TileMap_areaHeight__P870_mk(s);\n s.tmp_0.arg0 = s.tMap___11760;\n s.pc = 13; return s.tmp_0;\n case 13:\n r0 = s.retval;\n { step = 4; continue; }\n case 3:\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n case 4:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n s.areaHeight___11770 = (s.tmp_1);\n s.tmp_2 = Sprite_right__P631_mk(s);\n s.tmp_2.arg0 = s.arg1;\n s.pc = 14; return s.tmp_2;\n case 14:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = s.tmp_0;\n { step = 6; continue; }\n case 5:\n s.tmp_4 = Sprite_left__P629_mk(s);\n s.tmp_4.arg0 = s.arg1;\n s.pc = 15; return s.tmp_4;\n case 15:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_3 > s.areaWidth___11764);\n case 6:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBool(s.tmp_5);\n if (!r0) { step = 7; continue; }\n r0 = s.tmp_5;\n { step = 8; continue; }\n case 7:\n s.tmp_7 = Sprite_bottom__P635_mk(s);\n s.tmp_7.arg0 = s.arg1;\n s.pc = 16; return s.tmp_7;\n case 16:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = (s.tmp_6 < 0);\n case 8:\n // jmp value (already in r0)\n s.tmp_8 = r0;\n r0 = pxsim_numops_toBool(s.tmp_8);\n if (!r0) { step = 9; continue; }\n r0 = s.tmp_8;\n { step = 10; continue; }\n case 9:\n s.tmp_10 = Sprite_top__P633_mk(s);\n s.tmp_10.arg0 = s.arg1;\n s.pc = 17; return s.tmp_10;\n case 17:\n r0 = s.retval;\n s.tmp_9 = r0;\n r0 = (s.tmp_9 > s.areaHeight___11770);\n case 10:\n // jmp value (already in r0)\n s.tmp_11 = r0;\n r0 = s.tmp_11;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_SpriteMap_isOob__P667.info = {\"start\":3232,\"length\":360,\"line\":93,\"column\":8,\"endLine\":99,\"endColumn\":9,\"fileName\":\"pxt_modules/game/spritemap.ts\",\"functionName\":\"isOob\",\"argumentNames\":[\"this\",\"sprite\"]}\n\nfunction sprites_SpriteMap_isOob__P667_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_SpriteMap_isOob__P667, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n tMap___11760: undefined,\n areaWidth___11764: undefined,\n areaHeight___11770: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_right__P631(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_1 = Sprite_left__P629_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.pc = 1; return s.tmp_1;\n case 1:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = s.arg0.fields[\"_image\"];\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_0 + s.tmp_2);\n return leave(s, r0)\n default: oops()\n} } }\nSprite_right__P631.info = {\"start\":8099,\"length\":57,\"line\":290,\"column\":4,\"endLine\":292,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"right\",\"argumentNames\":[\"this\"]}\n\nfunction Sprite_right__P631_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_right__P631, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Sprite_overlapsWith__P647(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = (s.arg1 == s.arg0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = false;\n { step = 7; continue; }\n case 1:\n case 2:\n r0 = s.arg0.fields[\"flags\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 & 1);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 3; continue; }\n r0 = false;\n { step = 7; continue; }\n case 3:\n case 4:\n r0 = s.arg1.fields[\"flags\"];\n s.tmp_4 = r0;\n r0 = (s.tmp_4 & 1);\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 5; continue; }\n r0 = false;\n { step = 7; continue; }\n case 5:\n case 6:\n r0 = s.arg1.fields[\"_image\"];\n s.tmp_5 = r0;\n r0 = s.arg0.fields[\"_image\"];\n s.tmp_6 = r0;\n s.tmp_9 = Sprite_left__P629_mk(s);\n s.tmp_9.arg0 = s.arg0;\n s.pc = 8; return s.tmp_9;\n case 8:\n r0 = s.retval;\n s.tmp_8 = r0;\n s.tmp_11 = Sprite_left__P629_mk(s);\n s.tmp_11.arg0 = s.arg1;\n s.pc = 9; return s.tmp_11;\n case 9:\n r0 = s.retval;\n s.tmp_10 = r0;\n r0 = (s.tmp_8 - s.tmp_10);\n s.tmp_7 = r0;\n s.tmp_14 = Sprite_top__P633_mk(s);\n s.tmp_14.arg0 = s.arg0;\n s.pc = 10; return s.tmp_14;\n case 10:\n r0 = s.retval;\n s.tmp_13 = r0;\n s.tmp_16 = Sprite_top__P633_mk(s);\n s.tmp_16.arg0 = s.arg1;\n s.pc = 11; return s.tmp_16;\n case 11:\n r0 = s.retval;\n s.tmp_15 = r0;\n r0 = (s.tmp_13 - s.tmp_15);\n s.tmp_12 = r0;\n r0 = pxsim_ImageMethods.overlapsWith(s.tmp_5, s.tmp_6, s.tmp_7, s.tmp_12);\n case 7:\n return leave(s, r0)\n default: oops()\n} } }\nSprite_overlapsWith__P647.info = {\"start\":22417,\"length\":366,\"line\":686,\"column\":4,\"endLine\":694,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"overlapsWith\",\"argumentNames\":[\"this\",\"other\"]}\n\nfunction Sprite_overlapsWith__P647_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_overlapsWith__P647, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n tmp_12: undefined,\n tmp_13: undefined,\n tmp_14: undefined,\n tmp_15: undefined,\n tmp_16: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction ArcadePhysicsEngine_createMovingSprite__P733(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.ovx___11957 = undefined;\n s.ovy___11961 = undefined;\n s.dx___11993 = undefined;\n s.dy___12001 = undefined;\n s.xStep___12009 = undefined;\n s.yStep___12011 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, ArcadePhysicsEngine__C727_VT)) failedCast(r0);\n s.tmp_0 = ArcadePhysicsEngine_constrain__P738_mk(s);\n s.tmp_0.arg0 = s.arg0;\n r0 = s.arg1.fields[\"_vx\"];\n s.tmp_0.arg1 = r0;\n s.pc = 9; return s.tmp_0;\n case 9:\n r0 = s.retval;\n s.ovx___11957 = (r0);\n s.tmp_0 = ArcadePhysicsEngine_constrain__P738_mk(s);\n s.tmp_0.arg0 = s.arg0;\n r0 = s.arg1.fields[\"_vy\"];\n s.tmp_0.arg1 = r0;\n s.pc = 10; return s.tmp_0;\n case 10:\n r0 = s.retval;\n s.ovy___11961 = (r0);\n r0 = s.arg1.fields[\"_x\"];\n s.tmp_0 = r0;\n r0 = (s.arg1).fields[\"_lastX\"] = (s.tmp_0);\n r0 = s.arg1.fields[\"_y\"];\n s.tmp_0 = r0;\n r0 = (s.arg1).fields[\"_lastY\"] = (s.tmp_0);\n s.tmp_0 = r0 = s.arg1;\n s.tmp_2 = ArcadePhysicsEngine_constrain__P738_mk(s);\n s.tmp_2.arg0 = s.arg0;\n r0 = s.arg1.fields[\"_vx\"];\n s.tmp_3 = r0;\n r0 = s.arg1.fields[\"_ax\"];\n s.tmp_5 = r0;\n r0 = pxsim.Math_.imul(s.tmp_5, s.arg2);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 >> 8);\n s.tmp_4 = r0;\n r0 = (s.tmp_3 + s.tmp_4);\n s.tmp_2.arg1 = r0;\n s.pc = 11; return s.tmp_2;\n case 11:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"_vx\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg1;\n s.tmp_2 = ArcadePhysicsEngine_constrain__P738_mk(s);\n s.tmp_2.arg0 = s.arg0;\n r0 = s.arg1.fields[\"_vy\"];\n s.tmp_3 = r0;\n r0 = s.arg1.fields[\"_ay\"];\n s.tmp_5 = r0;\n r0 = pxsim.Math_.imul(s.tmp_5, s.arg2);\n s.tmp_6 = r0;\n r0 = (s.tmp_6 >> 8);\n s.tmp_4 = r0;\n r0 = (s.tmp_3 + s.tmp_4);\n s.tmp_2.arg1 = r0;\n s.pc = 12; return s.tmp_2;\n case 12:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"_vy\"] = (s.tmp_1);\n r0 = s.arg1.fields[\"_vx\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.ovx___11957);\n s.tmp_1 = r0;\n r0 = pxsim.Math_.imul(s.tmp_1, s.arg3);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 >> 8);\n s.tmp_0 = r0;\n r0 = pxsim.Math_.idiv(s.tmp_0, 1000);\n s.dx___11993 = (r0);\n r0 = s.arg1.fields[\"_vy\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + s.ovy___11961);\n s.tmp_1 = r0;\n r0 = pxsim.Math_.imul(s.tmp_1, s.arg3);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 >> 8);\n s.tmp_0 = r0;\n r0 = pxsim.Math_.idiv(s.tmp_0, 1000);\n s.dy___12001 = (r0);\n s.xStep___12009 = (s.dx___11993);\n s.yStep___12011 = (s.dy___12001);\n case 1:\n s.tmp_2 = Fx_abs__P93_mk(s);\n s.tmp_2.arg0 = s.xStep___12009;\n s.pc = 13; return s.tmp_2;\n case 13:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = s.arg0.fields[\"maxSingleStep\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_1 > s.tmp_3);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 2; continue; }\n r0 = s.tmp_0;\n { step = 3; continue; }\n case 2:\n s.tmp_5 = Fx_abs__P93_mk(s);\n s.tmp_5.arg0 = s.yStep___12011;\n s.pc = 14; return s.tmp_5;\n case 14:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = s.arg0.fields[\"maxSingleStep\"];\n s.tmp_6 = r0;\n r0 = (s.tmp_4 > s.tmp_6);\n case 3:\n // jmp value (already in r0)\n s.tmp_7 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_7);\n if (!r0) { step = 8; continue; }\n s.tmp_10 = Fx_abs__P93_mk(s);\n s.tmp_10.arg0 = s.xStep___12009;\n s.pc = 15; return s.tmp_10;\n case 15:\n r0 = s.retval;\n s.tmp_9 = r0;\n r0 = s.arg0.fields[\"minSingleStep\"];\n s.tmp_11 = r0;\n r0 = (s.tmp_9 > s.tmp_11);\n s.tmp_8 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_8);\n if (!r0) { step = 4; continue; }\n r0 = pxsim.Math_.idiv(s.xStep___12009, 2);\n s.xStep___12009 = (r0);\n case 4:\n case 5:\n s.tmp_2 = Fx_abs__P93_mk(s);\n s.tmp_2.arg0 = s.yStep___12011;\n s.pc = 16; return s.tmp_2;\n case 16:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = s.arg0.fields[\"minSingleStep\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_1 > s.tmp_3);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 6; continue; }\n r0 = pxsim.Math_.idiv(s.yStep___12011, 2);\n s.yStep___12011 = (r0);\n case 6:\n case 7:\n { step = 1; continue; }\n case 8:\n r0 = pxsim_pxtcore_mkClassInstance(MovingSprite__C725_VT);\n s.tmp_0 = r0;\n s.tmp_1 = MovingSprite_constructor__P726_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.tmp_1.arg1 = s.arg1;\n r0 = s.arg1.fields[\"_vx\"];\n s.tmp_1.arg2 = r0;\n r0 = s.arg1.fields[\"_vy\"];\n s.tmp_1.arg3 = r0;\n s.tmp_1.arg4 = s.dx___11993;\n s.tmp_1.arg5 = s.dy___12001;\n s.tmp_1.arg6 = s.xStep___12009;\n s.tmp_1.arg7 = s.yStep___12011;\n s.pc = 17; return s.tmp_1;\n case 17:\n r0 = s.retval;\n r0 = s.tmp_0;\n return leave(s, r0)\n default: oops()\n} } }\nArcadePhysicsEngine_createMovingSprite__P733.info = {\"start\":5787,\"length\":1716,\"line\":177,\"column\":4,\"endLine\":246,\"endColumn\":5,\"fileName\":\"pxt_modules/game/physics.ts\",\"functionName\":\"createMovingSprite\",\"argumentNames\":[\"this\",\"sprite\",\"dtSec\",\"dt2\"]}\n\nfunction ArcadePhysicsEngine_createMovingSprite__P733_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: ArcadePhysicsEngine_createMovingSprite__P733, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n ovx___11957: undefined,\n ovy___11961: undefined,\n dx___11993: undefined,\n dy___12001: undefined,\n xStep___12009: undefined,\n yStep___12011: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction ArcadePhysicsEngine_constrain__P738(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, ArcadePhysicsEngine__C727_VT)) failedCast(r0);\n s.tmp_0 = Fx_max__P95_mk(s);\n s.tmp_1 = Fx_min__P94_mk(s);\n r0 = s.arg0.fields[\"maxVelocity\"];\n s.tmp_1.arg0 = r0;\n s.tmp_1.arg1 = s.arg1;\n s.pc = 2; return s.tmp_1;\n case 2:\n r0 = s.retval;\n s.tmp_0.arg0 = r0;\n r0 = s.arg0.fields[\"maxNegativeVelocity\"];\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n return leave(s, r0)\n default: oops()\n} } }\nArcadePhysicsEngine_constrain__P738.info = {\"start\":17817,\"length\":191,\"line\":507,\"column\":4,\"endLine\":515,\"endColumn\":5,\"fileName\":\"pxt_modules/game/physics.ts\",\"functionName\":\"constrain\",\"argumentNames\":[\"this\",\"v\"]}\n\nfunction ArcadePhysicsEngine_constrain__P738_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: ArcadePhysicsEngine_constrain__P738, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Fx_max__P95(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 > s.arg1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.arg0;\n { step = 3; continue; }\n { step = 2; continue; }\n case 1:\n r0 = s.arg1;\n { step = 3; continue; }\n case 2:\n r0 = undefined;\n case 3:\n return leave(s, r0)\n default: oops()\n} } }\nFx_max__P95.info = {\"start\":1649,\"length\":117,\"line\":53,\"column\":4,\"endLine\":58,\"endColumn\":5,\"fileName\":\"pxt_modules/base/fixed.ts\",\"functionName\":\"max\",\"argumentNames\":[\"a\",\"b\"]}\n\nfunction Fx_max__P95_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Fx_max__P95, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction sprites_SpriteMap_insertAABB__P668(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.left___11793 = undefined;\n s.top___11796 = undefined;\n s.xn___11799 = undefined;\n s.yn___11808 = undefined;\n s.x___11817 = undefined;\n s.y___11821 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_SpriteMap__C659_VT)) failedCast(r0);\n s.tmp_1 = sprites_SpriteMap_isOob__P667_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.tmp_1.arg1 = s.arg1;\n s.pc = 8; return s.tmp_1;\n case 8:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 7; continue; }\n case 1:\n case 2:\n s.tmp_2 = Sprite_left__P629_mk(s);\n s.tmp_2.arg0 = s.arg1;\n s.pc = 9; return s.tmp_2;\n case 9:\n r0 = s.retval;\n s.left___11793 = (r0);\n s.tmp_0 = Sprite_top__P633_mk(s);\n s.tmp_0.arg0 = s.arg1;\n s.pc = 10; return s.tmp_0;\n case 10:\n r0 = s.retval;\n s.top___11796 = (r0);\n r0 = s.arg1.fields[\"_image\"];\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_3);\n s.tmp_2 = r0;\n r0 = s.arg0.fields[\"cellWidth\"];\n s.tmp_4 = r0;\n r0 = (s.tmp_2 + s.tmp_4);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - 1);\n s.tmp_0 = r0;\n r0 = s.arg0.fields[\"cellWidth\"];\n s.tmp_5 = r0;\n r0 = pxsim.Math_.idiv(s.tmp_0, s.tmp_5);\n s.xn___11799 = (r0);\n r0 = s.arg1.fields[\"_image\"];\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_3);\n s.tmp_2 = r0;\n r0 = s.arg0.fields[\"cellHeight\"];\n s.tmp_4 = r0;\n r0 = (s.tmp_2 + s.tmp_4);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - 1);\n s.tmp_0 = r0;\n r0 = s.arg0.fields[\"cellHeight\"];\n s.tmp_5 = r0;\n r0 = pxsim.Math_.idiv(s.tmp_0, s.tmp_5);\n s.yn___11808 = (r0);\n s.x___11817 = (0);\n case 3:\n r0 = (s.x___11817 <= s.xn___11799);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 6; continue; }\n s.y___11821 = (0);\n case 4:\n r0 = (s.y___11821 <= s.yn___11808);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n s.tmp_1 = sprites_SpriteMap_insertAtKey__P666_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.tmp_2 = r0 = s.left___11793;\n s.tmp_4 = Math_min__P62_mk(s);\n r0 = s.arg1.fields[\"_image\"];\n s.tmp_5 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_5);\n s.tmp_4.arg0 = r0;\n r0 = s.arg0.fields[\"cellWidth\"];\n s.tmp_6 = r0;\n r0 = (s.x___11817 * s.tmp_6);\n s.tmp_4.arg1 = r0;\n s.pc = 12; return s.tmp_4;\n case 12:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = (s.tmp_2 + s.tmp_3);\n s.tmp_1.arg1 = r0;\n s.tmp_7 = r0 = s.top___11796;\n s.tmp_9 = Math_min__P62_mk(s);\n r0 = s.arg1.fields[\"_image\"];\n s.tmp_10 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_10);\n s.tmp_9.arg0 = r0;\n r0 = s.arg0.fields[\"cellHeight\"];\n s.tmp_11 = r0;\n r0 = (s.y___11821 * s.tmp_11);\n s.tmp_9.arg1 = r0;\n s.pc = 13; return s.tmp_9;\n case 13:\n r0 = s.retval;\n s.tmp_8 = r0;\n r0 = (s.tmp_7 + s.tmp_8);\n s.tmp_1.arg2 = r0;\n s.tmp_1.arg3 = s.arg1;\n s.pc = 11; return s.tmp_1;\n case 11:\n r0 = s.retval;\n r0 = (s.y___11821 + 1);\n s.y___11821 = (r0);\n { step = 4; continue; }\n case 5:\n r0 = (s.x___11817 + 1);\n s.x___11817 = (r0);\n { step = 3; continue; }\n case 6:\n case 7:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_SpriteMap_insertAABB__P668.info = {\"start\":3602,\"length\":623,\"line\":101,\"column\":8,\"endLine\":113,\"endColumn\":9,\"fileName\":\"pxt_modules/game/spritemap.ts\",\"functionName\":\"insertAABB\",\"argumentNames\":[\"this\",\"sprite\"]}\n\nfunction sprites_SpriteMap_insertAABB__P668_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_SpriteMap_insertAABB__P668, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n left___11793: undefined,\n top___11796: undefined,\n xn___11799: undefined,\n yn___11808: undefined,\n x___11817: undefined,\n y___11821: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction sprites_SpriteMap_insertAtKey__P666(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.k___11851 = undefined;\n s.bucket___11855 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_SpriteMap__C659_VT)) failedCast(r0);\n s.tmp_0 = sprites_SpriteMap_key__P665_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.tmp_0.arg2 = s.arg2;\n s.pc = 5; return s.tmp_0;\n case 5:\n r0 = s.retval;\n s.k___11851 = (r0);\n r0 = s.arg0.fields[\"buckets\"];\n s.tmp_0 = r0;\n r0 = pxsim_Array__getAt(s.tmp_0, s.k___11851);\n s.bucket___11855 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.bucket___11855);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.arg0.fields[\"buckets\"];\n s.tmp_2 = r0;\n s.tmp_3 = r0 = s.k___11851;\n r0 = pxsim_Array__mk();\n s.tmp_4 = r0;\n r0 = pxsim_Array_.setAt(s.tmp_2, s.tmp_3, s.tmp_4);\n s.bucket___11855 = (s.tmp_4);\n case 1:\n case 2:\n r0 = pxsim_Array_.indexOf(s.bucket___11855, s.arg3, undefined);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = pxsim_Array__push(s.bucket___11855, s.arg3);\n case 3:\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_SpriteMap_insertAtKey__P666.info = {\"start\":2920,\"length\":302,\"line\":84,\"column\":8,\"endLine\":91,\"endColumn\":9,\"fileName\":\"pxt_modules/game/spritemap.ts\",\"functionName\":\"insertAtKey\",\"argumentNames\":[\"this\",\"x\",\"y\",\"sprite\"]}\n\nfunction sprites_SpriteMap_insertAtKey__P666_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_SpriteMap_insertAtKey__P666, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n k___11851: undefined,\n bucket___11855: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction sprites_SpriteMap_clear__P664(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_SpriteMap__C659_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"buckets\"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_SpriteMap_clear__P664.info = {\"start\":2580,\"length\":50,\"line\":74,\"column\":8,\"endLine\":76,\"endColumn\":9,\"fileName\":\"pxt_modules/game/spritemap.ts\",\"functionName\":\"clear\",\"argumentNames\":[\"this\"]}\n\nfunction sprites_SpriteMap_clear__P664_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_SpriteMap_clear__P664, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction sprites_SpriteMap_resizeBuckets__P663(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.maxWidth___11888 = undefined;\n s.maxHeight___11889 = undefined;\n s.sprite___11891 = undefined;\n s.unnamed52___U3 = undefined;\n s.unnamed53___U4 = undefined;\n s.tMap___11905 = undefined;\n s.areaWidth___11909 = undefined;\n s.areaHeight___11915 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_SpriteMap__C659_VT)) failedCast(r0);\n s.maxWidth___11888 = (0);\n s.maxHeight___11889 = (0);\n s.sprite___11891 = (undefined);\n s.sprite___11891 = (undefined);\n s.unnamed52___U3 = (s.arg1);\n s.unnamed53___U4 = (0);\n case 1:\n s.tmp_0 = r0 = s.unnamed53___U4;\n r0 = pxsim_Array__length(s.unnamed52___U3);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 < s.tmp_1);\n if (!r0) { step = 6; continue; }\n r0 = pxsim_Array__getAt(s.unnamed52___U3, s.unnamed53___U4);\n s.sprite___11891 = (r0);\n r0 = s.sprite___11891.fields[\"_image\"];\n s.tmp_4 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_4);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 > s.maxWidth___11888);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 2; continue; }\n r0 = s.sprite___11891.fields[\"_image\"];\n s.tmp_5 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_5);\n s.maxWidth___11888 = (r0);\n case 2:\n case 3:\n r0 = s.sprite___11891.fields[\"_image\"];\n s.tmp_2 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > s.maxHeight___11889);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 4; continue; }\n r0 = s.sprite___11891.fields[\"_image\"];\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_3);\n s.maxHeight___11889 = (r0);\n case 4:\n case 5:\n r0 = (s.unnamed53___U4 + 1);\n s.unnamed53___U4 = (r0);\n { step = 1; continue; }\n case 6:\n s.unnamed52___U3 = (undefined);\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 11; return s.tmp_0;\n case 11:\n r0 = s.retval;\n r0 = r0.fields[\"tileMap\"];\n s.tMap___11905 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.tMap___11905);\n if (!r0) { step = 7; continue; }\n s.tmp_0 = tiles_TileMap_areaWidth__P869_mk(s);\n s.tmp_0.arg0 = s.tMap___11905;\n s.pc = 12; return s.tmp_0;\n case 12:\n r0 = s.retval;\n { step = 8; continue; }\n case 7:\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n case 8:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n s.areaWidth___11909 = (s.tmp_1);\n r0 = pxsim_numops_toBoolDecr(s.tMap___11905);\n if (!r0) { step = 9; continue; }\n s.tmp_0 = tiles_TileMap_areaHeight__P870_mk(s);\n s.tmp_0.arg0 = s.tMap___11905;\n s.pc = 13; return s.tmp_0;\n case 13:\n r0 = s.retval;\n { step = 10; continue; }\n case 9:\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n case 10:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n s.areaHeight___11915 = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_2 = Math_clamp__P58_mk(s);\n s.tmp_2.arg0 = 8;\n r0 = (s.areaWidth___11909 >> 2);\n s.tmp_2.arg1 = r0;\n r0 = (s.maxWidth___11888 * 2);\n s.tmp_2.arg2 = r0;\n s.pc = 14; return s.tmp_2;\n case 14:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"cellWidth\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n s.tmp_2 = Math_clamp__P58_mk(s);\n s.tmp_2.arg0 = 8;\n r0 = (s.areaHeight___11915 >> 2);\n s.tmp_2.arg1 = r0;\n r0 = (s.maxHeight___11889 * 2);\n s.tmp_2.arg2 = r0;\n s.pc = 15; return s.tmp_2;\n case 15:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"cellHeight\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.arg0.fields[\"cellHeight\"];\n s.tmp_2 = r0;\n r0 = pxsim.Math_.idiv(s.areaHeight___11915, s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"rowCount\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.arg0;\n r0 = s.arg0.fields[\"cellWidth\"];\n s.tmp_2 = r0;\n r0 = pxsim.Math_.idiv(s.areaWidth___11909, s.tmp_2);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"columnCount\"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_SpriteMap_resizeBuckets__P663.info = {\"start\":1744,\"length\":826,\"line\":54,\"column\":8,\"endLine\":72,\"endColumn\":9,\"fileName\":\"pxt_modules/game/spritemap.ts\",\"functionName\":\"resizeBuckets\",\"argumentNames\":[\"this\",\"sprites\"]}\n\nfunction sprites_SpriteMap_resizeBuckets__P663_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_SpriteMap_resizeBuckets__P663, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n maxWidth___11888: undefined,\n maxHeight___11889: undefined,\n sprite___11891: undefined,\n unnamed52___U3: undefined,\n unnamed53___U4: undefined,\n tMap___11905: undefined,\n areaWidth___11909: undefined,\n areaHeight___11915: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_clearObstacles__P650(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"_obstacles\"] = (s.tmp_1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_clearObstacles__P650.info = {\"start\":23644,\"length\":54,\"line\":718,\"column\":4,\"endLine\":720,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"clearObstacles\",\"argumentNames\":[\"this\"]}\n\nfunction Sprite_clearObstacles__P650_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_clearObstacles__P650, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Fx_abs__P93(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = (0 - s.arg0);\n { step = 3; continue; }\n { step = 2; continue; }\n case 1:\n r0 = s.arg0;\n { step = 3; continue; }\n case 2:\n r0 = undefined;\n case 3:\n return leave(s, r0)\n default: oops()\n} } }\nFx_abs__P93.info = {\"start\":1358,\"length\":164,\"line\":41,\"column\":4,\"endLine\":46,\"endColumn\":5,\"fileName\":\"pxt_modules/base/fixed.ts\",\"functionName\":\"abs\",\"argumentNames\":[\"a\"]}\n\nfunction Fx_abs__P93_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Fx_abs__P93, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Fx_idiv__P91(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim.Math_.idiv(s.arg0, s.arg1);\n return leave(s, r0)\n default: oops()\n} } }\nFx_idiv__P91.info = {\"start\":1131,\"length\":111,\"line\":35,\"column\":4,\"endLine\":37,\"endColumn\":5,\"fileName\":\"pxt_modules/base/fixed.ts\",\"functionName\":\"idiv\",\"argumentNames\":[\"a\",\"b\"]}\n\nfunction Fx_idiv__P91_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Fx_idiv__P91, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Fx_div__P90(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = (s.arg0 << 8);\n s.tmp_0 = r0;\n r0 = pxsim.Math_.idiv(s.tmp_0, s.arg1);\n return leave(s, r0)\n default: oops()\n} } }\nFx_div__P90.info = {\"start\":997,\"length\":129,\"line\":32,\"column\":4,\"endLine\":34,\"endColumn\":5,\"fileName\":\"pxt_modules/base/fixed.ts\",\"functionName\":\"div\",\"argumentNames\":[\"a\",\"b\"]}\n\nfunction Fx_div__P90_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Fx_div__P90, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction helpers_arrayMap__P44(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.res___12065 = undefined;\n s.len___12067 = undefined;\n s.i___12070 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = pxsim_Array__mk();\n s.res___12065 = (r0);\n r0 = pxsim_Array__length(s.arg0);\n s.len___12067 = (r0);\n s.i___12070 = (0);\n case 1:\n r0 = (s.i___12070 < s.len___12067);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n s.tmp_1 = r0 = s.res___12065;\n s.tmp_3 = lambda_3_mk(s);\n s.tmp_3.argL = s.arg1;\n r0 = pxsim_Array__getAt(s.arg0, s.i___12070);\n s.tmp_3.arg0 = r0;\n s.tmp_3.arg1 = s.i___12070;\n setupLambda(s.tmp_3, s.tmp_3.argL);\n s.pc = 3; return s.tmp_3;\n case 3:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = pxsim_Array__push(s.tmp_1, s.tmp_2);\n r0 = (s.i___12070 + 1);\n s.i___12070 = (r0);\n { step = 1; continue; }\n case 2:\n r0 = s.res___12065;\n return leave(s, r0)\n default: oops()\n} } }\nhelpers_arrayMap__P44.info = {\"start\":4245,\"length\":299,\"line\":145,\"column\":4,\"endLine\":152,\"endColumn\":5,\"fileName\":\"pxt_modules/base/pxt-helpers.ts\",\"functionName\":\"arrayMap\",\"argumentNames\":[\"arr\",\"callbackfn\"]}\n\nfunction helpers_arrayMap__P44_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: helpers_arrayMap__P44, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n res___12065: undefined,\n len___12067: undefined,\n i___12070: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction ArcadePhysicsEngine_draw__P731(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, ArcadePhysicsEngine__C727_VT)) failedCast(r0);\n s.tmp_0 = sprites_SpriteMap_draw__P662_mk(s);\n r0 = s.arg0.fields[\"map\"];\n s.tmp_0.arg0 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nArcadePhysicsEngine_draw__P731.info = {\"start\":1796,\"length\":39,\"line\":71,\"column\":4,\"endLine\":73,\"endColumn\":5,\"fileName\":\"pxt_modules/game/physics.ts\",\"functionName\":\"draw\",\"argumentNames\":[\"this\"]}\n\nfunction ArcadePhysicsEngine_draw__P731_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: ArcadePhysicsEngine_draw__P731, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction sprites_SpriteMap_draw__P662(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.x___12095 = undefined;\n s.y___12100 = undefined;\n s.left___12105 = undefined;\n s.top___12109 = undefined;\n s.k___12113 = undefined;\n s.b___12117 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_SpriteMap__C659_VT)) failedCast(r0);\n s.x___12095 = (0);\n case 1:\n r0 = s.arg0.fields[\"columnCount\"];\n s.tmp_1 = r0;\n r0 = (s.x___12095 < s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 8; continue; }\n s.y___12100 = (0);\n case 2:\n r0 = s.arg0.fields[\"rowCount\"];\n s.tmp_1 = r0;\n r0 = (s.y___12100 < s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 7; continue; }\n r0 = s.arg0.fields[\"cellWidth\"];\n s.tmp_2 = r0;\n r0 = (s.x___12095 * s.tmp_2);\n s.left___12105 = (r0);\n r0 = s.arg0.fields[\"cellHeight\"];\n s.tmp_0 = r0;\n r0 = (s.y___12100 * s.tmp_0);\n s.top___12109 = (r0);\n s.tmp_0 = sprites_SpriteMap_key__P665_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.left___12105;\n s.tmp_0.arg2 = s.top___12109;\n s.pc = 9; return s.tmp_0;\n case 9:\n r0 = s.retval;\n s.k___12113 = (r0);\n r0 = s.arg0.fields[\"buckets\"];\n s.tmp_0 = r0;\n r0 = pxsim_Array__getAt(s.tmp_0, s.k___12113);\n s.b___12117 = (r0);\n s.tmp_0 = r0 = s.b___12117;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 3; continue; }\n r0 = s.tmp_0;\n { step = 4; continue; }\n case 3:\n r0 = pxsim_Array__length(s.b___12117);\n case 4:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n if (!r0) { step = 5; continue; }\n s.tmp_2 = helpers_imageDrawRect__P414_mk(s);\n s.tmp_2.arg0 = globals.screen___464;\n s.tmp_2.arg1 = s.left___12105;\n s.tmp_2.arg2 = s.top___12109;\n r0 = s.arg0.fields[\"cellWidth\"];\n s.tmp_2.arg3 = r0;\n r0 = s.arg0.fields[\"cellHeight\"];\n s.tmp_2.arg4 = r0;\n s.tmp_2.arg5 = 5;\n s.pc = 10; return s.tmp_2;\n case 10:\n r0 = s.retval;\n case 5:\n case 6:\n r0 = (s.y___12100 + 1);\n s.y___12100 = (r0);\n { step = 2; continue; }\n case 7:\n r0 = (s.x___12095 + 1);\n s.x___12095 = (r0);\n { step = 1; continue; }\n case 8:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_SpriteMap_draw__P662.info = {\"start\":1170,\"length\":496,\"line\":38,\"column\":8,\"endLine\":49,\"endColumn\":9,\"fileName\":\"pxt_modules/game/spritemap.ts\",\"functionName\":\"draw\",\"argumentNames\":[\"this\"]}\n\nfunction sprites_SpriteMap_draw__P662_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_SpriteMap_draw__P662, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n x___12095: undefined,\n y___12100: undefined,\n left___12105: undefined,\n top___12109: undefined,\n k___12113: undefined,\n b___12117: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction ArcadePhysicsEngine_removeSprite__P730(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, ArcadePhysicsEngine__C727_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"sprites\"];\n s.tmp_0 = r0;\n r0 = pxsim_Array_.removeElement(s.tmp_0, s.arg1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nArcadePhysicsEngine_removeSprite__P730.info = {\"start\":1710,\"length\":80,\"line\":67,\"column\":4,\"endLine\":69,\"endColumn\":5,\"fileName\":\"pxt_modules/game/physics.ts\",\"functionName\":\"removeSprite\",\"argumentNames\":[\"this\",\"sprite\"]}\n\nfunction ArcadePhysicsEngine_removeSprite__P730_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: ArcadePhysicsEngine_removeSprite__P730, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction ArcadePhysicsEngine_addSprite__P729(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, ArcadePhysicsEngine__C727_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"sprites\"];\n s.tmp_0 = r0;\n r0 = pxsim_Array__push(s.tmp_0, s.arg1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nArcadePhysicsEngine_addSprite__P729.info = {\"start\":1636,\"length\":68,\"line\":63,\"column\":4,\"endLine\":65,\"endColumn\":5,\"fileName\":\"pxt_modules/game/physics.ts\",\"functionName\":\"addSprite\",\"argumentNames\":[\"this\",\"sprite\"]}\n\nfunction ArcadePhysicsEngine_addSprite__P729_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: ArcadePhysicsEngine_addSprite__P729, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction effects_ImageEffect_startScreenEffect__P1441(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.wasRunning___12430 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, effects_ImageEffect__C1438_VT)) failedCast(r0);\n s.tmp_4 = game_currentScene__P769_mk(s);\n s.pc = 8; return s.tmp_4;\n case 8:\n r0 = s.retval;\n r0 = r0.fields[\"background\"];\n s.tmp_3 = r0;\n r0 = s.tmp_3.fields[\"_image\"];\n s.tmp_8 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_8);\n s.tmp_7 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_7);\n s.tmp_6 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_6);\n s.tmp_5 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_5);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 7; continue; }\n case 1:\n case 2:\n r0 = s.arg0.fields[\"times\"];\n s.tmp_9 = r0;\n r0 = (s.tmp_9 != undefined);\n s.wasRunning___12430 = (r0);\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n if (!r0) { step = 3; continue; }\n r0 = s.arg1;\n { step = 4; continue; }\n case 3:\n r0 = 15;\n case 4:\n // jmp value (already in r0)\n s.tmp_0 = r0;\n r0 = (s.arg0).fields[\"times\"] = (s.tmp_0);\n r0 = pxsim_numops_toBoolDecr(s.wasRunning___12430);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 5; continue; }\n r0 = pxsim_pxtcore_mkAction(2, inline__P12441);\n s.tmp_2 = r0;\n r0 = pxsim_pxtrt_stclo(s.tmp_2, 0, s.arg0);\n r0 = pxsim_pxtrt_stclo(s.tmp_2, 1, s.arg2);\n r0 = pxsim.control.runInParallel(s.tmp_2);\n case 5:\n case 6:\n case 7:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\neffects_ImageEffect_startScreenEffect__P1441.info = {\"start\":1457,\"length\":637,\"line\":41,\"column\":8,\"endLine\":56,\"endColumn\":9,\"fileName\":\"pxt_modules/game/effects.ts\",\"functionName\":\"startScreenEffect\",\"argumentNames\":[\"this\",\"times\",\"delay\"]}\n\nfunction effects_ImageEffect_startScreenEffect__P1441_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: effects_ImageEffect_startScreenEffect__P1441, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n wasRunning___12430: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction inline__P12441(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n case 1:\n r0 = s.caps[0].fields[\"times\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 4; continue; }\n s.tmp_2 = effects_ImageEffect_change__P1440_mk(s);\n s.tmp_2.arg0 = s.caps[0];\n s.tmp_3 = scene_backgroundImage__P938_mk(s);\n s.pc = 6; return s.tmp_3;\n case 6:\n r0 = s.retval;\n s.tmp_2.arg1 = r0;\n s.pc = 5; return s.tmp_2;\n case 5:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(s.caps[1]);\n if (!r0) { step = 2; continue; }\n r0 = s.caps[1];\n { step = 3; continue; }\n case 2:\n r0 = s.caps[0].fields[\"preferredDelay\"];\n case 3:\n // jmp value (already in r0)\n s.tmp_0 = r0;\n s.tmp_1 = pause__P241_mk(s);\n s.tmp_1.arg0 = s.tmp_0;\n s.pc = 7; return s.tmp_1;\n case 7:\n r0 = s.retval;\n s.tmp_0 = r0 = s.caps[0];\n r0 = s.tmp_0.fields[\"times\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - 1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"times\"] = (s.tmp_1);\n { step = 1; continue; }\n case 4:\n r0 = (s.caps[0]).fields[\"times\"] = (undefined);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ninline__P12441.info = {\"start\":1764,\"length\":304,\"line\":47,\"column\":38,\"endLine\":54,\"endColumn\":17,\"fileName\":\"pxt_modules/game/effects.ts\",\"functionName\":\"inline\",\"argumentNames\":[]}\n\nfunction inline__P12441_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: inline__P12441, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n} }\n\n\n\n\n\nfunction scene_backgroundImage__P938(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.scene___12458 = undefined;\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.scene___12458 = (r0);\n s.tmp_0 = scene_Background_image__P848_mk(s);\n r0 = s.scene___12458.fields[\"background\"];\n s.tmp_0.arg0 = r0;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n return leave(s, r0)\n default: oops()\n} } }\nscene_backgroundImage__P938.info = {\"start\":2070,\"length\":130,\"line\":74,\"column\":4,\"endLine\":77,\"endColumn\":5,\"fileName\":\"pxt_modules/game/scenes.ts\",\"functionName\":\"backgroundImage\",\"argumentNames\":[]}\n\nfunction scene_backgroundImage__P938_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_backgroundImage__P938, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n scene___12458: undefined,\n} }\n\n\n\n\n\nfunction scene_Background_hasBackgroundImage__P850(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Background__C846_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_image\"];\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\nscene_Background_hasBackgroundImage__P850.info = {\"start\":1081,\"length\":75,\"line\":44,\"column\":8,\"endLine\":46,\"endColumn\":9,\"fileName\":\"pxt_modules/game/background.ts\",\"functionName\":\"hasBackgroundImage\",\"argumentNames\":[\"this\"]}\n\nfunction scene_Background_hasBackgroundImage__P850_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Background_hasBackgroundImage__P850, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_BaseDialog_drawTextCore__P955(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_BaseDialog__C952_VT)) failedCast(r0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_BaseDialog_drawTextCore__P955.info = {\"start\":1757,\"length\":65,\"line\":70,\"column\":8,\"endLine\":72,\"endColumn\":9,\"fileName\":\"pxt_modules/game/textDialogs.ts\",\"functionName\":\"drawTextCore\",\"argumentNames\":[\"this\"]}\n\nfunction game_BaseDialog_drawTextCore__P955_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_BaseDialog_drawTextCore__P955, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction game_BaseDialog_update__P953(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, game_BaseDialog__C952_VT)) failedCast(r0);\n s.tmp_0 = game_BaseDialog_clearInterior__P958_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.tmp_0 = game_BaseDialog__C952_v1_1_mk(s);\n s.tmp_0.arg0 = s.arg0;\n if (!checkSubtype(s.tmp_0.arg0, game_BaseDialog__C952_VT)) failedCast(s.tmp_0.arg0);\n s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.drawTextCore;\n s.pc = 2; return s.tmp_0;\n case 2:\n r0 = s.retval;\n s.tmp_0 = game_BaseDialog_drawCursorRow__P956_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\ngame_BaseDialog_update__P953.info = {\"start\":1539,\"length\":121,\"line\":60,\"column\":8,\"endLine\":64,\"endColumn\":9,\"fileName\":\"pxt_modules/game/textDialogs.ts\",\"functionName\":\"update\",\"argumentNames\":[\"this\"]}\n\nfunction game_BaseDialog_update__P953_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: game_BaseDialog_update__P953, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction music_Melody_toString__P359(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, music_Melody__C349_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_text\"];\n return leave(s, r0)\n default: oops()\n} } }\nmusic_Melody_toString__P359.info = {\"start\":9607,\"length\":53,\"line\":302,\"column\":8,\"endLine\":304,\"endColumn\":9,\"fileName\":\"pxt_modules/mixer/melody.ts\",\"functionName\":\"toString\",\"argumentNames\":[\"this\"]}\n\nfunction music_Melody_toString__P359_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: music_Melody_toString__P359, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction info_PlayerInfo_id__P826(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, info_PlayerInfo__C823_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_player\"];\n return leave(s, r0)\n default: oops()\n} } }\ninfo_PlayerInfo_id__P826.info = {\"start\":17272,\"length\":57,\"line\":569,\"column\":8,\"endLine\":571,\"endColumn\":9,\"fileName\":\"pxt_modules/game/info.ts\",\"functionName\":\"id\",\"argumentNames\":[\"this\"]}\n\nfunction info_PlayerInfo_id__P826_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: info_PlayerInfo_id__P826, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction effects_SceneAnchor_width__P1411(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, effects_SceneAnchor__C1408_VT)) failedCast(r0);\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n return leave(s, r0)\n default: oops()\n} } }\neffects_SceneAnchor_width__P1411.info = {\"start\":2428,\"length\":56,\"line\":66,\"column\":8,\"endLine\":68,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particleeffects.ts\",\"functionName\":\"width\",\"argumentNames\":[\"this\"]}\n\nfunction effects_SceneAnchor_width__P1411_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: effects_SceneAnchor_width__P1411, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction effects_SceneAnchor_y__P1410(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, effects_SceneAnchor__C1408_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"camera\"];\n r0 = r0.fields[\"offsetY\"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 >> 1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\neffects_SceneAnchor_y__P1410.info = {\"start\":2336,\"length\":82,\"line\":62,\"column\":8,\"endLine\":64,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particleeffects.ts\",\"functionName\":\"y\",\"argumentNames\":[\"this\"]}\n\nfunction effects_SceneAnchor_y__P1410_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: effects_SceneAnchor_y__P1410, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction effects_SceneAnchor_x__P1409(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, effects_SceneAnchor__C1408_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"camera\"];\n r0 = r0.fields[\"offsetX\"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 >> 1);\n s.tmp_1 = r0;\n r0 = (s.tmp_0 + s.tmp_1);\n return leave(s, r0)\n default: oops()\n} } }\neffects_SceneAnchor_x__P1409.info = {\"start\":2245,\"length\":81,\"line\":58,\"column\":8,\"endLine\":60,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particleeffects.ts\",\"functionName\":\"x\",\"argumentNames\":[\"this\"]}\n\nfunction effects_SceneAnchor_x__P1409_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: effects_SceneAnchor_x__P1409, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction particles_ShapeFactory_createParticle__P1362(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.p___10458 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ShapeFactory__C1358_VT)) failedCast(r0);\n s.tmp_0 = particles_AreaFactory_createParticle__P1350_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.p___10458 = (r0);\n s.tmp_0 = r0 = s.p___10458;\n s.tmp_2 = Math_FastRandom_randomRange__P1158_mk(s);\n r0 = s.arg0.fields[\"galois\"];\n s.tmp_2.arg0 = r0;\n s.tmp_2.arg1 = 1;\n s.tmp_2.arg2 = 14;\n s.pc = 2; return s.tmp_2;\n case 2:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"color\"] = (s.tmp_1);\n r0 = s.p___10458;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ShapeFactory_createParticle__P1362.info = {\"start\":7505,\"length\":178,\"line\":239,\"column\":8,\"endLine\":243,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particlefactories.ts\",\"functionName\":\"createParticle\",\"argumentNames\":[\"this\",\"anchor\"]}\n\nfunction particles_ShapeFactory_createParticle__P1362_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ShapeFactory_createParticle__P1362, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n p___10458: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction particles_AreaFactory_createParticle__P1350(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.p___10470 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_AreaFactory__C1348_VT)) failedCast(r0);\n s.tmp_0 = particles_SprayFactory_createParticle__P1343_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.pc = 3; return s.tmp_0;\n case 3:\n r0 = s.retval;\n s.p___10470 = (r0);\n s.tmp_0 = r0 = s.p___10470;\n s.tmp_2 = Math_FastRandom_randomRange__P1158_mk(s);\n r0 = s.arg0.fields[\"galois\"];\n s.tmp_2.arg0 = r0;\n r0 = s.arg0.fields[\"minLifespan\"];\n s.tmp_2.arg1 = r0;\n r0 = s.arg0.fields[\"maxLifespan\"];\n s.tmp_2.arg2 = r0;\n s.pc = 4; return s.tmp_2;\n case 4:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"lifespan\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.p___10470;\n s.tmp_4 = Math_FastRandom_randomRange__P1158_mk(s);\n r0 = s.arg0.fields[\"galois\"];\n s.tmp_4.arg0 = r0;\n s.tmp_4.arg1 = 0;\n r0 = s.arg0.fields[\"xRange\"];\n s.tmp_4.arg2 = r0;\n s.pc = 5; return s.tmp_4;\n case 5:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = s.arg0.fields[\"xRange\"];\n s.tmp_6 = r0;\n r0 = (s.tmp_6 >> 1);\n s.tmp_5 = r0;\n r0 = (s.tmp_3 - s.tmp_5);\n s.tmp_2 = r0;\n r0 = s.p___10470.fields[\"_x\"];\n s.tmp_7 = r0;\n r0 = (s.tmp_2 << 8);\n s.tmp_8 = r0;\n r0 = (s.tmp_8 + s.tmp_7);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"_x\"] = (s.tmp_1);\n s.tmp_1 = if_height_1_mk(s);\n s.tmp_1.arg0 = s.arg1;\n if (!s.tmp_1.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, \"height\");\n } else {\n s.tmp_1.fn = s.tmp_1.arg0.vtable.iface[\"height\"];\n if (s.tmp_1.fn == null) { s.retval = s.tmp_1.arg0.fields[\"height\"]; }\n else { s.pc = 6; return s.tmp_1; }\n }\n case 6:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_3 = if_height_1_mk(s);\n s.tmp_3.arg0 = s.arg1;\n if (!s.tmp_3.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, \"height\");\n } else {\n s.tmp_3.fn = s.tmp_3.arg0.vtable.iface[\"height\"];\n if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields[\"height\"]; }\n else { s.pc = 7; return s.tmp_3; }\n }\n case 7:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (s.tmp_2 >> 1);\n { step = 2; continue; }\n case 1:\n r0 = 0;\n case 2:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n s.tmp_5 = r0 = s.p___10470;\n s.tmp_9 = Math_FastRandom_randomRange__P1158_mk(s);\n r0 = s.arg0.fields[\"galois\"];\n s.tmp_9.arg0 = r0;\n s.tmp_9.arg1 = 0;\n r0 = s.arg0.fields[\"yRange\"];\n s.tmp_9.arg2 = r0;\n s.pc = 8; return s.tmp_9;\n case 8:\n r0 = s.retval;\n s.tmp_8 = r0;\n r0 = (s.tmp_8 - s.tmp_4);\n s.tmp_7 = r0;\n r0 = s.p___10470.fields[\"_y\"];\n s.tmp_10 = r0;\n r0 = (s.tmp_7 << 8);\n s.tmp_11 = r0;\n r0 = (s.tmp_11 + s.tmp_10);\n s.tmp_6 = r0;\n r0 = (s.tmp_5).fields[\"_y\"] = (s.tmp_6);\n r0 = s.p___10470;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_AreaFactory_createParticle__P1350.info = {\"start\":4334,\"length\":426,\"line\":148,\"column\":8,\"endLine\":156,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particlefactories.ts\",\"functionName\":\"createParticle\",\"argumentNames\":[\"this\",\"anchor\"]}\n\nfunction particles_AreaFactory_createParticle__P1350_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_AreaFactory_createParticle__P1350, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n p___10470: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction particles_SprayFactory_createParticle__P1343(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.p___10518 = undefined;\n s.angle___10521 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_SprayFactory__C1341_VT)) failedCast(r0);\n s.tmp_0 = particles_ParticleFactory_createParticle__P1338_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_0.arg1 = s.arg1;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n s.p___10518 = (r0);\n r0 = s.arg0.fields[\"minAngle\"];\n s.tmp_1 = r0;\n s.tmp_3 = Math_FastRandom_randomRange__P1158_mk(s);\n s.tmp_3.arg0 = globals.galois___1324;\n s.tmp_3.arg1 = 0;\n r0 = s.arg0.fields[\"spread\"];\n s.tmp_3.arg2 = r0;\n s.pc = 2; return s.tmp_3;\n case 2:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (s.tmp_1 + s.tmp_2);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 % 100);\n s.angle___10521 = (r0);\n s.tmp_0 = r0 = s.p___10518;\n r0 = pxsim_Array__getAt(globals.cachedSin___1321, s.angle___10521);\n s.tmp_2 = r0;\n r0 = s.arg0.fields[\"speed\"];\n s.tmp_3 = r0;\n r0 = pxsim.Math_.imul(s.tmp_2, s.tmp_3);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 >> 8);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"vx\"] = (s.tmp_1);\n s.tmp_0 = r0 = s.p___10518;\n r0 = pxsim_Array__getAt(globals.cachedCos___1322, s.angle___10521);\n s.tmp_2 = r0;\n r0 = s.arg0.fields[\"speed\"];\n s.tmp_3 = r0;\n r0 = pxsim.Math_.imul(s.tmp_2, s.tmp_3);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 >> 8);\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"vy\"] = (s.tmp_1);\n r0 = s.p___10518;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_SprayFactory_createParticle__P1343.info = {\"start\":2851,\"length\":333,\"line\":105,\"column\":8,\"endLine\":113,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particlefactories.ts\",\"functionName\":\"createParticle\",\"argumentNames\":[\"this\",\"anchor\"]}\n\nfunction particles_SprayFactory_createParticle__P1343_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_SprayFactory_createParticle__P1343, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n p___10518: undefined,\n angle___10521: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleSource___draw__P1287(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.current___12368 = undefined;\n s.left___12371 = undefined;\n s.top___12375 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleSource__C1285_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"head\"];\n s.current___12368 = (r0);\n r0 = s.arg1.fields[\"drawOffsetX\"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 * 256);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 | 0);\n s.left___12371 = (r0);\n r0 = s.arg1.fields[\"drawOffsetY\"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 * 256);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 | 0);\n s.top___12375 = (r0);\n case 1:\n r0 = pxsim_numops_toBoolDecr(s.current___12368);\n if (!r0) { step = 4; continue; }\n r0 = s.current___12368.fields[\"lifespan\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 2; continue; }\n s.tmp_2 = particles_ParticleSource_drawParticle__P1301_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.tmp_2.arg1 = s.current___12368;\n s.tmp_2.arg2 = s.left___12371;\n s.tmp_2.arg3 = s.top___12375;\n s.pc = 5; return s.tmp_2;\n case 5:\n r0 = s.retval;\n case 2:\n case 3:\n r0 = s.current___12368.fields[\"next\"];\n s.current___12368 = (r0);\n { step = 1; continue; }\n case 4:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleSource___draw__P1287.info = {\"start\":3139,\"length\":362,\"line\":109,\"column\":8,\"endLine\":119,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particles.ts\",\"functionName\":\"__draw\",\"argumentNames\":[\"this\",\"camera\"]}\n\nfunction particles_ParticleSource___draw__P1287_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleSource___draw__P1287, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n current___12368: undefined,\n left___12371: undefined,\n top___12375: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleSource_drawParticle__P1301(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleSource__C1285_VT)) failedCast(r0);\n s.tmp_0 = particles_ParticleFactory__C1337_v1_4_mk(s);\n r0 = s.arg0.fields[\"_factory\"];\n s.tmp_0.arg0 = r0;\n s.tmp_0.arg1 = s.arg1;\n r0 = s.arg1.fields[\"_x\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 - s.arg2);\n s.tmp_0.arg2 = r0;\n r0 = s.arg1.fields[\"_y\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - s.arg3);\n s.tmp_0.arg3 = r0;\n if (!checkSubtype(s.tmp_0.arg0, particles_ParticleFactory__C1337_VT)) failedCast(s.tmp_0.arg0);\n s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.drawParticle;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleSource_drawParticle__P1301.info = {\"start\":8123,\"length\":174,\"line\":275,\"column\":8,\"endLine\":277,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particles.ts\",\"functionName\":\"drawParticle\",\"argumentNames\":[\"this\",\"p\",\"screenLeft\",\"screenTop\"]}\n\nfunction particles_ParticleSource_drawParticle__P1301_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleSource_drawParticle__P1301, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction particles_ParticleFactory_drawParticle__P1339(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ParticleFactory__C1337_VT)) failedCast(r0);\n s.tmp_0 = r0 = globals.screen___464;\n r0 = (s.arg2 + 128);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 >> 8);\n s.tmp_1 = r0;\n r0 = (s.arg3 + 128);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 >> 8);\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.setPixel(s.tmp_0, s.tmp_1, s.tmp_3, 1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ParticleFactory_drawParticle__P1339.info = {\"start\":2265,\"length\":118,\"line\":85,\"column\":8,\"endLine\":87,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particlefactories.ts\",\"functionName\":\"drawParticle\",\"argumentNames\":[\"this\",\"particle\",\"x\",\"y\"]}\n\nfunction particles_ParticleFactory_drawParticle__P1339_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ParticleFactory_drawParticle__P1339, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction Sprite_toString__P656(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = pxsim_String_.mkEmpty();\n s.tmp_9 = r0;\n r0 = s.arg0.fields[\"id\"];\n s.tmp_11 = r0;\n if ((s.tmp_11) && (s.tmp_11).vtable) {\n setupResume(s, 1);\n pxsim_String__stringConv(s.tmp_11);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_11) + \"\"; }\n case 1:\n r0 = s.retval;\n s.tmp_10 = r0;\n r0 = pxsim_String__concat(s.tmp_9, s.tmp_10);\n s.tmp_8 = r0;\n r0 = pxsim_String__concat(s.tmp_8, \"(\");\n s.tmp_7 = r0;\n s.tmp_14 = Sprite_x__P609_mk(s);\n s.tmp_14.arg0 = s.arg0;\n s.pc = 2; return s.tmp_14;\n case 2:\n r0 = s.retval;\n s.tmp_13 = r0;\n if ((s.tmp_13) && (s.tmp_13).vtable) {\n setupResume(s, 3);\n pxsim_String__stringConv(s.tmp_13);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_13) + \"\"; }\n case 3:\n r0 = s.retval;\n s.tmp_12 = r0;\n r0 = pxsim_String__concat(s.tmp_7, s.tmp_12);\n s.tmp_6 = r0;\n r0 = pxsim_String__concat(s.tmp_6, \",\");\n s.tmp_5 = r0;\n s.tmp_17 = Sprite_y__P611_mk(s);\n s.tmp_17.arg0 = s.arg0;\n s.pc = 4; return s.tmp_17;\n case 4:\n r0 = s.retval;\n s.tmp_16 = r0;\n if ((s.tmp_16) && (s.tmp_16).vtable) {\n setupResume(s, 5);\n pxsim_String__stringConv(s.tmp_16);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_16) + \"\"; }\n case 5:\n r0 = s.retval;\n s.tmp_15 = r0;\n r0 = pxsim_String__concat(s.tmp_5, s.tmp_15);\n s.tmp_4 = r0;\n r0 = pxsim_String__concat(s.tmp_4, \")->(\");\n s.tmp_3 = r0;\n s.tmp_20 = Sprite_vx__P613_mk(s);\n s.tmp_20.arg0 = s.arg0;\n s.pc = 6; return s.tmp_20;\n case 6:\n r0 = s.retval;\n s.tmp_19 = r0;\n if ((s.tmp_19) && (s.tmp_19).vtable) {\n setupResume(s, 7);\n pxsim_String__stringConv(s.tmp_19);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_19) + \"\"; }\n case 7:\n r0 = s.retval;\n s.tmp_18 = r0;\n r0 = pxsim_String__concat(s.tmp_3, s.tmp_18);\n s.tmp_2 = r0;\n r0 = pxsim_String__concat(s.tmp_2, \",\");\n s.tmp_1 = r0;\n s.tmp_23 = Sprite_vy__P615_mk(s);\n s.tmp_23.arg0 = s.arg0;\n s.pc = 8; return s.tmp_23;\n case 8:\n r0 = s.retval;\n s.tmp_22 = r0;\n if ((s.tmp_22) && (s.tmp_22).vtable) {\n setupResume(s, 9);\n pxsim_String__stringConv(s.tmp_22);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_22) + \"\"; }\n case 9:\n r0 = s.retval;\n s.tmp_21 = r0;\n r0 = pxsim_String__concat(s.tmp_1, s.tmp_21);\n s.tmp_0 = r0;\n r0 = pxsim_String__concat(s.tmp_0, \")\");\n return leave(s, r0)\n default: oops()\n} } }\nSprite_toString__P656.info = {\"start\":28515,\"length\":93,\"line\":857,\"column\":4,\"endLine\":859,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"toString\",\"argumentNames\":[\"this\"]}\n\nfunction Sprite_toString__P656_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_toString__P656, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n tmp_12: undefined,\n tmp_13: undefined,\n tmp_14: undefined,\n tmp_15: undefined,\n tmp_16: undefined,\n tmp_17: undefined,\n tmp_18: undefined,\n tmp_19: undefined,\n tmp_20: undefined,\n tmp_21: undefined,\n tmp_22: undefined,\n tmp_23: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction Sprite___update__P645(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.bounce___12537 = undefined;\n s.tm___12541 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"lifespan\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 !== undefined);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 3; continue; }\n s.tmp_2 = r0 = s.arg0;\n r0 = s.tmp_2.fields[\"lifespan\"];\n s.tmp_4 = r0;\n r0 = (s.arg2 * 1000);\n s.tmp_5 = r0;\n r0 = (s.tmp_4 - s.tmp_5);\n s.tmp_3 = r0;\n r0 = (s.tmp_2).fields[\"lifespan\"] = (s.tmp_3);\n r0 = s.arg0.fields[\"lifespan\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 <= 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = (s.arg0).fields[\"lifespan\"] = (undefined);\n s.tmp_0 = Sprite__destroyCore__P654_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.pc = 33; return s.tmp_0;\n case 33:\n r0 = s.retval;\n case 1:\n case 2:\n case 3:\n case 4:\n r0 = s.arg0.fields[\"flags\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 & 4);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (r0) { step = 5; continue; }\n r0 = s.tmp_0;\n { step = 6; continue; }\n case 5:\n s.tmp_2 = Sprite_isOutOfScreen__P643_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.tmp_2.arg1 = s.arg1;\n s.pc = 34; return s.tmp_2;\n case 34:\n r0 = s.retval;\n case 6:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 7; continue; }\n s.tmp_4 = Sprite_destroy__P653_mk(s);\n s.tmp_4.arg0 = s.arg0;\n s.tmp_4.arg1 = undefined;\n s.tmp_4.arg2 = undefined;\n s.pc = 35; return s.tmp_4;\n case 35:\n r0 = s.retval;\n case 7:\n case 8:\n r0 = s.arg0.fields[\"flags\"];\n s.tmp_0 = r0;\n r0 = (s.tmp_0 & 32);\n s.bounce___12537 = (r0);\n s.tmp_0 = game_currentScene__P769_mk(s);\n s.pc = 36; return s.tmp_0;\n case 36:\n r0 = s.retval;\n r0 = r0.fields[\"tileMap\"];\n s.tm___12541 = (r0);\n r0 = s.arg0.fields[\"flags\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 & 8);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 9; continue; }\n r0 = s.tmp_0;\n { step = 12; continue; }\n case 9:\n s.tmp_2 = r0 = s.bounce___12537;\n r0 = pxsim_numops_toBool(s.tmp_2);\n if (r0) { step = 10; continue; }\n r0 = s.tmp_2;\n { step = 11; continue; }\n case 10:\n r0 = pxsim_numops_toBoolDecr(s.tm___12541);\n s.tmp_3 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_3);\n case 11:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n r0 = s.tmp_4;\n case 12:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_5);\n if (!r0) { step = 29; continue; }\n s.tmp_8 = Sprite_left__P629_mk(s);\n s.tmp_8.arg0 = s.arg0;\n s.pc = 37; return s.tmp_8;\n case 37:\n r0 = s.retval;\n s.tmp_7 = r0;\n r0 = s.arg1.fields[\"offsetX\"];\n s.tmp_9 = r0;\n r0 = (s.tmp_7 < s.tmp_9);\n s.tmp_6 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_6);\n if (!r0) { step = 15; continue; }\n s.tmp_10 = Sprite_left__P630_mk(s);\n s.tmp_10.arg0 = s.arg0;\n r0 = s.arg1.fields[\"offsetX\"];\n s.tmp_10.arg1 = r0;\n s.pc = 38; return s.tmp_10;\n case 38:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(s.bounce___12537);\n if (!r0) { step = 13; continue; }\n s.tmp_0 = Sprite_vx__P614_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_2 = Sprite_vx__P613_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 40; return s.tmp_2;\n case 40:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (0 - s.tmp_1);\n s.tmp_0.arg1 = r0;\n s.pc = 39; return s.tmp_0;\n case 39:\n r0 = s.retval;\n case 13:\n case 14:\n { step = 20; continue; }\n case 15:\n s.tmp_2 = Sprite_right__P631_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 41; return s.tmp_2;\n case 41:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = s.arg1.fields[\"offsetX\"];\n s.tmp_4 = r0;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_5 = r0;\n r0 = (s.tmp_4 + s.tmp_5);\n s.tmp_3 = r0;\n r0 = (s.tmp_1 > s.tmp_3);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 18; continue; }\n s.tmp_6 = Sprite_right__P632_mk(s);\n s.tmp_6.arg0 = s.arg0;\n r0 = s.arg1.fields[\"offsetX\"];\n s.tmp_7 = r0;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_8 = r0;\n r0 = (s.tmp_7 + s.tmp_8);\n s.tmp_6.arg1 = r0;\n s.pc = 42; return s.tmp_6;\n case 42:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(s.bounce___12537);\n if (!r0) { step = 16; continue; }\n s.tmp_0 = Sprite_vx__P614_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_2 = Sprite_vx__P613_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 44; return s.tmp_2;\n case 44:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (0 - s.tmp_1);\n s.tmp_0.arg1 = r0;\n s.pc = 43; return s.tmp_0;\n case 43:\n r0 = s.retval;\n case 16:\n case 17:\n case 18:\n case 19:\n case 20:\n s.tmp_2 = Sprite_top__P633_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 45; return s.tmp_2;\n case 45:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = s.arg1.fields[\"offsetY\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_1 < s.tmp_3);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 23; continue; }\n s.tmp_4 = Sprite_top__P634_mk(s);\n s.tmp_4.arg0 = s.arg0;\n r0 = s.arg1.fields[\"offsetY\"];\n s.tmp_4.arg1 = r0;\n s.pc = 46; return s.tmp_4;\n case 46:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(s.bounce___12537);\n if (!r0) { step = 21; continue; }\n s.tmp_0 = Sprite_vy__P616_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_2 = Sprite_vy__P615_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 48; return s.tmp_2;\n case 48:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (0 - s.tmp_1);\n s.tmp_0.arg1 = r0;\n s.pc = 47; return s.tmp_0;\n case 47:\n r0 = s.retval;\n case 21:\n case 22:\n { step = 28; continue; }\n case 23:\n s.tmp_2 = Sprite_bottom__P635_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 49; return s.tmp_2;\n case 49:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = s.arg1.fields[\"offsetY\"];\n s.tmp_4 = r0;\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n s.tmp_5 = r0;\n r0 = (s.tmp_4 + s.tmp_5);\n s.tmp_3 = r0;\n r0 = (s.tmp_1 > s.tmp_3);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 26; continue; }\n s.tmp_6 = Sprite_bottom__P636_mk(s);\n s.tmp_6.arg0 = s.arg0;\n r0 = s.arg1.fields[\"offsetY\"];\n s.tmp_7 = r0;\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n s.tmp_8 = r0;\n r0 = (s.tmp_7 + s.tmp_8);\n s.tmp_6.arg1 = r0;\n s.pc = 50; return s.tmp_6;\n case 50:\n r0 = s.retval;\n r0 = pxsim_numops_toBoolDecr(s.bounce___12537);\n if (!r0) { step = 24; continue; }\n s.tmp_0 = Sprite_vy__P616_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_2 = Sprite_vy__P615_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 52; return s.tmp_2;\n case 52:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (0 - s.tmp_1);\n s.tmp_0.arg1 = r0;\n s.pc = 51; return s.tmp_0;\n case 51:\n r0 = s.retval;\n case 24:\n case 25:\n case 26:\n case 27:\n case 28:\n case 29:\n case 30:\n r0 = s.arg0.fields[\"updateSay\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 31; continue; }\n s.tmp_1 = lambda_3_mk(s);\n r0 = s.arg0.fields[\"updateSay\"];\n s.tmp_1.argL = r0;\n s.tmp_1.arg0 = s.arg2;\n s.tmp_1.arg1 = s.arg1;\n setupLambda(s.tmp_1, s.tmp_1.argL);\n s.pc = 53; return s.tmp_1;\n case 53:\n r0 = s.retval;\n case 31:\n case 32:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite___update__P645.info = {\"start\":20356,\"length\":1390,\"line\":624,\"column\":4,\"endLine\":663,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"__update\",\"argumentNames\":[\"this\",\"camera\",\"dt\"]}\n\nfunction Sprite___update__P645_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite___update__P645, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n bounce___12537: undefined,\n tm___12541: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction Sprite_isOutOfScreen__P643(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.ox___12610 = undefined;\n s.oy___12613 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg1.fields[\"offsetX\"];\n s.ox___12610 = (r0);\n r0 = s.arg1.fields[\"offsetY\"];\n s.oy___12613 = (r0);\n s.tmp_3 = Sprite_right__P631_mk(s);\n s.tmp_3.arg0 = s.arg0;\n s.pc = 7; return s.tmp_3;\n case 7:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (s.tmp_2 - s.ox___12610);\n s.tmp_1 = r0;\n r0 = (s.tmp_1 < 0);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n s.tmp_6 = Sprite_bottom__P635_mk(s);\n s.tmp_6.arg0 = s.arg0;\n s.pc = 8; return s.tmp_6;\n case 8:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = (s.tmp_5 - s.oy___12613);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 < 0);\n case 2:\n // jmp value (already in r0)\n s.tmp_7 = r0;\n r0 = pxsim_numops_toBool(s.tmp_7);\n if (!r0) { step = 3; continue; }\n r0 = s.tmp_7;\n { step = 4; continue; }\n case 3:\n s.tmp_10 = Sprite_left__P629_mk(s);\n s.tmp_10.arg0 = s.arg0;\n s.pc = 9; return s.tmp_10;\n case 9:\n r0 = s.retval;\n s.tmp_9 = r0;\n r0 = (s.tmp_9 - s.ox___12610);\n s.tmp_8 = r0;\n r0 = pxsim_ImageMethods.width(globals.screen___464);\n s.tmp_11 = r0;\n r0 = (s.tmp_8 > s.tmp_11);\n case 4:\n // jmp value (already in r0)\n s.tmp_12 = r0;\n r0 = pxsim_numops_toBool(s.tmp_12);\n if (!r0) { step = 5; continue; }\n r0 = s.tmp_12;\n { step = 6; continue; }\n case 5:\n s.tmp_15 = Sprite_top__P633_mk(s);\n s.tmp_15.arg0 = s.arg0;\n s.pc = 10; return s.tmp_15;\n case 10:\n r0 = s.retval;\n s.tmp_14 = r0;\n r0 = (s.tmp_14 - s.oy___12613);\n s.tmp_13 = r0;\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n s.tmp_16 = r0;\n r0 = (s.tmp_13 > s.tmp_16);\n case 6:\n // jmp value (already in r0)\n s.tmp_17 = r0;\n r0 = s.tmp_17;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_isOutOfScreen__P643.info = {\"start\":18834,\"length\":248,\"line\":582,\"column\":4,\"endLine\":586,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"isOutOfScreen\",\"argumentNames\":[\"this\",\"camera\"]}\n\nfunction Sprite_isOutOfScreen__P643_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_isOutOfScreen__P643, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n tmp_12: undefined,\n tmp_13: undefined,\n tmp_14: undefined,\n tmp_15: undefined,\n tmp_16: undefined,\n tmp_17: undefined,\n ox___12610: undefined,\n oy___12613: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_right__P632(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_0 = Sprite_left__P630_mk(s);\n s.tmp_0.arg0 = s.arg0;\n s.tmp_1 = r0 = s.arg1;\n r0 = s.arg0.fields[\"_image\"];\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 - s.tmp_2);\n s.tmp_0.arg1 = r0;\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_right__P632.info = {\"start\":8248,\"length\":71,\"line\":295,\"column\":4,\"endLine\":297,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"right\",\"argumentNames\":[\"this\",\"value\"]}\n\nfunction Sprite_right__P632_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_right__P632, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_data__P622(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"_data\"] = (s.arg1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite_data__P622.info = {\"start\":3261,\"length\":56,\"line\":127,\"column\":4,\"endLine\":129,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"data\",\"argumentNames\":[\"this\",\"value\"]}\n\nfunction Sprite_data__P622_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_data__P622, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite_data__P621(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_data\"];\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_3 = r0 = s.arg0;\n r0 = pxsim_pxtrt.mkMap();\n s.tmp_4 = r0;\n r0 = (s.tmp_3).fields[\"_data\"] = (s.tmp_4);\n case 1:\n case 2:\n r0 = s.arg0.fields[\"_data\"];\n return leave(s, r0)\n default: oops()\n} } }\nSprite_data__P621.info = {\"start\":3163,\"length\":92,\"line\":122,\"column\":4,\"endLine\":125,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"data\",\"argumentNames\":[\"this\"]}\n\nfunction Sprite_data__P621_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite_data__P621, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction sprites_BaseSprite___update__P514(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_BaseSprite__C508_VT)) failedCast(r0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_BaseSprite___update__P514.info = {\"start\":1027,\"length\":46,\"line\":45,\"column\":8,\"endLine\":45,\"endColumn\":54,\"fileName\":\"pxt_modules/game/basesprite.ts\",\"functionName\":\"__update\",\"argumentNames\":[\"this\",\"camera\",\"dt\"]}\n\nfunction sprites_BaseSprite___update__P514_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_BaseSprite___update__P514, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\n\n\n\nfunction sprites_BaseSprite___draw__P512(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_BaseSprite__C508_VT)) failedCast(r0);\n s.tmp_1 = sprites_BaseSprite__C508_v0_1_mk(s);\n s.tmp_1.arg0 = s.arg0;\n if (!checkSubtype(s.tmp_1.arg0, sprites_BaseSprite__C508_VT)) failedCast(s.tmp_1.arg0);\n s.tmp_1.fn = s.tmp_1.arg0.vtable.methods.__visible;\n s.pc = 3; return s.tmp_1;\n case 3:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n s.tmp_2 = sprites_BaseSprite__C508_v2_2_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.tmp_2.arg1 = s.arg1;\n if (!checkSubtype(s.tmp_2.arg0, sprites_BaseSprite__C508_VT)) failedCast(s.tmp_2.arg0);\n s.tmp_2.fn = s.tmp_2.arg0.vtable.methods.__drawCore;\n s.pc = 4; return s.tmp_2;\n case 4:\n r0 = s.retval;\n case 1:\n case 2:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_BaseSprite___draw__P512.info = {\"start\":840,\"length\":131,\"line\":37,\"column\":8,\"endLine\":41,\"endColumn\":9,\"fileName\":\"pxt_modules/game/basesprite.ts\",\"functionName\":\"__draw\",\"argumentNames\":[\"this\",\"camera\"]}\n\nfunction sprites_BaseSprite___draw__P512_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_BaseSprite___draw__P512, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction sprites_BaseSprite___drawCore__P513(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_BaseSprite__C508_VT)) failedCast(r0);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_BaseSprite___drawCore__P513.info = {\"start\":981,\"length\":36,\"line\":43,\"column\":8,\"endLine\":43,\"endColumn\":44,\"fileName\":\"pxt_modules/game/basesprite.ts\",\"functionName\":\"__drawCore\",\"argumentNames\":[\"this\",\"camera\"]}\n\nfunction sprites_BaseSprite___drawCore__P513_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_BaseSprite___drawCore__P513, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction sprites_BaseSprite___visible__P509(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_BaseSprite__C508_VT)) failedCast(r0);\n r0 = true;\n return leave(s, r0)\n default: oops()\n} } }\nsprites_BaseSprite___visible__P509.info = {\"start\":524,\"length\":57,\"line\":22,\"column\":8,\"endLine\":24,\"endColumn\":9,\"fileName\":\"pxt_modules/game/basesprite.ts\",\"functionName\":\"__visible\",\"argumentNames\":[\"this\"]}\n\nfunction sprites_BaseSprite___visible__P509_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_BaseSprite___visible__P509, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction controller_Button_toString__P539(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, controller_Button__C538_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"_pressed\"];\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = \"down\";\n { step = 2; continue; }\n case 1:\n r0 = \"up\";\n case 2:\n // jmp value (already in r0)\n s.tmp_1 = r0;\n r0 = s.arg0.fields[\"id\"];\n s.tmp_7 = r0;\n if ((s.tmp_7) && (s.tmp_7).vtable) {\n setupResume(s, 3);\n pxsim_String__stringConv(s.tmp_7);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_7) + \"\"; }\n case 3:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = pxsim_String__concat(\"btn \", s.tmp_6);\n s.tmp_5 = r0;\n r0 = pxsim_String__concat(s.tmp_5, \" \");\n s.tmp_4 = r0;\n r0 = s.arg0.fields[\"_buttonId\"];\n s.tmp_9 = r0;\n if ((s.tmp_9) && (s.tmp_9).vtable) {\n setupResume(s, 4);\n pxsim_String__stringConv(s.tmp_9);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_9) + \"\"; }\n case 4:\n r0 = s.retval;\n s.tmp_8 = r0;\n r0 = pxsim_String__concat(s.tmp_4, s.tmp_8);\n s.tmp_3 = r0;\n r0 = pxsim_String__concat(s.tmp_3, \" \");\n s.tmp_2 = r0;\n if ((s.tmp_1) && (s.tmp_1).vtable) {\n setupResume(s, 5);\n pxsim_String__stringConv(s.tmp_1);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_1) + \"\"; }\n case 5:\n r0 = s.retval;\n s.tmp_10 = r0;\n r0 = pxsim_String__concat(s.tmp_2, s.tmp_10);\n return leave(s, r0)\n default: oops()\n} } }\ncontroller_Button_toString__P539.info = {\"start\":1226,\"length\":118,\"line\":56,\"column\":8,\"endLine\":58,\"endColumn\":9,\"fileName\":\"pxt_modules/game/controller.ts\",\"functionName\":\"toString\",\"argumentNames\":[\"this\"]}\n\nfunction controller_Button_toString__P539_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: controller_Button_toString__P539, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction sprites_StaticObstacle_width__P704(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_StaticObstacle__C700_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"image\"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\nsprites_StaticObstacle_width__P704.info = {\"start\":1084,\"length\":68,\"line\":48,\"column\":8,\"endLine\":50,\"endColumn\":9,\"fileName\":\"pxt_modules/game/obstacle.ts\",\"functionName\":\"width\",\"argumentNames\":[\"this\"]}\n\nfunction sprites_StaticObstacle_width__P704_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_StaticObstacle_width__P704, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction sprites_StaticObstacle_height__P703(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_StaticObstacle__C700_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"image\"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\nsprites_StaticObstacle_height__P703.info = {\"start\":1004,\"length\":70,\"line\":44,\"column\":8,\"endLine\":46,\"endColumn\":9,\"fileName\":\"pxt_modules/game/obstacle.ts\",\"functionName\":\"height\",\"argumentNames\":[\"this\"]}\n\nfunction sprites_StaticObstacle_height__P703_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_StaticObstacle_height__P703, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction sprites_StaticObstacle_y__P702(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_StaticObstacle__C700_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"top\"];\n s.tmp_1 = r0;\n r0 = s.arg0.fields[\"image\"];\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.height(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 + s.tmp_2);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 >> 1);\n return leave(s, r0)\n default: oops()\n} } }\nsprites_StaticObstacle_y__P702.info = {\"start\":919,\"length\":75,\"line\":40,\"column\":8,\"endLine\":42,\"endColumn\":9,\"fileName\":\"pxt_modules/game/obstacle.ts\",\"functionName\":\"y\",\"argumentNames\":[\"this\"]}\n\nfunction sprites_StaticObstacle_y__P702_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_StaticObstacle_y__P702, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction sprites_StaticObstacle_x__P701(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, sprites_StaticObstacle__C700_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"left\"];\n s.tmp_1 = r0;\n r0 = s.arg0.fields[\"image\"];\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.width(s.tmp_3);\n s.tmp_2 = r0;\n r0 = (s.tmp_1 + s.tmp_2);\n s.tmp_0 = r0;\n r0 = (s.tmp_0 >> 1);\n return leave(s, r0)\n default: oops()\n} } }\nsprites_StaticObstacle_x__P701.info = {\"start\":834,\"length\":75,\"line\":36,\"column\":8,\"endLine\":38,\"endColumn\":9,\"fileName\":\"pxt_modules/game/obstacle.ts\",\"functionName\":\"x\",\"argumentNames\":[\"this\"]}\n\nfunction sprites_StaticObstacle_x__P701_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: sprites_StaticObstacle_x__P701, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction animation_PathNode_constructor__P1518(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, animation_PathNode__C1514_VT)) failedCast(r0);\n r0 = (s.arg0).fields[\"setStart\"] = (false);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nanimation_PathNode_constructor__P1518.info = {\"start\":13061,\"length\":60,\"line\":306,\"column\":8,\"endLine\":308,\"endColumn\":9,\"fileName\":\"pxt_modules/animation/animation.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\"]}\n\nfunction animation_PathNode_constructor__P1518_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: animation_PathNode_constructor__P1518, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction animation_Path_constructor__P1513(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, animation_Path__C1506_VT)) failedCast(r0);\n s.tmp_0 = r0 = s.arg0;\n r0 = pxsim_Array__mk();\n s.tmp_1 = r0;\n r0 = (s.tmp_0).fields[\"nodes\"] = (s.tmp_1);\n r0 = (s.arg0).fields[\"lastNode\"] = (-1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nanimation_Path_constructor__P1513.info = {\"start\":785,\"length\":86,\"line\":32,\"column\":8,\"endLine\":35,\"endColumn\":9,\"fileName\":\"pxt_modules/animation/animation.ts\",\"functionName\":\"inline\",\"argumentNames\":[\"this\"]}\n\nfunction animation_Path_constructor__P1513_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: animation_Path_constructor__P1513, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction scene_Renderable___drawCore__P893(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Renderable__C890_VT)) failedCast(r0);\n s.tmp_0 = lambda_3_mk(s);\n r0 = s.arg0.fields[\"handler\"];\n s.tmp_0.argL = r0;\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_0.arg1 = s.arg1;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nscene_Renderable___drawCore__P893.info = {\"start\":390,\"length\":86,\"line\":14,\"column\":8,\"endLine\":16,\"endColumn\":9,\"fileName\":\"pxt_modules/game/renderable.ts\",\"functionName\":\"__drawCore\",\"argumentNames\":[\"this\",\"camera\"]}\n\nfunction scene_Renderable___drawCore__P893_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Renderable___drawCore__P893, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction scene_Renderable___visible__P892(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, scene_Renderable__C890_VT)) failedCast(r0);\n s.tmp_0 = lambda_1_mk(s);\n r0 = s.arg0.fields[\"shouldBeVisible\"];\n s.tmp_0.argL = r0;\n setupLambda(s.tmp_0, s.tmp_0.argL);\n s.pc = 1; return s.tmp_0;\n case 1:\n r0 = s.retval;\n return leave(s, r0)\n default: oops()\n} } }\nscene_Renderable___visible__P892.info = {\"start\":305,\"length\":75,\"line\":10,\"column\":8,\"endLine\":12,\"endColumn\":9,\"fileName\":\"pxt_modules/game/renderable.ts\",\"functionName\":\"__visible\",\"argumentNames\":[\"this\"]}\n\nfunction scene_Renderable___visible__P892_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: scene_Renderable___visible__P892, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction effects_SceneAnchor_height__P1412(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, effects_SceneAnchor__C1408_VT)) failedCast(r0);\n r0 = pxsim_ImageMethods.height(globals.screen___464);\n return leave(s, r0)\n default: oops()\n} } }\neffects_SceneAnchor_height__P1412.info = {\"start\":2494,\"length\":58,\"line\":70,\"column\":8,\"endLine\":72,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particleeffects.ts\",\"functionName\":\"height\",\"argumentNames\":[\"this\"]}\n\nfunction effects_SceneAnchor_height__P1412_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: effects_SceneAnchor_height__P1412, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n arg0: undefined,\n} }\n\n\n\n\n\nfunction particles_ShapeFactory_drawParticle__P1361(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.pImage___12707 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_ShapeFactory__C1358_VT)) failedCast(r0);\n s.tmp_1 = Math_FastRandom_pickRandom__P1159_mk(s);\n r0 = s.arg0.fields[\"galois\"];\n s.tmp_1.arg0 = r0;\n r0 = s.arg0.fields[\"sources\"];\n s.tmp_1.arg1 = r0;\n s.pc = 1; return s.tmp_1;\n case 1:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.clone(s.tmp_0);\n s.pImage___12707 = (r0);\n r0 = s.arg1.fields[\"color\"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.replace(s.pImage___12707, 15, s.tmp_0);\n s.tmp_0 = r0 = globals.screen___464;\n s.tmp_1 = r0 = s.pImage___12707;\n r0 = s.arg0.fields[\"ox\"];\n s.tmp_4 = r0;\n r0 = (s.arg2 - s.tmp_4);\n s.tmp_3 = r0;\n r0 = (s.tmp_3 + 128);\n s.tmp_5 = r0;\n r0 = (s.tmp_5 >> 8);\n s.tmp_2 = r0;\n r0 = s.arg0.fields[\"oy\"];\n s.tmp_8 = r0;\n r0 = (s.arg3 - s.tmp_8);\n s.tmp_7 = r0;\n r0 = (s.tmp_7 + 128);\n s.tmp_9 = r0;\n r0 = (s.tmp_9 >> 8);\n s.tmp_6 = r0;\n r0 = pxsim_ImageMethods.drawTransparentImage(s.tmp_0, s.tmp_1, s.tmp_2, s.tmp_6);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_ShapeFactory_drawParticle__P1361.info = {\"start\":7172,\"length\":323,\"line\":229,\"column\":8,\"endLine\":237,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particlefactories.ts\",\"functionName\":\"drawParticle\",\"argumentNames\":[\"this\",\"p\",\"x\",\"y\"]}\n\nfunction particles_ShapeFactory_drawParticle__P1361_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_ShapeFactory_drawParticle__P1361, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n pImage___12707: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction Math_FastRandom_pickRandom__P1159(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Math_FastRandom__C1156_VT)) failedCast(r0);\n r0 = pxsim_numops_toBoolDecr(s.arg1);\n s.tmp_1 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = s.tmp_0;\n { step = 2; continue; }\n case 1:\n r0 = pxsim_Array__length(s.arg1);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 == 0);\n case 2:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 3; continue; }\n r0 = undefined;\n { step = 5; continue; }\n case 3:\n case 4:\n s.tmp_4 = r0 = s.arg1;\n s.tmp_6 = Math_FastRandom_randomRange__P1158_mk(s);\n s.tmp_6.arg0 = s.arg0;\n s.tmp_6.arg1 = 0;\n r0 = pxsim_Array__length(s.arg1);\n s.tmp_7 = r0;\n r0 = (s.tmp_7 - 1);\n s.tmp_6.arg2 = r0;\n s.pc = 6; return s.tmp_6;\n case 6:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = pxsim_Array__getAt(s.tmp_4, s.tmp_5);\n case 5:\n return leave(s, r0)\n default: oops()\n} } }\nMath_FastRandom_pickRandom__P1159.info = {\"start\":2325,\"length\":192,\"line\":69,\"column\":8,\"endLine\":74,\"endColumn\":9,\"fileName\":\"pxt_modules/game/mathUtil.ts\",\"functionName\":\"pickRandom\",\"argumentNames\":[\"this\",\"list\"]}\n\nfunction Math_FastRandom_pickRandom__P1159_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Math_FastRandom_pickRandom__P1159, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction particles_AreaFactory_drawParticle__P1351(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.col___12750 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_AreaFactory__C1348_VT)) failedCast(r0);\n r0 = s.arg1.fields[\"lifespan\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 > 500);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n r0 = 4;\n { step = 4; continue; }\n case 1:\n r0 = s.arg1.fields[\"lifespan\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_3 > 250);\n s.tmp_2 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_2);\n if (!r0) { step = 2; continue; }\n r0 = 5;\n { step = 3; continue; }\n case 2:\n r0 = 1;\n case 3:\n // jmp value (already in r0)\n s.tmp_4 = r0;\n r0 = s.tmp_4;\n case 4:\n // jmp value (already in r0)\n s.tmp_5 = r0;\n s.col___12750 = (s.tmp_5);\n s.tmp_0 = r0 = globals.screen___464;\n r0 = (s.arg2 + 128);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 >> 8);\n s.tmp_1 = r0;\n r0 = (s.arg3 + 128);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 >> 8);\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.setPixel(s.tmp_0, s.tmp_1, s.tmp_3, s.col___12750);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_AreaFactory_drawParticle__P1351.info = {\"start\":4770,\"length\":222,\"line\":158,\"column\":8,\"endLine\":163,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particlefactories.ts\",\"functionName\":\"drawParticle\",\"argumentNames\":[\"this\",\"p\",\"x\",\"y\"]}\n\nfunction particles_AreaFactory_drawParticle__P1351_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_AreaFactory_drawParticle__P1351, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n col___12750: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction particles_SprayFactory_drawParticle__P1344(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.arg2 = (s.lambdaArgs[2]);\n s.arg3 = (s.lambdaArgs[3]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, particles_SprayFactory__C1341_VT)) failedCast(r0);\n s.tmp_0 = r0 = globals.screen___464;\n r0 = (s.arg2 + 128);\n s.tmp_2 = r0;\n r0 = (s.tmp_2 >> 8);\n s.tmp_1 = r0;\n r0 = (s.arg3 + 128);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 >> 8);\n s.tmp_3 = r0;\n r0 = pxsim_ImageMethods.setPixel(s.tmp_0, s.tmp_1, s.tmp_3, 1);\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nparticles_SprayFactory_drawParticle__P1344.info = {\"start\":3194,\"length\":118,\"line\":115,\"column\":8,\"endLine\":117,\"endColumn\":9,\"fileName\":\"pxt_modules/game/particlefactories.ts\",\"functionName\":\"drawParticle\",\"argumentNames\":[\"this\",\"particle\",\"x\",\"y\"]}\n\nfunction particles_SprayFactory_drawParticle__P1344_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: particles_SprayFactory_drawParticle__P1344, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\n\n\n\nfunction Sprite___drawCore__P644(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n s.l___12787 = undefined;\n s.t___12791 = undefined;\n s.font___12806 = undefined;\n s.margin___12808 = undefined;\n s.tx___12809 = undefined;\n s.ty___12811 = undefined;\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.arg1 = (s.lambdaArgs[1]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n s.tmp_1 = Sprite_isOutOfScreen__P643_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.tmp_1.arg1 = s.arg1;\n s.pc = 16; return s.tmp_1;\n case 16:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 1; continue; }\n { step = 15; continue; }\n case 1:\n case 2:\n s.tmp_3 = Sprite_left__P629_mk(s);\n s.tmp_3.arg0 = s.arg0;\n s.pc = 17; return s.tmp_3;\n case 17:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = s.arg1.fields[\"drawOffsetX\"];\n s.tmp_4 = r0;\n r0 = (s.tmp_2 - s.tmp_4);\n s.l___12787 = (r0);\n s.tmp_1 = Sprite_top__P633_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.pc = 18; return s.tmp_1;\n case 18:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = s.arg1.fields[\"drawOffsetY\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_0 - s.tmp_2);\n s.t___12791 = (r0);\n r0 = s.arg0.fields[\"_image\"];\n s.tmp_0 = r0;\n r0 = pxsim_ImageMethods.drawTransparentImage(globals.screen___464, s.tmp_0, s.l___12787, s.t___12791);\n r0 = s.arg0.fields[\"flags\"];\n s.tmp_1 = r0;\n r0 = (s.tmp_1 & 64);\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_0);\n if (!r0) { step = 11; continue; }\n s.font___12806 = (globals.font5___428);\n s.margin___12808 = (2);\n s.tx___12809 = (s.l___12787);\n s.tmp_2 = Sprite_bottom__P635_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 19; return s.tmp_2;\n case 19:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_1 + s.margin___12808);\n s.tmp_0 = r0;\n r0 = s.arg1.fields[\"drawOffsetY\"];\n s.tmp_3 = r0;\n r0 = (s.tmp_0 - s.tmp_3);\n s.ty___12811 = (r0);\n s.tmp_0 = helpers_imagePrint__P432_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n r0 = pxsim_String_.mkEmpty();\n s.tmp_3 = r0;\n s.tmp_7 = Sprite_x__P609_mk(s);\n s.tmp_7.arg0 = s.arg0;\n s.pc = 21; return s.tmp_7;\n case 21:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = (s.tmp_6 >> 0);\n s.tmp_5 = r0;\n if ((s.tmp_5) && (s.tmp_5).vtable) {\n setupResume(s, 22);\n pxsim_String__stringConv(s.tmp_5);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_5) + \"\"; }\n case 22:\n r0 = s.retval;\n s.tmp_4 = r0;\n r0 = pxsim_String__concat(s.tmp_3, s.tmp_4);\n s.tmp_2 = r0;\n r0 = pxsim_String__concat(s.tmp_2, \",\");\n s.tmp_1 = r0;\n s.tmp_11 = Sprite_y__P611_mk(s);\n s.tmp_11.arg0 = s.arg0;\n s.pc = 23; return s.tmp_11;\n case 23:\n r0 = s.retval;\n s.tmp_10 = r0;\n r0 = (s.tmp_10 >> 0);\n s.tmp_9 = r0;\n if ((s.tmp_9) && (s.tmp_9).vtable) {\n setupResume(s, 24);\n pxsim_String__stringConv(s.tmp_9);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_9) + \"\"; }\n case 24:\n r0 = s.retval;\n s.tmp_8 = r0;\n r0 = pxsim_String__concat(s.tmp_1, s.tmp_8);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = s.tx___12809;\n s.tmp_0.arg3 = s.ty___12811;\n s.tmp_0.arg4 = 1;\n s.tmp_0.arg5 = s.font___12806;\n s.tmp_0.arg6 = undefined;\n s.pc = 20; return s.tmp_0;\n case 20:\n r0 = s.retval;\n s.tmp_0 = r0 = s.tx___12809;\n s.tmp_2 = if_charWidth_1_mk(s);\n s.tmp_2.arg0 = s.font___12806;\n if (!s.tmp_2.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, \"charWidth\");\n } else {\n s.tmp_2.fn = s.tmp_2.arg0.vtable.iface[\"charWidth\"];\n if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields[\"charWidth\"]; }\n else { s.pc = 25; return s.tmp_2; }\n }\n case 25:\n r0 = s.retval;\n s.tmp_1 = r0;\n r0 = (s.tmp_0 - s.tmp_1);\n s.tx___12809 = (r0);\n s.tmp_1 = Sprite_vx__P613_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.pc = 26; return s.tmp_1;\n case 26:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 3; continue; }\n r0 = s.tmp_0;\n { step = 4; continue; }\n case 3:\n s.tmp_2 = Sprite_vy__P615_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 27; return s.tmp_2;\n case 27:\n r0 = s.retval;\n case 4:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 5; continue; }\n s.tmp_4 = r0 = s.ty___12811;\n s.tmp_7 = if_charHeight_1_mk(s);\n s.tmp_7.arg0 = s.font___12806;\n if (!s.tmp_7.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_7.arg0, \"charHeight\");\n } else {\n s.tmp_7.fn = s.tmp_7.arg0.vtable.iface[\"charHeight\"];\n if (s.tmp_7.fn == null) { s.retval = s.tmp_7.arg0.fields[\"charHeight\"]; }\n else { s.pc = 28; return s.tmp_7; }\n }\n case 28:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = (s.tmp_6 + s.margin___12808);\n s.tmp_5 = r0;\n r0 = (s.tmp_4 + s.tmp_5);\n s.ty___12811 = (r0);\n s.tmp_0 = helpers_imagePrint__P432_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_6 = Sprite_vx__P613_mk(s);\n s.tmp_6.arg0 = s.arg0;\n s.pc = 30; return s.tmp_6;\n case 30:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = (s.tmp_5 >> 0);\n s.tmp_4 = r0;\n if ((s.tmp_4) && (s.tmp_4).vtable) {\n setupResume(s, 31);\n pxsim_String__stringConv(s.tmp_4);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_4) + \"\"; }\n case 31:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = pxsim_String__concat(\"v\", s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_String__concat(s.tmp_2, \",\");\n s.tmp_1 = r0;\n s.tmp_10 = Sprite_vy__P615_mk(s);\n s.tmp_10.arg0 = s.arg0;\n s.pc = 32; return s.tmp_10;\n case 32:\n r0 = s.retval;\n s.tmp_9 = r0;\n r0 = (s.tmp_9 >> 0);\n s.tmp_8 = r0;\n if ((s.tmp_8) && (s.tmp_8).vtable) {\n setupResume(s, 33);\n pxsim_String__stringConv(s.tmp_8);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_8) + \"\"; }\n case 33:\n r0 = s.retval;\n s.tmp_7 = r0;\n r0 = pxsim_String__concat(s.tmp_1, s.tmp_7);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = s.tx___12809;\n s.tmp_0.arg3 = s.ty___12811;\n s.tmp_0.arg4 = 1;\n s.tmp_0.arg5 = s.font___12806;\n s.tmp_0.arg6 = undefined;\n s.pc = 29; return s.tmp_0;\n case 29:\n r0 = s.retval;\n case 5:\n case 6:\n s.tmp_1 = Sprite_ax__P617_mk(s);\n s.tmp_1.arg0 = s.arg0;\n s.pc = 34; return s.tmp_1;\n case 34:\n r0 = s.retval;\n s.tmp_0 = r0;\n r0 = pxsim_numops_toBool(s.tmp_0);\n if (!r0) { step = 7; continue; }\n r0 = s.tmp_0;\n { step = 8; continue; }\n case 7:\n s.tmp_2 = Sprite_ay__P619_mk(s);\n s.tmp_2.arg0 = s.arg0;\n s.pc = 35; return s.tmp_2;\n case 35:\n r0 = s.retval;\n case 8:\n // jmp value (already in r0)\n s.tmp_3 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_3);\n if (!r0) { step = 9; continue; }\n s.tmp_4 = r0 = s.ty___12811;\n s.tmp_7 = if_charHeight_1_mk(s);\n s.tmp_7.arg0 = s.font___12806;\n if (!s.tmp_7.arg0.vtable.iface) {\n s.retval = pxsim_pxtrt.mapGetByString(s.tmp_7.arg0, \"charHeight\");\n } else {\n s.tmp_7.fn = s.tmp_7.arg0.vtable.iface[\"charHeight\"];\n if (s.tmp_7.fn == null) { s.retval = s.tmp_7.arg0.fields[\"charHeight\"]; }\n else { s.pc = 36; return s.tmp_7; }\n }\n case 36:\n r0 = s.retval;\n s.tmp_6 = r0;\n r0 = (s.tmp_6 + s.margin___12808);\n s.tmp_5 = r0;\n r0 = (s.tmp_4 + s.tmp_5);\n s.ty___12811 = (r0);\n s.tmp_0 = helpers_imagePrint__P432_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_6 = Sprite_ax__P617_mk(s);\n s.tmp_6.arg0 = s.arg0;\n s.pc = 38; return s.tmp_6;\n case 38:\n r0 = s.retval;\n s.tmp_5 = r0;\n r0 = (s.tmp_5 >> 0);\n s.tmp_4 = r0;\n if ((s.tmp_4) && (s.tmp_4).vtable) {\n setupResume(s, 39);\n pxsim_String__stringConv(s.tmp_4);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_4) + \"\"; }\n case 39:\n r0 = s.retval;\n s.tmp_3 = r0;\n r0 = pxsim_String__concat(\"a\", s.tmp_3);\n s.tmp_2 = r0;\n r0 = pxsim_String__concat(s.tmp_2, \",\");\n s.tmp_1 = r0;\n s.tmp_10 = Sprite_ay__P619_mk(s);\n s.tmp_10.arg0 = s.arg0;\n s.pc = 40; return s.tmp_10;\n case 40:\n r0 = s.retval;\n s.tmp_9 = r0;\n r0 = (s.tmp_9 >> 0);\n s.tmp_8 = r0;\n if ((s.tmp_8) && (s.tmp_8).vtable) {\n setupResume(s, 41);\n pxsim_String__stringConv(s.tmp_8);\n checkResumeConsumed();\n return;\n } else { s.retval = (s.tmp_8) + \"\"; }\n case 41:\n r0 = s.retval;\n s.tmp_7 = r0;\n r0 = pxsim_String__concat(s.tmp_1, s.tmp_7);\n s.tmp_0.arg1 = r0;\n s.tmp_0.arg2 = s.tx___12809;\n s.tmp_0.arg3 = s.ty___12811;\n s.tmp_0.arg4 = 1;\n s.tmp_0.arg5 = s.font___12806;\n s.tmp_0.arg6 = undefined;\n s.pc = 37; return s.tmp_0;\n case 37:\n r0 = s.retval;\n case 9:\n case 10:\n case 11:\n case 12:\n r0 = pxsim_numops_toBoolDecr(globals.debug___998);\n if (!r0) { step = 13; continue; }\n s.tmp_0 = helpers_imageDrawRect__P414_mk(s);\n s.tmp_0.arg0 = globals.screen___464;\n s.tmp_3 = game_Hitbox_left__P594_mk(s);\n r0 = s.arg0.fields[\"_hitbox\"];\n s.tmp_3.arg0 = r0;\n s.pc = 43; return s.tmp_3;\n case 43:\n r0 = s.retval;\n s.tmp_2 = r0;\n r0 = (s.tmp_2 + 128);\n s.tmp_4 = r0;\n r0 = (s.tmp_4 >> 8);\n s.tmp_1 = r0;\n r0 = s.arg1.fields[\"drawOffsetX\"];\n s.tmp_5 = r0;\n r0 = (s.tmp_1 - s.tmp_5);\n s.tmp_0.arg1 = r0;\n s.tmp_8 = game_Hitbox_top__P595_mk(s);\n r0 = s.arg0.fields[\"_hitbox\"];\n s.tmp_8.arg0 = r0;\n s.pc = 44; return s.tmp_8;\n case 44:\n r0 = s.retval;\n s.tmp_7 = r0;\n r0 = (s.tmp_7 + 128);\n s.tmp_9 = r0;\n r0 = (s.tmp_9 >> 8);\n s.tmp_6 = r0;\n r0 = s.arg1.fields[\"drawOffsetY\"];\n s.tmp_10 = r0;\n r0 = (s.tmp_6 - s.tmp_10);\n s.tmp_0.arg2 = r0;\n r0 = s.arg0.fields[\"_hitbox\"];\n r0 = r0.fields[\"width\"];\n s.tmp_0.arg3 = r0;\n r0 = s.arg0.fields[\"_hitbox\"];\n r0 = r0.fields[\"height\"];\n s.tmp_0.arg4 = r0;\n s.tmp_0.arg5 = 1;\n s.pc = 42; return s.tmp_0;\n case 42:\n r0 = s.retval;\n case 13:\n case 14:\n case 15:\n r0 = undefined;\n return leave(s, r0)\n default: oops()\n} } }\nSprite___drawCore__P644.info = {\"start\":19088,\"length\":1262,\"line\":588,\"column\":4,\"endLine\":622,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"__drawCore\",\"argumentNames\":[\"this\",\"camera\"]}\n\nfunction Sprite___drawCore__P644_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite___drawCore__P644, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n tmp_5: undefined,\n tmp_6: undefined,\n tmp_7: undefined,\n tmp_8: undefined,\n tmp_9: undefined,\n tmp_10: undefined,\n tmp_11: undefined,\n l___12787: undefined,\n t___12791: undefined,\n font___12806: undefined,\n margin___12808: undefined,\n tx___12809: undefined,\n ty___12811: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\n\n\n\nfunction Sprite___visible__P626(s) {\nlet r0 = s.r0, step = s.pc;\ns.pc = -1;\n\n\nwhile (true) {\nif (yieldSteps-- < 0 && maybeYield(s, step, r0)) return null;\nswitch (step) {\n case 0:\n\n if (s.lambdaArgs) {\n s.arg0 = (s.lambdaArgs[0]);\n s.lambdaArgs = null;\n }\n r0 = s.arg0;\n if (!checkSubtype(r0, Sprite__C607_VT)) failedCast(r0);\n r0 = s.arg0.fields[\"flags\"];\n s.tmp_2 = r0;\n r0 = (s.tmp_2 & 128);\n s.tmp_1 = r0;\n r0 = pxsim_numops_toBoolDecr(s.tmp_1);\n s.tmp_0 = r0;\n r0 = pxsim_Boolean__bang(s.tmp_0);\n return leave(s, r0)\n default: oops()\n} } }\nSprite___visible__P626.info = {\"start\":7151,\"length\":72,\"line\":254,\"column\":4,\"endLine\":256,\"endColumn\":5,\"fileName\":\"pxt_modules/game/sprite.ts\",\"functionName\":\"__visible\",\"argumentNames\":[\"this\"]}\n\nfunction Sprite___visible__P626_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: Sprite___visible__P626, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n arg0: undefined,\n} }\n\n\n\n\nfunction lambda_3_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\nfunction if_flags_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction particles_ParticleFactory__C1337_v0_2_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\nfunction particles_ParticleSource__C1285_v4_3_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\nfunction if_x_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_y_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_id_2_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\nfunction lambda_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction lambda_2_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\nfunction if_startScreenEffect_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction game_GameOverDialog__C983_v0_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction PhysicsEngine__C708_v4_2_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\nfunction if___update_3_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n} }\n\n\nfunction PhysicsEngine__C708_v3_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_charHeight_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_charWidth_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_multiplier_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_data_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_xOffset_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_yOffset_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if___draw_2_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\nfunction if_z_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_id_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction game_GameOverDialog__C983_v1_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction lambda_5_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n arg4: undefined,\n} }\n\n\nfunction PhysicsEngine__C708_v2_4_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\nfunction if_animations_2_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\nfunction if_animations_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction animation_SpriteAnimation__C1541_v0_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction PhysicsEngine__C708_v0_2_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\nfunction PhysicsEngine__C708_v1_2_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\nfunction lambda_4_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\nfunction if_padding_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_cardsPerRow_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_cardWidth_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_cardSpacing_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_cardsTop_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_headerText_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_headerFont_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_infoTop_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_infoFont_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_basicCard_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_selectedCard_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_activeCard_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_z_2_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\nfunction animation_PathNode__C1514_v0_4_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\nfunction if_tileIndex_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction game_BaseDialog__C952_v1_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_height_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction particles_ParticleFactory__C1337_v1_4_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n arg2: undefined,\n arg3: undefined,\n} }\n\n\nfunction sprites_BaseSprite__C508_v0_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction sprites_BaseSprite__C508_v2_2_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\nfunction if_scene_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_state_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_up_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\n\nfunction if_yOffset_2_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\nfunction if_up_2_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n arg1: undefined,\n} }\n\n\nfunction if_width_1_mk(s) {\n checkStack(s.depth);\n return {\n parent: s, fn: null, depth: s.depth + 1,\n pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,\n tmp_0: undefined,\n tmp_1: undefined,\n tmp_2: undefined,\n tmp_3: undefined,\n tmp_4: undefined,\n arg0: undefined,\n} }\n\nconst controller_Button__C538_VT = mkVTable({\n name: \"Button\",\n numFields: 8,\n classNo: 16,\n lastSubtypeNo: 16,\n methods: {\n },\n iface: {\n \"_owner\": null,\n \"set/_owner\": null,\n \"id\": null,\n \"set/id\": null,\n \"repeatDelay\": null,\n \"set/repeatDelay\": null,\n \"repeatInterval\": null,\n \"set/repeatInterval\": null,\n \"_pressed\": null,\n \"set/_pressed\": null,\n \"_pressedElasped\": null,\n \"set/_pressedElasped\": null,\n \"_repeatCount\": null,\n \"set/_repeatCount\": null,\n \"_buttonId\": null,\n \"set/_buttonId\": null,\n \"toString\": controller_Button_toString__P539,\n \"raiseButtonUp\": controller_Button_raiseButtonUp__P540,\n \"raiseButtonDown\": controller_Button_raiseButtonDown__P541,\n \"raiseButtonRepeat\": controller_Button_raiseButtonRepeat__P542,\n \"onEvent\": controller_Button_onEvent__P543,\n \"isPressed\": controller_Button_isPressed__P545,\n \"setPressed\": controller_Button_setPressed__P546,\n \"__update\": controller_Button___update__P547,\n },\n toStringMethod: controller_Button_toString__P539,\n});\nconst Math_FastRandom__C1156_VT = mkVTable({\n name: \"FastRandom\",\n numFields: 2,\n classNo: 17,\n lastSubtypeNo: 17,\n methods: {\n },\n iface: {\n \"lfsr\": null,\n \"set/lfsr\": null,\n \"seed\": null,\n \"set/seed\": null,\n \"next\": Math_FastRandom_next__P1157,\n \"randomRange\": Math_FastRandom_randomRange__P1158,\n \"pickRandom\": Math_FastRandom_pickRandom__P1159,\n },\n});\nconst texteffects_TextEffect__C1448_VT = mkVTable({\n name: \"TextEffect\",\n numFields: 1,\n classNo: 18,\n lastSubtypeNo: 18,\n methods: {\n },\n iface: {\n \"getState\": null,\n \"set/getState\": null,\n },\n});\nconst sprites_BaseSprite__C508_VT = mkVTable({\n name: \"BaseSprite\",\n numFields: 2,\n classNo: 19,\n lastSubtypeNo: 22,\n methods: {\n \"__visible\": sprites_BaseSprite___visible__P509,\n \"__draw\": sprites_BaseSprite___draw__P512,\n \"__drawCore\": sprites_BaseSprite___drawCore__P513,\n \"__update\": sprites_BaseSprite___update__P514,\n },\n iface: {\n \"_z\": null,\n \"set/_z\": null,\n \"id\": null,\n \"set/id\": null,\n \"__visible\": sprites_BaseSprite___visible__P509,\n \"z\": sprites_BaseSprite_z__P510,\n \"set/z\": sprites_BaseSprite_z__P511,\n \"__draw\": sprites_BaseSprite___draw__P512,\n \"__drawCore\": sprites_BaseSprite___drawCore__P513,\n \"__update\": sprites_BaseSprite___update__P514,\n },\n});\nconst Sprite__C607_VT = mkVTable({\n name: \"Sprite\",\n numFields: 24,\n classNo: 20,\n lastSubtypeNo: 20,\n methods: {\n \"__visible\": Sprite___visible__P626,\n \"__draw\": sprites_BaseSprite___draw__P512,\n \"__drawCore\": Sprite___drawCore__P644,\n \"__update\": Sprite___update__P645,\n },\n iface: {\n \"_z\": null,\n \"set/_z\": null,\n \"id\": null,\n \"set/id\": null,\n \"_x\": null,\n \"set/_x\": null,\n \"_y\": null,\n \"set/_y\": null,\n \"_vx\": null,\n \"set/_vx\": null,\n \"_vy\": null,\n \"set/_vy\": null,\n \"_ax\": null,\n \"set/_ax\": null,\n \"_ay\": null,\n \"set/_ay\": null,\n \"_data\": null,\n \"set/_data\": null,\n \"_kind\": null,\n \"set/_kind\": null,\n \"layer\": null,\n \"set/layer\": null,\n \"_lastX\": null,\n \"set/_lastX\": null,\n \"_lastY\": null,\n \"set/_lastY\": null,\n \"_action\": null,\n \"set/_action\": null,\n \"lifespan\": null,\n \"set/lifespan\": null,\n \"_image\": null,\n \"set/_image\": null,\n \"_obstacles\": null,\n \"set/_obstacles\": null,\n \"updateSay\": null,\n \"set/updateSay\": null,\n \"sayBubbleSprite\": null,\n \"set/sayBubbleSprite\": null,\n \"_hitbox\": null,\n \"set/_hitbox\": null,\n \"_overlappers\": null,\n \"set/_overlappers\": null,\n \"_kindsOverlappedWith\": null,\n \"set/_kindsOverlappedWith\": null,\n \"flags\": null,\n \"set/flags\": null,\n \"destroyHandler\": null,\n \"set/destroyHandler\": null,\n \"x\": Sprite_x__P609,\n \"set/x\": Sprite_x__P610,\n \"y\": Sprite_y__P611,\n \"set/y\": Sprite_y__P612,\n \"vx\": Sprite_vx__P613,\n \"set/vx\": Sprite_vx__P614,\n \"vy\": Sprite_vy__P615,\n \"set/vy\": Sprite_vy__P616,\n \"ax\": Sprite_ax__P617,\n \"set/ax\": Sprite_ax__P618,\n \"ay\": Sprite_ay__P619,\n \"set/ay\": Sprite_ay__P620,\n \"data\": Sprite_data__P621,\n \"set/data\": Sprite_data__P622,\n \"image\": Sprite_image__P624,\n \"setImage\": Sprite_setImage__P625,\n \"__visible\": Sprite___visible__P626,\n \"width\": Sprite_width__P627,\n \"height\": Sprite_height__P628,\n \"left\": Sprite_left__P629,\n \"set/left\": Sprite_left__P630,\n \"right\": Sprite_right__P631,\n \"set/right\": Sprite_right__P632,\n \"top\": Sprite_top__P633,\n \"set/top\": Sprite_top__P634,\n \"bottom\": Sprite_bottom__P635,\n \"set/bottom\": Sprite_bottom__P636,\n \"kind\": Sprite_kind__P637,\n \"setKind\": Sprite_setKind__P638,\n \"setPosition\": Sprite_setPosition__P639,\n \"setVelocity\": Sprite_setVelocity__P640,\n \"isOutOfScreen\": Sprite_isOutOfScreen__P643,\n \"__drawCore\": Sprite___drawCore__P644,\n \"__update\": Sprite___update__P645,\n \"setFlag\": Sprite_setFlag__P646,\n \"overlapsWith\": Sprite_overlapsWith__P647,\n \"clearObstacles\": Sprite_clearObstacles__P650,\n \"registerObstacle\": Sprite_registerObstacle__P651,\n \"destroy\": Sprite_destroy__P653,\n \"_destroyCore\": Sprite__destroyCore__P654,\n \"toString\": Sprite_toString__P656,\n \"z\": sprites_BaseSprite_z__P510,\n \"set/z\": sprites_BaseSprite_z__P511,\n \"__draw\": sprites_BaseSprite___draw__P512,\n },\n toStringMethod: Sprite_toString__P656,\n});\nconst effects_ParticleEffect__C1404_VT = mkVTable({\n name: \"ParticleEffect\",\n numFields: 3,\n classNo: 23,\n lastSubtypeNo: 24,\n methods: {\n },\n iface: {\n \"sourceFactory\": null,\n \"set/sourceFactory\": null,\n \"defaultRate\": null,\n \"set/defaultRate\": null,\n \"defaultLifespan\": null,\n \"set/defaultLifespan\": null,\n \"start\": effects_ParticleEffect_start__P1405,\n \"destroy\": effects_ParticleEffect_destroy__P1406,\n },\n});\nconst effects_ScreenEffect__C1414_VT = mkVTable({\n name: \"ScreenEffect\",\n numFields: 5,\n classNo: 24,\n lastSubtypeNo: 24,\n methods: {\n },\n iface: {\n \"sourceFactory\": null,\n \"set/sourceFactory\": null,\n \"defaultRate\": null,\n \"set/defaultRate\": null,\n \"defaultLifespan\": null,\n \"set/defaultLifespan\": null,\n \"source\": null,\n \"set/source\": null,\n \"sceneDefaultRate\": null,\n \"set/sceneDefaultRate\": null,\n \"startScreenEffect\": effects_ScreenEffect_startScreenEffect__P1416,\n \"endScreenEffect\": effects_ScreenEffect_endScreenEffect__P1417,\n \"start\": effects_ParticleEffect_start__P1405,\n \"destroy\": effects_ParticleEffect_destroy__P1406,\n },\n});\nconst particles_ParticleSource__C1285_VT = mkVTable({\n name: \"ParticleSource\",\n numFields: 13,\n classNo: 21,\n lastSubtypeNo: 21,\n methods: {\n \"__visible\": sprites_BaseSprite___visible__P509,\n \"__draw\": particles_ParticleSource___draw__P1287,\n \"__drawCore\": sprites_BaseSprite___drawCore__P513,\n \"__update\": sprites_BaseSprite___update__P514,\n \"updateParticle\": particles_ParticleSource_updateParticle__P1300,\n },\n iface: {\n \"_z\": null,\n \"set/_z\": null,\n \"id\": null,\n \"set/id\": null,\n \"priority\": null,\n \"set/priority\": null,\n \"_dt\": null,\n \"set/_dt\": null,\n \"anchor\": null,\n \"set/anchor\": null,\n \"lifespan\": null,\n \"set/lifespan\": null,\n \"pFlags\": null,\n \"set/pFlags\": null,\n \"head\": null,\n \"set/head\": null,\n \"timer\": null,\n \"set/timer\": null,\n \"period\": null,\n \"set/period\": null,\n \"_factory\": null,\n \"set/_factory\": null,\n \"ax\": null,\n \"set/ax\": null,\n \"ay\": null,\n \"set/ay\": null,\n \"__draw\": particles_ParticleSource___draw__P1287,\n \"_update\": particles_ParticleSource__update__P1288,\n \"_prune\": particles_ParticleSource__prune__P1289,\n \"setAcceleration\": particles_ParticleSource_setAcceleration__P1290,\n \"enabled\": particles_ParticleSource_enabled__P1292,\n \"set/enabled\": particles_ParticleSource_enabled__P1293,\n \"destroy\": particles_ParticleSource_destroy__P1294,\n \"clear\": particles_ParticleSource_clear__P1295,\n \"setAnchor\": particles_ParticleSource_setAnchor__P1296,\n \"setRate\": particles_ParticleSource_setRate__P1297,\n \"setFactory\": particles_ParticleSource_setFactory__P1299,\n \"updateParticle\": particles_ParticleSource_updateParticle__P1300,\n \"drawParticle\": particles_ParticleSource_drawParticle__P1301,\n \"__visible\": sprites_BaseSprite___visible__P509,\n \"z\": sprites_BaseSprite_z__P510,\n \"set/z\": sprites_BaseSprite_z__P511,\n \"__drawCore\": sprites_BaseSprite___drawCore__P513,\n \"__update\": sprites_BaseSprite___update__P514,\n },\n});\nconst particles_ParticleFactory__C1337_VT = mkVTable({\n name: \"ParticleFactory\",\n numFields: 0,\n classNo: 25,\n lastSubtypeNo: 29,\n methods: {\n \"createParticle\": particles_ParticleFactory_createParticle__P1338,\n \"drawParticle\": particles_ParticleFactory_drawParticle__P1339,\n },\n iface: {\n \"createParticle\": particles_ParticleFactory_createParticle__P1338,\n \"drawParticle\": particles_ParticleFactory_drawParticle__P1339,\n },\n});\nconst particles_SprayFactory__C1341_VT = mkVTable({\n name: \"SprayFactory\",\n numFields: 3,\n classNo: 26,\n lastSubtypeNo: 29,\n methods: {\n \"createParticle\": particles_SprayFactory_createParticle__P1343,\n \"drawParticle\": particles_SprayFactory_drawParticle__P1344,\n },\n iface: {\n \"speed\": null,\n \"set/speed\": null,\n \"minAngle\": null,\n \"set/minAngle\": null,\n \"spread\": null,\n \"set/spread\": null,\n \"createParticle\": particles_SprayFactory_createParticle__P1343,\n \"drawParticle\": particles_SprayFactory_drawParticle__P1344,\n \"setSpeed\": particles_SprayFactory_setSpeed__P1345,\n \"setDirection\": particles_SprayFactory_setDirection__P1346,\n },\n});\nconst particles_AreaFactory__C1348_VT = mkVTable({\n name: \"AreaFactory\",\n numFields: 8,\n classNo: 27,\n lastSubtypeNo: 29,\n methods: {\n \"createParticle\": particles_AreaFactory_createParticle__P1350,\n \"drawParticle\": particles_AreaFactory_drawParticle__P1351,\n },\n iface: {\n \"speed\": null,\n \"set/speed\": null,\n \"minAngle\": null,\n \"set/minAngle\": null,\n \"spread\": null,\n \"set/spread\": null,\n \"xRange\": null,\n \"set/xRange\": null,\n \"yRange\": null,\n \"set/yRange\": null,\n \"minLifespan\": null,\n \"set/minLifespan\": null,\n \"maxLifespan\": null,\n \"set/maxLifespan\": null,\n \"galois\": null,\n \"set/galois\": null,\n \"createParticle\": particles_AreaFactory_createParticle__P1350,\n \"drawParticle\": particles_AreaFactory_drawParticle__P1351,\n \"setSpeed\": particles_SprayFactory_setSpeed__P1345,\n \"setDirection\": particles_SprayFactory_setDirection__P1346,\n },\n});\nconst particles_ShapeFactory__C1358_VT = mkVTable({\n name: \"ShapeFactory\",\n numFields: 11,\n classNo: 28,\n lastSubtypeNo: 29,\n methods: {\n \"createParticle\": particles_ShapeFactory_createParticle__P1362,\n \"drawParticle\": particles_ShapeFactory_drawParticle__P1361,\n },\n iface: {\n \"speed\": null,\n \"set/speed\": null,\n \"minAngle\": null,\n \"set/minAngle\": null,\n \"spread\": null,\n \"set/spread\": null,\n \"xRange\": null,\n \"set/xRange\": null,\n \"yRange\": null,\n \"set/yRange\": null,\n \"minLifespan\": null,\n \"set/minLifespan\": null,\n \"maxLifespan\": null,\n \"set/maxLifespan\": null,\n \"galois\": null,\n \"set/galois\": null,\n \"sources\": null,\n \"set/sources\": null,\n \"ox\": null,\n \"set/ox\": null,\n \"oy\": null,\n \"set/oy\": null,\n \"addShape\": particles_ShapeFactory_addShape__P1360,\n \"drawParticle\": particles_ShapeFactory_drawParticle__P1361,\n \"createParticle\": particles_ShapeFactory_createParticle__P1362,\n \"setSpeed\": particles_SprayFactory_setSpeed__P1345,\n \"setDirection\": particles_SprayFactory_setDirection__P1346,\n },\n});\nconst particles_ConfettiFactory__C1364_VT = mkVTable({\n name: \"ConfettiFactory\",\n numFields: 11,\n classNo: 29,\n lastSubtypeNo: 29,\n methods: {\n \"createParticle\": particles_ShapeFactory_createParticle__P1362,\n \"drawParticle\": particles_ShapeFactory_drawParticle__P1361,\n },\n iface: {\n \"speed\": null,\n \"set/speed\": null,\n \"minAngle\": null,\n \"set/minAngle\": null,\n \"spread\": null,\n \"set/spread\": null,\n \"xRange\": null,\n \"set/xRange\": null,\n \"yRange\": null,\n \"set/yRange\": null,\n \"minLifespan\": null,\n \"set/minLifespan\": null,\n \"maxLifespan\": null,\n \"set/maxLifespan\": null,\n \"galois\": null,\n \"set/galois\": null,\n \"sources\": null,\n \"set/sources\": null,\n \"ox\": null,\n \"set/ox\": null,\n \"oy\": null,\n \"set/oy\": null,\n \"addShape\": particles_ShapeFactory_addShape__P1360,\n \"drawParticle\": particles_ShapeFactory_drawParticle__P1361,\n \"createParticle\": particles_ShapeFactory_createParticle__P1362,\n \"setSpeed\": particles_SprayFactory_setSpeed__P1345,\n \"setDirection\": particles_SprayFactory_setDirection__P1346,\n },\n});\nconst particles_Particle__C1283_VT = mkVTable({\n name: \"Particle\",\n numFields: 8,\n classNo: 30,\n lastSubtypeNo: 30,\n methods: {\n },\n iface: {\n \"_x\": null,\n \"set/_x\": null,\n \"_y\": null,\n \"set/_y\": null,\n \"vx\": null,\n \"set/vx\": null,\n \"vy\": null,\n \"set/vy\": null,\n \"lifespan\": null,\n \"set/lifespan\": null,\n \"next\": null,\n \"set/next\": null,\n \"data\": null,\n \"set/data\": null,\n \"color\": null,\n \"set/color\": null,\n },\n});\nconst scene_Scene__C923_VT = mkVTable({\n name: \"Scene\",\n numFields: 21,\n classNo: 31,\n lastSubtypeNo: 31,\n methods: {\n },\n iface: {\n \"eventContext\": null,\n \"set/eventContext\": null,\n \"background\": null,\n \"set/background\": null,\n \"tileMap\": null,\n \"set/tileMap\": null,\n \"allSprites\": null,\n \"set/allSprites\": null,\n \"spriteNextId\": null,\n \"set/spriteNextId\": null,\n \"spritesByKind\": null,\n \"set/spritesByKind\": null,\n \"physicsEngine\": null,\n \"set/physicsEngine\": null,\n \"camera\": null,\n \"set/camera\": null,\n \"flags\": null,\n \"set/flags\": null,\n \"destroyedHandlers\": null,\n \"set/destroyedHandlers\": null,\n \"createdHandlers\": null,\n \"set/createdHandlers\": null,\n \"overlapHandlers\": null,\n \"set/overlapHandlers\": null,\n \"overlapMap\": null,\n \"set/overlapMap\": null,\n \"collisionHandlers\": null,\n \"set/collisionHandlers\": null,\n \"gameForeverHandlers\": null,\n \"set/gameForeverHandlers\": null,\n \"particleSources\": null,\n \"set/particleSources\": null,\n \"controlledSprites\": null,\n \"set/controlledSprites\": null,\n \"followingSprites\": null,\n \"set/followingSprites\": null,\n \"_millis\": null,\n \"set/_millis\": null,\n \"_data\": null,\n \"set/_data\": null,\n \"cachedRender\": null,\n \"set/cachedRender\": null,\n \"init\": scene_Scene_init__P924,\n \"data\": scene_Scene_data__P925,\n \"millis\": scene_Scene_millis__P926,\n \"addSprite\": scene_Scene_addSprite__P927,\n \"destroy\": scene_Scene_destroy__P928,\n \"renderCore\": scene_Scene_renderCore__P930,\n },\n});\nconst effects_SceneAnchor__C1408_VT = mkVTable({\n name: \"SceneAnchor\",\n numFields: 1,\n classNo: 32,\n lastSubtypeNo: 32,\n methods: {\n },\n iface: {\n \"camera\": null,\n \"set/camera\": null,\n \"x\": effects_SceneAnchor_x__P1409,\n \"y\": effects_SceneAnchor_y__P1410,\n \"width\": effects_SceneAnchor_width__P1411,\n \"height\": effects_SceneAnchor_height__P1412,\n },\n});\nconst info_PlayerInfo__C823_VT = mkVTable({\n name: \"PlayerInfo\",\n numFields: 12,\n classNo: 33,\n lastSubtypeNo: 33,\n methods: {\n },\n iface: {\n \"_player\": null,\n \"set/_player\": null,\n \"bg\": null,\n \"set/bg\": null,\n \"border\": null,\n \"set/border\": null,\n \"fc\": null,\n \"set/fc\": null,\n \"showScore\": null,\n \"set/showScore\": null,\n \"showLife\": null,\n \"set/showLife\": null,\n \"visilibity\": null,\n \"set/visilibity\": null,\n \"showPlayer\": null,\n \"set/showPlayer\": null,\n \"x\": null,\n \"set/x\": null,\n \"y\": null,\n \"set/y\": null,\n \"left\": null,\n \"set/left\": null,\n \"up\": null,\n \"set/up\": null,\n \"init\": info_PlayerInfo_init__P824,\n \"getState\": info_PlayerInfo_getState__P825,\n \"id\": info_PlayerInfo_id__P826,\n \"score\": info_PlayerInfo_score__P827,\n \"setScore\": info_PlayerInfo_setScore__P828,\n \"changeScoreBy\": info_PlayerInfo_changeScoreBy__P829,\n \"hasScore\": info_PlayerInfo_hasScore__P830,\n \"hasLife\": info_PlayerInfo_hasLife__P834,\n \"raiseLifeZero\": info_PlayerInfo_raiseLifeZero__P836,\n \"drawPlayer\": info_PlayerInfo_drawPlayer__P837,\n \"drawScore\": info_PlayerInfo_drawScore__P838,\n \"drawLives\": info_PlayerInfo_drawLives__P839,\n },\n});\nconst info_PlayerState__C740_VT = mkVTable({\n name: \"PlayerState\",\n numFields: 3,\n classNo: 34,\n lastSubtypeNo: 34,\n methods: {\n },\n iface: {\n \"score\": null,\n \"set/score\": null,\n \"life\": null,\n \"set/life\": null,\n \"lifeZeroHandler\": null,\n \"set/lifeZeroHandler\": null,\n },\n});\nconst info_InfoState__C742_VT = mkVTable({\n name: \"InfoState\",\n numFields: 10,\n classNo: 35,\n lastSubtypeNo: 35,\n methods: {\n },\n iface: {\n \"playerStates\": null,\n \"set/playerStates\": null,\n \"visibilityFlag\": null,\n \"set/visibilityFlag\": null,\n \"gameEnd\": null,\n \"set/gameEnd\": null,\n \"heartImage\": null,\n \"set/heartImage\": null,\n \"multiplierImage\": null,\n \"set/multiplierImage\": null,\n \"bgColor\": null,\n \"set/bgColor\": null,\n \"borderColor\": null,\n \"set/borderColor\": null,\n \"fontColor\": null,\n \"set/fontColor\": null,\n \"countdownExpired\": null,\n \"set/countdownExpired\": null,\n \"countdownEndHandler\": null,\n \"set/countdownEndHandler\": null,\n },\n});\nconst music_Melody__C349_VT = mkVTable({\n name: \"Melody\",\n numFields: 2,\n classNo: 36,\n lastSubtypeNo: 36,\n methods: {\n },\n iface: {\n \"_text\": null,\n \"set/_text\": null,\n \"_player\": null,\n \"set/_player\": null,\n \"stop\": music_Melody_stop__P352,\n \"registerMelody\": music_Melody_registerMelody__P353,\n \"unregisterMelody\": music_Melody_unregisterMelody__P354,\n \"playCore\": music_Melody_playCore__P355,\n \"play\": music_Melody_play__P357,\n \"toString\": music_Melody_toString__P359,\n },\n toStringMethod: music_Melody_toString__P359,\n});\nconst game_BaseDialog__C952_VT = mkVTable({\n name: \"BaseDialog\",\n numFields: 11,\n classNo: 37,\n lastSubtypeNo: 38,\n methods: {\n \"update\": game_BaseDialog_update__P953,\n \"drawTextCore\": game_BaseDialog_drawTextCore__P955,\n },\n iface: {\n \"image\": null,\n \"set/image\": null,\n \"frame\": null,\n \"set/frame\": null,\n \"cursor\": null,\n \"set/cursor\": null,\n \"columns\": null,\n \"set/columns\": null,\n \"rows\": null,\n \"set/rows\": null,\n \"unit\": null,\n \"set/unit\": null,\n \"innerLeft\": null,\n \"set/innerLeft\": null,\n \"innerTop\": null,\n \"set/innerTop\": null,\n \"cursorCount\": null,\n \"set/cursorCount\": null,\n \"font\": null,\n \"set/font\": null,\n \"textColor\": null,\n \"set/textColor\": null,\n \"update\": game_BaseDialog_update__P953,\n \"drawTextCore\": game_BaseDialog_drawTextCore__P955,\n \"drawCursorRow\": game_BaseDialog_drawCursorRow__P956,\n \"drawBorder\": game_BaseDialog_drawBorder__P957,\n \"clearInterior\": game_BaseDialog_clearInterior__P958,\n \"drawPartial\": game_BaseDialog_drawPartial__P959,\n \"cursorRowHeight\": game_BaseDialog_cursorRowHeight__P960,\n \"textAreaWidth\": game_BaseDialog_textAreaWidth__P962,\n \"textAreaHeight\": game_BaseDialog_textAreaHeight__P963,\n },\n});\nconst game_GameOverDialog__C983_VT = mkVTable({\n name: \"GameOverDialog\",\n numFields: 16,\n classNo: 38,\n lastSubtypeNo: 38,\n methods: {\n \"update\": game_GameOverDialog_update__P986,\n \"drawTextCore\": game_GameOverDialog_drawTextCore__P987,\n },\n iface: {\n \"image\": null,\n \"set/image\": null,\n \"frame\": null,\n \"set/frame\": null,\n \"cursor\": null,\n \"set/cursor\": null,\n \"columns\": null,\n \"set/columns\": null,\n \"rows\": null,\n \"set/rows\": null,\n \"unit\": null,\n \"set/unit\": null,\n \"innerLeft\": null,\n \"set/innerLeft\": null,\n \"innerTop\": null,\n \"set/innerTop\": null,\n \"cursorCount\": null,\n \"set/cursorCount\": null,\n \"font\": null,\n \"set/font\": null,\n \"textColor\": null,\n \"set/textColor\": null,\n \"cursorOn\": null,\n \"set/cursorOn\": null,\n \"isNewHighScore\": null,\n \"set/isNewHighScore\": null,\n \"win\": null,\n \"set/win\": null,\n \"score\": null,\n \"set/score\": null,\n \"highScore\": null,\n \"set/highScore\": null,\n \"displayCursor\": game_GameOverDialog_displayCursor__P985,\n \"update\": game_GameOverDialog_update__P986,\n \"drawTextCore\": game_GameOverDialog_drawTextCore__P987,\n \"drawCursorRow\": game_BaseDialog_drawCursorRow__P956,\n \"drawBorder\": game_BaseDialog_drawBorder__P957,\n \"clearInterior\": game_BaseDialog_clearInterior__P958,\n \"drawPartial\": game_BaseDialog_drawPartial__P959,\n \"cursorRowHeight\": game_BaseDialog_cursorRowHeight__P960,\n \"textAreaWidth\": game_BaseDialog_textAreaWidth__P962,\n \"textAreaHeight\": game_BaseDialog_textAreaHeight__P963,\n },\n});\nconst control_EventContext__C220_VT = mkVTable({\n name: \"EventContext\",\n numFields: 8,\n classNo: 39,\n lastSubtypeNo: 39,\n methods: {\n },\n iface: {\n \"handlers\": null,\n \"set/handlers\": null,\n \"frameCallbacks\": null,\n \"set/frameCallbacks\": null,\n \"frameWorker\": null,\n \"set/frameWorker\": null,\n \"framesInSample\": null,\n \"set/framesInSample\": null,\n \"timeInSample\": null,\n \"set/timeInSample\": null,\n \"deltaTimeMillis\": null,\n \"set/deltaTimeMillis\": null,\n \"prevTimeMillis\": null,\n \"set/prevTimeMillis\": null,\n \"idleCallbacks\": null,\n \"set/idleCallbacks\": null,\n \"deltaTime\": control_EventContext_deltaTime__P221,\n \"runCallbacks\": control_EventContext_runCallbacks__P222,\n \"registerFrameCallbacks\": control_EventContext_registerFrameCallbacks__P223,\n \"register\": control_EventContext_register__P224,\n \"unregister\": control_EventContext_unregister__P225,\n \"registerFrameHandler\": control_EventContext_registerFrameHandler__P226,\n \"registerHandler\": control_EventContext_registerHandler__P227,\n },\n});\nconst control_EventHandler__C215_VT = mkVTable({\n name: \"EventHandler\",\n numFields: 4,\n classNo: 40,\n lastSubtypeNo: 40,\n methods: {\n },\n iface: {\n \"src\": null,\n \"set/src\": null,\n \"value\": null,\n \"set/value\": null,\n \"handler\": null,\n \"set/handler\": null,\n \"flags\": null,\n \"set/flags\": null,\n \"register\": control_EventHandler_register__P216,\n \"unregister\": control_EventHandler_unregister__P217,\n },\n});\nconst effects_ImageEffect__C1438_VT = mkVTable({\n name: \"ImageEffect\",\n numFields: 4,\n classNo: 41,\n lastSubtypeNo: 41,\n methods: {\n },\n iface: {\n \"preferredDelay\": null,\n \"set/preferredDelay\": null,\n \"effect\": null,\n \"set/effect\": null,\n \"fastRandom\": null,\n \"set/fastRandom\": null,\n \"times\": null,\n \"set/times\": null,\n \"applyTo\": effects_ImageEffect_applyTo__P1439,\n \"change\": effects_ImageEffect_change__P1440,\n \"startScreenEffect\": effects_ImageEffect_startScreenEffect__P1441,\n },\n});\nconst PhysicsEngine__C708_VT = mkVTable({\n name: \"PhysicsEngine\",\n numFields: 0,\n classNo: 42,\n lastSubtypeNo: 43,\n methods: {\n \"addSprite\": PhysicsEngine_addSprite__P709,\n \"removeSprite\": PhysicsEngine_removeSprite__P710,\n \"moveSprite\": PhysicsEngine_moveSprite__P711,\n \"draw\": PhysicsEngine_draw__P712,\n \"move\": PhysicsEngine_move__P713,\n },\n iface: {\n \"addSprite\": PhysicsEngine_addSprite__P709,\n \"removeSprite\": PhysicsEngine_removeSprite__P710,\n \"moveSprite\": PhysicsEngine_moveSprite__P711,\n \"draw\": PhysicsEngine_draw__P712,\n \"move\": PhysicsEngine_move__P713,\n },\n});\nconst ArcadePhysicsEngine__C727_VT = mkVTable({\n name: \"ArcadePhysicsEngine\",\n numFields: 6,\n classNo: 43,\n lastSubtypeNo: 43,\n methods: {\n \"addSprite\": ArcadePhysicsEngine_addSprite__P729,\n \"removeSprite\": ArcadePhysicsEngine_removeSprite__P730,\n \"moveSprite\": ArcadePhysicsEngine_moveSprite__P737,\n \"draw\": ArcadePhysicsEngine_draw__P731,\n \"move\": ArcadePhysicsEngine_move__P732,\n },\n iface: {\n \"sprites\": null,\n \"set/sprites\": null,\n \"map\": null,\n \"set/map\": null,\n \"maxVelocity\": null,\n \"set/maxVelocity\": null,\n \"maxNegativeVelocity\": null,\n \"set/maxNegativeVelocity\": null,\n \"minSingleStep\": null,\n \"set/minSingleStep\": null,\n \"maxSingleStep\": null,\n \"set/maxSingleStep\": null,\n \"addSprite\": ArcadePhysicsEngine_addSprite__P729,\n \"removeSprite\": ArcadePhysicsEngine_removeSprite__P730,\n \"draw\": ArcadePhysicsEngine_draw__P731,\n \"move\": ArcadePhysicsEngine_move__P732,\n \"createMovingSprite\": ArcadePhysicsEngine_createMovingSprite__P733,\n \"spriteCollisions\": ArcadePhysicsEngine_spriteCollisions__P734,\n \"tilemapCollisions\": ArcadePhysicsEngine_tilemapCollisions__P735,\n \"moveSprite\": ArcadePhysicsEngine_moveSprite__P737,\n \"constrain\": ArcadePhysicsEngine_constrain__P738,\n },\n});\nconst scene_Background__C846_VT = mkVTable({\n name: \"Background\",\n numFields: 4,\n classNo: 44,\n lastSubtypeNo: 44,\n methods: {\n },\n iface: {\n \"color\": null,\n \"set/color\": null,\n \"_image\": null,\n \"set/_image\": null,\n \"camera\": null,\n \"set/camera\": null,\n \"_layers\": null,\n \"set/_layers\": null,\n \"image\": scene_Background_image__P848,\n \"set/image\": scene_Background_image__P849,\n \"hasBackgroundImage\": scene_Background_hasBackgroundImage__P850,\n \"draw\": scene_Background_draw__P851,\n },\n});\nconst scene_Camera__C886_VT = mkVTable({\n name: \"Camera\",\n numFields: 8,\n classNo: 45,\n lastSubtypeNo: 45,\n methods: {\n },\n iface: {\n \"offsetX\": null,\n \"set/offsetX\": null,\n \"offsetY\": null,\n \"set/offsetY\": null,\n \"drawOffsetX\": null,\n \"set/drawOffsetX\": null,\n \"drawOffsetY\": null,\n \"set/drawOffsetY\": null,\n \"sprite\": null,\n \"set/sprite\": null,\n \"shakeStartTime\": null,\n \"set/shakeStartTime\": null,\n \"shakeDuration\": null,\n \"set/shakeDuration\": null,\n \"shakeAmplitude\": null,\n \"set/shakeAmplitude\": null,\n \"update\": scene_Camera_update__P888,\n },\n});\nconst sprites_SpriteMap__C659_VT = mkVTable({\n name: \"SpriteMap\",\n numFields: 5,\n classNo: 46,\n lastSubtypeNo: 46,\n methods: {\n },\n iface: {\n \"cellWidth\": null,\n \"set/cellWidth\": null,\n \"cellHeight\": null,\n \"set/cellHeight\": null,\n \"rowCount\": null,\n \"set/rowCount\": null,\n \"columnCount\": null,\n \"set/columnCount\": null,\n \"buckets\": null,\n \"set/buckets\": null,\n \"neighbors\": sprites_SpriteMap_neighbors__P660,\n \"overlaps\": sprites_SpriteMap_overlaps__P661,\n \"draw\": sprites_SpriteMap_draw__P662,\n \"resizeBuckets\": sprites_SpriteMap_resizeBuckets__P663,\n \"clear\": sprites_SpriteMap_clear__P664,\n \"key\": sprites_SpriteMap_key__P665,\n \"insertAtKey\": sprites_SpriteMap_insertAtKey__P666,\n \"isOob\": sprites_SpriteMap_isOob__P667,\n \"insertAABB\": sprites_SpriteMap_insertAABB__P668,\n \"mergeAtKey\": sprites_SpriteMap_mergeAtKey__P669,\n \"toString\": sprites_SpriteMap_toString__P670,\n },\n toStringMethod: sprites_SpriteMap_toString__P670,\n});\nconst scene_BackgroundLayer__C853_VT = mkVTable({\n name: \"BackgroundLayer\",\n numFields: 6,\n classNo: 47,\n lastSubtypeNo: 47,\n methods: {\n },\n iface: {\n \"distance\": null,\n \"set/distance\": null,\n \"img\": null,\n \"set/img\": null,\n \"repeatX\": null,\n \"set/repeatX\": null,\n \"repeatY\": null,\n \"set/repeatY\": null,\n \"alignX\": null,\n \"set/alignX\": null,\n \"alignY\": null,\n \"set/alignY\": null,\n \"draw\": scene_BackgroundLayer_draw__P854,\n },\n});\nconst tiles_TileMap__C865_VT = mkVTable({\n name: \"TileMap\",\n numFields: 4,\n classNo: 48,\n lastSubtypeNo: 48,\n methods: {\n },\n iface: {\n \"scale\": null,\n \"set/scale\": null,\n \"_layer\": null,\n \"set/_layer\": null,\n \"_map\": null,\n \"set/_map\": null,\n \"_tileSets\": null,\n \"set/_tileSets\": null,\n \"offsetX\": tiles_TileMap_offsetX__P867,\n \"offsetY\": tiles_TileMap_offsetY__P868,\n \"areaWidth\": tiles_TileMap_areaWidth__P869,\n \"areaHeight\": tiles_TileMap_areaHeight__P870,\n \"layer\": tiles_TileMap_layer__P871,\n \"enabled\": tiles_TileMap_enabled__P873,\n \"generateTile\": tiles_TileMap_generateTile__P879,\n \"isOutsideMap\": tiles_TileMap_isOutsideMap__P880,\n \"draw\": tiles_TileMap_draw__P882,\n \"isObstacle\": tiles_TileMap_isObstacle__P883,\n \"getObstacle\": tiles_TileMap_getObstacle__P884,\n },\n});\nconst controller_Controller__C557_VT = mkVTable({\n name: \"Controller\",\n numFields: 4,\n classNo: 49,\n lastSubtypeNo: 49,\n methods: {\n },\n iface: {\n \"playerIndex\": null,\n \"set/playerIndex\": null,\n \"buttons\": null,\n \"set/buttons\": null,\n \"_id\": null,\n \"set/_id\": null,\n \"_connected\": null,\n \"set/_connected\": null,\n \"_controlledSprites\": controller_Controller__controlledSprites__P558,\n \"set/_controlledSprites\": controller_Controller__controlledSprites__P559,\n \"id\": controller_Controller_id__P560,\n \"left\": controller_Controller_left__P562,\n \"right\": controller_Controller_right__P563,\n \"up\": controller_Controller_up__P564,\n \"down\": controller_Controller_down__P565,\n \"button\": controller_Controller_button__P570,\n \"connected\": controller_Controller_connected__P573,\n \"set/connected\": controller_Controller_connected__P574,\n \"__preUpdate\": controller_Controller___preUpdate__P578,\n \"__update\": controller_Controller___update__P579,\n },\n});\nconst control_FrameCallback__C214_VT = mkVTable({\n name: \"FrameCallback\",\n numFields: 2,\n classNo: 50,\n lastSubtypeNo: 50,\n methods: {\n },\n iface: {\n \"order\": null,\n \"set/order\": null,\n \"handler\": null,\n \"set/handler\": null,\n },\n});\nconst music_MelodyPlayer__C363_VT = mkVTable({\n name: \"MelodyPlayer\",\n numFields: 2,\n classNo: 51,\n lastSubtypeNo: 51,\n methods: {\n },\n iface: {\n \"melody\": null,\n \"set/melody\": null,\n \"onPlayFinished\": null,\n \"set/onPlayFinished\": null,\n \"stop\": music_MelodyPlayer_stop__P364,\n \"play\": music_MelodyPlayer_play__P365,\n },\n});\nconst scene_Renderable__C890_VT = mkVTable({\n name: \"Renderable\",\n numFields: 4,\n classNo: 22,\n lastSubtypeNo: 22,\n methods: {\n \"__visible\": scene_Renderable___visible__P892,\n \"__draw\": sprites_BaseSprite___draw__P512,\n \"__drawCore\": scene_Renderable___drawCore__P893,\n \"__update\": sprites_BaseSprite___update__P514,\n },\n iface: {\n \"_z\": null,\n \"set/_z\": null,\n \"id\": null,\n \"set/id\": null,\n \"handler\": null,\n \"set/handler\": null,\n \"shouldBeVisible\": null,\n \"set/shouldBeVisible\": null,\n \"__visible\": scene_Renderable___visible__P892,\n \"__drawCore\": scene_Renderable___drawCore__P893,\n \"z\": sprites_BaseSprite_z__P510,\n \"set/z\": sprites_BaseSprite_z__P511,\n \"__draw\": sprites_BaseSprite___draw__P512,\n \"__update\": sprites_BaseSprite___update__P514,\n },\n});\nconst SpriteSet__C676_VT = mkVTable({\n name: \"SpriteSet\",\n numFields: 1,\n classNo: 52,\n lastSubtypeNo: 52,\n methods: {\n },\n iface: {\n \"_sprites\": null,\n \"set/_sprites\": null,\n \"length\": SpriteSet_length__P678,\n \"add\": SpriteSet_add__P680,\n \"remove\": SpriteSet_remove__P682,\n \"contains\": SpriteSet_contains__P683,\n \"toString\": SpriteSet_toString__P686,\n },\n toStringMethod: SpriteSet_toString__P686,\n});\nconst scene_GameForeverHandler__C902_VT = mkVTable({\n name: \"GameForeverHandler\",\n numFields: 2,\n classNo: 53,\n lastSubtypeNo: 53,\n methods: {\n },\n iface: {\n \"lock\": null,\n \"set/lock\": null,\n \"handler\": null,\n \"set/handler\": null,\n },\n});\nconst animation_SpriteAnimation__C1541_VT = mkVTable({\n name: \"SpriteAnimation\",\n numFields: 3,\n classNo: 54,\n lastSubtypeNo: 56,\n methods: {\n \"update\": animation_SpriteAnimation_update__P1543,\n },\n iface: {\n \"startedAt\": null,\n \"set/startedAt\": null,\n \"sprite\": null,\n \"set/sprite\": null,\n \"loop\": null,\n \"set/loop\": null,\n \"init\": animation_SpriteAnimation_init__P1542,\n \"update\": animation_SpriteAnimation_update__P1543,\n },\n});\nconst animation_ImageAnimation__C1545_VT = mkVTable({\n name: \"ImageAnimation\",\n numFields: 6,\n classNo: 55,\n lastSubtypeNo: 55,\n methods: {\n \"update\": animation_ImageAnimation_update__P1547,\n },\n iface: {\n \"startedAt\": null,\n \"set/startedAt\": null,\n \"sprite\": null,\n \"set/sprite\": null,\n \"loop\": null,\n \"set/loop\": null,\n \"lastFrame\": null,\n \"set/lastFrame\": null,\n \"frames\": null,\n \"set/frames\": null,\n \"frameInterval\": null,\n \"set/frameInterval\": null,\n \"update\": animation_ImageAnimation_update__P1547,\n \"init\": animation_SpriteAnimation_init__P1542,\n },\n});\nconst animation_MovementAnimation__C1549_VT = mkVTable({\n name: \"MovementAnimation\",\n numFields: 5,\n classNo: 56,\n lastSubtypeNo: 56,\n methods: {\n \"update\": animation_MovementAnimation_update__P1551,\n },\n iface: {\n \"startedAt\": null,\n \"set/startedAt\": null,\n \"sprite\": null,\n \"set/sprite\": null,\n \"loop\": null,\n \"set/loop\": null,\n \"path\": null,\n \"set/path\": null,\n \"nodeInterval\": null,\n \"set/nodeInterval\": null,\n \"update\": animation_MovementAnimation_update__P1551,\n \"init\": animation_SpriteAnimation_init__P1542,\n },\n});\nconst game_Hitbox__C593_VT = mkVTable({\n name: \"Hitbox\",\n numFields: 5,\n classNo: 57,\n lastSubtypeNo: 57,\n methods: {\n },\n iface: {\n \"parent\": null,\n \"set/parent\": null,\n \"ox\": null,\n \"set/ox\": null,\n \"oy\": null,\n \"set/oy\": null,\n \"width\": null,\n \"set/width\": null,\n \"height\": null,\n \"set/height\": null,\n \"left\": game_Hitbox_left__P594,\n \"top\": game_Hitbox_top__P595,\n \"right\": game_Hitbox_right__P596,\n \"bottom\": game_Hitbox_bottom__P597,\n },\n});\nconst scene_OverlapHandler__C900_VT = mkVTable({\n name: \"OverlapHandler\",\n numFields: 3,\n classNo: 58,\n lastSubtypeNo: 58,\n methods: {\n },\n iface: {\n \"kind\": null,\n \"set/kind\": null,\n \"otherKind\": null,\n \"set/otherKind\": null,\n \"handler\": null,\n \"set/handler\": null,\n },\n});\nconst scene_systemMenu_PauseMenu__C1176_VT = mkVTable({\n name: \"PauseMenu\",\n numFields: 7,\n classNo: 59,\n lastSubtypeNo: 59,\n methods: {\n },\n iface: {\n \"options\": null,\n \"set/options\": null,\n \"theme\": null,\n \"set/theme\": null,\n \"selection\": null,\n \"set/selection\": null,\n \"scrollRow\": null,\n \"set/scrollRow\": null,\n \"scrollTarget\": null,\n \"set/scrollTarget\": null,\n \"scrollOffset\": null,\n \"set/scrollOffset\": null,\n \"generator\": null,\n \"set/generator\": null,\n \"show\": scene_systemMenu_PauseMenu_show__P1177,\n \"onUpdate\": scene_systemMenu_PauseMenu_onUpdate__P1178,\n \"setSelection\": scene_systemMenu_PauseMenu_setSelection__P1179,\n \"drawText\": scene_systemMenu_PauseMenu_drawText__P1180,\n \"dispose\": scene_systemMenu_PauseMenu_dispose__P1181,\n \"updateScrollTarget\": scene_systemMenu_PauseMenu_updateScrollTarget__P1182,\n },\n});\nconst scene_systemMenu_MenuOption__C1167_VT = mkVTable({\n name: \"MenuOption\",\n numFields: 8,\n classNo: 60,\n lastSubtypeNo: 60,\n methods: {\n },\n iface: {\n \"card\": null,\n \"set/card\": null,\n \"icon\": null,\n \"set/icon\": null,\n \"top\": null,\n \"set/top\": null,\n \"state\": null,\n \"set/state\": null,\n \"theme\": null,\n \"set/theme\": null,\n \"iconImage\": null,\n \"set/iconImage\": null,\n \"getText\": null,\n \"set/getText\": null,\n \"action\": null,\n \"set/action\": null,\n \"show\": scene_systemMenu_MenuOption_show__P1168,\n \"position\": scene_systemMenu_MenuOption_position__P1169,\n \"setOffset\": scene_systemMenu_MenuOption_setOffset__P1170,\n \"setTheme\": scene_systemMenu_MenuOption_setTheme__P1171,\n \"setState\": scene_systemMenu_MenuOption_setState__P1172,\n \"dispose\": scene_systemMenu_MenuOption_dispose__P1173,\n \"updateCard\": scene_systemMenu_MenuOption_updateCard__P1174,\n },\n});\nconst animation_Path__C1506_VT = mkVTable({\n name: \"Path\",\n numFields: 2,\n classNo: 61,\n lastSubtypeNo: 61,\n methods: {\n },\n iface: {\n \"nodes\": null,\n \"set/nodes\": null,\n \"lastNode\": null,\n \"set/lastNode\": null,\n \"run\": animation_Path_run__P1512,\n },\n});\nconst animation_PathNode__C1514_VT = mkVTable({\n name: \"PathNode\",\n numFields: 1,\n classNo: 62,\n lastSubtypeNo: 62,\n methods: {\n \"apply\": animation_PathNode_apply__P1515,\n },\n iface: {\n \"setStart\": null,\n \"set/setStart\": null,\n \"apply\": animation_PathNode_apply__P1515,\n },\n});\nconst tiles_TileSet__C856_VT = mkVTable({\n name: \"TileSet\",\n numFields: 4,\n classNo: 63,\n lastSubtypeNo: 63,\n methods: {\n },\n iface: {\n \"obstacle\": null,\n \"set/obstacle\": null,\n \"map\": null,\n \"set/map\": null,\n \"originalImage\": null,\n \"set/originalImage\": null,\n \"cachedImage\": null,\n \"set/cachedImage\": null,\n \"image\": tiles_TileSet_image__P857,\n },\n});\nconst MovingSprite__C725_VT = mkVTable({\n name: \"MovingSprite\",\n numFields: 7,\n classNo: 64,\n lastSubtypeNo: 64,\n methods: {\n },\n iface: {\n \"sprite\": null,\n \"set/sprite\": null,\n \"cachedVx\": null,\n \"set/cachedVx\": null,\n \"cachedVy\": null,\n \"set/cachedVy\": null,\n \"dx\": null,\n \"set/dx\": null,\n \"dy\": null,\n \"set/dy\": null,\n \"xStep\": null,\n \"set/xStep\": null,\n \"yStep\": null,\n \"set/yStep\": null,\n },\n});\nconst sprites_StaticObstacle__C700_VT = mkVTable({\n name: \"StaticObstacle\",\n numFields: 5,\n classNo: 65,\n lastSubtypeNo: 65,\n methods: {\n },\n iface: {\n \"layer\": null,\n \"set/layer\": null,\n \"image\": null,\n \"set/image\": null,\n \"tileIndex\": null,\n \"set/tileIndex\": null,\n \"top\": null,\n \"set/top\": null,\n \"left\": null,\n \"set/left\": null,\n \"x\": sprites_StaticObstacle_x__P701,\n \"y\": sprites_StaticObstacle_y__P702,\n \"height\": sprites_StaticObstacle_height__P703,\n \"width\": sprites_StaticObstacle_width__P704,\n },\n});\n\nconst breakpoints = setupDebugger(1, [\"Obstacle___22731\",\"bunny___22740\",\"gravity___22747\",\"bird___22772\",\"difficultyFactor___22764\",\"osbstacleSpeed___22763\",\"numObstacles___22762\",\"newObstacle___22761\",\"obstacles___22770\",\"projectile___22760\",\"grass___22759\",\"grassImages___22768\",\"over___22733\",\"tree___22766\",\"trees___22769\",\"cloud___22765\",\"clouds___22767\",\"birdFrames___22771\"])\n\nreturn _main___P22728\n})\n\n`","export const bunny_hop_main_ts: string = `\nnamespace SpriteKind {\n export const Obstacle = SpriteKind.create()\n}\ncontroller.anyButton.onEvent(ControllerButtonEvent.Pressed, function () {\n if (bunny.ay == 0) {\n bunny.vy = -160\n bunny.ay = gravity\n }\n})\nfunction setupFrames () {\n birdFrames = [img\\`\n . . . . . . . . . . . .\n . . . . . 1 1 1 1 . . .\n . . . . 1 1 1 1 . . . .\n . . . . 1 1 1 . . . . .\n . . . . 1 1 1 . . . . .\n . . . . 1 1 1 . . . . .\n . . 1 1 1 1 1 1 . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n \\`, img\\`\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . 1 1 1 1 1 1 . .\n . . . 1 1 1 1 1 . . . .\n . . . 1 1 1 1 . . . . .\n . . 1 1 1 1 1 1 . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n \\`, img\\`\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . 1 1 1 1 . . . . .\n . . 1 1 1 1 1 1 . . . .\n . . . 1 1 1 1 1 1 1 1 .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n \\`, img\\`\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . 1 1 1 1 1 1 . . . .\n . . . 1 1 1 1 . . . . .\n . . . 1 1 1 1 1 1 . . .\n . . . . 1 1 1 1 1 1 1 .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n \\`, img\\`\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . 1 1 1 1 1 1 . . . .\n . . . 1 1 1 1 . . . . .\n . . . 1 1 1 1 . . . . .\n . . . . 1 1 1 1 1 . . .\n . . . . . 1 1 1 1 1 . .\n . . . . . . . . . . . .\n \\`, img\\`\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . 1 1 1 1 1 1 . . . .\n . . . 1 1 1 1 . . . . .\n . . . 1 1 1 1 . . . . .\n . . . . 1 1 1 1 1 . . .\n . . . . . 1 1 1 1 1 . .\n . . . . . . . . . . . .\n \\`, img\\`\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . 1 1 1 1 1 1 . . . .\n . . . 1 1 1 1 . . . . .\n . . . 1 1 1 1 1 1 . . .\n . . . . 1 1 1 1 1 1 1 .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n \\`, img\\`\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . 1 1 1 1 . . . . .\n . . 1 1 1 1 1 1 . . . .\n . . . 1 1 1 1 1 1 1 1 .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n \\`, img\\`\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . 1 1 1 1 1 1 . .\n . . . 1 1 1 1 1 . . . .\n . . . 1 1 1 1 . . . . .\n . . 1 1 1 1 1 1 . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n \\`, img\\`\n . . . . . . . . . . . .\n . . . . . 1 1 1 1 . . .\n . . . . 1 1 1 1 . . . .\n . . . . 1 1 1 . . . . .\n . . . . 1 1 1 . . . . .\n . . . . 1 1 1 . . . . .\n . . 1 1 1 1 1 1 . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n \\`]\n animation.runImageAnimation(\n bird,\n birdFrames,\n 40,\n true\n )\n obstacles = [img\\`\n . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . 7 . . . . . . . . . . .\n . . . . . . . . . . 7 7 . . . . . . . . . .\n . . . . . . . . . 6 7 7 . . . . . . . . . .\n . . . . . . . . 6 6 7 7 7 . . . . . . . . .\n . . . . . . . . 6 6 7 7 7 . . . . . . . . .\n . . . . . . . . 6 6 7 7 7 7 . . . . . . . .\n . . . . . . . 6 6 7 7 7 7 7 . . . . . . . .\n . . . . . . 6 6 6 7 7 7 7 7 . . . . . . . .\n . . . . . . . . 6 6 6 6 6 . . . . . . . . .\n . . . . . . . . 6 6 6 6 . . . . . . . . . .\n . . . . . . . 6 6 6 6 6 7 7 . . . . . . . .\n . . . . . . 6 6 6 7 7 7 7 7 7 . . . . . . .\n . . . . . . 6 6 6 7 7 7 7 7 7 7 . . . . . .\n . . . . . . 6 6 7 7 7 7 7 7 7 7 7 . . . . .\n . . 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 . . .\n . . . 6 6 6 6 6 7 7 7 7 7 6 6 6 6 6 . . . .\n . . . . . . . . 6 6 6 6 7 7 . . . . . . . .\n . . . . . . . . 6 6 6 7 7 7 . . . . . . . .\n . . . . . . 6 6 7 7 7 7 7 7 7 . . . . . . .\n . . . 6 6 6 7 7 7 7 7 7 7 7 7 7 7 . . . . .\n 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 . . . .\n 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 6\n . . . 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 6 .\n . . . . . 6 6 6 6 e e e e 7 7 7 7 7 6 6 6 .\n . . . . . . . . . e e e e . . . . . . . . .\n . . . . . . . . . e e e e . . . . . . . . .\n . . . . . . . . . e e e e . . . . . . . . .\n . . . . . . . 6 . e e e e . . 6 . . . . . .\n . . . 6 6 6 . . . e e e e . 6 . . . . . . .\n . . . 6 . 6 . . . e e e e . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . .\n \\`, img\\`\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . .\n . . . . . e e e e e . . . . .\n . . . . e e b b b e e . . . .\n . . . e e b e e e b e e . . .\n . . . e e b e e b b e e . . .\n . . . . e e b b e e e . . . .\n . . . e b e e e e b b e . . .\n . . . e e b b b b e e e . . e\n . . . e e e e e e e e . . e .\n . . . e b e e b e b e . e . e\n . . . e b e e e e b e e . . .\n . . . e e e b e e e e . . . .\n . . e e b e b e b e e e . . .\n . e e e e e e e e e e e e . .\n . . . . . . e e . . . . . . .\n \\`]\n trees = [img\\`\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . b b b b b b b b . . . . . . . . . . . . .\n . . . . . . . . . . . . . . b b . . b b b b b b . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b . . b b b . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . b b b b b . b b . . . . . . . . . . . . .\n . . . . . . . . . . . . . . b b b b b b b b b b . . . . . . . . . . . .\n . . . . . . . . . . . . b b b b . b b b b b b b . . . . . . . . . . . .\n . . . . . . . . . . b b b b b . . b b b b b . b b b b . . . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b b . . . b b b . . . . . . . .\n . . . . . . . . . . . . . . . b b b b b b b b . . . . . . . . . . . . .\n . . . . . . . . . . . . . . b b b b b b . b b . . . . . . . . . . . . .\n . . . . . . . . . . . b b b b b b b b b b b b b . . . . . . . . . . . .\n . . . . . . . . . b b b b b b . . b b b b . b b b . . . . . . . . . . .\n . . . . . . . . . . b b b b b . . b b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b b b . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . b b b b b b b b b . . . . . . . . . . . .\n . . . . . . . . . . . . . b b b b b b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . b b b b b b b b b b b b b b b b b . . . . . . . .\n . . . . . . . . . . b b b b b b b b b b b b b b b b b . . . . . . . . .\n . . . . . . . . . b b b b . b b b b b b b b . . . . . . . . . . . . . .\n . . . . . . . . b b . . . . b b b b b b b b b . . . . . . . . . . . . .\n . . . . . . . . . . . . b b b b b b b b b b b b b . . . . . . . . . . .\n . . . . . . . . b b b b b b b b b b b b b b b b b b b b . . . . . . . .\n . . . . . . . b b b b b b b b b b b b b b b b b b b b b b b . . . . . .\n . . . . . . b b b b b b b b . . . b b b b b b b b b . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n \\`, img\\`\n . . . . . . . . . . . . . . . . . . . b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b b b . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . b b b b . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b b b b . . . . . . . . . . . .\n . . . . . . . . . . . . . . . b b b . b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . b b b b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b b b b . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b . b b b b . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b b b . . . . . . . . . . . . .\n . . . . . . . . . . . . . b b b b b b b . b b b b . . . . . . . . . . .\n . . . . . . . . . . . . b b b b b . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . b b b b b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . . . b b b b b b b b b b . . . . . . . . . . . . .\n . . . . . . . . . . . . b b b . . b b b b b b b b . . . . . . . . . . .\n . . . . . . . . . . . b b b b . b b b b b b b b . b . . . . . . . . . .\n . . . . . . . . . . . . b . . . b b b b b b b b b . . . . . . . . . . .\n . . . . . . . . . . . . . . . b b b b b b b b b b b . . . . . . . . . .\n . . . . . . . . . . . . . . b b b b b b b . b b b b . . . . . . . . . .\n . . . . . . . . . . . . . b b b b b b b b b b b b b b b . . . . . . . .\n . . . . . . . . . . . b b b b . b b b b b b b . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . b b b b b b . b b . . . . . . . . . . . .\n . . . . . . . . . . . . . b b b b b b b b b b b b . . . . . . . . . . .\n . . . . . . . . . . . . b b b b b b b b b b b b b b . . . . . . . . . .\n . . . . . . . . . . . . b b b b b b b b b b . . b b b . . . . . . . . .\n . . . . . . . . . b b b b b b b b b b b b b b . . b b b b . . . . . . .\n . . . . . . . . b b . . . b b b b b b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . b b b b b b b b b b b . . . . . . . . . . .\n . . . . . . . . . . . . b b b b . b b b b b b b b . . . . . . . . . . .\n . . . . . . . . b b b b . b . . . b b b b b b b . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b . . b b b b . . . . . . . . .\n . . . . . . . . . . . . . b b b b b . b b b b b b b b . . . . . . . . .\n . . . . . . . . . b b b b b b . . b b b b . . b b b b b . . . . . . . .\n . . . . . . . . b b . b . . . . b b b b b . . . . . b b b . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n \\`, img\\`\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . b b b b b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b b b . . . . . . . . . . . . .\n . . . . . . . . . . . . . . b b b b b b b b b b . . . . . . . . . . . .\n . . . . . . . . . . . . b b b b . . b b b b b b b . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . b b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . b b b b b b b b . . . . . . . . . . . . .\n . . . . . . . . . . . . b b b b b b b b b b b b b . . . . . . . . . . .\n . . . . . . . . b b b b b b b b b b b b b b b b b b b b . . . . . . . .\n . . . . . . . . . . . b b b b b b b b b b b b b b b b . . . . . . . . .\n . . . . . . . . . . . . . . . . b b b b b b b . b . . . . . . . . . . .\n . . . . . . . . . . . . . . b b b b b b b b b b b b b b b b . . . . . .\n . . . . . . . . . . . b b b b b b b b b b b b b b b b b b . . . . . . .\n . . . . . . . . b b b b b b b b b b b b b b b b b b b . . . . . . . . .\n . . . . . . . . . . b b b b b . . . b b b b . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b . b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b . b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . b b b . . . . . . . . . . . . . . .\n \\`]\n grassImages = [img\\`\n . . . . . . . .\n . . . . . . . .\n . . . . . . . .\n . . . . . . . .\n . . . . b . . .\n . . . . b . . .\n . . . b b . . .\n . . . b b . . .\n \\`, img\\`\n . . . . . . . .\n . . . . . . . .\n . . . . . . . .\n . . . . . . . .\n . . . b . . . .\n . . . b . . . .\n . . . b b . b .\n . . . b b . b .\n \\`, img\\`\n . . . . . . . .\n . . . . . . . .\n b . . . . . . .\n b . . b . . . .\n b . . b b . . .\n b . b b b . . .\n b . b b b . b .\n b b b b b . b .\n \\`, img\\`\n . . . . . . . .\n . . . . . . . .\n . . . . . . . .\n . . . . . . . b\n . . . b . . . b\n . . . b . . . b\n . . . b b . b b\n . . . b b . b b\n \\`, img\\`\n . . . . . . . .\n . . . . . . . .\n . . . b . . . .\n . . . b . . . .\n . . b b . . . .\n . . b b b . . .\n . . b b b . . .\n . . b b b . . .\n \\`, img\\`\n . . . . . . . .\n . . . . . . . .\n . . . . . . . .\n . b . . . . . .\n . b . . . . . .\n . b b . . . b .\n . b b . . . b .\n . b b . . . b .\n \\`]\n clouds = [img\\`\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . .\n . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . .\n . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . .\n . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . .\n . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . .\n . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . .\n . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . .\n . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . .\n . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . .\n . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . .\n . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . .\n . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 .\n . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 .\n . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 .\n . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . .\n \\`, img\\`\n . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 1 1 1 . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . .\n . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . .\n . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . .\n . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . .\n . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . .\n . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . .\n . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . .\n . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . .\n . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . .\n . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . .\n . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 .\n . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 .\n . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 .\n 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 . .\n \\`, img\\`\n . . . . . . . . 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . . .\n . . . . . . . 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . .\n . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . .\n . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . .\n . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . .\n . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . .\n . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . .\n . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . .\n 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . .\n 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . .\n . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . .\n . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 .\n . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . .\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n \\`, img\\`\n . . . . . . . . . . . . . . . . . . . 1 1 1 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . . 1 1 1 1 1 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . 1 1 1 1 1 . . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . . . . . . . .\n . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . . . . .\n . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . . .\n . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . .\n . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . .\n . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . .\n . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . .\n . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . .\n . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . .\n . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . .\n . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . .\n . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . .\n . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . .\n 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 .\n 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 .\n 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 .\n . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . 1 1 1 1 1 1 1 1 . . . . . . .\n \\`, img\\`\n . . . . . . . . . . . . . . . . . . . . . . . . 1 1 1 1 . . . . . . . . . . .\n . . . . . . . . . . . . . . . . . 1 1 1 1 . . 1 1 1 1 1 1 . . . . . . . . . .\n . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . .\n . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . .\n . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . .\n . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . .\n . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . .\n . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . .\n . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . .\n . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . .\n . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 .\n . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 .\n . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 .\n 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . .\n 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . . . . . . .\n \\`]\n}\nfunction createTree () {\n tree = sprites.createProjectileFromSide(trees[Math.randomRange(0, trees.length - 1)], (-100 - game.runtime() / 250) / 2, 0)\n tree.bottom = 100\n tree.z = -1\n}\nfunction createCloud () {\n cloud = sprites.createProjectileFromSide(clouds[Math.randomRange(0, clouds.length - 1)], -30, 0)\n cloud.bottom = Math.randomRange(30, 55)\n cloud.z = -2\n}\nsprites.onOverlap(SpriteKind.Player, SpriteKind.Obstacle, function (sprite, otherSprite) {\n game.over(false, effects.melt)\n})\nlet grass: Sprite = null\nlet projectile: Sprite = null\nlet newObstacle: Image = null\nlet numObstacles = 0\nlet osbstacleSpeed = 0\nlet difficultyFactor = 0\nlet cloud: Sprite = null\nlet tree: Sprite = null\nlet clouds: Image[] = []\nlet grassImages: Image[] = []\nlet trees: Image[] = []\nlet obstacles: Image[] = []\nlet birdFrames: Image[] = []\nlet bird: Sprite = null\nlet gravity = 0\nlet bunny: Sprite = null\nlet theScore = 0\nscene.setBackgroundColor(13)\nbunny = sprites.create(img\\`\n . . . . . . . . . . . .\n . . . 1 1 . 1 1 . . . .\n . . . 1 3 . 1 3 . . . .\n . . . . 1 3 . 1 3 . . .\n . . . . 1 3 . 1 3 . . .\n . . . 1 1 1 1 1 1 . . .\n . . 1 1 1 1 1 1 1 1 . .\n . . 1 1 1 f 1 1 f 1 . .\n . . 1 1 1 1 1 1 1 1 . .\n . . 1 1 1 1 f f 1 1 . .\n . . . 1 1 1 1 1 1 . . .\n . 1 1 1 1 1 1 1 1 1 1 .\n . 1 1 1 1 1 1 1 1 1 1 .\n . . . . 1 1 1 1 . . . .\n . . . . 1 1 1 1 . . . .\n . . . . 1 1 1 1 . . . .\n . . . . 1 1 1 1 . . . .\n . . . . . 1 1 . . . . .\n . . . . . . 1 . . . . .\n . . . . . . . . . . . .\n . . . . . . . . . . . .\n\\`, SpriteKind.Player)\ngravity = 400\nbunny.ay = gravity\nbunny.x = 20\nbird = sprites.create(img\\`\n . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . .\n . . . . . . . . . . . . . . . .\n\\`, SpriteKind.Projectile)\nbird.setPosition(160, 20)\nbird.setVelocity(-120, 0)\nsetupFrames()\ngame.onUpdate(function () {\n if (bunny.bottom > 105) {\n bunny.bottom = 105\n bunny.vy = 0\n bunny.ay = 0\n }\n})\ngame.onUpdate(function () {\n if (bird.x < 0) {\n bird.setPosition(Math.randomRange(160, 240), Math.randomRange(20, 60))\n }\n})\ngame.onUpdateInterval(100, function () {\n bird.x += -1\n})\nforever(function () {\n difficultyFactor = game.runtime() / 250\n osbstacleSpeed = 100 + difficultyFactor\n numObstacles = Math.randomRange(1, 3)\n for (let i = 0; i < numObstacles; i++) {\n newObstacle = obstacles[Math.randomRange(0, obstacles.length - 1)]\n projectile = sprites.createProjectileFromSide(newObstacle, 0 - osbstacleSpeed, 0)\n projectile.bottom = 105\n projectile.setKind(SpriteKind.Obstacle)\n pause(11500 / osbstacleSpeed)\n }\n pause(Math.randomRange(1500, 2500))\n})\ngame.onUpdateInterval(200, function () {\n if (Math.percentChance(40)) {\n grass = sprites.createProjectileFromSide(grassImages[Math.randomRange(0, grassImages.length - 1)], (-100 - game.runtime() / 250) / 2, 0)\n grass.bottom = 100\n grass.z = -1\n }\n})\ngame.onUpdateInterval(100, function () {\n info.changeScoreBy(1)\n if (info.score() > 0 && info.score() % 100 == 0) {\n effects.confetti.startScreenEffect()\n } else if (info.score() > 0 && (info.score() - 10) % 100 == 0) {\n effects.confetti.endScreenEffect()\n }\n})\ngame.onUpdateInterval(1000, function () {\n if (Math.percentChance(20)) {\n createCloud()\n }\n})\nforever(function () {\n if (Math.percentChance(60)) {\n createTree()\n if (Math.percentChance(50)) {\n pause(Math.randomRange(150, 300))\n createTree()\n }\n }\n pause(1500)\n})\n\n`;","export const bunny_hop_main_blocks: string = `\n`;","import { Bitmap } from \"../sprite-editor/bitmap\";\n\nexport interface HttpRequestOptions {\n url: string;\n method?: string; // default to GET\n data?: any;\n headers?: {[index: string]: string};\n allowHttpErrors?: boolean; // don't treat non-200 responses as errors\n allowGzipPost?: boolean;\n responseArrayBuffer?: boolean;\n forceLiveEndpoint?: boolean;\n}\n\nexport interface HttpResponse {\n statusCode: number;\n headers: {[index: string]: string | string[]};\n buffer?: any;\n text?: string;\n json?: any;\n}\n\nexport interface UserProject {\n binJs: string;\n mainTs: string;\n mainBlocks: string;\n screenshot: string;\n}\n\nexport function requestAsync(options: HttpRequestOptions): Promise {\n return httpRequestCoreAsync(options)\n .then(resp => {\n if ((resp.statusCode != 200 && resp.statusCode != 304) && !options.allowHttpErrors) {\n let msg = `Bad HTTP status code: ${resp.statusCode} at ${options.url}; message: ${(resp.text || \"\").slice(0, 500)}`;\n let err: any = new Error(msg)\n err.statusCode = resp.statusCode\n return Promise.reject(err)\n }\n if (resp.text && /application\\/json/.test(resp.headers[\"content-type\"] as string))\n resp.json = JSON.parse(resp.text)\n return resp\n })\n}\n\nexport function httpGetTextAsync(url: string) {\n return requestAsync({ url: url }).then(resp => resp.text)\n}\n\nexport function httpGetJsonAsync(url: string) {\n return requestAsync({ url: url }).then(resp => resp.json)\n}\n\nexport function httpPostJsonAsync(url: string, data: any) {\n return requestAsync({ url: url, data: data || {} }).then(resp => resp.json)\n}\n\nfunction httpRequestCoreAsync(options: HttpRequestOptions) {\n return new Promise((resolve, reject) => {\n let client: XMLHttpRequest;\n let resolved = false\n\n let headers = { ...options.headers }\n\n client = new XMLHttpRequest();\n if (options.responseArrayBuffer)\n client.responseType = \"arraybuffer\";\n client.onreadystatechange = () => {\n if (resolved) return // Safari/iOS likes to call this thing more than once\n\n if (client.readyState == 4) {\n resolved = true\n let res: HttpResponse = {\n statusCode: client.status,\n headers: {},\n buffer: (client as any).responseBody || client.response,\n text: options.responseArrayBuffer ? undefined : client.responseText,\n }\n const allHeaders = client.getAllResponseHeaders();\n allHeaders.split(/\\r?\\n/).forEach(l => {\n let m = /^\\s*([^:]+): (.*)/.exec(l)\n if (m) res.headers[m[1].toLowerCase()] = m[2]\n })\n resolve(res)\n }\n }\n\n let data = options.data\n let method = options.method || (data == null ? \"GET\" : \"POST\");\n\n let buf: any;\n\n if (data == null) {\n buf = null\n } else if (data instanceof Uint8Array) {\n buf = data\n } else if (typeof data == \"object\") {\n buf = JSON.stringify(data)\n headers[\"content-type\"] = \"application/json; charset=utf8\"\n } else if (typeof data == \"string\") {\n buf = data\n } else {\n throw new Error(\"bad data\");\n }\n\n client.open(method, options.url);\n\n Object.keys(headers).forEach(k => {\n client.setRequestHeader(k, headers[k])\n })\n\n if (buf == null)\n client.send();\n else\n client.send(buf);\n })\n}\n\nexport function shareScriptAsync(screenshotUri: string, mainTS: string, mainBlocks: string) {\n let thumbnailBuffer: string;\n let thumbnailMimeType: string;\n\n if (screenshotUri) {\n const m = /^data:(image\\/(png|gif));base64,([a-zA-Z0-9+/]+=*)$/.exec(screenshotUri);\n if (m) {\n thumbnailBuffer = m[3];\n thumbnailMimeType = m[1];\n }\n }\n\n const text = {\n ...scriptText\n }\n\n text[\"main.ts\"] = mainTS;\n text[\"main.blocks\"] = mainBlocks;\n\n const scrReq = {\n name: \"Arcade Game\",\n target: \"arcade\",\n targetVersion: \"0.12.17\",\n description: \"Made with ❤️ in Microsoft MakeCode Arcade.\",\n editor: \"blocksprj\",\n text,\n meta: {\n // versions: pxt.appTarget.versions,\n // blocksHeight: meta.blocksHeight,\n // blocksWidth: meta.blocksWidth\n },\n thumbnailBuffer,\n thumbnailMimeType\n };\n\n const opts: HttpRequestOptions = {\n headers: {},\n url: \"https://arcade.makecode.com/api/scripts\",\n data: scrReq,\n allowGzipPost: true\n }\n\n return requestAsync(opts);\n}\n\nconst scriptText = {\n \"README.md\": \"\",\n \"main.blocks\": \"\",\n \"main.ts\": \"\",\n \"pxt.json\": \"{\\n \\\"name\\\": \\\"My First Game\\\",\\n \\\"dependencies\\\": {\\n \\\"device\\\": \\\"*\\\",\\n \\\"animation\\\": \\\"*\\\"\\n },\\n \\\"description\\\": \\\"\\\",\\n \\\"files\\\": [\\n \\\"main.blocks\\\",\\n \\\"main.ts\\\",\\n \\\"README.md\\\"\\n ],\\n \\\"preferredEditor\\\": \\\"tsprj\\\",\\n \\\"targetVersions\\\": {\\n \\\"branch\\\": \\\"v0.12.17\\\",\\n \\\"tag\\\": \\\"v0.12.17\\\",\\n \\\"commits\\\": \\\"https://github.com/microsoft/pxt-arcade/commits/bbca8732cef11a27ce09394ba07a49d406ab792c\\\",\\n \\\"target\\\": \\\"0.12.17\\\",\\n \\\"pxt\\\": \\\"5.17.29\\\"\\n }\\n}\"\n}","import * as React from \"react\";\nimport { tickEvent } from '../telemetry/appinsights';\n\nexport interface SocialButtonProps {\n platform: \"twitter\" | \"facebook\";\n shareUrl: string;\n}\n\nexport class SocialButton extends React.Component {\n render() {\n const { platform, shareUrl } = this.props;\n return {logClick(platform)}} />\n }\n}\n\nfunction getFacebookUrl(shareUrl: string) {\n return `https://www.facebook.com/sharer/sharer.php?u=${encodeURIComponent(shareUrl)}`;\n}\n\nfunction getTwitterUrl(shareUrl: string) {\n // https://developer.twitter.com/en/docs/twitter-for-websites/tweet-button/overview\n const text = \"Check out what I made with @MSMakeCode!\";\n const hashtags = \"ArcadeMod\"\n\n return `https://twitter.com/intent/tweet?url=${encodeURIComponent(shareUrl)}` +\n `&text=${encodeURIComponent(text)}&hashtags=${encodeURIComponent(hashtags)}`;\n}\n\nfunction logClick(platform: string) {\n tickEvent(\"shareExperiment.share.social\", {\"platform\": platform});\n}","import React from 'react';\n\nimport '../css/Share.css';\nimport '../css/icons.css';\n\nimport * as util from \"./util\";\nimport { SocialButton } from './Social';\nimport { tickEvent } from '../telemetry/appinsights';\n\nconst legalText = \"You need to publish your project to share it. You acknowledge having consent to publish this project.\";\nconst testURL = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAAGuUlEQVR4Xu2dva4UNxSAZ58gBaKhS5EHICURImlSpEPiCVJDk44noIsUgVJQ8AARUrq0AXEvHfAAKVJBqhR5go28XF95vZ7x8fHxjGf22yarrH3m+PN3j392JXYf313sB14QqCRw6+0wDA+/KY6yQ8BiZnRIEEBAtFiUwJGAzy6Pcwkro//s6v9RARedtu08PFkBnWyxfNEyjYDbcWDRkZwIGFW6Q3JhZaQCLjpfm3v46B4wrIKJ91TAzamwzIAQcBnuPPWKwOghJL6a4RCCMy0IcA3TgioxxQQQUIyKhi0IHARUvDiEKKDRxY4AAtqxJJKCAAIqoNHFjgAC2rEkkoIAAiqg0cWOAALasSSSggACKqDRxY4AAtqxJJKCAAIqoNHFjgAC2rEkkoIAAiqg0cWOAALasSSSggACKqDRxY4AAtqxJJKCAAIqoNHFjgAC2rEkkoIAAiqg0cWOAALasSSSggACKqDRxY4AAtqxJJKCAAIqoNHFjgAC2rEkkoIAAiqg0cWOAALasSSSggACKqDRxY4AAtqxJJKCAAIqoNHFjgAC2rEkkoIAAiqg0cWOAALasSSSggACKqDRxY4AAtqxJJKCAAIqoNHFjgAC2rE8iXTr6+N/O+3T++hfEGr47LWERsBGM4V8MrAIKONU3CoUkMo3jg8Bi9WSdUBAGScElHEqboWAMmQIKOMkbhXv/XxHluE0QgQUq0XDFgSqBPR/7e6vO3zfIlFibpNAvYDPLodPd4bPAl693yYqRtWCQJWALqFQPCRsMUXbjomA257f7kdXJSAnvu7nt/sE1QKOyce1Q/dz3lWCJgLudrthv98fBubfc+/V1Tx3m4yJgKnRIWC3c95VYmYCusrnXr4SImBX89xtMmoBr69gEkNbi3x//vHX8N0PX3U7OeeQmErA3AFkLQcRBFxecQSkAi5qoUrAMOO1/vLXVT//YhlezsGzFxD5lpPvcG338d3F5ws85WuNFTCsfm7YSKicfINuZydgLB/LsIFFFSGqBQyvY9Zy/eJy9iJS/SrsMehqIqCXcC0CsgQbmGMUwkxAo3yah2EJbo646AFnJeCYfOwDi5wxbXw2AsZ7PiqhqUfqYGcjYEhobA/I5bTaI3XHsxSQU7DaF/OOVQI+/eLn4dF/P5kn1Togp+DWhOXxqwV0j1qThOz95HLM0VIt4L0Pfw8Pvv39kONaBEzJ5y6iuZSeQ7X0M1QCOvncywu4BglzVzBcxSwj4eYFTO33pmTkq7l5RTQTsLcqOLbchifgEHW4FFMN55OwWMDU8uvTXcNeUHII4T6wUwG9fPH+by0C5vaBLL/zieefVFwBXcdQRB/o9e0v58++4IlTlY9TcAFI46YmAvYqX67ipVhSBY0Ny4QrFjBV/Xq7D8zt83InYyScT8IiAXN7wJ5OwiWnYISbT7j4SeYC9iRhCit3gMvJlnqySsDwG5Cx4fR4JSPZE1IN5xV0UsCp/Z40zR5ERDzpbM3fLlsBpRK+fHX/JPulT8cS8XLIqYg5QnWfZwVMhY+l7O0U7HJGvjox5updLWDNL2JePn58Ms4HT55Ujz13zcL9XzViswBFAk59D+wzku75vHw37v54PZh/37w4vK+RcOxbDUlFZLk180ocaPfL93f3UxMuuftLPW1KxFA+L52L4WS0kDDMRyJenD8iiv2pbpgUcGyPV/q0MQlTAvpKWCugRripcSFj6ayXtU8uwdqqN/Vod0oOT8XxEhxWQu0SbC1fOJ5aEV1utTHKpnYdrYuW4HBIksto3z4lX7jc+nZhFSyVMCdfOPm5ti6fWlli4XIC5j73jKTt5tDPIpcjAV1VGpv4eFl+9NvzozH+8+vNkzGHd4NT1c93TFXBqZymIOfgtP7RKQLK/gSul+DSiY6vUEoqVur65ai6Xl3FlOaUOnz4n9rHFW0OAX0lzf3eMPd5ybhk027TKsw79wc/9sSDgH6iSya8VsBwCfbv/X+dzJqcSiYKAeslNBEwdw0zlqalgOEesPYUXI+VCHMSKLqIdom5vaDbz40J6D+fPBEH34CkDiMly/mcsHiWPYGiU3DqIOFTctKUyBcvu7GISGg/2T1GPAjoEps6/TrxYrk0S3Du8BEDQsIelbHNqXgJtn38cL2UI5s12XXEW1zAdWAiy1YEELAVWeKKCCCgCBONWhFAwFZkiSsigIAiTDRqRQABW5ElrogAAoow0agVAQRsRZa4IgIIKMJEo1YEELAVWeKKCCCgCBONWhFAwFZkiSsigIAiTDRqRQABW5ElrogAAoow0agVgf8BC0s2s6EX6osAAAAASUVORK5CYII=\";\n\ninterface ShareProps {\n changeMode: (mode: \"play\" | \"share\" | \"mod\") => void;\n proj: util.UserProject;\n}\n\ninterface ShareState {\n publishID?: string;\n pending?: boolean;\n}\n\nclass Share extends React.Component {\n\n constructor(props: ShareProps) {\n super(props);\n this.state = {};\n }\n\n render() {\n const { changeMode, proj } = this.props;\n\n const screenshot = proj ? proj.screenshot : testURL;\n return (\n \n
Share your game! \n
\n
\n
\n {(this.state && this.state.publishID) ? this.renderShared() : this.renderUnshared()}\n
\n changeMode(\"play\")}>Play Again \n
\n {this.state && this.state.publishID &&
\n Want to do more? Open the link above on a laptop to edit your project in the full MakeCode Arcade experience.\n
}\n
\n )\n }\n\n protected renderUnshared() {\n const { pending } = this.state;\n return \n
\n {legalText}\n
\n
\n
{pending ?
: \"Publish\"} \n
\n
\n }\n\n protected renderShared(showSocial?: boolean) {\n const { publishID } = this.state;\n const shareLink = `https://makecode.com/${publishID}`;\n\n return \n
\n {showSocial &&
\n \n \n
}\n
\n }\n\n protected publishScript = () => {\n const { proj } = this.props;\n\n this.setState({ pending: true });\n\n if (!proj) {\n // Just for testing, it's impossible to hit this case in the normal flow\n setTimeout(() => {\n this.setState({\n publishID: \"xxxx-xxxx-xxxx-xxxx\"\n })\n }, 2000);\n }\n else {\n util.shareScriptAsync(proj.screenshot, proj.mainTs, proj.mainBlocks)\n .then(resp => {\n this.setState({\n publishID: resp.json.shortid\n });\n tickEvent(\"shareExperiment.share.publish\");\n });\n }\n\n }\n\n protected copyToClipboard = () => {\n const input = this.refs[\"url-input\"] as HTMLInputElement;\n\n if (input) {\n input.focus();\n input.setSelectionRange(0, 9999);\n }\n\n try {\n const success = document.execCommand(\"copy\");\n tickEvent(\"shareExperiment.share.copy\");\n } catch (e) {\n }\n }\n}\n\nexport default Share;","import React from 'react';\nimport './App.css';\n\nimport GamePlayer from './components/GamePlayer';\nimport GameModder, { GameModderState } from './components/GameModder';\nimport Share from './components/Share';\nimport HeaderBar from './components/HeaderBar';\n\nimport { loadAppInsights, tickEvent } from './telemetry/appinsights';\nimport { UserProject } from './components/util';\n\ninterface AppState {\n mode: \"mod\" | \"play\" | \"share\"\n}\n\nlet lastBinary: UserProject;\nlet timestamp: number;\nexport let gameModderState: GameModderState | {} = {};\n\n// HACK: Disable scrolling in iOS\ndocument.ontouchmove = function (e) {\n e.preventDefault();\n}\n\nexport class App extends React.Component<{}, AppState> {\n constructor(props: {}) {\n super(props)\n this.state = {\n mode: \"mod\"\n }\n\n this.playGame = this.playGame.bind(this);\n\n loadAppInsights(false);\n tickEvent(\"shareExperiment.landing\");\n timestamp = Date.now();\n\n window.addEventListener('resize', this.setVh);\n window.addEventListener(\"beforeunload\", this.exitTick);\n }\n\n componentWillUnmount() {\n window.removeEventListener('resize', this.setVh);\n }\n\n render() {\n this.setVh();\n return (\n \n {this.state.mode === \"mod\" ?\n :\n (\n this.state.mode === \"play\" ?\n :\n \n )\n }\n
\n );\n }\n\n playGame(binJs: UserProject) {\n lastBinary = binJs;\n\n this.changeMode(\"play\")\n }\n\n protected changeMode = (mode: \"play\" | \"share\" | \"mod\") => {\n // log new mode\n tickEvent(`shareExperiment.${mode}${this.state.mode == \"share\" ? \".again\" : \"\"}`);\n\n // calculate time in previous\n let now = Date.now();\n tickEvent(`shareExperiment.${this.state.mode}.time`, { \"duration\": now - timestamp });\n timestamp = now;\n\n this.setState({ mode });\n }\n\n protected setVh = () => {\n let vh = window.innerHeight * 0.01;\n document.documentElement.style.setProperty('--vh', `${vh}px`);\n }\n\n protected exitTick = () => {\n tickEvent(\"shareExperiment.exit\");\n (window as any).appInsights.flush();\n window.removeEventListener(\"beforeunload\", this.exitTick);\n }\n\n componentDidMount() {\n document.title = \"MakeCode Arcade\";\n tickEvent(\"shareExperiment.enter\");\n }\n}\n\nexport default App;\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport App from './App';\n\nReactDOM.render( , document.getElementById('root'));"],"sourceRoot":""}
diff --git a/docs/tutorial-tool.html b/docs/tutorial-tool.html
index db412552a91b..28edea695af1 100644
--- a/docs/tutorial-tool.html
+++ b/docs/tutorial-tool.html
@@ -4,7 +4,7 @@
-
+
diff --git a/pxtlib/main.ts b/pxtlib/main.ts
index 631f1b6f318e..cae33db5792a 100644
--- a/pxtlib/main.ts
+++ b/pxtlib/main.ts
@@ -358,10 +358,10 @@ namespace pxt {
typeScriptWorkerJs: string; // /beta---tsworker
pxtVersion: string; // "?",
pxtRelId: string; // "9e298e8784f1a1d6787428ec491baf1f7a53e8fa",
- pxtCdnUrl: string; // "https://pxt.azureedge.net/commit/9e2...e8fa/",
- commitCdnUrl: string; // "https://pxt.azureedge.net/commit/9e2...e8fa/",
- blobCdnUrl: string; // "https://pxt.azureedge.net/commit/9e2...e8fa/",
- cdnUrl: string; // "https://pxt.azureedge.net"
+ pxtCdnUrl: string; // "https://cdn.makecode.com/commit/9e2...e8fa/",
+ commitCdnUrl: string; // "https://cdn.makecode.com/commit/9e2...e8fa/",
+ blobCdnUrl: string; // "https://cdn.makecode.com/commit/9e2...e8fa/",
+ cdnUrl: string; // "https://cdn.makecode.com"
targetUrl: string; // "https://pxt.microbit.org"
targetVersion: string; // "?",
targetRelId: string; // "9e298e8784f1a1d6787428ec491baf1f7a53e8fa",
diff --git a/webapp/public/asseteditor.html b/webapp/public/asseteditor.html
index 3313125941b1..c3de1df8865d 100644
--- a/webapp/public/asseteditor.html
+++ b/webapp/public/asseteditor.html
@@ -25,7 +25,7 @@
var pxtConfig = null;
-
+