<snapdata remixID="12500478"><project name="Node Editor" app="Snap! 8.2, https://snap.berkeley.edu" version="2"><notes>this is an remix, i didnt steal it&#xD;&#xD;Space to add a new node&#xD;Connect node sockets by dragging&#xD;Press on an input socket to disconnect it&#xD;Press x to delete selected nodes&#xD;Hover over a node and press e to evaluate it</notes><thumbnail>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAAAAXNSR0IArs4c6QAAAilJREFUeF7t0jENACAAA0GQwcKCf42QYOKXq4Emn5trnztMgajABDAq7/YXABCEtACAaX7nADKQFgAwze8cQAbSAgCm+Z0DyEBaAMA0v3MAGUgLAJjmdw4gA2kBANP8zgFkIC0AYJrfOYAMpAUATPM7B5CBtACAaX7nADKQFgAwze8cQAbSAgCm+Z0DyEBaAMA0v3MAGUgLAJjmdw4gA2kBANP8zgFkIC0AYJrfOYAMpAUATPM7B5CBtACAaX7nADKQFgAwze8cQAbSAgCm+Z0DyEBaAMA0v3MAGUgLAJjmdw4gA2kBANP8zgFkIC0AYJrfOYAMpAUATPM7B5CBtACAaX7nADKQFgAwze8cQAbSAgCm+Z0DyEBaAMA0v3MAGUgLAJjmdw4gA2kBANP8zgFkIC0AYJrfOYAMpAUATPM7B5CBtACAaX7nADKQFgAwze8cQAbSAgCm+Z0DyEBaAMA0v3MAGUgLAJjmdw4gA2kBANP8zgFkIC0AYJrfOYAMpAUATPM7B5CBtACAaX7nADKQFgAwze8cQAbSAgCm+Z0DyEBaAMA0v3MAGUgLAJjmdw4gA2kBANP8zgFkIC0AYJrfOYAMpAUATPM7B5CBtACAaX7nADKQFgAwze8cQAbSAgCm+Z0DyEBaAMA0v3MAGUgLAJjmdw4gA2kBANP8zgFkIC0AYJrfOYAMpAUATPM7B5CBtACAaX7nADKQFgAwze8cQAbSAgCm+Z0/xXOiMZTOjrUAAAAASUVORK5CYII=</thumbnail><scenes select="1"><scene name="Node Editor"><notes>this is an remix, i didnt steal it&#xD;&#xD;Space to add a new node&#xD;Connect node sockets by dragging&#xD;Press on an input socket to disconnect it&#xD;Press x to delete selected nodes&#xD;Hover over a node and press e to evaluate it</notes><palette><category name="Editor" color="0,120,255,1"/></palette><hidden> reportJSFunction</hidden><headers></headers><code></code><blocks><block-definition s="costume from %&apos;command&apos;" type="reporter" category="pen"><header></header><code></code><translations></translations><inputs><input type="%cs"></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>pos</l><l>dir</l><l>costume</l><l>pen state</l><l>trails</l><l>drawing</l></list></block><block s="doSetVar"><l>pos</l><block s="getPosition"></block></block><block s="doSetVar"><l>dir</l><block s="direction"></block></block><block s="doSetVar"><l>costume</l><block s="reportGet"><l><option>costume</option></l></block></block><block s="doSetVar"><l>pen state</l><block s="getPenDown"></block></block><block s="up"></block><block s="doGotoObject"><l><option>center</option></l></block><block s="setHeading"><l>90</l></block><block s="doSetVar"><l>trails</l><block s="reportPenTrailsAsCostume"></block></block><block s="clear"></block><block s="doRun"><block var="command"/><list></list></block><block s="up"></block><block s="doSetVar"><l>drawing</l><block s="reportPenTrailsAsCostume"></block></block><block s="doGotoObject"><l><option>center</option></l></block><block s="doSwitchToCostume"><block var="trails"/></block><block s="clear"></block><block s="doStamp"></block><block s="doGotoObject"><block var="pos"/></block><block s="setHeading"><block var="dir"/></block><block s="doSwitchToCostume"><block var="costume"/></block><block s="doIf"><block var="pen state"/><script><block s="down"></block></script></block><block s="doReport"><block var="drawing"/></block></script></block></script></block-definition><block-definition s="width of text %&apos;text&apos; size %&apos;size&apos;" type="reporter" category="pen"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportVariadicProduct"><list><block s="reportStringSize"><block var="text"/></block><block var="size"/><l>0.5498046875</l></list></block></block></script></block-definition><block-definition s="draw connection from %&apos;a&apos; to %&apos;b&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>pos a</l><l>pos b</l></list></block><block s="doSetVar"><l>pos a</l><block s="reportIfElse"><block s="reportIsA"><block var="a"/><l><option>sprite</option></l></block><block s="reportAttributeOf"><l><option>position</option></l><block var="a"/></block><block var="a"/></block></block><block s="doSetVar"><l>pos b</l><block s="reportIfElse"><block s="reportIsA"><block var="b"/><l><option>sprite</option></l></block><block s="reportAttributeOf"><l><option>position</option></l><block var="b"/></block><block var="b"/></block></block><block s="doGotoObject"><block var="pos a"/></block><block s="doIf"><block s="reportIsA"><block var="a"/><l><option>sprite</option></l></block><script><block s="setPenColorDimension"><l><option>r-g-b(-a)</option></l><block s="reportListItem"><block s="reportListItem"><l>type</l><block s="reportAttributeOf"><l>my properties</l><block var="a"/></block></block><block var="socket type colors"/></block></block></script></block><block s="down"></block><block s="gotoXY"><block s="reportListItem"><l>1</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block var="pos a"/><block var="pos a"/><block var="pos b"/></list></block><l>3</l></block></block><block s="reportListItem"><l>2</l><block var="pos a"/></block></block><block s="doIf"><block s="reportIsA"><block var="b"/><l><option>sprite</option></l></block><script><block s="setPenColorDimension"><l><option>r-g-b(-a)</option></l><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="getPenAttribute"><l><option>r-g-b-a</option></l></block><block s="reportListItem"><block s="reportListItem"><l>type</l><block s="reportAttributeOf"><l>my properties</l><block var="b"/></block></block><block var="socket type colors"/></block></list></block><l>2</l></block></block></script></block><block s="gotoXY"><block s="reportListItem"><l>1</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block var="pos a"/><block var="pos b"/><block var="pos b"/></list></block><l>3</l></block></block><block s="reportListItem"><l>2</l><block var="pos b"/></block></block><block s="doIf"><block s="reportIsA"><block var="b"/><l><option>sprite</option></l></block><script><block s="setPenColorDimension"><l><option>r-g-b(-a)</option></l><block s="reportListItem"><block s="reportListItem"><l>type</l><block s="reportAttributeOf"><l>my properties</l><block var="b"/></block></block><block var="socket type colors"/></block></block></script></block><block s="doGotoObject"><block var="pos b"/></block><block s="up"></block></script></block-definition><block-definition s="ignore %&apos;x&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs></block-definition><block-definition s="new costume of width %&apos;width&apos; height %&apos;height&apos; RGBA %&apos;rgba&apos;" type="reporter" category="looks"><header></header><code></code><translations></translations><inputs><input type="%n">50</input><input type="%n">50</input><input type="%n">100</input></inputs><script><block s="doReport"><block s="reportNewCostumeStretched"><block s="reportNewCostume"><block s="reportNewList"><list><block s="reportIfElse"><block s="reportVariadicAnd"><list><block s="reportIsA"><block var="rgba"/><l><option>list</option></l></block><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="rgba"/></block><l>2</l></list></block></list></block><block s="reportListItem"><block s="reportNewList"><list><l>1</l><l>1</l><l>1</l><l>2</l></list></block><block var="rgba"/></block><block var="rgba"/></block></list></block><l>1</l><l>1</l></block><block s="reportVariadicProduct"><list><block var="width"/><l>100</l></list></block><block s="reportVariadicProduct"><list><block var="height"/><l>100</l></list></block></block></block></script></block-definition><block-definition s="$flash group %&apos;data&apos; by %&apos;fn&apos;" type="reporter" category="lists"><header></header><code></code><translations>pt:o agrupamento dos itens de _ de acordo com _&#xD;ca:$flash agrupa _ per _&#xD;</translations><inputs><input type="%l"></input><input type="%repRing"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>dta_group(list, fn)</l><list><block var="data"/><block var="fn"/></list></block></block></script></block-definition><block-definition s="%&apos;comment&apos;" type="command" category="other"><header></header><code></code><translations></translations><inputs><input type="%mlt"></input></inputs></block-definition><block-definition s="clamp text %&apos;text&apos; size %&apos;size&apos; to width %&apos;max width&apos;" type="reporter" category="pen"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%n"></input><input type="%n"></input></inputs><script><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><custom-block s="width of text %s size %n"><block var="text"/><block var="size"/></custom-block><block var="max width"/></list></block><script><block s="doDeclareVariables"><list><l>max characters</l></list></block><block s="doSetVar"><l>max characters</l><block s="reportMonadic"><l><option>floor</option></l><block s="reportQuotient"><block var="max width"/><custom-block s="width of text %s size %n"><l> </l><block var="size"/></custom-block></block></block></block><block s="doReport"><block s="reportIfElse"><block s="reportVariadicGreaterThanOrEquals"><list><block var="max characters"/><l>1</l></list></block><block s="reportJoinWords"><list><block s="reportLetter"><block s="reportCDR"><block s="reportNumbers"><l>0</l><block s="reportDifference"><block var="max characters"/><l>1</l></block></block></block><block var="text"/></block><l>…</l></list></block><l></l></block></block></script><script><block s="doReport"><block var="text"/></block></script></block></script></block-definition><block-definition s="select nodes %&apos;nodes&apos;" type="command" category="Editor"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doForEach"><l>node</l><block var="selected nodes"/><script></script></block><block s="doSetVar"><l>selected nodes</l><block s="reportMonadic"><l><option>id</option></l><block var="nodes"/></block></block><block s="doForEach"><l>node</l><block var="selected nodes"/><script></script></block></script></block></script><scripts><script x="291" y="87.49999999999994"><block s="doTellTo"><block var="node"/><block s="reifyScript"><script><block s="changeEffect"><l><option>brightness</option></l><l>-10</l></block></script><list></list></block><list></list></block></script><script x="287" y="162.3333333333332"><block s="doTellTo"><block var="node"/><block s="reifyScript"><script><block s="changeEffect"><l><option>brightness</option></l><l>10</l></block></script><list></list></block><list></list></block></script></scripts></block-definition><block-definition s="length of %&apos;vector&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportMonadic"><l><option>sqrt</option></l><block s="reportVariadicSum"><block s="reportPower"><block var="vector"/><l>2</l></block></block></block></block></script></block-definition><block-definition s="%&apos;a&apos; &amp; %&apos;b&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportVariadicSum"><list><block s="reportMonadic"><l><option>sqrt</option></l><block var="a"/></block><block s="reportMonadic"><l><option>floor</option></l><block var="b"/></block></list></block></block></script></block-definition><block-definition s="report mouse-pos" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doForever"><script><block s="doReport"><block s="reportMousePosition"></block></block></script></block></script></block-definition><block-definition s="%&apos;a&apos; &#126; %&apos;b&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportVariadicSum"><list><block s="reportMonadic"><l><option>e^</option></l><block var="a"/></block><block s="reportMonadic"><l><option>10^</option></l><block var="a"/></block></list></block></block></script></block-definition><block-definition s="forever %&apos;input&apos;" type="reporter" category="control"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doForever"><script><block s="doReport"><block var="input"/></block></script></block></script></block-definition></blocks><stage name="Stage" width="480" height="360" costume="0" color="25,30,35,1" tempo="60" threadsafe="false" penlog="false" volume="100" pan="0" lines="round" ternary="false" hyperops="true" codify="false" inheritance="true" sublistIDs="false" id="460"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAAAXNSR0IArs4c6QAADoVJREFUeF7t1cEJAAAIxDDdf2m3sJ+4wEEQuuMIECBAgACBd4F9XzRIgAABAgQIjAB7AgIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECByxcQFpoRMBzwAAAABJRU5ErkJggg==</pentrails><costumes><list struct="atomic" id="461"></list></costumes><sounds><list struct="atomic" id="462"></list></sounds><variables></variables><blocks></blocks><scripts><script x="19" y="10"><block s="receiveGo"></block><block s="doSetVar"><l>camera position</l><block s="reportNewList"><list><l>0</l><l>0</l></list></block></block><block s="doSetVar"><l>camera zoom</l><l>1</l></block><block s="setBackgroundColorDimension"><l><option>r-g-b(-a)</option></l><block s="reportNewList"><list><l>25</l><l>30</l><l>35</l></list></block></block></script><script x="30" y="176"><block s="receiveGo"></block><block s="doForever"><script><block s="doWarp"><script><block s="doBroadcastAndWait"><l>update positions</l><list></list></block><block s="clear"></block><block s="doRun"><block s="reportAttributeOf"><l><wish s="draw" type="command" category="pen"></wish></l><l>Pen</l></block><list></list></block></script></block></script></block></script><script x="31" y="379.33333333333326"><block s="receiveInteraction"><l><option>pressed</option></l></block><block s="doDeclareVariables"><list><l>press camera pos</l><l>press mouse pos</l><l>dragging threshold</l></list></block><block s="doSetVar"><l>press camera pos</l><block s="reportMonadic"><l><option>id</option></l><block var="camera position"/></block></block><block s="doSetVar"><l>press mouse pos</l><block s="reportMousePosition"></block></block><block s="doSetVar"><l>dragging threshold</l><l>3</l></block><block s="doWaitUntil"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><custom-block s="length of %l"><block s="reportDifference"><block s="reportMousePosition"></block><block var="press mouse pos"/></block></custom-block><block var="dragging threshold"/></list></block><block s="reportNot"><block s="reportMouseDown"></block></block></list></block></block><block s="doIfElse"><block s="reportMouseDown"></block><script><block s="doUntil"><block s="reportNot"><block s="reportMouseDown"></block></block><script><block s="doSetVar"><l>camera position</l><block s="reportVariadicSum"><list><block var="press camera pos"/><block s="reportQuotient"><block s="reportDifference"><block var="press mouse pos"/><block s="reportMousePosition"></block></block><block var="camera zoom"/></block></list></block></block></script></block></script><script><custom-block s="select nodes %l"><block s="reportNewList"><list></list></block></custom-block></script></block></script><script x="31" y="894"><block s="receiveInteraction"><l><option>scrolled-down</option></l></block><block s="doSetVar"><l>camera zoom</l><block s="reportVariadicMax"><list><block s="reportQuotient"><block var="camera zoom"/><l>1.2</l></block><block s="reportPower"><block s="reportQuotient"><l>1</l><l>1.2</l></block><l>7</l></block></list></block></block></script><script x="31" y="788"><block s="receiveInteraction"><l><option>scrolled-up</option></l></block><block s="doSetVar"><l>camera zoom</l><block s="reportVariadicMin"><list><block s="reportVariadicProduct"><list><block var="camera zoom"/><l>1.2</l></list></block><block s="reportPower"><l>1.2</l><l>3</l></block></list></block></block></script><comment x="486" y="90" w="158" collapsed="false">Things I still want to add:&#xD;- variadic inputs (for JOIN)&#xD;- output node&#xD;- resizing nodes&#xD;- tick box for boolean inputs</comment></scripts><sprites select="1"><sprite name="Node" idx="1" x="200.52631578947376" y="-51.0526315789474" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="false" hidden="true" costume="0" color="65,92,176,1" pen="tip" id="620"><wear><ref mediaID="1"></ref></wear><costumes><list struct="atomic" id="621"></list></costumes><sounds><list struct="atomic" id="622"></list></sounds><blocks><block-definition s="new node %&apos;properties&apos;" type="reporter" category="Editor"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doSetVar"><l>my properties</l><block var="properties"/></block><block s="doDeclareVariables"><list><l>node</l></list></block><block s="doSetVar"><l>node</l><block s="newClone"><l><option>myself</option></l></block></block><block s="doRun"><block s="reportAttributeOf"><l><wish s="initialize node" type="command" category="Editor"></wish></l><block var="node"/></block><list></list></block><block s="doReport"><block var="node"/></block></script></block></script></block-definition><block-definition s="initialize node" type="command" category="Editor"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doGotoObject"><block s="reportDifference"><block var="my position"/><block var="camera position"/></block></block><block s="setScale"><l>100</l></block><custom-block s="update node costume" scope="local"></custom-block><block s="doDeclareVariables"><list><l>has label?</l><l># inputs</l><l># outputs</l><l>width</l><l>height</l></list></block><block s="doSetVar"><l>has label?</l><block s="reportVariadicNotEquals"><list><block s="reportListItem"><l>label</l><block var="my properties"/></block><l></l></list></block></block><block s="doSetVar"><l># inputs</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>inputs</l><block var="my properties"/></block></block></block><block s="doSetVar"><l># outputs</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>outputs</l><block var="my properties"/></block></block></block><block s="doSetVar"><l>width</l><l>80</l></block><block s="doSetVar"><l>height</l><block s="reportVariadicMax"><list><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block var="has label?"/><l>20</l></list></block><block s="reportVariadicProduct"><list><block var="# inputs"/><l>20</l></list></block><block s="reportVariadicProduct"><list><block var="# outputs"/><l>20</l></list></block></list></block><l>20</l></list></block></block><block s="doSetVar"><l>my output sockets</l><block s="reportNewList"><list></list></block></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="# outputs"/><l>0</l></list></block><script><block s="doDeclareVariables"><list><l>y</l></list></block><block s="doSetVar"><l>y</l><block s="reportVariadicSum"><list><block s="reportGet"><l><option>top</option></l></block><block s="reportVariadicProduct"><list><block var="has label?"/><l>-20</l></list></block><l>-10</l></list></block></block><block s="doFor"><l>i</l><l>1</l><block var="# outputs"/><script><block s="doDeclareVariables"><list><l>socket</l></list></block><block s="doSetVar"><l>socket</l><block s="evaluate"><block s="reportAttributeOf"><l><wish s="new output socket of node %s properties %s" type="reporter" category="Editor"></wish></l><l>Output socket</l></block><list><block s="reportGet"><l><option>self</option></l></block><block s="reportListItem"><block var="i"/><block s="reportListItem"><l>outputs</l><block var="my properties"/></block></block></list></block></block><block s="doTellTo"><block var="socket"/><block s="reifyScript"><script><block s="gotoXY"><l></l><l></l></block><block s="doSetVar"><l><option>my anchor</option></l><l></l></block></script><list></list></block><list><block s="reportGet"><l><option>right</option></l></block><block var="y"/><block s="reportGet"><l><option>self</option></l></block></list></block><block s="doAddToList"><block var="socket"/><block var="my output sockets"/></block><block s="doChangeVar"><l>y</l><l>-20</l></block></script></block></script></block><block s="doSetVar"><l>my input sockets</l><block s="reportNewList"><list></list></block></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="# inputs"/><l>0</l></list></block><script><block s="doDeclareVariables"><list><l>y</l></list></block><block s="doSetVar"><l>y</l><block s="reportVariadicSum"><list><block s="reportGet"><l><option>top</option></l></block><block s="reportVariadicProduct"><list><block var="has label?"/><l>-20</l></list></block><block s="reportVariadicProduct"><list><block var="# outputs"/><l>-20</l></list></block><l>-10</l></list></block></block><block s="doFor"><l>i</l><l>1</l><block var="# inputs"/><script><block s="doDeclareVariables"><list><l>socket</l></list></block><block s="doSetVar"><l>socket</l><block s="evaluate"><block s="reportAttributeOf"><l><wish s="new input socket of node %s properties %l" type="reporter" category="Editor"></wish></l><l>Input socket</l></block><list><block s="reportGet"><l><option>self</option></l></block><block s="reportListItem"><block var="i"/><block s="reportListItem"><l>inputs</l><block var="my properties"/></block></block></list></block></block><block s="doTellTo"><block var="socket"/><block s="reifyScript"><script><block s="gotoXY"><l></l><l></l></block><block s="doSetVar"><l><option>my anchor</option></l><l></l></block></script><list></list></block><list><block s="reportGet"><l><option>left</option></l></block><block var="y"/><block s="reportGet"><l><option>self</option></l></block></list></block><block s="doAddToList"><block var="socket"/><block var="my input sockets"/></block><block s="doChangeVar"><l>y</l><l>-20</l></block></script></block></script></block><block s="show"></block></script></block-definition><block-definition s="update node costume" type="command" category="Editor"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l># inputs</l><l># outputs</l><l>width</l><l>height</l></list></block><block s="doSetVar"><l># inputs</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>inputs</l><block var="my properties"/></block></block></block><block s="doSetVar"><l># outputs</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>outputs</l><block var="my properties"/></block></block></block><block s="doSetVar"><l>width</l><block s="reportVariadicMax"><list><custom-block s="determime min node width" scope="local"></custom-block><l>100</l></list></block></block><block s="doSetVar"><l>height</l><block s="reportVariadicSum"><list><l>20</l><block s="reportVariadicProduct"><list><block var="# inputs"/><l>20</l></list></block><block s="reportVariadicProduct"><list><block var="# outputs"/><l>20</l></list></block></list></block></block><block s="doSwitchToCostume"><custom-block s="costume from %cs"><script><custom-block s="%mlt"><l>draw background</l></custom-block><block s="gotoXY"><block s="reportQuotient"><block var="width"/><l>-2</l></block><block s="reportQuotient"><block var="height"/><l>-2</l></block></block><block s="doSetGlobalFlag"><l><option>flat line ends</option></l><l><bool>true</bool></l></block><block s="setPenColorDimension"><l><option>r-g-b(-a)</option></l><l>100</l></block><block s="setSize"><block var="height"/></block><block s="down"></block><block s="changeXPosition"><block var="width"/></block><block s="up"></block><custom-block s="%mlt"><l>draw top part</l></custom-block><block s="gotoXY"><block s="reportQuotient"><block var="width"/><l>-2</l></block><l>-10</l></block><block s="setPenColorDimension"><l><option>r-g-b(-a)</option></l><block s="reportListItem"><block s="reportListItem"><l>category</l><block var="my properties"/></block><block var="node category colors"/></block></block><block s="setSize"><l>20</l></block><block s="down"></block><block s="changeXPosition"><block var="width"/></block><block s="up"></block><custom-block s="%mlt"><l>draw outline</l></custom-block><block s="gotoXY"><block s="reportQuotient"><block var="width"/><l>-2</l></block><l>0</l></block><block s="doSetGlobalFlag"><l><option>flat line ends</option></l><l><bool>false</bool></l></block><block s="setSize"><l>2</l></block><block s="setPenColorDimension"><l><option>r-g-b(-a)</option></l><l>150</l></block><block s="down"></block><block s="changeXPosition"><block var="width"/></block><block s="changeYPosition"><block s="reportMonadic"><l><option>neg</option></l><block var="height"/></block></block><block s="changeXPosition"><block s="reportMonadic"><l><option>neg</option></l><block var="width"/></block></block><block s="changeYPosition"><block var="height"/></block><block s="up"></block><custom-block s="%mlt"><l>draw node label</l></custom-block><block s="gotoXY"><block s="reportQuotient"><custom-block s="width of text %s size %n"><block s="reportListItem"><l>label</l><block var="my properties"/></block><l>12</l></custom-block><l>-2</l></block><l>-15</l></block><block s="setPenColorDimension"><l><option>r-g-b(-a)</option></l><l>255</l></block><block s="write"><block s="reportListItem"><l>label</l><block var="my properties"/></block><l>12</l></block><custom-block s="%mlt"><l>draw output labels</l></custom-block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="# outputs"/><l>0</l></list></block><script><block s="setYPosition"><block s="reportVariadicSum"><list><l>-20</l><l>-13</l></list></block></block><block s="setPenColorDimension"><l><option>r-g-b(-a)</option></l><l>255</l></block><block s="doFor"><l>i</l><l>1</l><block var="# outputs"/><script><block s="doDeclareVariables"><list><l>label</l></list></block><block s="doSetVar"><l>label</l><block s="reportListItem"><l>label</l><block s="reportListItem"><block var="i"/><block s="reportListItem"><l>outputs</l><block var="my properties"/></block></block></block></block><block s="setXPosition"><block s="reportDifference"><block s="reportDifference"><block s="reportQuotient"><block var="width"/><l>2</l></block><custom-block s="width of text %s size %n"><block var="label"/><l>12</l></custom-block></block><l>10</l></block></block><block s="write"><block var="label"/><l>12</l></block><block s="changeYPosition"><l>-20</l></block></script></block></script></block><custom-block s="%mlt"><l>draw input labels</l></custom-block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="# inputs"/><l>0</l></list></block><script><block s="setYPosition"><block s="reportVariadicSum"><list><l>-20</l><block s="reportVariadicProduct"><list><block var="# outputs"/><l>-20</l></list></block><l>-13</l></list></block></block><block s="setPenColorDimension"><l><option>r-g-b(-a)</option></l><l>255</l></block><block s="doFor"><l>i</l><l>1</l><block var="# inputs"/><script><block s="doDeclareVariables"><list><l>label</l></list></block><block s="doSetVar"><l>label</l><block s="reportListItem"><l>label</l><block s="reportListItem"><block var="i"/><block s="reportListItem"><l>inputs</l><block var="my properties"/></block></block></block></block><block s="setXPosition"><block s="reportVariadicSum"><list><block s="reportQuotient"><block var="width"/><l>-2</l></block><l>11</l></list></block></block><block s="write"><block var="label"/><l>12</l></block><block s="changeYPosition"><l>-20</l></block></script></block></script></block><block s="gotoXY"><l>0</l><l>-10</l></block></script></custom-block></block></script></block-definition><block-definition s="evaluate node" type="reporter" category="Editor"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="evaluate"><block s="reportListItem"><l>function</l><block var="my properties"/></block><block s="reportMap"><block s="reifyReporter"><autolambda><block s="evaluate"><block s="reportAttributeOf"><l><wish s="get input" type="reporter" category="Editor"></wish></l><l></l></block><list></list></block></autolambda><list></list></block><block var="my input sockets"/></block></block></block></script></block-definition><block-definition s="open node menu" type="command" category="sensing"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>menu</l></list></block><block s="doSetVar"><l>menu</l><block s="reportNewList"><list><l>Add Node</l><block s="reportConcatenatedLists"><list><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportNewList"><list><block s="reportListItem"><l>1</l><l/></block><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportNewList"><list><block s="reportListItem"><l>label</l><block var="value"/></block><block s="reifyReporter"><autolambda><block var="value"/></autolambda><list></list></block></list></block></autolambda><list><l>value</l></list></block><block s="reportListItem"><l>2</l><l/></block></block></list></block></autolambda><list></list></block><block s="reportListItem"><block s="reportNewList"><list><block s="reportNewList"><list></list></block><block s="reportNewList"><list><l>1</l><l>3</l></list></block></list></block><custom-block s="$flash group %l by %repRing"><block var="nodes"/><block s="reifyReporter"><autolambda><block s="reportListItem"><l>category</l><l/></block></autolambda><list></list></block></custom-block></block></block><block s="reportNewList"><list><block s="reportNewList"><list></list></block></list></block><block s="reportNewList"><list><l>Close</l></list></block></list></block></list></block></block><block s="doAsk"><block var="menu"/></block><block s="doIf"><block s="reportIsA"><block s="getLastAnswer"></block><l><option>reporter</option></l></block><script><block s="doSetVar"><l>my position</l><block s="reportVariadicSum"><list><block s="reportMousePosition"></block><block var="camera position"/></list></block></block><block s="doDeclareVariables"><list><l>node</l></list></block><block s="doSetVar"><l>node</l><custom-block s="new node %l" scope="local"><block s="evaluate"><block s="getLastAnswer"></block><list></list></block></custom-block></block><custom-block s="select nodes %l"><block s="reportNewList"><list><block var="node"/></list></block></custom-block><block s="doTellTo"><block var="node"/><block s="reifyScript"><script><custom-block s="pickup" scope="local"></custom-block></script><list></list></block><list></list></block></script></block></script></block-definition><block-definition s="node %&apos;label&apos; category %&apos;category&apos; function %&apos;function&apos; inputs %&apos;inputs&apos; outputs %&apos;outputs&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%txt"></input><input type="%txt"></input><input type="%repRing"></input><input type="%mult%s"></input><input type="%mult%s"></input></inputs><script><block s="doReport"><block s="reportNewList"><list><block s="reportNewList"><list><l>label</l><block var="label"/></list></block><block s="reportNewList"><list><l>category</l><block var="category"/></list></block><block s="reportNewList"><list><l>function</l><block var="function"/></list></block><block s="reportNewList"><list><l>inputs</l><block var="inputs"/></list></block><block s="reportNewList"><list><l>outputs</l><block var="outputs"/></list></block></list></block></block></script></block-definition><block-definition s="input %&apos;label&apos; type %&apos;type&apos; default %&apos;default&apos; hidden? %&apos;hidden?&apos; box? %&apos;box?&apos; menu %&apos;menu&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%txt"></input><input type="%s"><options>any&#xD;number&#xD;text&#xD;boolean</options></input><input type="%s"></input><input type="%b"></input><input type="%b"></input><input type="%l"></input></inputs><script><block s="doReport"><block s="reportNewList"><list><block s="reportNewList"><list><l>label</l><block var="label"/></list></block><block s="reportNewList"><list><l>type</l><block var="type"/></list></block><block s="reportNewList"><list><l>default</l><block var="default"/></list></block><block s="reportNewList"><list><l>hidden?</l><block var="hidden?"/></list></block><block s="reportNewList"><list><l>box?</l><block var="box?"/></list></block><block s="reportNewList"><list><l>menu</l><block var="menu"/></list></block></list></block></block></script></block-definition><block-definition s="output %&apos;label&apos; type %&apos;type&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%txt"></input><input type="%s"><options>any&#xD;number&#xD;text&#xD;boolean</options></input></inputs><script><block s="doReport"><block s="reportNewList"><list><block s="reportNewList"><list><l>label</l><block var="label"/></list></block><block s="reportNewList"><list><l>type</l><block var="type"/></list></block></list></block></block></script></block-definition><block-definition s="pickup" type="command" category="Editor"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>offset</l><l>drag mouse down?</l></list></block><block s="doSetVar"><l>offset</l><block s="reportQuotient"><block s="reportDifference"><block s="getPosition"></block><block s="reportMousePosition"></block></block><block var="camera zoom"/></block></block><block s="doSetVar"><l>drag mouse down?</l><block s="reportMouseDown"></block></block><block s="doUntil"><block s="reportNot"><block s="reportVariadicOr"><list><block s="reportVariadicAnd"><list><block s="reportMouseDown"></block><block var="drag mouse down?"/></list></block><block s="reportNot"><block s="reportVariadicOr"><list><block s="reportMouseDown"></block><block var="drag mouse down?"/></list></block></block></list></block></block><script><block s="doSetVar"><l>my position</l><block s="reportVariadicSum"><list><block s="reportQuotient"><block s="reportMousePosition"></block><block var="camera zoom"/></block><block var="offset"/><block var="camera position"/></list></block></block></script></block></script></block-definition><block-definition s="determime min node width" type="reporter" category="Editor"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportVariadicMax"><list><block s="reportVariadicSum"><list><custom-block s="width of text %s size %n"><block s="reportListItem"><l>label</l><block var="my properties"/></block><l>12</l></custom-block><l>10</l></list></block><block s="reportVariadicMax"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportIfElse"><block s="reportListItem"><l>box?</l><l/></block><block s="reportIfElse"><block s="reportIsA"><block s="reportListItem"><l>menu</l><l/></block><l><option>list</option></l></block><block s="reportVariadicSum"><list><block s="reportVariadicMax"><custom-block s="width of text %s size %n"><block s="reportListAttribute"><l><option>flatten</option></l><block s="reportListItem"><l>menu</l><l/></block></block><l>12</l></custom-block></block><custom-block s="width of text %s size %n"><block s="reportListItem"><l>label</l><l/></block><l>12</l></custom-block><l>30</l></list></block><block s="reportVariadicSum"><list><custom-block s="width of text %s size %n"><block s="reportListItem"><l>label</l><l/></block><l>12</l></custom-block><l>30</l></list></block></block><block s="reportVariadicSum"><list><custom-block s="width of text %s size %n"><block s="reportListItem"><l>label</l><l/></block><l>12</l></custom-block><l>15</l></list></block></block></autolambda><list></list></block><block s="reportListItem"><l>inputs</l><block var="my properties"/></block></block></block><block s="reportVariadicMax"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportVariadicSum"><list><custom-block s="width of text %s size %n"><block s="reportListItem"><l>label</l><l/></block><l>12</l></custom-block><l>15</l></list></block></autolambda><list></list></block><block s="reportListItem"><l>outputs</l><block var="my properties"/></block></block></block></list></block></block></script></block-definition><block-definition s="delete node" type="command" category="Editor"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doWarp"><script><block s="doForEach"><l>input socket</l><block var="my input sockets"/><script><block s="doRun"><block s="reportAttributeOf"><l><wish s="disconnect" type="command" category="Editor"></wish></l><block var="input socket"/></block><list></list></block></script></block><block s="doForEach"><l>output socket</l><block var="my output sockets"/><script><block s="doRun"><block s="reportAttributeOf"><l><wish s="disconnect all" type="command" category="Editor"></wish></l><block var="output socket"/></block><list></list></block></script></block><block s="doDeleteFromList"><block s="reportGet"><l><option>self</option></l></block><block var="selected nodes"/></block><block s="removeClone"></block></script></block></script></block-definition></blocks><variables><variable name="my properties"><list id="1707"><item><list struct="atomic" id="1708">label,forever</list></item><item><list struct="atomic" id="1709">category,Control</list></item><item><list id="1710"><item><l>function</l></item><item><context id="1711"><inputs><input>#1</input></inputs><variables></variables><custom-block s="forever %s"><block var="#1"/></custom-block><receiver><ref id="620"></ref></receiver><origin><ref id="620"></ref></origin><context id="1716"><inputs></inputs><variables></variables><receiver><ref id="620"></ref></receiver><origin><ref id="620"></ref></origin></context></context></item></list></item><item><list id="1718"><item><l>inputs</l></item><item><list id="1719"><item><list id="1720"><item><list struct="atomic" id="1721">label,input</list></item><item><list struct="atomic" id="1722">type,any</list></item><item><list id="1723"><item><l>default</l></item><item><bool>false</bool></item></list></item><item><list id="1724"><item><l>hidden?</l></item><item><bool>false</bool></item></list></item><item><list id="1725"><item><l>box?</l></item><item><bool>false</bool></item></list></item><item><list struct="atomic" id="1726">menu,0</list></item></list></item></list></item></list></item><item><list id="1727"><item><l>outputs</l></item><item><list id="1728"><item><list id="1729"><item><list struct="atomic" id="1730">label,Output</list></item><item><list struct="atomic" id="1731">type,any</list></item></list></item></list></item></list></item></list></variable><variable name="my input sockets"><l>0</l></variable><variable name="my output sockets"><l>0</l></variable><variable name="my position"><list struct="atomic" id="1732">200.5263157894737,-51.05263157894737</list></variable></variables><scripts><script x="30" y="10"><block s="receiveGo"></block><block s="doSetVar"><l>selected nodes</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>node category colors</l><block s="reportNewList"><list><block s="reportNewList"><list><l>input</l><block s="reportNewList"><list><l>65</l><l>92</l><l>176</l></list></block></list></block><block s="reportNewList"><list><l>math</l><block s="reportNewList"><list><l>10</l><l>125</l><l>183</l></list></block></list></block><block s="reportNewList"><list><l>text</l><block s="reportNewList"><list><l>85</l><l>162</l><l>22</l></list></block></list></block><block s="reportNewList"><list><l>comparison</l><block s="reportNewList"><list><l>202</l><l>102</l><l>31</l><l>255</l></list></block></list></block><block s="reportNewList"><list><l>control</l><block s="reportNewList"><list><l>73</l><l>73</l><l>73</l></list></block></list></block></list></block></block><block s="doSetVar"><l>socket type colors</l><block s="reportNewList"><list><block s="reportNewList"><list><l>any</l><block s="reportNewList"><list><l>181</l><l>181</l><l>181</l></list></block></list></block><block s="reportNewList"><list><l>number</l><block s="reportNewList"><list><l>33</l><l>158</l><l>255</l></list></block></list></block><block s="reportNewList"><list><l>text</l><block s="reportNewList"><list><l>65</l><l>201</l><l>0</l></list></block></list></block><block s="reportNewList"><list><l>boolean</l><block s="reportNewList"><list><l>255</l><l>146</l><l>12</l></list></block></list></block></list></block></block><block s="doSwitchToCostume"><custom-block s="new costume of width %n height %n RGBA %n"><l>1</l><l>1</l><block s="reportNewList"><list><l>0</l><l>0</l></list></block></custom-block></block><block s="clearEffects"></block><block s="hide"></block></script><script x="30" y="333.3333333333321"><block s="receiveKey"><l><option>space</option></l><list></list></block><block s="doIf"><block s="reportNot"><block s="reportGet"><l><option>temporary?</option></l></block></block><script><block s="doGotoObject"><l><option>mouse-pointer</option></l></block><custom-block s="open node menu" scope="local"></custom-block></script></block></script><script x="30" y="464.16666666666606"><block s="receiveOnClone"></block><block s="doForever"><script><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportTouchingObject"><l><option>mouse-pointer</option></l></block><block s="reportKeyPressed"><l><option>e</option></l></block></list></block><script><block s="doUntil"><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportTouchingObject"><l><option>mouse-pointer</option></l></block><block s="reportKeyPressed"><l><option>e</option></l></block></list></block></block><script><block s="bubble"><custom-block s="evaluate node" scope="local"></custom-block></block></script></block><block s="bubble"><l></l></block></script></block></script></block></script><script x="30" y="674.5"><block s="receiveInteraction"><l><option>pressed</option></l></block><block s="doIfElse"><block s="reportKeyPressed"><block s="reportJoinWords"><list><l>shift</l></list></block></block><script><block s="doIfElse"><block s="reportListContainsItem"><block var="selected nodes"/><block s="reportGet"><l><option>self</option></l></block></block><script><custom-block s="select nodes %l"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportNot"><block s="reportVariadicEquals"><list><l></l><block s="reportGet"><l><option>self</option></l></block></list></block></block></autolambda><list></list></block><block var="selected nodes"/></block></custom-block></script><script><custom-block s="select nodes %l"><block s="reportCONS"><block s="reportGet"><l><option>self</option></l></block><block var="selected nodes"/></block></custom-block></script></block></script><script><block s="doIf"><block s="reportNot"><block s="reportListContainsItem"><block var="selected nodes"/><block s="reportGet"><l><option>self</option></l></block></block></block><script><custom-block s="select nodes %l"><block s="reportNewList"><list><block s="reportGet"><l><option>self</option></l></block></list></block></custom-block></script></block><block s="doBroadcast"><l>pickup node</l><list><block var="selected nodes"/></list></block></script></block></script><script x="30" y="1017"><block s="receiveMessage"><l>pickup node</l><list></list></block><custom-block s="pickup" scope="local"></custom-block></script><script x="30" y="1086.8333333333335"><block s="receiveMessage"><l>update positions</l><list></list></block><block s="doGotoObject"><block s="reportVariadicProduct"><list><block s="reportDifference"><block var="my position"/><block var="camera position"/></block><block var="camera zoom"/></list></block></block><block s="setScale"><block s="reportVariadicProduct"><list><block var="camera zoom"/><l>100</l></list></block></block></script><script x="30" y="1194.5000000000005"><block s="receiveKey"><l><option>x</option></l><list></list></block><block s="doIf"><block s="reportListContainsItem"><block var="selected nodes"/><block s="reportGet"><l><option>self</option></l></block></block><script><custom-block s="delete node" scope="local"></custom-block></script></block></script><script x="30" y="1303.333333333334"><block s="receiveGo"><comment w="90" collapsed="false">Sorry for the lag</comment></block><block s="doSetVar"><l>nodes</l><block s="reportNewList"><list></list></block></block><custom-block s="%mlt"><l>inputs</l></custom-block><block s="doAddToList"><custom-block s="node %txt category %txt function %repRing inputs %mult%s outputs %mult%s" scope="local"><l>Value</l><l>Input</l><block s="reifyReporter"><script></script><list></list></block><list><custom-block s="input %txt type %s default %s hidden? %b box? %b menu %l" scope="local"><l></l><l>any</l><l>0</l><l><bool>true</bool></l><l><bool>true</bool></l><l/></custom-block></list><list><custom-block s="output %txt type %s" scope="local"><l></l><l>any</l></custom-block></list></custom-block><block var="nodes"/></block><block s="doAddToList"><custom-block s="node %txt category %txt function %repRing inputs %mult%s outputs %mult%s" scope="local"><l>Time</l><l>Input</l><block s="reifyReporter"><autolambda><block s="evaluate"><block s="reifyReporter"><autolambda><block s="reportDate"><l></l></block></autolambda><list></list></block><list><block var="#1"/></list></block></autolambda><list><l>#1</l></list></block><list><custom-block s="input %txt type %s default %s hidden? %b box? %b menu %l" scope="local"><l></l><l>any</l><l>second</l><l><bool>true</bool></l><l><bool>true</bool></l><block s="reportNewList"><list><l>year</l><l>month</l><l>date</l><l>day of week</l><l>hour</l><l>minute</l><l>second</l><l>time in milliseconds</l></list></block></custom-block></list><list><custom-block s="output %txt type %s" scope="local"><l>Time</l><l>number</l></custom-block></list></custom-block><block var="nodes"/></block><custom-block s="%mlt"><l>math</l></custom-block><block s="doAddToList"><custom-block s="node %txt category %txt function %repRing inputs %mult%s outputs %mult%s" scope="local"><l>Add</l><l>Math</l><block s="reifyReporter"><autolambda><block s="reportVariadicSum"><list><block var="#1"/><block var="#2"/></list></block></autolambda><list><l>#1</l><l>#2</l></list></block><list><custom-block s="input %txt type %s default %s hidden? %b box? %b menu %l" scope="local"><l>A</l><l>number</l><l>0</l><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block><custom-block s="input %txt type %s default %s hidden? %b box? %b menu %l" scope="local"><l>B</l><l>number</l><l>0</l><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block></list><list><custom-block s="output %txt type %s" scope="local"><l>Result</l><l>number</l></custom-block></list></custom-block><block var="nodes"/></block><block s="doAddToList"><custom-block s="node %txt category %txt function %repRing inputs %mult%s outputs %mult%s" scope="local"><l>Subtract</l><l>Math</l><block s="reifyReporter"><autolambda><block s="reportDifference"><block var="#1"/><block var="#2"/></block></autolambda><list><l>#1</l><l>#2</l></list></block><list><custom-block s="input %txt type %s default %s hidden? %b box? %b menu %l" scope="local"><l>A</l><l>number</l><l>0</l><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block><custom-block s="input %txt type %s default %s hidden? %b box? %b menu %l" scope="local"><l>B</l><l>number</l><l>0</l><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block></list><list><custom-block s="output %txt type %s" scope="local"><l>Result</l><l>number</l></custom-block></list></custom-block><block var="nodes"/></block><block s="doAddToList"><custom-block s="node %txt category %txt function %repRing inputs %mult%s outputs %mult%s" scope="local"><l>Multiply</l><l>Math</l><block s="reifyReporter"><autolambda><block s="reportVariadicProduct"><list><block var="#1"/><block var="#2"/></list></block></autolambda><list><l>#1</l><l>#2</l></list></block><list><custom-block s="input %txt type %s default %s hidden? %b box? %b menu %l" scope="local"><l>A</l><l>number</l><l>0</l><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block><custom-block s="input %txt type %s default %s hidden? %b box? %b menu %l" scope="local"><l>B</l><l>number</l><l>0</l><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block></list><list><custom-block s="output %txt type %s" scope="local"><l>Result</l><l>number</l></custom-block></list></custom-block><block var="nodes"/></block><block s="doAddToList"><custom-block s="node %txt category %txt function %repRing inputs %mult%s outputs %mult%s" scope="local"><l>Divide</l><l>Math</l><block s="reifyReporter"><autolambda><block s="reportQuotient"><block var="#1"/><block var="#2"/></block></autolambda><list><l>#1</l><l>#2</l></list></block><list><custom-block s="input %txt type %s default %s hidden? %b box? %b menu %l" scope="local"><l>A</l><l>number</l><l>0</l><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block><custom-block s="input %txt type %s default %s hidden? %b box? %b menu %l" scope="local"><l>B</l><l>number</l><l>0</l><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block></list><list><custom-block s="output %txt type %s" scope="local"><l>Result</l><l>number</l></custom-block></list></custom-block><block var="nodes"/></block><block s="doAddToList"><custom-block s="node %txt category %txt function %repRing inputs %mult%s outputs %mult%s" scope="local"><l>Power</l><l>Math</l><block s="reifyReporter"><autolambda><block s="reportPower"><block var="#1"/><block var="#2"/></block></autolambda><list><l>#1</l><l>#2</l></list></block><list><custom-block s="input %txt type %s default %s hidden? %b box? %b menu %l" scope="local"><l>A</l><l>number</l><l>0</l><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block><custom-block s="input %txt type %s default %s hidden? %b box? %b menu %l" scope="local"><l>B</l><l>number</l><l>0</l><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block></list><list><custom-block s="output %txt type %s" scope="local"><l>Result</l><l>number</l></custom-block></list></custom-block><block var="nodes"/></block><block s="doAddToList"><custom-block s="node %txt category %txt function %repRing inputs %mult%s outputs %mult%s" scope="local"><l>Modulo</l><l>Math</l><block s="reifyReporter"><autolambda><block s="reportModulus"><block var="#1"/><block var="#2"/></block></autolambda><list><l>#1</l><l>#2</l></list></block><list><custom-block s="input %txt type %s default %s hidden? %b box? %b menu %l" scope="local"><l>A</l><l>number</l><l>0</l><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block><custom-block s="input %txt type %s default %s hidden? %b box? %b menu %l" scope="local"><l>B</l><l>number</l><l>0</l><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block></list><list><custom-block s="output %txt type %s" scope="local"><l>Result</l><l>number</l></custom-block></list></custom-block><block var="nodes"/></block><block s="doAddToList"><custom-block s="node %txt category %txt function %repRing inputs %mult%s outputs %mult%s" scope="local"><l>carrot</l><l>Math</l><block s="reifyReporter"><autolambda><block s="reportPower"><block var="#1"/><block var="#2"/></block></autolambda><list><l>#1</l><l>#2</l></list></block><list><custom-block s="input %txt type %s default %s hidden? %b box? %b menu %l" scope="local"><l>a</l><l>any</l><l></l><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block><custom-block s="input %txt type %s default %s hidden? %b box? %b menu %l" scope="local"><l>b</l><l>any</l><l></l><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block></list><list><custom-block s="output %txt type %s" scope="local"><l>Boolean</l><l>boolean</l></custom-block></list></custom-block><block var="nodes"/></block><block s="doAddToList"><custom-block s="node %txt category %txt function %repRing inputs %mult%s outputs %mult%s" scope="local"><l>Round</l><l>Math</l><block s="reifyReporter"><autolambda><block s="reportRound"><block var="#1"/></block></autolambda><list><l>#1</l></list></block><list><custom-block s="input %txt type %s default %s hidden? %b box? %b menu %l" scope="local"><l>Number</l><l>number</l><l>0</l><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block></list><list><custom-block s="output %txt type %s" scope="local"><l>Result</l><l>number</l></custom-block></list></custom-block><block var="nodes"/></block><block s="doAddToList"><custom-block s="node %txt category %txt function %repRing inputs %mult%s outputs %mult%s" scope="local"><l>random</l><l>Math</l><block s="reifyReporter"><autolambda><block s="reportRandom"><block var="#1"/><block var="#2"/></block></autolambda><list><l>#1</l><l>#2</l></list></block><list><custom-block s="input %txt type %s default %s hidden? %b box? %b menu %l" scope="local"><l>first</l><l>number</l><l></l><l><bool>false</bool></l><l><bool>false</bool></l><l/></custom-block><custom-block s="input %txt type %s default %s hidden? %b box? %b menu %l" scope="local"><l>last</l><l>number</l><l></l><l><bool>false</bool></l><l><bool>false</bool></l><l/></custom-block></list><list><custom-block s="output %txt type %s" scope="local"><l>Output</l><l>any</l></custom-block></list></custom-block><block var="nodes"/></block><block s="doAddToList"><custom-block s="node %txt category %txt function %repRing inputs %mult%s outputs %mult%s" scope="local"><l>Math Function</l><l>Math</l><block s="reifyReporter"><autolambda><block s="evaluate"><block s="reifyReporter"><autolambda><block s="reportMonadic"><l></l><l></l></block></autolambda><list></list></block><list><block var="#1"/><block var="#2"/></list></block></autolambda><list><l>#1</l><l>#2</l></list></block><list><custom-block s="input %txt type %s default %s hidden? %b box? %b menu %l" scope="local"><l></l><l>any</l><l>sqrt</l><l><bool>true</bool></l><l><bool>true</bool></l><block s="reportNewList"><list><l>abs</l><l>neg</l><l>sign</l><l>ceiling</l><l>floor</l><l>sqrt</l><block s="reportNewList"><list></list></block><l>sin</l><l>cos</l><l>tan</l><l>asin</l><l>acos</l><l>atan</l><block s="reportNewList"><list></list></block><l>ln</l><l>log</l><l>lg</l><l>e^</l><l>10^</l><l>2^</l><l>id</l></list></block></custom-block><custom-block s="input %txt type %s default %s hidden? %b box? %b menu %l" scope="local"><l>Number</l><l>number</l><l>0</l><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block></list><list><custom-block s="output %txt type %s" scope="local"><l>Result</l><l>number</l></custom-block></list></custom-block><block var="nodes"/></block><block s="doAddToList"><custom-block s="node %txt category %txt function %repRing inputs %mult%s outputs %mult%s" scope="local"><l>andify</l><l>Math</l><block s="reifyReporter"><autolambda><custom-block s="%n &amp; %n"><block var="#1"/><block var="#2"/></custom-block></autolambda><list><l>#1</l><l>#2</l></list></block><list><custom-block s="input %txt type %s default %s hidden? %b box? %b menu %l" scope="local"><l>a</l><l>number</l><l></l><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block><custom-block s="input %txt type %s default %s hidden? %b box? %b menu %l" scope="local"><l>b</l><l>number</l><l></l><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block></list><list><custom-block s="output %txt type %s" scope="local"><l>Output</l><l>boolean</l></custom-block></list></custom-block><block var="nodes"/></block><block s="doAddToList"><custom-block s="node %txt category %txt function %repRing inputs %mult%s outputs %mult%s" scope="local"><l>rentify</l><l>Math</l><block s="reifyReporter"><autolambda><custom-block s="%n &#126; %n"><block var="#1"/><block var="#2"/></custom-block></autolambda><list><l>#1</l><l>#2</l></list></block><list><custom-block s="input %txt type %s default %s hidden? %b box? %b menu %l" scope="local"><l>a</l><l>number</l><l></l><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block><custom-block s="input %txt type %s default %s hidden? %b box? %b menu %l" scope="local"><l>b</l><l>number</l><l></l><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block></list><list><custom-block s="output %txt type %s" scope="local"><l>Output</l><l>any</l></custom-block></list></custom-block><block var="nodes"/></block><custom-block s="%mlt"><l>text</l></custom-block><block s="doAddToList"><custom-block s="node %txt category %txt function %repRing inputs %mult%s outputs %mult%s" scope="local"><l>Length</l><l>Text</l><block s="reifyReporter"><autolambda><block s="reportStringSize"><block var="#1"/></block></autolambda><list><l>#1</l></list></block><list><custom-block s="input %txt type %s default %s hidden? %b box? %b menu %l" scope="local"><l>Text</l><l>text</l><l></l><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block></list><list><custom-block s="output %txt type %s" scope="local"><l>Length</l><l>number</l></custom-block></list></custom-block><block var="nodes"/></block><block s="doAddToList"><custom-block s="node %txt category %txt function %repRing inputs %mult%s outputs %mult%s" scope="local"><l>Letter</l><l>Text</l><block s="reifyReporter"><autolambda><block s="reportLetter"><block var="#2"/><block var="#1"/></block></autolambda><list><l>#1</l><l>#2</l></list></block><list><custom-block s="input %txt type %s default %s hidden? %b box? %b menu %l" scope="local"><l>Text</l><l>text</l><l></l><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block><custom-block s="input %txt type %s default %s hidden? %b box? %b menu %l" scope="local"><l>N</l><l>number</l><l></l><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block></list><list><custom-block s="output %txt type %s" scope="local"><l>Text</l><l>text</l></custom-block></list></custom-block><block var="nodes"/></block><block s="doAddToList"><custom-block s="node %txt category %txt function %repRing inputs %mult%s outputs %mult%s" scope="local"><l>split</l><l>Text</l><block s="reifyReporter"><autolambda><block s="reportTextSplit"><block var="#1"/><block var="#2"/></block></autolambda><list><l>#1</l><l>#2</l></list></block><list><custom-block s="input %txt type %s default %s hidden? %b box? %b menu %l" scope="local"><l>word</l><l>text</l><l></l><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block><custom-block s="input %txt type %s default %s hidden? %b box? %b menu %l" scope="local"><l>split</l><l>text</l><l></l><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block></list><list><custom-block s="output %txt type %s" scope="local"><l>Output</l><l>any</l></custom-block></list></custom-block><block var="nodes"/></block><block s="doAddToList"><custom-block s="node %txt category %txt function %repRing inputs %mult%s outputs %mult%s" scope="local"><l>Join</l><l>Text</l><block s="reifyReporter"><autolambda><block s="reportJoinWords"><list><block var="#1"/><block var="#2"/></list></block></autolambda><list><l>#1</l><l>#2</l></list></block><list><custom-block s="input %txt type %s default %s hidden? %b box? %b menu %l" scope="local"><l>A</l><l>text</l><l></l><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block><custom-block s="input %txt type %s default %s hidden? %b box? %b menu %l" scope="local"><l>B</l><l>text</l><l></l><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block></list><list><custom-block s="output %txt type %s" scope="local"><l>Text</l><l>text</l></custom-block></list></custom-block><block var="nodes"/></block><custom-block s="%mlt"><l>comparison</l></custom-block><block s="doAddToList"><custom-block s="node %txt category %txt function %repRing inputs %mult%s outputs %mult%s" scope="local"><l>Equals</l><l>Comparison</l><block s="reifyReporter"><autolambda><block s="reportVariadicEquals"><list><block var="#1"/><block var="#2"/></list></block></autolambda><list><l>#1</l><l>#2</l></list></block><list><custom-block s="input %txt type %s default %s hidden? %b box? %b menu %l" scope="local"><l>A</l><l>any</l><l></l><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block><custom-block s="input %txt type %s default %s hidden? %b box? %b menu %l" scope="local"><l>B</l><l>any</l><l></l><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block></list><list><custom-block s="output %txt type %s" scope="local"><l>Boolean</l><l>boolean</l></custom-block></list></custom-block><block var="nodes"/></block><block s="doAddToList"><custom-block s="node %txt category %txt function %repRing inputs %mult%s outputs %mult%s" scope="local"><l>Less Than</l><l>Comparison</l><block s="reifyReporter"><autolambda><block s="reportVariadicLessThan"><list><block var="#1"/><block var="#2"/></list></block></autolambda><list><l>#1</l><l>#2</l></list></block><list><custom-block s="input %txt type %s default %s hidden? %b box? %b menu %l" scope="local"><l>A</l><l>number</l><l></l><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block><custom-block s="input %txt type %s default %s hidden? %b box? %b menu %l" scope="local"><l>B</l><l>number</l><l></l><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block></list><list><custom-block s="output %txt type %s" scope="local"><l>Boolean</l><l>boolean</l></custom-block></list></custom-block><block var="nodes"/></block><block s="doAddToList"><custom-block s="node %txt category %txt function %repRing inputs %mult%s outputs %mult%s" scope="local"><l>Greater Than</l><l>Comparison</l><block s="reifyReporter"><autolambda><block s="reportVariadicGreaterThan"><list><block var="#1"/><block var="#2"/></list></block></autolambda><list><l>#1</l><l>#2</l></list></block><list><custom-block s="input %txt type %s default %s hidden? %b box? %b menu %l" scope="local"><l>A</l><l>number</l><l></l><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block><custom-block s="input %txt type %s default %s hidden? %b box? %b menu %l" scope="local"><l>B</l><l>number</l><l></l><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block></list><list><custom-block s="output %txt type %s" scope="local"><l>Boolean</l><l>boolean</l></custom-block></list></custom-block><block var="nodes"/></block><block s="doAddToList"><custom-block s="node %txt category %txt function %repRing inputs %mult%s outputs %mult%s" scope="local"><l>And</l><l>Comparison</l><block s="reifyReporter"><autolambda><block s="reportVariadicAnd"><list><block var="#1"/><block var="#2"/></list></block></autolambda><list><l>#1</l><l>#2</l></list></block><list><custom-block s="input %txt type %s default %s hidden? %b box? %b menu %l" scope="local"><l>A</l><l>boolean</l><l></l><l><bool>false</bool></l><l><bool>false</bool></l><l/></custom-block><custom-block s="input %txt type %s default %s hidden? %b box? %b menu %l" scope="local"><l>B</l><l>boolean</l><l></l><l><bool>false</bool></l><l><bool>false</bool></l><l/></custom-block></list><list><custom-block s="output %txt type %s" scope="local"><l>Boolean</l><l>boolean</l></custom-block></list></custom-block><block var="nodes"/></block><block s="doAddToList"><custom-block s="node %txt category %txt function %repRing inputs %mult%s outputs %mult%s" scope="local"><l>Or</l><l>Comparison</l><block s="reifyReporter"><autolambda><block s="reportVariadicOr"><list><block var="#1"/><block var="#2"/></list></block></autolambda><list><l>#1</l><l>#2</l></list></block><list><custom-block s="input %txt type %s default %s hidden? %b box? %b menu %l" scope="local"><l>A</l><l>boolean</l><l></l><l><bool>false</bool></l><l><bool>false</bool></l><l/></custom-block><custom-block s="input %txt type %s default %s hidden? %b box? %b menu %l" scope="local"><l>B</l><l>boolean</l><l></l><l><bool>false</bool></l><l><bool>false</bool></l><l/></custom-block></list><list><custom-block s="output %txt type %s" scope="local"><l>Boolean</l><l>boolean</l></custom-block></list></custom-block><block var="nodes"/></block><block s="doAddToList"><custom-block s="node %txt category %txt function %repRing inputs %mult%s outputs %mult%s" scope="local"><l>Not</l><l>Comparison</l><block s="reifyReporter"><autolambda><block s="reportNot"><block var="#1"/></block></autolambda><list><l>#1</l></list></block><list><custom-block s="input %txt type %s default %s hidden? %b box? %b menu %l" scope="local"><l>Boolean</l><l>boolean</l><l></l><l><bool>false</bool></l><l><bool>false</bool></l><l/></custom-block></list><list><custom-block s="output %txt type %s" scope="local"><l>Boolean</l><l>boolean</l></custom-block></list></custom-block><block var="nodes"/></block><custom-block s="%mlt"><l>control</l></custom-block><block s="doAddToList"><custom-block s="node %txt category %txt function %repRing inputs %mult%s outputs %mult%s" scope="local"><l>If Else</l><l>Control</l><block s="reifyReporter"><autolambda><block s="reportIfElse"><block var="#1"/><block var="#2"/><block var="#3"/></block></autolambda><list><l>#1</l><l>#2</l><l>#3</l></list></block><list><custom-block s="input %txt type %s default %s hidden? %b box? %b menu %l" scope="local"><l>Condition</l><l>boolean</l><block s="reportBoolean"><l><bool>false</bool></l></block><l><bool>false</bool></l><l><bool>false</bool></l><l/></custom-block><custom-block s="input %txt type %s default %s hidden? %b box? %b menu %l" scope="local"><l>True</l><l>any</l><l></l><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block><custom-block s="input %txt type %s default %s hidden? %b box? %b menu %l" scope="local"><l>False</l><l>any</l><l></l><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block></list><list><custom-block s="output %txt type %s" scope="local"><l>Output</l><l>any</l></custom-block></list></custom-block><block var="nodes"/></block><block s="doAddToList"><custom-block s="node %txt category %txt function %repRing inputs %mult%s outputs %mult%s" scope="local"><l>forever</l><l>Control</l><block s="reifyReporter"><autolambda><custom-block s="forever %s"><block var="#1"/></custom-block></autolambda><list><l>#1</l></list></block><list><custom-block s="input %txt type %s default %s hidden? %b box? %b menu %l" scope="local"><l>input</l><l>any</l><l></l><l><bool>false</bool></l><l><bool>false</bool></l><l/></custom-block></list><list><custom-block s="output %txt type %s" scope="local"><l>Output</l><l>any</l></custom-block></list></custom-block><block var="nodes"/></block><custom-block s="%mlt"><l>sensing</l></custom-block><block s="doAddToList"><custom-block s="node %txt category %txt function %repRing inputs %mult%s outputs %mult%s" scope="local"><l>if key pressed</l><l>sensing</l><block s="reifyReporter"><autolambda><block s="evaluate"><block s="reifyReporter"><autolambda><block s="reportKeyPressed"><l></l></block></autolambda><list></list></block><list><block var="#1"/></list></block></autolambda><list><l>#1</l></list></block><list><custom-block s="input %txt type %s default %s hidden? %b box? %b menu %l" scope="local"><l>key</l><l>boolean</l><l></l><l><bool>true</bool></l><l><bool>true</bool></l><block s="reportNewList"><list><l>0</l><l>1</l><l>2</l><l>3</l><l>4</l><l>5</l><l>6</l><l>7</l><l>8</l><l>9</l><l>any key</l><l>up arrow</l><l>down arrow</l><l>right arrow</l><l>left arrow</l><l>enter</l><l>space</l><l>+</l><l>-</l><l>a</l><l>b</l><l>c</l><l>d</l><l>e</l><l>f</l><l>g</l><l>h</l><l>i</l><l>j</l><l>k</l><l>l</l><l>m</l><l>n</l><l>o</l><l>p</l><l>q</l><l>r</l><l>s</l><l>t</l><l>u</l><l>v</l><l>w</l><l>x</l><l>y</l><l>z</l></list></block></custom-block></list><list><custom-block s="output %txt type %s" scope="local"><l>Output</l><l>any</l></custom-block></list></custom-block><block var="nodes"/></block><block s="doAddToList"><custom-block s="node %txt category %txt function %repRing inputs %mult%s outputs %mult%s" scope="local"><l>timer</l><l>sensing</l><block s="reifyReporter"><autolambda><block s="getTimer"></block></autolambda><list></list></block><list></list><list><custom-block s="output %txt type %s" scope="local"><l>Output</l><l>any</l></custom-block></list></custom-block><block var="nodes"/></block><block s="doAddToList"><custom-block s="node %txt category %txt function %repRing inputs %mult%s outputs %mult%s" scope="local"><l>turbo mode check</l><l>sensing</l><block s="reifyReporter"><autolambda><block s="reportGlobalFlag"><l><option>turbo mode</option></l></block></autolambda><list></list></block><list></list><list><custom-block s="output %txt type %s" scope="local"><l>Output</l><l>any</l></custom-block></list></custom-block><block var="nodes"/></block><block s="doAddToList"><custom-block s="node %txt category %txt function %repRing inputs %mult%s outputs %mult%s" scope="local"><l>mouse pos</l><l>sensing</l><block s="reifyReporter"><autolambda><custom-block s="report mouse-pos"></custom-block></autolambda><list></list></block><list></list><list><custom-block s="output %txt type %s" scope="local"><l>Output</l><l>any</l></custom-block></list></custom-block><block var="nodes"/></block><block s="doAddToList"><custom-block s="node %txt category %txt function %repRing inputs %mult%s outputs %mult%s" scope="local"><l>neg mouse pos</l><l>sensing</l><block s="reifyReporter"><autolambda><block s="reportDifference"><l>-1</l><custom-block s="report mouse-pos"></custom-block></block></autolambda><list></list></block><list></list><list><custom-block s="output %txt type %s" scope="local"><l>Output</l><l>any</l></custom-block></list></custom-block><block var="nodes"/></block><block s="doAddToList"><custom-block s="node %txt category %txt function %repRing inputs %mult%s outputs %mult%s" scope="local"><l>neg timer</l><l>sensing</l><block s="reifyReporter"><autolambda><block s="reportDifference"><l>-1</l><block s="getTimer"></block></block></autolambda><list></list></block><list></list><list><custom-block s="output %txt type %s" scope="local"><l>Output</l><l>any</l></custom-block></list></custom-block><block var="nodes"/></block></script><script x="533" y="5003.1666666666615"><block s="doSetVar"><l>nodes</l><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="node %txt category %txt function %repRing inputs %mult%s outputs %mult%s" scope="local"><block s="reportBlockAttribute"><l><option>label</option></l><block s="reifyReporter"><script></script><list></list></block></block><l>All</l><block s="reifyReporter"><script></script><list></list></block><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="input %txt type %s default %s hidden? %b box? %b menu %l" scope="local"><block s="reportUnicodeAsLetter"><block s="reportVariadicSum"><list><l>64</l><block var="value"/></list></block></block><l>any</l><l></l><l><bool>false</bool></l><l/><l/></custom-block></autolambda><list><l>value</l></list></block><block s="reportCDR"><block s="reportNumbers"><l>0</l><block s="reportDifference"><block s="reportListAttribute"><l><option>length</option></l><block s="reportTextSplit"><l></l><l><option>blocks</option></l></block></block><l>1</l></block></block></block></block><list><custom-block s="output %txt type %s" scope="local"><l>Result</l><l>any</l></custom-block></list></custom-block></autolambda><list></list></block><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportNot"><block s="reportVariadicOr"><list><block s="reportIsA"><l></l><l><option>command</option></l></block><block s="reportBlockAttribute"><l><option>custom?</option></l><block s="reifyReporter"><script></script><list></list></block></block></list></block></block></autolambda><list></list></block><block s="reportGet"><l><option>blocks</option></l></block></block></block></block></script></scripts></sprite><sprite name="Input socket" idx="2" x="-67.68018484337017" y="-150.4967059851461" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="false" hidden="true" costume="0" color="33,158,255,1" pen="tip" id="3452"><costumes><list struct="atomic" id="3453"></list></costumes><sounds><list struct="atomic" id="3454"></list></sounds><blocks><block-definition s="new input socket of node %&apos;node&apos; properties %&apos;properties&apos;" type="reporter" category="Editor"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%l"></input></inputs><script><block s="doSetVar"><l>my connection</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>my node</l><block var="node"/></block><block s="doSetVar"><l>my properties</l><block var="properties"/></block><block s="doDeclareVariables"><list><l>socket</l></list></block><block s="doSetVar"><l>socket</l><block s="newClone"><l><option>myself</option></l></block></block><block s="doTellTo"><block var="socket"/><block s="reifyScript"><script><custom-block s="initialize socket" scope="local"></custom-block></script><list></list></block><list></list></block><block s="doReport"><block var="socket"/></block></script></block-definition><block-definition s="can connect to %&apos;socket&apos; ?" type="predicate" category="Editor"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="my socket type"/><l>in</l></list></block><block s="reportVariadicEquals"><list><block s="reportAttributeOf"><l>my socket type</l><block var="socket"/></block><l>out</l></list></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="my socket type"/><l>out</l></list></block><block s="reportVariadicEquals"><list><block s="reportAttributeOf"><l>my socket type</l><block var="socket"/></block><l>in</l></list></block><block s="reportBoolean"><l><bool>false</bool></l></block></block></block></block></script></block-definition><block-definition s="update socket costume" type="command" category="Editor"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSwitchToCostume"><custom-block s="costume from %cs"><script><block s="doSetGlobalFlag"><l><option>flat line ends</option></l><l><bool>true</bool></l></block><block s="setSize"><l>10</l></block><block s="setPenColorDimension"><l><option>r-g-b(-a)</option></l><l>150</l></block><block s="setXPosition"><l>-5</l></block><block s="down"></block><block s="setXPosition"><l>5</l></block><block s="up"></block><block s="setSize"><l>8</l></block><block s="setPenColorDimension"><l><option>r-g-b(-a)</option></l><block s="reportListItem"><block s="reportListItem"><l>type</l><block var="my properties"/></block><block var="socket type colors"/></block></block><block s="setXPosition"><l>-4</l></block><block s="down"></block><block s="setXPosition"><l>4</l></block><block s="up"></block><block s="gotoXY"><l>0</l><l>0</l></block></script></custom-block></block></script></block-definition><block-definition s="initialize socket" type="command" category="Editor"><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="update socket costume" scope="local"></custom-block><block s="setEffect"><l><option>ghost</option></l><block s="reportIfElse"><block s="reportListItem"><l>hidden?</l><block var="my properties"/></block><l>100</l><l>0</l></block></block><block s="doIf"><block s="reportListItem"><l>box?</l><block var="my properties"/></block><script><block s="doSetVar"><l>my input box</l><block s="evaluate"><block s="reportAttributeOf"><l><wish s="new input box of %s" type="reporter" category="Editor"></wish></l><l>Node input box</l></block><list><block s="reportGet"><l><option>self</option></l></block></list></block></block><block s="doTellTo"><block var="my input box"/><block s="reifyScript"><script><block s="gotoXY"><l></l><l></l></block><block s="doSetVar"><l><option>my anchor</option></l><l></l></block></script><list></list></block><list><block s="reportVariadicSum"><list><block s="xPosition"></block><l>10</l></list></block><block s="yPosition"></block><block s="reportGet"><l><option>self</option></l></block></list></block></script></block></script></block-definition><block-definition s="get input" type="reporter" category="Editor"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportIfElse"><block s="reportIsA"><block var="my connection"/><l><option>sprite</option></l></block><block s="evaluate"><block s="reportAttributeOf"><l><wish s="get output" type="reporter" category="Editor"></wish></l><block var="my connection"/></block><list></list></block><block s="reportIfElse"><block s="reportListItem"><l>box?</l><block var="my properties"/></block><block s="reportAttributeOf"><l>my value</l><block var="my input box"/></block><block s="reportListItem"><l>default</l><block var="my properties"/></block></block></block></block></script></block-definition><block-definition s="disconnect" type="command" category="Editor"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doIf"><block s="reportIsA"><block var="my connection"/><l><option>sprite</option></l></block><script><block s="doRun"><block s="reportAttributeOf"><l><wish s="disconnect from %s" type="command" category="Editor"></wish></l><block var="my connection"/></block><list><block s="reportGet"><l><option>self</option></l></block></list></block></script></block></script></block-definition></blocks><variables><variable name="my node"></variable><variable name="my connection"><list struct="atomic" id="3685"></list></variable><variable name="my input box"><l>0</l></variable><variable name="my properties"><ref id="1720"></ref></variable></variables><scripts><script x="20" y="20"><block s="receiveGo"></block><block s="hide"></block></script><script x="20" y="90.83333333333337"><block s="receiveInteraction"><l><option>mouse-entered</option></l></block><block s="changeEffect"><l><option>brightness</option></l><l>-5</l></block></script><script x="20" y="164.83333333333337"><block s="receiveInteraction"><l><option>mouse-departed</option></l></block><block s="changeEffect"><l><option>brightness</option></l><l>5</l></block></script><script x="20" y="238.83333333333337"><block s="receiveInteraction"><l><option>pressed</option></l></block><custom-block s="disconnect" scope="local"></custom-block></script><script x="20" y="308.6666666666667"><block s="receiveMessage"><l>connection updated</l><list></list></block><block s="doIfElse"><block s="reportIsA"><block var="my connection"/><l><option>sprite</option></l></block><script><block s="doTellTo"><block var="my input box"/><block s="reifyScript"><script><block s="hide"></block></script><list></list></block><list></list></block></script><script><block s="doTellTo"><block var="my input box"/><block s="reifyScript"><script><block s="show"></block></script><list></list></block><list></list></block></script></block></script></scripts></sprite><sprite name="Output socket" idx="3" x="191.59599467331464" y="149.01499682762974" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="false" hidden="true" costume="0" color="75.174,170.85000000000002,0,1" pen="tip" id="3737"><costumes><list struct="atomic" id="3738"></list></costumes><sounds><list struct="atomic" id="3739"></list></sounds><blocks><block-definition s="new output socket of node %&apos;node&apos; properties %&apos;propertes&apos;" type="reporter" category="Editor"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doSetVar"><l>my connections</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>my node</l><block var="node"/></block><block s="doSetVar"><l>my properties</l><block var="propertes"/></block><block s="doDeclareVariables"><list><l>socket</l></list></block><block s="doSetVar"><l>socket</l><block s="newClone"><l><option>myself</option></l></block></block><block s="doTellTo"><block var="socket"/><block s="reifyScript"><script><custom-block s="initialize socket" scope="local"></custom-block></script><list></list></block><list></list></block><block s="doReport"><block var="socket"/></block></script></block-definition><block-definition s="can connect to %&apos;socket&apos; ?" type="predicate" category="Editor"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportNot"><block s="reportListItem"><l>hidden?</l><block s="reportAttributeOf"><l>my properties</l><block var="socket"/></block></block></block></block></script></block-definition><block-definition s="connect to %&apos;input socket&apos;" type="command" category="Editor"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="reportIsA"><block s="reportAttributeOf"><l>my connection</l><block var="input socket"/></block><l><option>sprite</option></l></block><script><block s="doTellTo"><block s="reportAttributeOf"><l>my connection</l><block var="input socket"/></block><block s="reifyScript"><script><block s="doDeleteFromList"><l></l><block var="my connections"/></block></script><list></list></block><list><block var="input socket"/></list></block></script></block><block s="doTellTo"><block var="input socket"/><block s="reifyScript"><script><block s="doSetVar"><l>my connection</l><l></l></block></script><list></list></block><list><block s="reportGet"><l><option>self</option></l></block></list></block><block s="doAddToList"><block var="input socket"/><block var="my connections"/></block><block s="doBroadcast"><l>connection updated</l><list><block var="input socket"/></list></block></script></block></script></block-definition><block-definition s="disconnect from %&apos;input socket&apos;" type="command" category="Editor"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doWarp"><script><block s="doTellTo"><block var="input socket"/><block s="reifyScript"><script><block s="doSetVar"><l>my connection</l><l>0</l></block></script><list></list></block><list></list></block><block s="doDeleteFromList"><block var="input socket"/><block var="my connections"/></block><block s="doBroadcast"><l>connection updated</l><list><block var="input socket"/></list></block></script></block></script></block-definition><block-definition s="disconnect all" type="command" category="Editor"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doWarp"><script><block s="doForEach"><l>input socket</l><block s="reportMonadic"><l><option>id</option></l><block var="my connections"/></block><script><custom-block s="disconnect from %s" scope="local"><block var="input socket"/></custom-block></script></block></script></block></script></block-definition><block-definition s="update socket costume" type="command" category="Editor"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSwitchToCostume"><custom-block s="costume from %cs"><script><block s="doSetGlobalFlag"><l><option>flat line ends</option></l><l><bool>true</bool></l></block><block s="setSize"><l>10</l></block><block s="setPenColorDimension"><l><option>r-g-b(-a)</option></l><l>150</l></block><block s="setXPosition"><l>-5</l></block><block s="down"></block><block s="setXPosition"><l>5</l></block><block s="up"></block><block s="setSize"><l>8</l></block><block s="setPenColorDimension"><l><option>r-g-b(-a)</option></l><block s="reportListItem"><block s="reportListItem"><l>type</l><block var="my properties"/></block><block var="socket type colors"/></block></block><block s="setXPosition"><l>-4</l></block><block s="down"></block><block s="setXPosition"><l>4</l></block><block s="up"></block><block s="gotoXY"><l>0</l><l>0</l></block></script></custom-block></block></script><scripts><script x="500" y="70.63333333333338"><custom-block s="new costume of width %n height %n RGBA %n"><l>10</l><l>10</l><block s="reportListItem"><block s="reportListItem"><l>type</l><block var="my properties"/></block><block var="socket type colors"/></block></custom-block></script></scripts></block-definition><block-definition s="initialize socket" type="command" category="Editor"><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="update socket costume" scope="local"></custom-block></script></block-definition><block-definition s="get output" type="reporter" category="Editor"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="evaluate"><block s="reportAttributeOf"><l><wish s="evaluate node" type="reporter" category="Editor"></wish></l><block var="my node"/></block><list></list></block></block></script></block-definition></blocks><variables><variable name="my connections"><list struct="atomic" id="3952"></list></variable><variable name="my node"></variable><variable name="my properties"><ref id="1729"></ref></variable></variables><scripts><script x="20" y="133"><block s="receiveGo"></block><block s="doSetVar"><l>dragged socket</l><l>0</l></block><block s="hide"></block></script><script x="20" y="225.83333333333337"><block s="receiveInteraction"><l><option>mouse-entered</option></l></block><block s="changeEffect"><l><option>brightness</option></l><l>-5</l></block></script><script x="20" y="299.8333333333334"><block s="receiveInteraction"><l><option>mouse-departed</option></l></block><block s="changeEffect"><l><option>brightness</option></l><l>5</l></block></script><script x="20" y="373.8333333333334"><block s="receiveInteraction"><l><option>pressed</option></l></block><block s="doIf"><block s="reportIsA"><block var="dragged socket"/><l><option>sprite</option></l></block><script><block s="doStopThis"><l><option>this script</option></l></block></script></block><block s="doSetVar"><l>dragged socket</l><block s="reportGet"><l><option>self</option></l></block></block><block s="doWaitUntil"><block s="reportNot"><block s="reportMouseDown"></block></block></block><block s="doDeclareVariables"><list><l>valid sockets</l></list></block><block s="doSetVar"><l>valid sockets</l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportVariadicAnd"><list><block s="reportAskFor"><l></l><block s="reifyReporter"><autolambda><block s="reportTouchingObject"><l><option>mouse-pointer</option></l></block></autolambda><list></list></block><list></list></block><custom-block s="can connect to %s ?" scope="local"><l></l></custom-block></list></block></autolambda><list></list></block><block s="reportAskFor"><l>Input socket</l><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>clones</option></l></block></autolambda><list></list></block><list></list></block></block></block><block s="doIf"><block s="reportNot"><block s="reportListIsEmpty"><block var="valid sockets"/></block></block><script><custom-block s="connect to %s" scope="local"><block s="reportListItem"><l><option>last</option></l><block var="valid sockets"/></block></custom-block></script></block><block s="doSetVar"><l>dragged socket</l><l>0</l></block></script></scripts></sprite><sprite name="Node input box" idx="4" x="-89.40400532668514" y="-102.43382490850234" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="false" hidden="true" costume="0" color="128,128,128,1" pen="tip" id="4052"><costumes><list struct="atomic" id="4053"></list></costumes><sounds><list struct="atomic" id="4054"></list></sounds><blocks><block-definition s="new input box of %&apos;socket&apos;" type="reporter" category="Editor"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doSetVar"><l>my socket</l><block var="socket"/></block><block s="doDeclareVariables"><list><l>box</l></list></block><block s="doSetVar"><l>box</l><block s="newClone"><l><option>myself</option></l></block></block><block s="doTellTo"><block var="box"/><block s="reifyScript"><script><custom-block s="initialize input box" scope="local"></custom-block></script><list></list></block><list></list></block><block s="doReport"><block var="box"/></block></script></block-definition><block-definition s="initialize input box" type="command" category="Editor"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSetVar"><l>my value</l><block s="reportListItem"><l>default</l><block s="reportAttributeOf"><l>my properties</l><block var="my socket"/></block></block></block><custom-block s="update input box costume" scope="local"></custom-block></script></block-definition><block-definition s="update input box costume" type="command" category="Editor"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>width</l></list></block><block s="doSetVar"><l>width</l><block s="reportDifference"><block s="reportGetImageAttribute"><l><option>width</option></l><block s="reportAskFor"><block s="reportAttributeOf"><l>my node</l><block var="my socket"/></block><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block></block><block s="reportVariadicSum"><list><l>10</l><block s="reportIfElse"><block s="reportListItem"><l>hidden?</l><block s="reportAttributeOf"><l>my properties</l><block var="my socket"/></block></block><l>0</l><l>5</l></block></list></block></block></block><block s="setScale"><l>100</l></block><block s="doSwitchToCostume"><custom-block s="costume from %cs"><script><block s="doSetGlobalFlag"><l><option>flat line ends</option></l><l><bool>true</bool></l></block><block s="setPenColorDimension"><l><option>r-g-b(-a)</option></l><block s="reportIfElse"><block s="reportIsA"><block s="reportListItem"><l>menu</l><block s="reportAttributeOf"><l>my properties</l><block var="my socket"/></block></block><l><option>list</option></l></block><l>50</l><l>75</l></block></block><block s="setSize"><l>15</l></block><block s="down"></block><block s="changeXPosition"><block var="width"/></block><block s="up"></block><block s="gotoXY"><l>5</l><l>-4</l></block><block s="setXPosition"><l>5</l></block><block s="setPenColorDimension"><l><option>r-g-b(-a)</option></l><l>255</l></block><block s="doDeclareVariables"><list><l>label</l></list></block><block s="doSetVar"><l>label</l><custom-block s="clamp text %s size %n to width %n"><block s="reportListItem"><l>label</l><block s="reportAttributeOf"><l>my properties</l><block var="my socket"/></block></block><l>12</l><block s="reportDifference"><block var="width"/><block s="reportVariadicSum"><list><custom-block s="width of text %s size %n"><block var="my value"/><l>12</l></custom-block><l>15</l></list></block></block></custom-block></block><block s="write"><block var="label"/><l>12</l></block><block s="doDeclareVariables"><list><l>value</l></list></block><block s="doSetVar"><l>value</l><custom-block s="clamp text %s size %n to width %n"><block var="my value"/><l>12</l><block s="reportDifference"><block var="width"/><l>10</l></block></custom-block></block><block s="setXPosition"><block s="reportIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>label</l><block s="reportAttributeOf"><l>my properties</l><block var="my socket"/></block></block><l></l></list></block><block s="reportIsA"><block s="reportListItem"><l>menu</l><block s="reportAttributeOf"><l>my properties</l><block var="my socket"/></block></block><l><option>list</option></l></block></list></block><block s="reportDifference"><block s="reportQuotient"><block var="width"/><l>2</l></block><block s="reportQuotient"><custom-block s="width of text %s size %n"><block var="value"/><l>12</l></custom-block><l>2</l></block></block><block s="reportDifference"><block var="width"/><block s="reportVariadicSum"><list><custom-block s="width of text %s size %n"><block var="value"/><l>12</l></custom-block><l>5</l></list></block></block></block></block><block s="setPenColorDimension"><l><option>r-g-b(-a)</option></l><block s="reportVariadicSum"><list><block s="reportListItem"><block s="reportListItem"><l>type</l><block s="reportAttributeOf"><l>my properties</l><block var="my socket"/></block></block><block var="socket type colors"/></block><l>20</l></list></block></block><block s="write"><block var="value"/><l>12</l></block><block s="gotoXY"><block s="reportIfElse"><block s="reportListItem"><l>hidden?</l><block s="reportAttributeOf"><l>my properties</l><block var="my socket"/></block></block><l>5</l><l>0</l></block><l>0</l></block></script></custom-block></block><block s="setScale"><block s="reportAttributeOf"><l><option>size</option></l><block s="reportAttributeOf"><l>my node</l><block var="my socket"/></block></block></block></script></block-definition></blocks><variables><variable name="my value"><l>0</l></variable><variable name="my socket"><l>0</l></variable></variables><scripts><script x="20" y="20"><block s="receiveGo"></block><block s="hide"></block></script><script x="20" y="238.83333333333337"><block s="receiveInteraction"><l><option>clicked</option></l></block><block s="doIfElse"><block s="reportIsA"><block s="reportListItem"><l>menu</l><block s="reportAttributeOf"><l>my properties</l><block var="my socket"/></block></block><l><option>list</option></l></block><script><block s="doAsk"><block s="reportListItem"><l>menu</l><block s="reportAttributeOf"><l>my properties</l><block var="my socket"/></block></block></block></script><script><block s="doTellTo"><l>Stage</l><block s="reifyScript"><script><block s="doAsk"><l>set value</l></block></script><list></list></block><list></list></block></script></block><block s="doSetVar"><l>my value</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>type</l><block s="reportAttributeOf"><l>my properties</l><block var="my socket"/></block></block><l>number</l></list></block><block s="reportVariadicSum"><list><block s="getLastAnswer"></block><l>0</l></list></block><block s="getLastAnswer"></block></block></block><custom-block s="update input box costume" scope="local"></custom-block></script><script x="20" y="90.83333333333337"><block s="receiveInteraction"><l><option>mouse-entered</option></l></block><block s="changeEffect"><l><option>brightness</option></l><l>-5</l></block></script><script x="20" y="164.83333333333337"><block s="receiveInteraction"><l><option>mouse-departed</option></l></block><block s="changeEffect"><l><option>brightness</option></l><l>5</l></block></script></scripts></sprite><sprite name="Pen" idx="5" x="-6.789473684210634" y="-22.68421052631581" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="false" hidden="true" costume="0" color="255,255,255,1" pen="tip" id="4397"><costumes><list struct="atomic" id="4398"></list></costumes><sounds><list struct="atomic" id="4399"></list></sounds><blocks><block-definition s="draw dragged socket line" type="command" category="pen"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSetGlobalFlag"><l><option>flat line ends</option></l><l><bool>false</bool></l></block><custom-block s="draw connection from %s to %s"><block var="dragged socket"/><block s="reportMousePosition"></block></custom-block></script></block-definition><block-definition s="draw socket connections" type="command" category="pen"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSetGlobalFlag"><l><option>flat line ends</option></l><l><bool>false</bool></l></block><block s="doForEach"><l>ouput socket</l><block s="reportAskFor"><l>Output socket</l><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>clones</option></l></block></autolambda><list></list></block><list></list></block><script><block s="doForEach"><l>connected socket</l><block s="reportAttributeOf"><l>my connections</l><block var="ouput socket"/></block><script><custom-block s="draw connection from %s to %s"><block var="ouput socket"/><block var="connected socket"/></custom-block></script></block></script></block></script></block-definition><block-definition s="draw grid" type="command" category="pen"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>spacing</l><l>cols</l><l>rows</l></list></block><block s="doSetVar"><l>spacing</l><l>50</l></block><block s="doSetVar"><l>cols</l><block s="reportMonadic"><l><option>ceiling</option></l><block s="reportQuotient"><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block><block var="spacing"/></block></block></block><block s="doSetVar"><l>rows</l><block s="reportMonadic"><l><option>ceiling</option></l><block s="reportQuotient"><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block><block var="spacing"/></block></block></block><block s="doFor"><l>row</l><l>0</l><block var="rows"/><script><block s="doFor"><l>col</l><l>0</l><block var="cols"/><script><block s="doGotoObject"><block s="reportDifference"><block s="reportNewList"><list><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block var="col"/><block var="spacing"/></list></block><block s="reportAttributeOf"><l><option>left</option></l><l>Stage</l></block></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block var="row"/><block var="spacing"/></list></block><block s="reportAttributeOf"><l><option>bottom</option></l><l>Stage</l></block></list></block></list></block><block s="reportModulus"><block var="camera position"/><block var="spacing"/></block></block></block><block s="down"></block><block s="forward"><block s="getPenAttribute"><l><option>size</option></l></block></block><block s="up"></block></script></block></script></block></script></block-definition><block-definition s="draw" type="command" category="pen"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doIf"><l><bool>false</bool></l><script><block s="setPenColorDimension"><l><option>r-g-b(-a)</option></l><l>20</l></block><block s="setSize"><l>2</l></block><custom-block s="draw grid" scope="local"></custom-block></script></block><block s="setSize"><l>2</l></block><custom-block s="draw selected node outlines" scope="local"></custom-block><block s="setSize"><l>3</l></block><custom-block s="draw socket connections" scope="local"></custom-block><block s="doIf"><block s="reportIsA"><block var="dragged socket"/><l><option>sprite</option></l></block><script><custom-block s="draw dragged socket line" scope="local"></custom-block></script></block></script></block-definition><block-definition s="draw selected node outlines" type="command" category="pen"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSetGlobalFlag"><l><option>flat line ends</option></l><l><bool>false</bool></l></block><block s="doForEach"><l>node</l><block var="selected nodes"/><script><block s="setSize"><l>3</l></block><block s="setPenColorDimension"><l><option>r-g-b(-a)</option></l><l>255</l></block><block s="gotoXY"><block s="reportAttributeOf"><l><option>left</option></l><block var="node"/></block><block s="reportAttributeOf"><l><option>top</option></l><block var="node"/></block></block><block s="down"></block><block s="setXPosition"><block s="reportAttributeOf"><l><option>right</option></l><block var="node"/></block></block><block s="setYPosition"><block s="reportAttributeOf"><l><option>bottom</option></l><block var="node"/></block></block><block s="setXPosition"><block s="reportAttributeOf"><l><option>left</option></l><block var="node"/></block></block><block s="setYPosition"><block s="reportAttributeOf"><l><option>top</option></l><block var="node"/></block></block><block s="up"></block></script></block></script></block-definition></blocks><variables></variables><scripts><script x="30" y="30"><block s="receiveGo"></block><block s="hide"></block></script></scripts></sprite><watcher scope="Node" var="my properties" style="normal" x="10" y="9.999999999999979" color="243,118,29" hidden="true"/><watcher scope="Output socket" var="my connections" style="normal" x="5.217391304347984" y="16.17391408695657" color="243,118,29" hidden="true"/><watcher scope="Output socket" var="my node" style="normal" x="5.217391304347984" y="27.130436869565358" color="243,118,29" hidden="true"/><watcher scope="Node" var="my input sockets" style="normal" x="5.523590333716811" y="5.5235903337169105" color="243,118,29" hidden="true"/><watcher scope="Node" var="my output sockets" style="normal" x="5.523590333716811" y="17.123131139240513" color="243,118,29" hidden="true"/><watcher var="node category colors" style="normal" x="6.357615894039782" y="6.357615894039753" color="243,118,29" hidden="true"/><watcher var="nodes" style="normal" x="10.835214446952705" y="10.835214446952577" color="243,118,29" hidden="true"/><watcher scope="Node input box" var="my value" style="normal" x="10" y="9.999999999999979" color="243,118,29" hidden="true"/><watcher scope="Node input box" var="my socket" style="normal" x="6.3241106719372056" y="6.324110671936765" color="243,118,29" hidden="true"/><watcher scope="Input socket" var="my input box" style="normal" x="6.3241106719372056" y="32.885378023715504" color="243,118,29" hidden="true"/><watcher scope="Input socket" var="my properties" style="normal" x="6.3241106719372056" y="46.16601169960494" color="243,118,29" hidden="true"/><watcher scope="Output socket" var="my properties" style="normal" x="6.3241106719372056" y="59.44664537549427" color="243,118,29" hidden="true"/><watcher scope="Node" var="my position" style="normal" x="5.095541401273067" y="5.0955414012739055" color="243,118,29" hidden="true"/><watcher var="camera position" style="normal" x="5.095541401273067" y="15.796179363057398" color="243,118,29" hidden="true"/><watcher var="selected nodes" style="normal" x="9.999999999999773" y="10.000000000000014" color="243,118,29" hidden="true"/><watcher var="camera zoom" style="normal" x="5.485714285714266" y="5.4857142857142875" color="243,118,29" hidden="true"/><watcher scope="Stage" s="getTimer" style="normal" x="10" y="52.00000399999995" color="4,148,220" hidden="true"/><watcher scope="Node" s="getPan" style="normal" x="10" y="73.00000599999991" color="207,74,217" hidden="true"/></sprites></stage><variables><variable name="dragged socket"><l>0</l></variable><variable name="node category colors"><list id="4630"><item><list id="4631"><item><l>input</l></item><item><list struct="atomic" id="4632">65,92,176</list></item></list></item><item><list id="4633"><item><l>math</l></item><item><list struct="atomic" id="4634">10,125,183</list></item></list></item><item><list id="4635"><item><l>text</l></item><item><list struct="atomic" id="4636">85,162,22</list></item></list></item><item><list id="4637"><item><l>comparison</l></item><item><list struct="atomic" id="4638">202,102,31,255</list></item></list></item><item><list id="4639"><item><l>control</l></item><item><list struct="atomic" id="4640">73,73,73</list></item></list></item></list></variable><variable name="socket type colors"><list id="4641"><item><list id="4642"><item><l>any</l></item><item><list struct="atomic" id="4643">181,181,181</list></item></list></item><item><list id="4644"><item><l>number</l></item><item><list struct="atomic" id="4645">33,158,255</list></item></list></item><item><list id="4646"><item><l>text</l></item><item><list struct="atomic" id="4647">65,201,0</list></item></list></item><item><list id="4648"><item><l>boolean</l></item><item><list struct="atomic" id="4649">255,146,12</list></item></list></item></list></variable><variable name="nodes" transient="true"/><variable name="camera position"><list struct="atomic" id="4650">0,0</list></variable><variable name="selected nodes"><list id="4651"><item></item></list></variable><variable name="camera zoom"><l>1</l></variable></variables></scene></scenes></project><media name="Node Editor" app="Snap! 8.2, https://snap.berkeley.edu" version="2"><costume name="costume" center-x="0.5" center-y="0.5" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAAtJREFUGFdjYAACAAAFAAGq1chRAAAAAElFTkSuQmCC" mediaID="1"/></media></snapdata>