<snapdata remixID="9430201"><project name="BIG PIXEL library SnapCon 2020" app="Snap! 11.0.8, https://snap.berkeley.edu" version="2"><notes>This is a BIG PIXEL library -- an example of a project that allows the user to draw things at the "PIXEL" level but zoom in and out to change the pixel size. Try...&#xD; &#xD;(h)elp&#xD;(c)lear&#xD;(space) for a grid&#xD;(a/q) for smaller/bigger pixels&#xD;(left/right/forward) for movement&#xD;(down) fill&#xD;(o/p) for a picture</notes><thumbnail>data:image/png;base64,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</thumbnail><scenes select="1"><scene name="BIG PIXEL library SnapCon 2020"><notes>This is a BIG PIXEL library -- an example of a project that allows the user to draw things at the "PIXEL" level but zoom in and out to change the pixel size. Try...&#xD; &#xD;(h)elp&#xD;(c)lear&#xD;(space) for a grid&#xD;(a/q) for smaller/bigger pixels&#xD;(left/right/forward) for movement&#xD;(down) fill&#xD;(o/p) for a picture</notes><hidden></hidden><headers></headers><code></code><blocks><block-definition s="setting %&apos;which&apos;" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true"><options>Project notes&#xD;Project name&#xD;User&#xD;Presentation mode&#xD;Language&#xD;Zoom blocks&#xD;Stage size&#xD;Stage scale&#xD;Retina display support&#xD;Long form input dialog&#xD;Plain prototype labels&#xD;Input sliders&#xD;Execute on slider change&#xD;Clicking sound&#xD;Turbo mode&#xD;Flat design&#xD;Keyboard editing&#xD;Visible stepping&#xD;Thread safe scripts&#xD;Prefer smooth animations&#xD;Flat line ends&#xD;Codification support&#xD;Inheritance support&#xD;Visible palette</options></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>which</l></list><l>var stage = this.parentThatIsA(StageMorph),&#xD;    ide = stage.parentThatIsA(IDE_Morph),&#xD;    world = stage.parentThatIsA(WorldMorph);&#xD;&#xD;switch (which) {&#xD;    case &apos;Project notes&apos;:&#xD;        return ide.projectNotes;&#xD;    case &apos;Project name&apos;:&#xD;        return ide.projectName;&#xD;    case &apos;User&apos;:&#xD;        return ide.cloud.username;&#xD;    case &apos;Presentation mode&apos;:&#xD;        return ide.isAppMode;&#xD;    case &apos;Language&apos;:&#xD;        return SnapTranslator.language;&#xD;    case &apos;Zoom blocks&apos;:&#xD;        return SyntaxElementMorph.prototype.scale;&#xD;    case &apos;Stage size&apos;:&#xD;        return new List([StageMorph.prototype.dimensions.x,&#xD;                                   StageMorph.prototype.dimensions.y]);&#xD;    case &apos;Stage scale&apos;:&#xD;       return stage.scale;&#xD;    case &apos;Retina display support&apos;:&#xD;        return isRetinaEnabled();&#xD;    case &apos;Long form input dialog&apos;:&#xD;        return InputSlotDialogMorph.prototype.isLaunchingExpanded;&#xD;    case &apos;Plain prototype labels&apos;:&#xD;        return BlockLabelPlaceHolderMorph.prototype.plainLabel;&#xD;    case &apos;Input sliders&apos;:&#xD;        return MorphicPreferences.useSliderForInput;&#xD;    case &apos;Execute on slider change&apos;:&#xD;        return ArgMorph.prototype.executeOnSliderEdit;&#xD;    case &apos;Clicking sound&apos;:&#xD;        return !!BlockMorph.prototype.snapSound;&#xD;    case &apos;Turbo mode&apos;:&#xD;        return stage.isFastTracked;&#xD;    case &apos;Flat design&apos;:&#xD;        return MorphicPreferences.isFlat;&#xD;    case &apos;Keyboard editing&apos;:&#xD;        return world.keyboardReceiver instanceof ScriptFocusMorph;&#xD;    case &apos;Visible stepping&apos;:&#xD;        return Process.prototype.enableSingleStepping;&#xD;    case &apos;Thread safe scripts&apos;:&#xD;        return stage.isThreadSafe;&#xD;    case &apos;Prefer smooth animations&apos;:&#xD;        return StageMorph.prototype.frameRate &gt; 0;&#xD;    case &apos;Flat line ends&apos;:&#xD;        return SpriteMorph.prototype.useFlatLineEnds;&#xD;    case &apos;Codification support&apos;:&#xD;        return StageMorph.prototype.enableCodeMapping;&#xD;    case &apos;Inheritance support&apos;:&#xD;        return StageMorph.prototype.enableInheritance;&#xD;    default: return which;&#xD;    case &apos;Visible palette&apos;:&#xD;        return ide.currentCategory;&#xD;}</l></block><list><block var="which"/></list></block></block></script></block-definition><block-definition s="set flag %&apos;which&apos; to %&apos;tf&apos;" type="command" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true"><options>Presentation mode&#xD;Retina display support&#xD;Long form input dialog&#xD;Plain prototype labels&#xD;Input sliders&#xD;Execute on slider change&#xD;Clicking sound&#xD;Turbo mode&#xD;Flat design&#xD;Keyboard editing&#xD;Visible stepping&#xD;Thread safe scripts&#xD;Prefer smooth animations&#xD;Flat line ends&#xD;Codification support&#xD;Inheritance support</options></input><input type="%b"></input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>which</l><l>tf</l></list><l>var   stage = this.parentThatIsA(StageMorph),&#xD;        ide = stage.parentThatIsA(IDE_Morph),&#xD;        world = stage.parentThatIsA(WorldMorph),&#xD;        thisObj = this;&#xD;&#xD;if (tf != !!tf) return;&#xD;&#xD;try{&#xD;ide.savingPreferences = false;&#xD;&#xD;switch (which) {&#xD;    case &apos;Presentation mode&apos;:&#xD;        if (tf != ide.isAppMode) ide.toggleAppMode();&#xD;        break;&#xD;    case &apos;Retina display support&apos;:&#xD;        if (tf != isRetinaEnabled()) ide.toggleRetina();&#xD;        break;&#xD;    case &apos;Long form input dialog&apos;:&#xD;        if (tf != InputSlotDialogMorph.prototype.isLaunchingExpanded)&#xD;            ide.toggleLongFormInputDialog();&#xD;        break;&#xD;    case &apos;Plain prototype labels&apos;:&#xD;        if (tf != BlockLabelPlaceHolderMorph.prototype.plainLabel)&#xD;            ide.togglePlainPrototypeLabels();&#xD;        break;&#xD;    case &apos;Input sliders&apos;:&#xD;        MorphicPreferences.useSliderForInput = tf;&#xD;        break;&#xD;    case &apos;Execute on slider change&apos;:&#xD;        ArgMorph.prototype.executeOnSliderEdit = tf;&#xD;        break;&#xD;    case &apos;Clicking sound&apos;:&#xD;        if (tf != !!BlockMorph.prototype.snapSound)&#xD;            BlockMorph.prototype.toggleSnapSound();&#xD;        break;&#xD;    case &apos;Turbo mode&apos;:&#xD;        if (tf != stage.isFastTracked)&#xD;            ide.toggleFastTracking();&#xD;        break;&#xD;    case &apos;Flat design&apos;:&#xD;        if (tf == MorphicPreferences.isFlat) break;&#xD;        if (tf)&#xD;            ide.flatDesign();&#xD;        else&#xD;            ide.defaultDesign();&#xD;        break;&#xD;    case &apos;Keyboard editing&apos;:&#xD;        if (tf != (world.keyboardReceiver instanceof ScriptFocusMorph)) {&#xD;            thisObj.scripts.toggleKeyboardEntry();&#xD;        };&#xD;        break;&#xD;    case &apos;Visible stepping&apos;:&#xD;        if (tf != Process.prototype.enableSingleStepping)&#xD;            ide.toggleSingleStepping();&#xD;        break;&#xD;    case &apos;Thread safe scripts&apos;:&#xD;        stage.isThreadSafe = tf;&#xD;        break;&#xD;    case &apos;Prefer smooth animations&apos;:&#xD;        if (tf != (StageMorph.prototype.frameRate &gt; 0))&#xD;            ide.toggleVariableFrameRate();&#xD;        break;&#xD;    case &apos;Flat line ends&apos;:&#xD;        SpriteMorph.prototype.useFlatLineEnds = tf;&#xD;        break;&#xD;    case &apos;Codification support&apos;:&#xD;        if (tf != StageMorph.prototype.enableCodeMapping) {&#xD;            StageMorph.prototype.enableCodeMapping = tf;&#xD;            ide.currentSprite.blocksCache.variables = null;&#xD;            ide.currentSprite.paletteCache.variables = null;&#xD;            ide.refreshPalette();&#xD;        }&#xD;        break;&#xD;    case &apos;Inheritance support&apos;:&#xD;        if (tf != StageMorph.prototype.enableInheritance) {&#xD;            StageMorph.prototype.enableInheritance = tf;&#xD;            ide.currentSprite.blocksCache.variables = null;&#xD;            ide.currentSprite.paletteCache.variables = null;&#xD;            ide.refreshPalette();&#xD;        }&#xD;        break;&#xD;};&#xD;}&#xD;finally {&#xD;ide.savingPreferences = false;&#xD;};&#xD;</l></block><list><block var="which"/><block var="tf"/></list></block></script></block-definition><block-definition s="set value %&apos;which&apos; to %&apos;value&apos;" type="command" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true"><options>Project notes&#xD;Project name&#xD;Language&#xD;Zoom blocks&#xD;Stage size&#xD;Stage scale&#xD;Visible palette</options></input><input type="%s"></input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>which</l><l>value</l></list><l>var   stage = this.parentThatIsA(StageMorph),&#xD;        ide = stage.parentThatIsA(IDE_Morph),&#xD;        world = stage.parentThatIsA(WorldMorph);&#xD;&#xD;try {&#xD;ide.savingPreferences = false;&#xD;&#xD;switch (which) {&#xD;    case &apos;Project notes&apos;:&#xD;        ide.projectNotes = value;&#xD;        break;&#xD;    case &apos;Project name&apos;:&#xD;        ide.setProjectName(value);&#xD;        break;&#xD;    case &apos;Language&apos;:&#xD;        ide.setLanguage(value);&#xD;        break;&#xD;    case &apos;Zoom blocks&apos;:&#xD;        if (!isNaN(value)) ide.setBlocksScale(Math.min(value, 12));&#xD;        break;&#xD;    case &apos;Stage size&apos;:&#xD;        if ((value instanceof List) &amp;&amp; value.length()==2&#xD;                       &amp;&amp; !isNaN(value.at(1)) &amp;&amp; !isNaN(value.at(2)))&#xD;            ide.setStageExtent(new Point(value.at(1), value.at(2)));&#xD;        break;&#xD;    case &apos;Stage scale&apos;:&#xD;        ide.toggleStageSize(value != 1, Math.max(0.1, value));&#xD;        break;&#xD;    case &apos;Visible palette&apos;:&#xD;        ide.currentCategory = value.toLowerCase();&#xD;        ide.categories.children.forEach(function (each) {&#xD;                each.refresh();&#xD;        });&#xD;        ide.refreshPalette(true);&#xD;        break;&#xD;};&#xD;}&#xD;finally {ide.savingPreferences = true;&#xD;};</l></block><list><block var="which"/><block var="value"/></list></block></script></block-definition><block-definition s="Draw line from %&apos;P0&apos; to %&apos;P1&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input></inputs><script><block s="up"></block><block s="doGotoObject"><block var="P0"/></block><block s="down"></block><block s="doGotoObject"><block var="P1"/></block><block s="up"></block></script></block-definition><block-definition s="for %&apos;i&apos; = %&apos;start&apos; to %&apos;end&apos; by %&apos;step&apos; %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations>de:für _ = _ bis _ _&#xD;ca:per _ = _ fins _ _&#xD;es:para _ = _ hasta _ _&#xD;fr:pour _ allant de _ à _ _&#xD;</translations><inputs><input type="%upvar"></input><input type="%n">1</input><input type="%n">10</input><input type="%n">1</input><input type="%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>tester</l></list></block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block var="start"/><block var="end"/></list></block><script><block s="doSetVar"><l>tester</l><block s="reifyReporter"><autolambda><block s="reportVariadicLessThan"><list><block var="i"/><block var="end"/></list></block></autolambda><list></list></block></block></script><script><block s="doSetVar"><l>tester</l><block s="reifyReporter"><autolambda><block s="reportVariadicGreaterThan"><list><block var="i"/><block var="end"/></list></block></autolambda><list></list></block></block></script></block><block s="doSetVar"><l>i</l><block var="start"/></block><block s="doUntil"><block s="evaluate"><block var="tester"/><list></list></block><script><block s="doRun"><block var="action"/><list></list></block><block s="doChangeVar"><l>i</l><block var="step"/></block></script></block></script></block-definition><block-definition s="pixel $rectangleSolid or $rectangle %&apos;fill&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%b"></input></inputs><script><block s="doIf"><block var="fill"/><script><block s="doDeclareVariables"><list><l>old position</l></list></block><block s="doSetVar"><l>old position</l><block s="reportNewList"><list><block s="xPosition"></block><block s="yPosition"></block></list></block></block><block s="up"></block><block s="changeXPosition"><block s="reportQuotient"><block var="PIXEL"/><l>-2</l></block></block><block s="down"></block><block s="changeXPosition"><block var="PIXEL"/></block><block s="up"></block><block s="doGotoObject"><block var="old position"/></block></script><list></list></block></script></block-definition><block-definition s="set pen color to r: %&apos;r&apos; g: %&apos;g&apos; b: %&apos;b&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%n">255</input><input type="%n">0</input><input type="%n">0</input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>r</l><l>g</l><l>b</l></list><l>this.setColor(new Color(r, g, b));</l></block><list><block var="r"/><block var="g"/><block var="b"/></list></block></script></block-definition><block-definition s="set pen color to h: %&apos;h&apos; s: %&apos;s&apos; v: %&apos;v&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%n">0.3</input><input type="%n">0.7</input><input type="%n">0.6</input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>h</l><l>s</l><l>v</l></list><l>var col = new Color();&#xD;col.set_hsv(h, s, v);&#xD;this.setColor(col);</l></block><list><block var="h"/><block var="s"/><block var="v"/></list></block></script></block-definition><block-definition s="RGB color" type="reporter" category="pen"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l></l></list><l>return new List([this.color.r, this.color.g, this.color.b]);</l></block><list></list></block></block></script></block-definition><block-definition s="HSV color" type="reporter" category="pen"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l></l></list><l>return new List(this.color.hsv());</l></block><list></list></block></block></script></block-definition><block-definition s="Filled?" type="predicate" category="sensing"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportTouchingColor"><color>255,255,255,1</color></block></block></script></block-definition><block-definition s="%&apos;A&apos; xor %&apos;B&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%b"></input><input type="%b"></input></inputs><script><block s="doReport"><block s="reportNot"><block s="reportVariadicEquals"><list><block var="A"/><block var="B"/></list></block></block></block></script></block-definition><block-definition s="xor of N and NW" type="predicate" category="sensing"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>N</l><l>NW</l></list></block><block s="changeYPosition"><block var="PIXEL"/></block><block s="doSetVar"><l>N</l><custom-block s="Filled?"></custom-block></block><block s="changeXPosition"><block s="reportDifference"><l>0</l><block var="PIXEL"/></block></block><block s="doSetVar"><l>NW</l><custom-block s="Filled?"></custom-block></block><block s="changeXPosition"><block var="PIXEL"/></block><block s="changeYPosition"><block s="reportDifference"><l>0</l><block var="PIXEL"/></block></block><block s="doReport"><custom-block s="%b xor %b"><block var="N"/><block var="NW"/></custom-block></block></script></block-definition><block-definition s="label %&apos;text&apos; of size %&apos;size&apos;" type="command" category="pen"><comment x="0" y="0" w="90" collapsed="false">LABEL will stamp text on the stage at the given font size. The direction of the text is the direction the sprite is facing, and color will match the pen color.</comment><header></header><code></code><translations>de:drucke _ in Größe _&#xD;ca:etiqueta _ de mida _&#xD;es:etiqueta _ de tamaño _&#xD;fr:étiquette _ d&apos;une taille de _&#xD;</translations><inputs><input type="%txt">Hello!</input><input type="%n">12</input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>text</l><l>size</l><l>process</l></list><l>var stage = this.parentThatIsA(StageMorph);&#xD;&#xD;if (this == stage) {&#xD;    throw new Error(&#xD;     &apos;LABEL cannot be used from the stage because the stage does not have a postion.\n&apos;&#xD;     + &apos;Use LABEL from a sprite to draw text.&apos;);&#xD;}&#xD;&#xD;if (typeof text !== &apos;string&apos; &amp;&amp; typeof text !== &apos;number&apos;) {&#xD;    throw new Error(&apos;LABEL can only draw text or numbers, not a &apos; + process.reportTypeOf(text)); &#xD;}&#xD;&#xD;var context = stage.penTrails().getContext(&apos;2d&apos;),&#xD;    rotation = radians(this.direction() - 90),&#xD;    trans = new Point(&#xD;      this.center().x - stage.left(),&#xD;      this.center().y - stage.top()&#xD;    ),&#xD;    isWarped = this.Warped,&#xD;    len,&#xD;    pos;&#xD;&#xD;if (isWarped) {endWarp(); }&#xD;context.save();&#xD;context.font = size + &apos;px monospace&apos;;&#xD;context.textAlign = &apos;left&apos;;&#xD;context.textBaseline = &apos;alphabetic&apos;;&#xD;context.fillStyle = this.color.toString();&#xD;len = context.measureText(text).width;&#xD;trans = trans.multiplyBy(1 / stage.scale);&#xD;context.translate(trans.x, trans.y);&#xD;context.rotate(rotation);&#xD;context.fillText(text, 0, 0);&#xD;context.translate(-trans.x, -trans.y);&#xD;context.restore();&#xD;pos = new Point(&#xD;  len * Math.sin(radians(this.direction())),&#xD;  len * Math.cos(radians(this.direction())));&#xD;pos = pos.add(new Point(this.xPosition(), this.yPosition()));&#xD;this.gotoXY(pos.x, pos.y, false);&#xD;this.changed();&#xD;if (isWarped) {this.startWarp(); }&#xD;stage.changed();&#xD;</l></block><list><block var="text"/><block var="size"/></list></block></script></block-definition><block-definition s="keep items such that %&apos;pred&apos; from %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations>de:behalte Elemente, die _ aus _&#xD;ca:manté els elements on _ de _&#xD;es:mantener los elementos donde _ de _&#xD;fr:garder les items tels que _ de _&#xD;</translations><inputs><input type="%predRing"></input><input type="%l"></input></inputs><script><block s="doIf"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script><list></list></block><block s="doIfElse"><block s="evaluate"><block var="pred"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><script><block s="doReport"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="data"/></block><custom-block s="keep items such that %predRing from %l"><block var="pred"/><block s="reportCDR"><block var="data"/></block></custom-block></block></block></script><script><block s="doReport"><custom-block s="keep items such that %predRing from %l"><block var="pred"/><block s="reportCDR"><block var="data"/></block></custom-block></block></script></block></script></block-definition><block-definition s="combine with %&apos;function&apos; items of %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations>de:kombiniere mit _ die Elemente von _&#xD;ca:combina amb _ els elements de _&#xD;es:combinar con _ los elementos de _&#xD;fr:combine avec _ les items de _&#xD;</translations><inputs><input type="%repRing"></input><input type="%l"></input></inputs><script><block s="doIf"><custom-block s="empty? %l"><block s="reportCDR"><block var="data"/></block></custom-block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="data"/></block></block></script><list></list></block><block s="doReport"><block s="evaluate"><block var="function"/><list><block s="reportListItem"><l>1</l><block var="data"/></block><custom-block s="combine with %repRing items of %l"><block var="function"/><block s="reportCDR"><block var="data"/></block></custom-block></list></block></block></script></block-definition><block-definition s="for %&apos;i&apos; = %&apos;start&apos; to %&apos;end&apos; %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations>de:für _ = _ bis _ _&#xD;ca:per _ = _ fins _ _&#xD;es:para _ = _ hasta _ _&#xD;fr:pour _ allant de _ à _ _&#xD;</translations><inputs><input type="%upvar"></input><input type="%n">1</input><input type="%n">10</input><input type="%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>step</l><l>tester</l></list></block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block var="start"/><block var="end"/></list></block><script><block s="doSetVar"><l>step</l><l>-1</l></block><block s="doSetVar"><l>tester</l><block s="reifyReporter"><autolambda><block s="reportVariadicLessThan"><list><block var="i"/><block var="end"/></list></block></autolambda><list></list></block></block></script><script><block s="doSetVar"><l>step</l><l>1</l></block><block s="doSetVar"><l>tester</l><block s="reifyReporter"><autolambda><block s="reportVariadicGreaterThan"><list><block var="i"/><block var="end"/></list></block></autolambda><list></list></block></block></script></block><block s="doSetVar"><l>i</l><block var="start"/></block><block s="doUntil"><block s="evaluate"><block var="tester"/><list></list></block><script><block s="doRun"><block var="action"/><list></list></block><block s="doChangeVar"><l>i</l><block var="step"/></block></script></block></script></block-definition><block-definition s="join words %&apos;words&apos;" type="reporter" category="operators"><header></header><code></code><translations>de:füge Wörter zusammen _&#xD;ca:uneix les paraules _&#xD;es:unir las palabras _&#xD;fr:fusionne les mots _&#xD;</translations><inputs><input type="%mult%txt"></input></inputs><script><block s="doIf"><custom-block s="empty? %l"><block s="reportCDR"><block var="words"/></block></custom-block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="words"/></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><l></l><block s="reportListItem"><l>1</l><block var="words"/></block></list></block><script><block s="doReport"><custom-block s="join words %mult%txt"><block s="reportCDR"><block var="words"/></block></custom-block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><l></l><block s="reportListItem"><l>2</l><block var="words"/></block></list></block><script><block s="doReport"><custom-block s="join words %mult%txt"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="words"/></block><block s="reportCDR"><block s="reportCDR"><block var="words"/></block></block></block></custom-block></block></script><list></list></block><block s="doReport"><block s="reportJoinWords"><list><block s="reportListItem"><l>1</l><block var="words"/></block><l> </l><custom-block s="join words %mult%txt"><block s="reportCDR"><block var="words"/></block></custom-block></list></block></block></script></block-definition><block-definition s="list $arrowRight sentence %&apos;data&apos;" type="reporter" category="operators"><header></header><code></code><translations>de:Liste $arrowRight Satz _&#xD;ca:llista $arrowRight frase _&#xD;es:lista $arrowRight frase _&#xD;fr:liste $arrowRight phrase _&#xD;</translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><custom-block s="join words %mult%txt"><block var="data"/></custom-block></block></script></block-definition><block-definition s="sentence $arrowRight list %&apos;text&apos;" type="reporter" category="operators"><header></header><code></code><translations>de:Satz $arrowRight Liste _&#xD;ca:frase $arrowRight llista _&#xD;es:frase $arrowRight lista _&#xD;fr:phrase $arrowRight liste _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportTextSplit"><block var="text"/><l><option>whitespace</option></l></block></block></script></block-definition><block-definition s="catch %&apos;tag&apos; %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations>de:fange _ _&#xD;ca:agafa _ _&#xD;es:atrapar _ _&#xD;fr:attrape _ _&#xD;</translations><inputs><input type="%upvar"></input><input type="%cs"></input></inputs><script><block s="doCallCC"><block s="reifyScript"><script><block s="doSetVar"><l>tag</l><block var="cont"/></block><block s="doRun"><block var="action"/><list></list></block></script><list><l>cont</l></list></block></block><custom-block s="ignore %s"><l>3</l></custom-block></script></block-definition><block-definition s="throw %&apos;cont&apos;" type="command" category="control"><header></header><code></code><translations>de:wirf _&#xD;ca:llança _&#xD;es:lanzar _&#xD;fr:lance _&#xD;</translations><inputs><input type="%s">catchtag</input></inputs><script><block s="doRun"><block var="cont"/><list></list></block></script></block-definition><block-definition s="catch %&apos;tag&apos; %&apos;value&apos;" type="reporter" category="control"><header></header><code></code><translations>de:fange _ _&#xD;ca:agafa _ _&#xD;es:atrapar _ _&#xD;fr:attrape _ _&#xD;</translations><inputs><input type="%upvar"></input><input type="%anyUE"></input></inputs><script><block s="doCallCC"><block s="reifyScript"><script><block s="doSetVar"><l>tag</l><block var="cont"/></block><block s="doReport"><block s="evaluate"><block var="value"/><list></list></block></block></script><list><l>cont</l></list></block></block></script></block-definition><block-definition s="throw %&apos;tag&apos; %&apos;value&apos;" type="command" category="control"><header></header><code></code><translations>de:wirf _ _&#xD;ca:llança _ _&#xD;es:lanzar _ _&#xD;fr:lance _ _&#xD;</translations><inputs><input type="%s">catchtag</input><input type="%s"></input></inputs><script><block s="doRun"><block var="tag"/><list><block var="value"/></list></block></script></block-definition><block-definition s="for each %&apos;item&apos; of %&apos;data&apos; %&apos;action&apos;" type="command" category="lists"><header></header><code></code><translations>de:für jedes _ von _ _&#xD;ca:per cada _ de _ _&#xD;es:para cada _ de _ _&#xD;fr:pour chaque _ de _ _&#xD;</translations><inputs><input type="%upvar"></input><input type="%l"></input><input type="%cs"></input></inputs><script><block s="doUntil"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doSetVar"><l>item</l><block s="reportListItem"><l>1</l><block var="data"/></block></block><block s="doRun"><block var="action"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><block s="doSetVar"><l>data</l><block s="reportCDR"><block var="data"/></block></block></script></block></script></block-definition><block-definition s="if %&apos;test&apos; do %&apos;action&apos; and pause all $pause-1-255-220-0" type="command" category="control"><header></header><code></code><translations>de:falls _ dann _ und pause $pause-1-255-220-0&#xD;ca:si _ fes _ i atura-ho tot $pause-1-255-220-0&#xD;es:si _ haz _ y páralo todo $pause-1-255-220-0&#xD;fr:si _ faire _ et mettre tout en pause $pause-1-255-220-0&#xD;</translations><inputs><input type="%boolUE"></input><input type="%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>breakpoint</l></list></block><block s="doIf"><block s="evaluate"><block var="test"/><list></list></block><script><block s="doSetVar"><l>breakpoint</l><block var="test"/></block><block s="doShowVar"><l>breakpoint</l></block><block s="doRun"><block var="action"/><list></list></block><block s="doPauseAll"></block><block s="doHideVar"><l></l></block></script><list></list></block></script></block-definition><block-definition s="word $arrowRight list %&apos;word&apos;" type="reporter" category="operators"><header></header><code></code><translations>de:Wort $arrowRight Liste _&#xD;ca:paraula $arrowRight llista _&#xD;es:palabra $arrowRight lista _&#xD;fr:mot $arrowRight liste _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportTextSplit"><block var="word"/><l><option>letter</option></l></block></block></script></block-definition><block-definition s="ignore %&apos;x&apos;" type="command" category="control"><header></header><code></code><translations>de:ignoriere _&#xD;ca:ignora _&#xD;es:ignorar _&#xD;fr:ignore _&#xD;</translations><inputs><input type="%s"></input></inputs></block-definition><block-definition s="list $arrowRight word %&apos;list&apos;" type="reporter" category="operators"><header></header><code></code><translations>de:Liste $arrowRight Wort _&#xD;ca:llista $arrowRight paraula _&#xD;es:lista $arrowRight palabra _&#xD;fr:liste $arrowRight mot _&#xD;</translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><block var="list"/></block></block></script></block-definition><block-definition s="numbers from %&apos;from&apos; to %&apos;to&apos;" type="reporter" category="lists"><header></header><code></code><translations>de:Zahlen von _ bis _&#xD;ca:nombres des de _ a _&#xD;es:números de _ a _&#xD;fr:nombres de _ à _&#xD;</translations><inputs><input type="%n">1</input><input type="%n">10</input></inputs><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="from"/><block var="to"/></list></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script><list></list></block><block s="doReport"><block s="reportCONS"><block var="from"/><custom-block s="numbers from %n to %n"><block s="reportVariadicSum"><list><block var="from"/><l>1</l></list></block><block var="to"/></custom-block></block></block></script></block-definition><block-definition s="map %&apos;func&apos; over %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations>de:wende _ an auf _&#xD;ca:mapeja _ sobre _&#xD;es:mapear _ sobre _&#xD;fr:appliquer _ à _&#xD;</translations><inputs><input type="%repRing"></input><input type="%l"></input></inputs><script><block s="doIf"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doReport"><block var="data"/></block></script><list></list></block><block s="doReport"><block s="reportCONS"><block s="evaluate"><block var="func"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><custom-block s="map %repRing over %l"><block var="func"/><block s="reportCDR"><block var="data"/></block></custom-block></block></block></script></block-definition><block-definition s="append %&apos;lists&apos;" type="reporter" category="lists"><comment x="0" y="0" w="287" collapsed="false">Take any number of input lists, and create a new list containing the items of the input lists.  So&#xD;              APPEND [A B] [C D]&#xD;where the [,,,] are lists reports the list&#xD;              [A B C D]&#xD;not [[A B] [C D]].</comment><header></header><code></code><translations></translations><inputs><input type="%mult%l"></input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="lists"/><block s="reportNewList"><list></list></block></list></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="lists"/></block><l>1</l></list></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="lists"/></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="lists"/></block><block s="reportNewList"><list></list></block></list></block><script><block s="doReport"><custom-block s="append %mult%l"><block s="reportCDR"><block var="lists"/></block></custom-block></block></script><list></list></block><block s="doReport"><block s="reportCONS"><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="lists"/></block></block><custom-block s="append %mult%l"><block s="reportCONS"><block s="reportCDR"><block s="reportListItem"><l>1</l><block var="lists"/></block></block><block s="reportCDR"><block var="lists"/></block></block></custom-block></block></block></script></block></script></block-definition><block-definition s="reverse %&apos;data&apos;" type="reporter" category="lists"><comment x="0" y="0" w="223" collapsed="false">Reports a new list containing the items of the input list, but in the opposite order.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>helper</l></list></block><block s="doSetVar"><l>helper</l><block s="reifyScript"><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="input"/><block s="reportNewList"><list></list></block></list></block><script><block s="doReport"><block var="result"/></block></script><list></list></block><block s="doReport"><block s="evaluate"><block var="helper"/><list><block s="reportCDR"><block var="input"/></block><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="input"/></block><block var="result"/></block></list></block></block></script><list><l>input</l><l>result</l></list></block></block><block s="doWarp"><script><block s="doReport"><block s="evaluate"><block var="helper"/><list><block var="data"/><block s="reportNewList"><list></list></block></list></block></block></script></block></script></block-definition><block-definition s="remove duplicates from %&apos;data&apos;" type="reporter" category="lists"><comment x="0" y="0" w="209" collapsed="false">Reports a new list whose items are the same as in the input list, except that if two or more equal items appear in the input list, only the last one is kept in the result.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="data"/><block s="reportNewList"><list></list></block></list></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script><list></list></block><block s="doIfElse"><block s="reportListContainsItem"><block s="reportCDR"><block var="data"/></block><block s="reportListItem"><l>1</l><block var="data"/></block></block><script><block s="doReport"><custom-block s="remove duplicates from %l"><block s="reportCDR"><block var="data"/></block></custom-block></block></script><script><block s="doReport"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="data"/></block><custom-block s="remove duplicates from %l"><block s="reportCDR"><block var="data"/></block></custom-block></block></block></script></block></script></block></script></block-definition><block-definition s="sort %&apos;data&apos; ordering with %&apos;function&apos;" type="reporter" category="lists"><comment x="0" y="0" w="204" collapsed="false">Reports a sorted version of the list in its first input slot, using the comparison function in the second input slot.  For a list of numbers, using &lt; as the comparison function will sort from low to high; using &gt; will sort from high to low.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%predRing"></input></inputs><script><block s="doDeclareVariables"><list><l>even items</l><l>odd items</l><l>merge</l></list></block><block s="doSetVar"><l>odd items</l><block s="reifyScript"><script><block s="doIf"><block s="reportVariadicEquals"><list><l></l><block s="reportNewList"><list></list></block></list></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script><list></list></block><block s="doReport"><block s="reportCONS"><block s="reportListItem"><l>1</l><l/></block><block s="evaluate"><block var="even items"/><list><block s="reportCDR"><l/></block></list></block></block></block></script><list></list></block></block><block s="doSetVar"><l>even items</l><block s="reifyScript"><script><block s="doIf"><block s="reportVariadicEquals"><list><l></l><block s="reportNewList"><list></list></block></list></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script><list></list></block><block s="doReport"><block s="evaluate"><block var="odd items"/><list><block s="reportCDR"><l/></block></list></block></block></script><list></list></block></block><block s="doSetVar"><l>merge</l><block s="reifyScript"><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="#1"/><block s="reportNewList"><list></list></block></list></block><script><block s="doReport"><block var="#2"/></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="#2"/><block s="reportNewList"><list></list></block></list></block><script><block s="doReport"><block var="#1"/></block></script><list></list></block><block s="doIfElse"><block s="evaluate"><block var="function"/><list><block s="reportListItem"><l>1</l><block var="#1"/></block><block s="reportListItem"><l>1</l><block var="#2"/></block></list></block><script><block s="doReport"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="#1"/></block><block s="evaluate"><block var="merge"/><list><block s="reportCDR"><block var="#1"/></block><block var="#2"/></list></block></block></block></script><script><block s="doReport"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="#2"/></block><block s="evaluate"><block var="merge"/><list><block var="#1"/><block s="reportCDR"><block var="#2"/></block></list></block></block></block></script></block></script><list><l>#1</l><l>#2</l></list></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="data"/><block s="reportNewList"><list></list></block></list></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportCDR"><block var="data"/></block><block s="reportNewList"><list></list></block></list></block><script><block s="doReport"><block var="data"/></block></script><list></list></block><block s="doReport"><block s="evaluate"><block var="merge"/><list><custom-block s="sort %l ordering with %predRing"><block s="evaluate"><block var="odd items"/><list><block var="data"/></list></block><block var="function"/></custom-block><custom-block s="sort %l ordering with %predRing"><block s="evaluate"><block var="even items"/><list><block var="data"/></list></block><block var="function"/></custom-block></list></block></block></script></block-definition><block-definition s="assoc %&apos;key&apos; %&apos;a-list&apos;" type="reporter" category="lists"><comment x="0" y="0" w="289.3333333333333" collapsed="false">The second input is an &quot;association list,&quot; a list of two-item lists.  Each of those smaller lists has a &quot;key&quot; as its first item and a &quot;value&quot; as its second.  ASSOC reports the first key-value pair in the association list whose key matches the first input.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%l"></input></inputs><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="a-list"/><block s="reportNewList"><list></list></block></list></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="key"/><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="a-list"/></block></block></list></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="a-list"/></block></block></script><list></list></block><block s="doReport"><custom-block s="assoc %s %l"><block var="key"/><block s="reportCDR"><block var="a-list"/></block></custom-block></block></script></block-definition><block-definition s="%&apos;#&apos; map %&apos;function&apos; over %&apos;lists&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%repRing"></input><input type="%mult%l"></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>mapone</l><l>mapmany</l></list></block><block s="doSetVar"><l>mapone</l><block s="reifyScript"><script><block s="doIf"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script><list></list></block><block s="doSetVar"><l>#</l><block var="count"/></block><block s="doReport"><block s="reportCONS"><block s="evaluate"><block var="function"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><block s="evaluate"><block var="mapone"/><list><block s="reportCDR"><block var="data"/></block><block s="reportVariadicSum"><list><block var="count"/><l>1</l></list></block></list></block></block></block></script><list><l>data</l><l>count</l></list></block></block><block s="doSetVar"><l>mapmany</l><block s="reifyScript"><script><block s="doIf"><custom-block s="empty? %l"><block s="reportListItem"><l>1</l><block var="data lists"/></block></custom-block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script><list></list></block><block s="doSetVar"><l>#</l><block var="count"/></block><block s="doReport"><block s="reportCONS"><block s="evaluate"><block var="function"/><custom-block s="%upvar map %repRing over %mult%l"><l>#</l><block s="reifyReporter"><autolambda><block s="reportListItem"><l>1</l><l/></block></autolambda><list></list></block><list><block var="data lists"/></list></custom-block></block><block s="evaluate"><block var="mapmany"/><list><custom-block s="%upvar map %repRing over %mult%l"><l>#</l><block s="reifyReporter"><autolambda><block s="reportCDR"><l/></block></autolambda><list></list></block><list><block var="data lists"/></list></custom-block><block s="reportVariadicSum"><list><block var="count"/><l>1</l></list></block></list></block></block></block></script><list><l>data lists</l><l>count</l></list></block></block><block s="doIfElse"><custom-block s="empty? %l"><block s="reportCDR"><block var="lists"/></block></custom-block><script><block s="doReport"><block s="evaluate"><block var="mapone"/><list><block s="reportListItem"><l>1</l><block var="lists"/></block><l>1</l></list></block></block></script><script><block s="doReport"><block s="evaluate"><block var="mapmany"/><list><block var="lists"/><l>1</l></list></block></block></script></block></script></block></script></block-definition><block-definition s="empty? %&apos;data&apos;" type="predicate" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportVariadicEquals"><list><block var="data"/><block s="reportNewList"><list></list></block></list></block></block></script></block-definition><block-definition s="%&apos;#&apos; keep items such that %&apos;pred&apos; from %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%predRing"></input><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>keep-helper</l></list></block><block s="doSetVar"><l>keep-helper</l><block s="reifyScript"><script><block s="doWarp"><script><block s="doIf"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script><list></list></block><block s="doSetVar"><l>#</l><block var="count"/></block><block s="doIfElse"><block s="evaluate"><block var="pred"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><script><block s="doReport"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="data"/></block><block s="evaluate"><block var="keep-helper"/><list><block s="reportCDR"><block var="data"/></block><block s="reportVariadicSum"><list><block var="count"/><l>1</l></list></block></list></block></block></block></script><script><block s="doReport"><block s="evaluate"><block var="keep-helper"/><list><block s="reportCDR"><block var="data"/></block><block s="reportVariadicSum"><list><block var="count"/><l>1</l></list></block></list></block></block></script></block></script></block></script><list><l>data</l><l>count</l></list></block></block><block s="doReport"><block s="evaluate"><block var="keep-helper"/><list><block var="data"/><l>1</l></list></block></block></script></block-definition><block-definition s="%&apos;#&apos; for each %&apos;item&apos; of %&apos;data&apos; %&apos;action&apos;" type="command" category="lists"><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%upvar"></input><input type="%l"></input><input type="%cs"></input></inputs><script><block s="doSetVar"><l>#</l><l>1</l></block><block s="doUntil"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doSetVar"><l>item</l><block s="reportListItem"><l>1</l><block var="data"/></block></block><block s="doRun"><block var="action"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><block s="doSetVar"><l>data</l><block s="reportCDR"><block var="data"/></block></block><block s="doChangeVar"><l>#</l><l>1</l></block></script></block></script></block-definition><block-definition s="Next Pascal Row %&apos;row&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><custom-block s="%upvar map %repRing over %mult%l"><l>#</l><block s="reifyReporter"><autolambda><block s="reportVariadicSum"><list><l></l><l></l></list></block></autolambda><list></list></block><list><block s="reportCONS"><l>0</l><block var="row"/></block><custom-block s="reverse %l"><block s="reportCONS"><l>0</l><custom-block s="reverse %l"><block var="row"/></custom-block></block></custom-block></list></custom-block></block></script></block-definition><block-definition s="Go to top left corner" type="command" category="motion"><header></header><code></code><translations></translations><inputs></inputs><script><block s="gotoXY"><block s="reportVariadicProduct"><list><block s="reportQuotient"><block s="reportDifference"><block s="reportQuotient"><block s="reportAskFor"><l>Stage</l><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>width</option></l></block></autolambda><list></list></block><list></list></block><block var="PIXEL"/></block><l>1</l></block><l>-2</l></block><block var="PIXEL"/></list></block><block s="reportVariadicProduct"><list><block s="reportQuotient"><block s="reportDifference"><block s="reportQuotient"><block s="reportAskFor"><l>Stage</l><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>height</option></l></block></autolambda><list></list></block><list></list></block><block var="PIXEL"/></block><l>1</l></block><l>2</l></block><block var="PIXEL"/></list></block></block></script></block-definition><block-definition s="odd? %&apos;X&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportVariadicEquals"><list><block s="reportModulus"><block var="X"/><l>2</l></block><l>1</l></list></block></block></script></block-definition><block-definition s="USE BIGNUMS %&apos;bool&apos;" type="command" category="operators"><comment x="0" y="0" w="303.3333333333333" collapsed="false">call with True to turn on the entire Scheme numeric tower, including infinite-precision integers, exact rationals, and complex numbers; call with False to restore native JavaScript arithmetic.</comment><header></header><code></code><translations></translations><inputs><input type="%b"></input></inputs><script><block s="doDeclareVariables"><list><l>isDone</l></list></block><block s="doSetVar"><l>isDone</l><block s="evaluate"><block s="reportJSFunction"><list><l>useBigNums</l></list><l>var done = false;&#xD;&#xD;function initialize (callback) {&#xD;    var bigScript = document.createElement(&apos;script&apos;);&#xD;    bigScript.src = &apos;//snap.berkeley.edu/snapsource/libraries/biginteger.js&apos;;&#xD;    bigScript.onload = loadScheme;&#xD;    document.head.appendChild(bigScript);&#xD;&#xD;    function loadScheme () {&#xD;        var schemeScript = document.createElement(&apos;script&apos;);&#xD;        schemeScript.src = &apos;//snap.berkeley.edu/snapsource/libraries/schemeNumber.js&apos;;&#xD;        schemeScript.onload = finish;&#xD;        document.head.appendChild(schemeScript);&#xD;    }&#xD;&#xD;    function finish () {&#xD;        makeGlobalObject();&#xD;        callback();&#xD;    }&#xD;}&#xD;&#xD;function makeGlobalObject () {&#xD;    window.bigNumbers = {&#xD;        originalEvaluate: InputSlotMorph.prototype.evaluate,&#xD;        originalChangeVar: VariableFrame.prototype.changeVar,&#xD;        originalPrims: {&#xD;            reportSum: Process.prototype.reportSum,&#xD;            reportDifference: Process.prototype.reportDifference,&#xD;            reportProduct: Process.prototype.reportProduct,&#xD;            reportQuotient: Process.prototype.reportQuotient,&#xD;            reportModulus: Process.prototype.reportModulus,&#xD;            reportRandom: Process.prototype.reportRandom,&#xD;            reportLessThan: Process.prototype.reportLessThan,&#xD;            reportGreaterThan: Process.prototype.reportGreaterThan,&#xD;            reportEquals: Process.prototype.reportEquals,&#xD;            reportIsIdentical: Process.prototype.reportIsIdentical,&#xD;            reportMonadic: Process.prototype.reportMonadic&#xD;        }&#xD;    };&#xD;}&#xD;&#xD;function loadBlocks () {&#xD;    var fn = SchemeNumber.fn;&#xD;    var originalPrims = window.bigNumbers.originalPrims;&#xD;    if (useBigNums) {&#xD;        InputSlotMorph.prototype.evaluate = function () {&#xD;            var contents = this.contents();&#xD;            if (this.constant) {&#xD;                return this.constant;&#xD;            }&#xD;            if (this.isNumeric) {&#xD;                return parseNumber(contents.text || &apos;0&apos;);&#xD;            }&#xD;            return contents.text;&#xD;        };&#xD;        VariableFrame.prototype.changeVar = function (name, delta, sender) {&#xD;            var frame = this.find(name),&#xD;                value,&#xD;                newValue;&#xD;            if (frame) {&#xD;                value = parseNumber(frame.vars[name].value);&#xD;                newValue = value !== value ? delta : value + parseNumber(delta);&#xD;                if (sender instanceof SpriteMorph &amp;&amp;&#xD;                        (frame.owner instanceof SpriteMorph) &amp;&amp;&#xD;                        (sender !== frame.owner)) {&#xD;                    sender.shadowVar(name, newValue);&#xD;                } else {&#xD;                    frame.vars[name].value = newValue;&#xD;                }&#xD;&#xD;            }&#xD;        };&#xD;        Object.assign(Process.prototype, {&#xD;            reportSum: function (a, b) {&#xD;                a = parseNumber(a);&#xD;                b = parseNumber(b);&#xD;                if (a !== a || b !== b) return NaN;&#xD;                return fn[&apos;+&apos;](a, b);&#xD;            },&#xD;            reportDifference: function (a, b) {&#xD;                a = parseNumber(a);&#xD;                b = parseNumber(b);&#xD;                if (a !== a || b !== b) return NaN;&#xD;                return fn[&apos;-&apos;](a, b);&#xD;            },&#xD;            reportProduct: function (a, b) {&#xD;                a = parseNumber(a);&#xD;                b = parseNumber(b);&#xD;                if (a !== a || b !== b) return NaN;&#xD;                return fn[&apos;*&apos;](a, b);&#xD;            },&#xD;            reportQuotient: function (a, b) {&#xD;                a = parseNumber(a);&#xD;                b = parseNumber(b);&#xD;                if (fn[&apos;=&apos;](b, &apos;0&apos;) &amp;&amp; !fn[&apos;=&apos;](a, &apos;0&apos;)) {&#xD;                      return (fn[&apos;&lt;&apos;](a, &apos;0&apos;) ? SchemeNumber(&apos;-inf.0&apos;) : SchemeNumber(&apos;+inf.0&apos;))&#xD;                };&#xD;                if (a !== a || b !== b || fn[&apos;=&apos;](b, &apos;0&apos;)) return SchemeNumber(&apos;+nan.0&apos;);&#xD;                return fn[&apos;/&apos;](a, b);&#xD;            },&#xD;            reportModulus: function (a, b) {&#xD;                a = parseNumber(a);&#xD;                b = parseNumber(b);&#xD;                if (a !== a || b !== b) return NaN;&#xD;                var result = fn.mod(a, b);&#xD;                if (fn[&apos;&lt;&apos;](b, &apos;0&apos;) &amp;&amp; fn[&apos;&gt;&apos;](result, &apos;0&apos;)) {&#xD;                    result = fn[&apos;+&apos;](result, b);&#xD;                }&#xD;                return result;&#xD;            },&#xD;            reportRandom: function (min, max) {&#xD;                var floor = parseNumber(min),&#xD;                    ceil = parseNumber(max);&#xD;                if (floor !== floor || ceil !== ceil) return NaN;&#xD;                if (!fn[&apos;=&apos;](fn.mod(floor, &apos;1&apos;), &apos;0&apos;) || !fn[&apos;=&apos;](fn.mod(ceil, &apos;1&apos;), &apos;0&apos;)) {&#xD;                    // One of the numbers isn&apos;t whole. Include the decimal.&#xD;                    return fn[&apos;+&apos;](&#xD;                        fn[&apos;*&apos;](&#xD;                            Math.random(),&#xD;                            fn[&apos;-&apos;](ceil, floor)&#xD;                        ),&#xD;                        floor&#xD;                    );&#xD;                }&#xD;                return fn.floor(&#xD;                    fn[&apos;+&apos;](&#xD;                        fn[&apos;*&apos;](&#xD;                            Math.random(),&#xD;                            fn[&apos;+&apos;](&#xD;                                fn[&apos;-&apos;](ceil, floor),&#xD;                                &apos;1&apos;&#xD;                            )&#xD;                        ),&#xD;                        floor&#xD;                    )&#xD;                );&#xD;            },&#xD;            reportLessThan: function (a, b) {&#xD;                a = parseNumber(a);&#xD;                b = parseNumber(b);&#xD;                if (a !== a || b !== b) return NaN;&#xD;                return fn[&apos;&lt;&apos;](a, b);&#xD;            },&#xD;            reportGreaterThan: function (a, b) {&#xD;                a = parseNumber(a);&#xD;                b = parseNumber(b);&#xD;                if (a !== a || b !== b) return NaN;&#xD;                return fn[&apos;&gt;&apos;](a, b);&#xD;            },&#xD;            reportGreaterThan: function (a, b) {&#xD;                a = parseNumber(a);&#xD;                b = parseNumber(b);&#xD;                if (a !== a || b !== b) return NaN;&#xD;                return fn[&apos;&gt;&apos;](a, b);&#xD;            },&#xD;            reportEqual: function (a, b) {&#xD;                x = parseNumber(a);&#xD;                y = parseNumber(b);&#xD;                if (x !== x || y !== y) return snapEquals(a, b);&#xD;                return fn[&apos;=&apos;](x, y);&#xD;            },&#xD;            reportIsIdentical: function (a, b) {&#xD;                x = parseNumber(a);&#xD;                y = parseNumber(b);&#xD;                if (x !== x || y !== y) return originalPrims.reportIsIdentical(a, b);&#xD;                return fn[&apos;=&apos;](x, y);&#xD;            },&#xD;            reportMonadic: function (fname, n) {&#xD;                n = parseNumber(n);&#xD;                if (n !== n) return NaN;&#xD;&#xD;                switch (Process.prototype.inputOption(fname)) {&#xD;                case &apos;abs&apos;:&#xD;                    return fn.abs(n);&#xD;                case &apos;ceiling&apos;:&#xD;                    return fn.ceiling(n);&#xD;                case &apos;floor&apos;:&#xD;                    return fn.floor(n);&#xD;                case &apos;sqrt&apos;:&#xD;                    return sqrt(n);&#xD;                case &apos;sin&apos;:&#xD;                    return fn.sin(radians(n));&#xD;                case &apos;cos&apos;:&#xD;                    return fn.cos(radians(n));&#xD;                case &apos;tan&apos;:&#xD;                    return fn.tan(radians(n));&#xD;                case &apos;asin&apos;:&#xD;                    return degrees(fn.asin(n));&#xD;                case &apos;acos&apos;:&#xD;                    return degrees(fn.acos(n));&#xD;                case &apos;atan&apos;:&#xD;                    return degrees(fn.atan(n));&#xD;                case &apos;ln&apos;:&#xD;                    return fn.log(n);&#xD;                case &apos;log&apos;:&#xD;                    return fn.log(n, &apos;10&apos;);&#xD;                case &apos;e^&apos;:&#xD;                    return fn.exp(n);&#xD;                case &apos;10^&apos;:&#xD;                    return fn.expt(&apos;10&apos;, n);&#xD;                default:&#xD;                    return SchemeNumber(&apos;0&apos;);&#xD;                }&#xD;            }&#xD;        });&#xD;    } else {&#xD;        InputSlotMorph.prototype.evaluate = window.bigNumbers.originalEvaluate;&#xD;        VariableFrame.prototype.changeVar = window.bigNumbers.originalChangeVar;&#xD;        Object.assign(Process.prototype, originalPrims);&#xD;    }&#xD;    done = true;&#xD;}&#xD;&#xD;function parseNumber (n) {&#xD;    var fn = SchemeNumber.fn;&#xD;    if (!fn[&apos;number?&apos;](n)) {&#xD;        n = &apos;&apos; + n;&#xD;        try {&#xD;            return parseENotation(n) || SchemeNumber(n);&#xD;        } catch (err) {&#xD;            return NaN;&#xD;        }&#xD;    }&#xD;    return n;&#xD;}&#xD;&#xD;function parseENotation (n) {&#xD;    var fn = SchemeNumber.fn;&#xD;&#xD;    var numbers = n.match(/^(-?\d+\.?\d*|-?\.\d+)e(-?\d+)$/i);&#xD;    if (!numbers) return null;&#xD;&#xD;    var coefficient = numbers[1];&#xD;    var exponent = numbers[2];&#xD;    return fn[&apos;*&apos;](&#xD;        coefficient,&#xD;        fn.expt(&apos;10&apos;, exponent)&#xD;    );&#xD;}&#xD;&#xD;function sqrt (n) {&#xD;    var fn = SchemeNumber.fn;&#xD;&#xD;    if (!fn[&apos;exact?&apos;](n) || !fn[&apos;rational?&apos;](n) || fn[&apos;&lt;&apos;](n,&apos;0&apos;)) return fn.sqrt(n);&#xD;&#xD;    var rootNumerator = fn[&apos;exact-integer-sqrt&apos;](fn.numerator(n));&#xD;    if (!fn[&apos;=&apos;](rootNumerator[1], &apos;0&apos;)) return fn.sqrt(n);&#xD;&#xD;    var rootDenominator = fn[&apos;exact-integer-sqrt&apos;](fn.denominator(n));&#xD;    if (!fn[&apos;=&apos;](rootDenominator[1], &apos;0&apos;)) return fn.sqrt(n);&#xD;&#xD;    return fn[&apos;/&apos;](rootNumerator[0], rootDenominator[0]);&#xD;}&#xD;&#xD;function isDone () {&#xD;    return done;&#xD;}&#xD;&#xD;if (window.bigNumbers) {&#xD;    loadBlocks();&#xD;} else {&#xD;    initialize(loadBlocks);&#xD;}&#xD;&#xD;return isDone;</l></block><list><block var="bool"/></list></block></block><block s="doWaitUntil"><block s="evaluate"><block var="isDone"/><list></list></block></block></script></block-definition><block-definition s="if %&apos;test&apos; then %&apos;true&apos; else %&apos;false&apos;" type="reporter" category="control"><header></header><code></code><translations></translations><inputs><input type="%b"></input><input type="%anyUE"></input><input type="%anyUE"></input></inputs><script><block s="doIfElse"><block var="test"/><script><block s="doReport"><block s="evaluate"><block var="true"/><list></list></block></block></script><script><block s="doReport"><block s="evaluate"><block var="false"/><list></list></block></block></script></block></script></block-definition><block-definition s="%&apos;n&apos; !" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doReport"><custom-block s="if %b then %anyUE else %anyUE"><block s="reportVariadicEquals"><list><block var="n"/><l>0</l></list></block><l>1</l><block s="reportVariadicProduct"><list><block var="n"/><custom-block s="%n !"><block s="reportDifference"><block var="n"/><l>1</l></block></custom-block></list></block></custom-block></block></script></block-definition><block-definition s="%&apos;x&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block var="x"/></block></script></block-definition><block-definition s="Scheme number %&apos;function&apos; of %&apos;number&apos;" type="reporter" category="operators"><comment x="0" y="0" w="300" collapsed="true">Provides Scheme arithmetic functions not in JavaScript</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true"><options>number?&#xD;complex?&#xD;real?&#xD;rational?&#xD;integer?&#xD;exact?&#xD;inexact?&#xD;exact&#xD;inexact&#xD;finite?&#xD;infinite?&#xD;nan?&#xD;numerator&#xD;denominator&#xD;real-part&#xD;imag-part&#xD;magnitude&#xD;angle</options></input><input type="%s"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>which</l><l>num</l></list><l>function parseNumber (n) {&#xD;    var fn = SchemeNumber.fn;&#xD;    if (!fn[&apos;number?&apos;](n)) {&#xD;        n = &apos;&apos; + n;&#xD;        try {&#xD;            return parseENotation(n) || SchemeNumber(n);&#xD;        } catch (err) {&#xD;            return NaN;&#xD;        }&#xD;    }&#xD;    return n;&#xD;}&#xD;&#xD;function parseENotation (n) {&#xD;    var fn = SchemeNumber.fn;&#xD;&#xD;    var numbers = n.match(/^(-?\d+\.?\d*|-?\.\d+)e(-?\d+)$/i);&#xD;    if (!numbers) return null;&#xD;&#xD;    var coefficient = numbers[1];&#xD;    var exponent = numbers[2];&#xD;    return fn[&apos;*&apos;](&#xD;        coefficient,&#xD;        fn.expt(&apos;10&apos;, exponent)&#xD;    );&#xD;}&#xD;var fn=SchemeNumber.fn,&#xD;      number=parseNumber(num);&#xD;&#xD;switch (which) {&#xD;  case &apos;number?&apos;:&#xD;  case &apos;complex?&apos;:&#xD;    return (fn[&apos;number?&apos;](number));&#xD;  case &apos;real?&apos;:&#xD;    return (fn[&apos;real?&apos;](number) || fn[&apos;real-valued?&apos;](number));&#xD;  case &apos;rational?&apos;:&#xD;    return (fn[&apos;rational?&apos;](number) || (fn[&apos;=&apos;](number, fn.rationalize(number, parseNumber(&apos;1.0e-5&apos;)))));&#xD;  case &apos;integer?&apos;:&#xD;    return (fn[&apos;integer?&apos;](number) || fn[&apos;integer-valued?&apos;](number));&#xD;  case &apos;exact?&apos;:&#xD;  case &apos;inexact?&apos;:&#xD;  case &apos;finite?&apos;:&#xD;  case &apos;infinite?&apos;:&#xD;  case &apos;nan?&apos;:&#xD;  case &apos;real-part&apos;:&#xD;  case &apos;imag-part&apos;:&#xD;    return (fn[which](number));&#xD;  case &apos;magnitude&apos;:&#xD;    return (fn.magnitude(number));&#xD;  case &apos;angle&apos;:&#xD;    return (fn.angle(number));&#xD;  case &apos;numerator&apos;:&#xD;    return (fn.numerator(number));&#xD;  case &apos;denominator&apos;:&#xD;    return (fn.denominator(number));&#xD;  case &apos;exact&apos;:&#xD;    return (fn.exact(number));&#xD;case &apos;inexact&apos;:&#xD;    return (fn.inexact(number));&#xD;}</l></block><list><block var="function"/><block var="number"/></list></block></block></script></block-definition><block-definition s="Go to top center" type="command" category="motion"><header></header><code></code><translations></translations><inputs></inputs><script><block s="gotoXY"><l>0</l><block s="reportVariadicProduct"><list><block s="reportQuotient"><block s="reportDifference"><block s="reportQuotient"><block s="reportAskFor"><l>Stage</l><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>height</option></l></block></autolambda><list></list></block><list></list></block><block var="PIXEL"/></block><l>1</l></block><l>2</l></block><block var="PIXEL"/></list></block></block></script></block-definition><block-definition s="Next Pascal Row Mod 2 %&apos;row&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportModulus"><block s="reportVariadicSum"><list><custom-block s="append %mult%l"><list><block s="reportNewList"><list><l>0</l></list></block><block var="row"/></list></custom-block><custom-block s="append %mult%l"><list><block var="row"/><block s="reportNewList"><list><l>0</l></list></block></list></custom-block></list></block><l>2</l></block></block></script></block-definition><block-definition s="Center Line %&apos;length&apos;" type="command" category="other"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="forward"><block s="reportVariadicProduct"><list><block s="reportQuotient"><block s="reportDifference"><block var="length"/><l>1</l></block><l>2</l></block><block var="PIXEL"/></list></block></block><block s="turnLeft"><l>180</l></block><block s="doRepeat"><block s="reportDifference"><block var="length"/><l>1</l></block><script><custom-block s="pixel $rectangleSolid or $rectangle %b"><l><bool>true</bool></l></custom-block><block s="forward"><block var="PIXEL"/></block></script></block><custom-block s="pixel $rectangleSolid or $rectangle %b"><l><bool>true</bool></l></custom-block><block s="turnLeft"><l>180</l></block><block s="forward"><block s="reportVariadicProduct"><list><block s="reportQuotient"><block s="reportDifference"><block var="length"/><l>1</l></block><l>2</l></block><block var="PIXEL"/></list></block></block></script><scripts><script x="161.5" y="274.1"><custom-block s="Center Line %s"><l>2</l></custom-block></script><script x="203.5" y="143.10000000000002"><block s="forward"><block s="reportVariadicProduct"><list><block s="reportQuotient"><block s="reportDifference"><l>3</l><l>1</l></block><l>2</l></block><block var="PIXEL"/></list></block></block></script></scripts></block-definition><block-definition s="Fun %&apos;length&apos;" type="command" category="other"><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="length"/><l>0.75</l></list></block><script><block s="doRepeat"><l>2</l><script><block s="forward"><block var="length"/></block><block s="turn"><l>90</l></block><custom-block s="Fun %n"><block s="reportDifference"><block var="length"/><l>1</l></block></custom-block><block s="turnLeft"><l>90</l></block><block s="forward"><block s="reportVariadicProduct"><list><l>-1</l><block var="length"/></list></block></block><block s="turn"><l>180</l></block></script></block></script><list></list></block></script><scripts><script x="231.5" y="304.00000299999994"><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="length"/><l>0.75</l></list></block><script><block s="doRepeat"><l>2</l><script><block s="forward"><block var="length"/></block><block s="turn"><l>90</l></block><custom-block s="Fun %n"><block s="reportDifference"><block var="length"/><l>1</l></block></custom-block><block s="turnLeft"><l>90</l></block><block s="forward"><block s="reportVariadicProduct"><list><l>-1</l><block var="length"/></list></block></block><block s="turn"><l>180</l></block></script></block></script><list></list></block></script><script x="490.50000100000005" y="50.10000000000003"><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="length"/><l>0.75</l></list></block><script><block s="doRepeat"><l>2</l><script><custom-block s="PIXEL move %n"><block var="length"/></custom-block><block s="turn"><l>90</l></block><custom-block s="Fun %n"><block s="reportQuotient"><block var="length"/><l>2</l></block></custom-block><block s="turnLeft"><l>90</l></block><block s="forward"><block s="reportVariadicProduct"><list><l>-1</l><block s="reportVariadicProduct"><list><block var="length"/><block var="PIXEL"/></list></block></list></block></block><block s="turn"><l>180</l></block></script></block></script><list></list></block></script><script x="221.5" y="54.00000000000001"><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="length"/><l>0.75</l></list></block><script><block s="doRepeat"><l>2</l><script><custom-block s="PIXEL move %n"><block var="length"/></custom-block><block s="turn"><l>90</l></block><custom-block s="Fun %n"><block s="reportDifference"><block var="length"/><l>1</l></block></custom-block><block s="turnLeft"><l>90</l></block><block s="forward"><block s="reportVariadicProduct"><list><l>-1</l><block s="reportVariadicProduct"><list><block var="length"/><block var="PIXEL"/></list></block></list></block></block><block s="turn"><l>180</l></block></script></block></script><list></list></block></script><script x="474.50000100000005" y="298.9000000000001"><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="length"/><l>0.75</l></list></block><script><custom-block s="PIXEL move %n"><block var="length"/></custom-block><block s="turn"><l>90</l></block><custom-block s="Fun %n"><block s="reportQuotient"><block var="length"/><l>2</l></block></custom-block><block s="turnLeft"><l>180</l></block><custom-block s="Fun %n"><block s="reportQuotient"><block var="length"/><l>2</l></block></custom-block><block s="turn"><l>90</l></block><block s="forward"><block s="reportVariadicProduct"><list><l>-1</l><block s="reportVariadicProduct"><list><block var="length"/><block var="PIXEL"/></list></block></list></block></block></script><list></list></block></script></scripts></block-definition><block-definition s="PIXEL move %&apos;steps&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doRepeat"><block var="steps"/><script><custom-block s="pixel $rectangleSolid or $rectangle %b"><l><bool>true</bool></l></custom-block><block s="forward"><block var="PIXEL"/></block></script></block><custom-block s="pixel $rectangleSolid or $rectangle %b"><l><bool>true</bool></l></custom-block></script></block-definition><block-definition s="Turn pixel ( %&apos;x&apos; , %&apos;y&apos; ) on" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="gotoXY"><block s="reportVariadicProduct"><list><block var="x"/><block var="PIXEL"/></list></block><block s="reportVariadicProduct"><list><block var="y"/><block var="PIXEL"/></list></block></block><custom-block s="pixel $rectangleSolid or $rectangle %b"><l><bool>true</bool></l></custom-block></script></block-definition><block-definition s="Mandelbrot Iterations %&apos;x0&apos; %&apos;y0&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>x</l><l>y</l><l>iteration</l><l>max iteration</l><l>xtemp</l></list></block><block s="doSetVar"><l>x</l><l>0</l></block><block s="doSetVar"><l>y</l><l>0</l></block><block s="doSetVar"><l>iteration</l><l>0</l></block><block s="doSetVar"><l>max iteration</l><l>100</l></block><block s="doUntil"><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportVariadicLessThan"><list><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block var="x"/><block var="x"/></list></block><block s="reportVariadicProduct"><list><block var="y"/><block var="y"/></list></block></list></block><l>4</l></list></block><block s="reportVariadicLessThan"><list><block var="iteration"/><block var="max iteration"/></list></block></list></block></block><script><block s="doSetVar"><l>xtemp</l><block s="reportVariadicSum"><list><block s="reportDifference"><block s="reportVariadicProduct"><list><block var="x"/><block var="x"/></list></block><block s="reportVariadicProduct"><list><block var="y"/><block var="y"/></list></block></block><block var="x0"/></list></block></block><block s="doSetVar"><l>y</l><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><l>2</l><block s="reportVariadicProduct"><list><block var="x"/><block var="y"/></list></block></list></block><block var="y0"/></list></block></block><block s="doSetVar"><l>x</l><block var="xtemp"/></block><block s="doChangeVar"><l>iteration</l><l>1</l></block></script></block></script></block><block s="doReport"><block var="iteration"/></block></script></block-definition><block-definition s="Draw Grid" type="command" category="pen"><header></header><code></code><translations></translations><inputs></inputs><script><block s="clear"></block><custom-block s="set pen color to r: %n g: %n b: %n"><l>255</l><l>255</l><l>255</l></custom-block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="PIXEL"/><l>1</l></list></block><script><block s="setSize"><l>.333</l></block><custom-block s="set flag %s to %b"><l>Flat line ends</l><l><bool>true</bool></l></custom-block><block s="doDeclareVariables"><list><l>X min</l><l>X max</l><l>Y min</l><l>Y max</l></list></block><block s="doSetVar"><l>X min</l><block s="reportQuotient"><l>729</l><l>-2</l></block></block><block s="doSetVar"><l>X max</l><block s="reportQuotient"><l>729</l><l>2</l></block></block><block s="doSetVar"><l>Y min</l><block s="reportQuotient"><l>729</l><l>-2</l></block></block><block s="doSetVar"><l>Y max</l><block s="reportQuotient"><l>729</l><l>2</l></block></block><block s="doWarp"><script><custom-block s="for %upvar = %n to %n by %n %cs"><l>x</l><block var="X min"/><block var="X max"/><block var="PIXEL"/><script><custom-block s="Draw line from %l to %l"><block s="reportNewList"><list><block var="x"/><block var="Y min"/></list></block><block s="reportNewList"><list><block var="x"/><block var="Y max"/></list></block></custom-block></script></custom-block><custom-block s="for %upvar = %n to %n by %n %cs"><l>y</l><block var="Y min"/><block var="Y max"/><block var="PIXEL"/><script><custom-block s="Draw line from %l to %l"><block s="reportNewList"><list><block var="X min"/><block var="y"/></list></block><block s="reportNewList"><list><block var="X max"/><block var="y"/></list></block></custom-block></script></custom-block></script></block></script><list></list></block><block s="setSize"><block var="PIXEL"/></block><block s="gotoXY"><l>0</l><l>0</l></block><custom-block s="pixel $rectangleSolid or $rectangle %b"><l><bool>false</bool></l></custom-block></script><scripts><script x="195.55631510416666" y="203.38333333333335"><block s="reportListItem"><l>1</l><custom-block s="setting %s"><l>Stage size</l></custom-block></block></script><script x="178.111328125" y="231.05000000000004"><block s="reportListItem"><l>2</l><custom-block s="setting %s"><l>Stage size</l></custom-block></block></script><script x="178.22298177083334" y="256.3833333333334"><block s="reportListItem"><l>2</l><custom-block s="setting %s"><l>Stage size</l></custom-block></block></script><script x="199.77799479166666" y="181.38333333333335"><block s="reportListItem"><l>1</l><custom-block s="setting %s"><l>Stage size</l></custom-block></block></script></scripts></block-definition><block-definition s="Sierpinski Triangle %&apos;centered?&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%b">false</input></inputs><script><block s="setSize"><block var="PIXEL"/></block><block s="doIfElse"><block var="centered?"/><script><custom-block s="Go to top center"></custom-block></script><script><custom-block s="Go to top left corner"></custom-block></script></block><block s="doDeclareVariables"><list><l>N</l><l>X left edge</l><l>pascal row</l></list></block><block s="doSetVar"><l>N</l><block s="reportQuotient"><block s="reportListItem"><l>2</l><custom-block s="setting %s"><l>Stage size</l></custom-block></block><block var="PIXEL"/></block></block><block s="doSetVar"><l>pascal row</l><block s="reportNewList"><list><l>1</l></list></block></block><block s="doSetVar"><l>X left edge</l><block s="xPosition"></block></block><custom-block s="pixel $rectangleSolid or $rectangle %b"><l><bool>true</bool></l></custom-block><block s="setHeading"><l>90</l></block><block s="doWarp"><script><custom-block s="for %upvar = %n to %n by %n %cs"><l>y</l><l>1</l><block var="N"/><l>1</l><script><block s="setXPosition"><custom-block s="if %b then %anyUE else %anyUE"><block var="centered?"/><block s="reportVariadicProduct"><list><block var="PIXEL"/><block s="reportQuotient"><block s="reportDifference"><block s="reportListAttribute"><l><option>length</option></l><block var="pascal row"/></block><l>1</l></block><l>-2</l></block></list></block><block var="X left edge"/></custom-block></block><custom-block s="for each %upvar of %l %cs"><l>pascal element</l><block var="pascal row"/><script><custom-block s="pixel $rectangleSolid or $rectangle %b"><custom-block s="odd? %s"><block var="pascal element"/></custom-block></custom-block><block s="forward"><block var="PIXEL"/></block></script></custom-block><block s="changeYPosition"><block s="reportDifference"><l>0</l><block var="PIXEL"/></block></block><block s="doSetVar"><l>pascal row</l><custom-block s="Next Pascal Row Mod 2 %l"><block var="pascal row"/></custom-block></block></script></custom-block></script></block></script></block-definition><block-definition s="Say Help for %&apos;N&apos; seconds" type="command" category="looks"><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doSayFor"><l>Try (h)elp, (c)lear, (space) for a grid, (a/q) for smaller/bigger pixels, (left/right/forward) for movement, (down) fill, (o/p) for a picture. Enjoy this BIG PIXEL library.</l><block var="N"/></block></script></block-definition><block-definition s="Fill pixels Next Row procedure %&apos;Next Row function&apos; centered %&apos;centered?&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%repRing"></input><input type="%b"></input></inputs><script><block s="setSize"><block var="PIXEL"/></block><block s="doIfElse"><block var="centered?"/><script><custom-block s="Go to top center"></custom-block></script><script><custom-block s="Go to top left corner"></custom-block></script></block><block s="doDeclareVariables"><list><l>N</l><l>X left edge</l><l>row</l></list></block><block s="doSetVar"><l>N</l><block s="reportQuotient"><block s="reportAskFor"><l>Stage</l><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>width</option></l></block></autolambda><list></list></block><list></list></block><block var="PIXEL"/></block></block><block s="doSetVar"><l>row</l><block s="reportNewList"><list><l>1</l></list></block></block><block s="doSetVar"><l>X left edge</l><block s="xPosition"></block></block><custom-block s="pixel $rectangleSolid or $rectangle %b"><l><bool>true</bool></l></custom-block><block s="setHeading"><l>90</l></block><block s="doWarp"><script><custom-block s="for %upvar = %n to %n by %n %cs"><l>y</l><l>1</l><block var="N"/><l>1</l><script><block s="setXPosition"><custom-block s="if %b then %anyUE else %anyUE"><block var="centered?"/><block s="reportVariadicProduct"><list><block var="PIXEL"/><block s="reportQuotient"><block s="reportDifference"><block s="reportListAttribute"><l><option>length</option></l><block var="row"/></block><l>1</l></block><l>-2</l></block></list></block><block var="X left edge"/></custom-block></block><custom-block s="for each %upvar of %l %cs"><l>pixel</l><block var="row"/><script><custom-block s="pixel $rectangleSolid or $rectangle %b"><custom-block s="odd? %s"><block var="pixel"/></custom-block></custom-block><block s="forward"><block var="PIXEL"/></block></script></custom-block><block s="changeYPosition"><block s="reportDifference"><l>0</l><block var="PIXEL"/></block></block><block s="doSetVar"><l>row</l><block s="evaluate"><block var="Next Row function"/><list><block var="row"/></list></block></block></script></custom-block></script></block></script></block-definition><block-definition s="Fill pixels x,y procedure %&apos;XY function&apos; stay fixed with pixel change? %&apos;stay fixed&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%predRing"></input><input type="%b"></input></inputs><script><block s="doWarp"><script><block s="setSize"><block var="PIXEL"/></block><block s="doDeclareVariables"><list><l>rows</l><l>cols</l><l>zoomscale</l></list></block><block s="doSetVar"><l>rows</l><block s="reportQuotient"><block s="reportAskFor"><l>Stage</l><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>height</option></l></block></autolambda><list></list></block><list></list></block><block var="PIXEL"/></block></block><block s="doSetVar"><l>cols</l><block s="reportQuotient"><block s="reportAskFor"><l>Stage</l><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>width</option></l></block></autolambda><list></list></block><list></list></block><block var="PIXEL"/></block></block><block s="doSetVar"><l>zoomscale</l><block s="reportQuotient"><block var="cols"/><l>3</l></block></block><block s="setHeading"><l>90</l></block><custom-block s="set pen color to r: %n g: %n b: %n"><l>255</l><l>255</l><l>255</l></custom-block><custom-block s="for %upvar = %n to %n by %n %cs"><l>y</l><block s="reportQuotient"><block s="reportDifference"><block var="rows"/><l>1</l></block><l>-2</l></block><block s="reportQuotient"><block s="reportDifference"><block var="rows"/><l>1</l></block><l>2</l></block><l>1</l><script><custom-block s="for %upvar = %n to %n by %n %cs"><l>x</l><block s="reportQuotient"><block s="reportDifference"><block var="cols"/><l>1</l></block><l>-2</l></block><block s="reportQuotient"><block s="reportDifference"><block var="cols"/><l>1</l></block><l>2</l></block><l>1</l><script><block s="gotoXY"><block s="reportVariadicProduct"><list><block var="x"/><block var="PIXEL"/></list></block><block s="reportVariadicProduct"><list><block var="y"/><block var="PIXEL"/></list></block></block><custom-block s="pixel $rectangleSolid or $rectangle %b"><block s="evaluate"><block var="XY function"/><list><block s="reportIfElse"><block var="stay fixed"/><block s="reportVariadicProduct"><list><block s="reportQuotient"><block var="x"/><block var="zoomscale"/></block><block s="reportQuotient"><l>255</l><l>1.5</l></block></list></block><block var="x"/></block><block s="reportIfElse"><block var="stay fixed"/><block s="reportVariadicProduct"><list><block s="reportQuotient"><block var="y"/><block var="zoomscale"/></block><block s="reportQuotient"><l>255</l><l>1.5</l></block></list></block><block var="y"/></block></list></block></custom-block></script></custom-block></script></custom-block></script></block></script></block-definition><block-definition s="Color Fill pixels x,y procedure %&apos;XY function&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%repRing"></input></inputs><script><block s="doWarp"><script><block s="setSize"><block var="PIXEL"/></block><block s="doDeclareVariables"><list><l>rows</l><l>cols</l><l>r</l><l>g</l><l>b</l><l>rgb</l><l>zoomscale</l></list></block><block s="doSetVar"><l>rows</l><block s="reportQuotient"><block s="reportAskFor"><l>Stage</l><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>width</option></l></block></autolambda><list></list></block><list></list></block><block var="PIXEL"/></block></block><block s="doSetVar"><l>cols</l><block s="reportQuotient"><block s="reportAskFor"><l>Stage</l><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>height</option></l></block></autolambda><list></list></block><list></list></block><block var="PIXEL"/></block></block><block s="doSetVar"><l>zoomscale</l><block s="reportQuotient"><block var="cols"/><l>3</l></block></block><block s="setHeading"><l>90</l></block><custom-block s="for %upvar = %n to %n by %n %cs"><l>y</l><block s="reportQuotient"><block s="reportDifference"><block var="rows"/><l>1</l></block><l>-2</l></block><block s="reportQuotient"><block s="reportDifference"><block var="rows"/><l>1</l></block><l>2</l></block><l>1</l><script><custom-block s="for %upvar = %n to %n by %n %cs"><l>x</l><block s="reportQuotient"><block s="reportDifference"><block var="cols"/><l>1</l></block><l>-2</l></block><block s="reportQuotient"><block s="reportDifference"><block var="cols"/><l>1</l></block><l>2</l></block><l>1</l><script><block s="gotoXY"><block s="reportVariadicProduct"><list><block var="x"/><block var="PIXEL"/></list></block><block s="reportVariadicProduct"><list><block var="y"/><block var="PIXEL"/></list></block></block><block s="doSetVar"><l>rgb</l><block s="evaluate"><block var="XY function"/><list><block s="reportRound"><block s="reportVariadicProduct"><list><block s="reportQuotient"><block var="x"/><block var="zoomscale"/></block><block s="reportQuotient"><l>255</l><l>1.5</l></block></list></block></block><block s="reportRound"><block s="reportVariadicProduct"><list><block s="reportQuotient"><block var="y"/><block var="zoomscale"/></block><block s="reportQuotient"><l>255</l><l>1.5</l></block></list></block></block></list></block></block><block s="doSetVar"><l>r</l><block s="reportListItem"><l>1</l><block var="rgb"/></block></block><block s="doSetVar"><l>g</l><block s="reportListItem"><l>2</l><block var="rgb"/></block></block><block s="doSetVar"><l>b</l><block s="reportListItem"><l>3</l><block var="rgb"/></block></block><custom-block s="set pen color to r: %n g: %n b: %n"><block var="r"/><block var="g"/><block var="b"/></custom-block><custom-block s="pixel $rectangleSolid or $rectangle %b"><l><bool>true</bool></l></custom-block></script></custom-block></script></custom-block></script></block></script></block-definition><block-definition s="exactly one %&apos;data&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportConcatenatedLists"><list><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="index"/><l>1</l></list></block><l>1</l><custom-block s="%b xor %b 0/1"><block s="reportListItem"><block s="reportDifference"><block var="index"/><l>1</l></block><block var="data"/></block><block s="reportListItem"><block var="index"/><block var="data"/></block></custom-block></block></autolambda><list><l>value</l><l>index</l></list></block><block var="data"/></block><block s="reportNewList"><list><l>1</l></list></block></list></block></block></script></block-definition><block-definition s="%&apos;A&apos; xor %&apos;B&apos; 0/1" type="predicate" category="other"><header></header><code></code><translations></translations><inputs><input type="%b"></input><input type="%b"></input></inputs><script><block s="doReport"><block s="reportIfElse"><block s="reportNot"><block s="reportVariadicEquals"><list><block var="A"/><block var="B"/></list></block></block><l>1</l><l>0</l></block></block></script></block-definition><block-definition s="Fill pixels NW,N procedure %&apos;NW N procedure&apos; centered %&apos;centered?&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%predRing"></input><input type="%b"></input></inputs><script><custom-block s="Fill pixels Next Row procedure %repRing centered %b"><block s="reifyReporter"><autolambda><block s="reportConcatenatedLists"><list><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="index"/><l>1</l></list></block><block s="evaluate"><block var="NW N procedure"/><list><l>0</l><block var="value"/></list></block><block s="evaluate"><block var="NW N procedure"/><list><block s="reportListItem"><block s="reportDifference"><block var="index"/><l>1</l></block><block var="data"/></block><block s="reportListItem"><block var="index"/><block var="data"/></block></list></block></block></autolambda><list><l>value</l><l>index</l></list></block><block var="data"/></block><block s="reportNewList"><list><block s="evaluate"><block var="NW N procedure"/><list><block s="reportListItem"><l><option>last</option></l><block var="data"/></block><l>0</l></list></block></list></block></list></block></autolambda><list><l>data</l></list></block><block var="centered?"/><comment w="147.66666666666666" collapsed="false">Every row is random and one bigger than the one above</comment></custom-block></script></block-definition></blocks><primitives></primitives><stage name="Stage" width="729" height="729" costume="2" color="255,255,255,1" tempo="60" threadsafe="false" penlog="false" volume="100" pan="0" lines="flat" ternary="false" hyperops="true" codify="false" inheritance="true" sublistIDs="false" id="2925"><pentrails>data:image/png;base64,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</pentrails><costumes><list id="2926"><item><ref mediaID="BIG PIXEL library SnapCon 2020_Stage_cst_Untitled"></ref></item><item><ref mediaID="BIG PIXEL library SnapCon 2020_Stage_cst_Untitled(2)"></ref></item></list></costumes><sounds><list struct="atomic" id="2927"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><sprite name="Pixel" idx="1" x="0" y="-5.684341886080802e-14" heading="90" scale="0.21" volume="100" pan="0" rotation="1" draggable="false" costume="0" color="255,255,255,1" pen="middle" id="2932"><costumes><list struct="atomic" id="2933"></list></costumes><sounds><list struct="atomic" id="2934"></list></sounds><blocks></blocks><variables></variables><scripts><script x="12.333333333333343" y="261.58333333333337"><block s="receiveKey"><l><option>up arrow</option></l><list></list></block><block s="forward"><block var="PIXEL"/></block></script><script x="196.0000000000001" y="262.75"><block s="receiveKey"><l><option>right arrow</option></l><list></list></block><block s="turn"><l>90</l></block></script><script x="386.66666666666686" y="263.6111111111113"><block s="receiveKey"><l><option>left arrow</option></l><list></list></block><block s="turnLeft"><l>90</l></block></script><script x="570.0000000000003" y="264.58333333333337"><block s="receiveKey"><l><option>down arrow</option></l><list></list></block><custom-block s="pixel $rectangleSolid or $rectangle %b"><l><bool>true</bool></l></custom-block></script><script x="10" y="152.83333333333326"><block s="receiveKey"><l><option>q</option></l><list></list></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="PIXEL"/><block s="reportAskFor"><l>Stage</l><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>width</option></l></block></autolambda><list></list></block><list></list></block></list></block><script><block s="doSetVar"><l>PIXEL</l><block s="reportVariadicProduct"><list><block var="PIXEL"/><l>3</l></list></block></block></script><list></list></block></script><script x="333.0000000000002" y="162.7500000000001"><block s="receiveKey"><l><option>a</option></l><list></list></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="PIXEL"/><l>1</l></list></block><script><block s="doSetVar"><l>PIXEL</l><block s="reportQuotient"><block var="PIXEL"/><l>3</l></block></block></script><list></list></block></script><script x="9" y="90.16666666666652"><block s="receiveGo"></block><custom-block s="Say Help for %n seconds"><l>10</l></custom-block></script><comment x="5" y="5" w="444.3333333333333" collapsed="true">Enjoy this BIG PIXEL library! You can use this to draw fun things at the &quot;pixel&quot; level.</comment><comment x="6.666666666666629" y="30.22222222222217" w="310" collapsed="false">Task 1 -- have fun playing with up/down/left/right arrows and moving&#xD;your &quot;Pixel&quot; around coloring them in.</comment><script x="544.0000000000002" y="162.52777777777828"><block s="receiveKey"><l><option>c</option></l><list></list></block><block s="clear"></block><block s="bubble"><l></l></block></script><script x="357.66666666666674" y="94.66666666666742"><block s="receiveKey"><l><option>space</option></l><list></list></block><custom-block s="Draw Grid"></custom-block></script><script x="924.1663411458339" y="433.33333333333303"><custom-block s="Fill pixels x,y procedure %predRing stay fixed with pixel change? %b"><block s="reifyReporter"><autolambda><block s="reportVariadicLessThan"><list><block s="reportVariadicSum"><list><block s="reportMonadic"><l><option>abs</option></l><block var="x"/></block><block s="reportMonadic"><l><option>abs</option></l><block var="y"/></block></list></block><l>255</l></list></block></autolambda><list><l>x</l><l>y</l></list></block><l><bool>true</bool></l><comment w="109.33333333333333" collapsed="true">Draw a diamond</comment></custom-block></script><script x="926.6666666666672" y="516.8333333333337"><custom-block s="Fill pixels x,y procedure %predRing stay fixed with pixel change? %b"><block s="reifyPredicate"><autolambda><block s="reportVariadicAnd"><list><block s="reportVariadicLessThan"><list><block s="reportMonadic"><l><option>abs</option></l><block var="x"/></block><l>128</l></list></block><block s="reportVariadicLessThan"><list><block s="reportMonadic"><l><option>abs</option></l><block var="y"/></block><l>128</l></list></block></list></block></autolambda><list><l>x</l><l>y</l></list></block><l><bool>true</bool></l><comment w="90" collapsed="true">Draw a square</comment></custom-block></script><script x="925.3333333333342" y="613.9999999999995"><custom-block s="Fill pixels x,y procedure %predRing stay fixed with pixel change? %b"><block s="reifyReporter"><autolambda><block s="reportVariadicLessThan"><list><block s="reportDifference"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block var="x"/><block var="x"/></list></block><block s="reportVariadicProduct"><list><block var="y"/><block var="y"/></list></block></list></block><block s="reportVariadicProduct"><list><l>255</l><l>255</l></list></block></block><l>10</l></list></block></autolambda><list><l>x</l><l>y</l></list></block><l><bool>true</bool></l><comment w="90" collapsed="true">Draw a circle</comment></custom-block></script><comment x="12.666666666666629" y="334.55555555555543" w="542" collapsed="false">Task 2 -- Write a simple expression that turns some pixels on and off. (0,0) is the center. &#xD;When &quot;stay fixed with pixel change&quot; is False, (1,0) is always the pixel to the right (changing pixels zooms in)&#xD;When &quot;stay fixed with pixel change&quot; is True, (255,0) is always the rightmost border. (changing pixels makes picture clear)&#xD;&#xD;Set it to False for now. Can you figure out how to draw a square? a diamond? a circle? Some other cool shape?</comment><script x="27.16666666666663" y="776.4444444444448"><custom-block s="Fill pixels NW,N procedure %predRing centered %b"><block s="reifyPredicate"><autolambda><block s="reportRandom"><l>0</l><l>1</l></block></autolambda><list><l>NW</l><l>N</l></list></block><l><bool>true</bool></l><comment w="179.33333333333334" collapsed="true">Randomly add 0 or 1 every time</comment></custom-block></script><script x="27.16666666666663" y="713.6944444444416"><custom-block s="Fill pixels NW,N procedure %predRing centered %b"><block s="reifyPredicate"><autolambda><block s="reportJoinWords"><list><l>1</l></list></block></autolambda><list><l>NW</l><l>N</l></list></block><l><bool>false</bool></l><comment w="197.33333333333334" collapsed="true">Ignore your input and always return 1</comment></custom-block></script><script x="27.16666666666663" y="840.5277777777783"><custom-block s="Fill pixels NW,N procedure %predRing centered %b"><block s="reifyPredicate"><autolambda><custom-block s="%b xor %b"><block var="NW"/><block var="N"/></custom-block></autolambda><list><l>NW</l><l>N</l></list></block><l><bool>true</bool></l><comment w="179.33333333333334" collapsed="false">Try NW or N but not both!</comment></custom-block></script><script x="29.333333333333314" y="1001.9166666666665"><custom-block s="Color Fill pixels x,y procedure %repRing"><block s="reifyReporter"><autolambda><block s="reportNewList"><list><block s="reportRandom"><l>0</l><l>255</l></block><block s="reportRandom"><l>0</l><l>255</l></block><block s="reportRandom"><l>0</l><l>255</l></block></list></block></autolambda><list><l>x</l><l>y</l></list></block><comment w="197.33333333333334" collapsed="true">Every pixel is a random color</comment></custom-block></script><comment x="27.833333333333343" y="614.1388888888855" w="542" collapsed="false">Task 3 -- Imagine if we color the topmost pixel white, Every subsequent row is generated by a procedure that looks at the pixel to the North and Northwest and decides whether it should be white (1 or true) as a function of those two pixels. You can center it if you want to. Changing pixel size zooms in. &#xD;&#xD;See what happens when you put in &quot;or&quot; or &quot;and&quot; or &quot;exclusive or&quot; = NW or N but not both</comment><comment x="27.833333333333343" y="898.0000000000005" w="542" collapsed="false">Task 4 -- Let&apos;s now play with colors! You&apos;re going to pass in a function that takes a value x (-255,255) and y (-255,255) on the screen and returns a color in the form of a list of R, G and B, each of which has to have a value of 0 (black) to 255 (brightest color). Changing pixel size just provides more resolution. &#xD;&#xD;What beautiful patterns can you create?</comment><script x="36.333333333333314" y="1104.277777777775"><custom-block s="Color Fill pixels x,y procedure %repRing"><block s="reifyScript"><script><block s="doDeclareVariables"><list><l>rand 0-255</l></list></block><block s="doSetVar"><l>rand 0-255</l><block s="reportRandom"><l>0</l><l>255</l></block></block><block s="doReport"><block s="reportNewList"><list><block var="rand 0-255"/><block var="rand 0-255"/><block var="rand 0-255"/></list></block></block></script><list><l>x</l><l>y</l></list></block><comment w="197.33333333333334" collapsed="true">Every pixel is a random shade of gray</comment></custom-block></script><script x="25.833333333333343" y="1312.7222222222226"><custom-block s="Color Fill pixels x,y procedure %repRing"><block s="reifyReporter"><autolambda><block s="reportNewList"><list><l>0</l><l>0</l><block s="reportMonadic"><l><option>abs</option></l><block var="y"/></block></list></block></autolambda><list><l>x</l><l>y</l></list></block><comment w="197.33333333333334" collapsed="true">Ramp of blue on the top and bottom</comment></custom-block></script><script x="22.16666666666663" y="1239.5555555555557"><custom-block s="Color Fill pixels x,y procedure %repRing"><block s="reifyReporter"><autolambda><block s="reportNewList"><list><block var="x"/><l>0</l><l>0</l></list></block></autolambda><list><l>x</l><l>y</l></list></block><comment w="197.33333333333334" collapsed="true">Ramp of red on the right</comment></custom-block></script><script x="21.833333333333343" y="1376.8888888888896"><custom-block s="Color Fill pixels x,y procedure %repRing"><block s="reifyReporter"><autolambda><block s="reportNewList"><list><block var="x"/><l>0</l><block s="reportMonadic"><l><option>abs</option></l><block var="y"/></block></list></block></autolambda><list><l>x</l><l>y</l></list></block><comment w="197.33333333333334" collapsed="true">Both together</comment></custom-block></script><script x="27.66666666666663" y="430.4999999999998"><custom-block s="Fill pixels x,y procedure %predRing stay fixed with pixel change? %b"><block s="reifyReporter"><autolambda><block s="reportVariadicLessThan"><list><block var="y"/><block s="reportVariadicProduct"><list><l>0.5</l><block var="x"/></list></block></list></block></autolambda><list><l>x</l><l>y</l></list></block><l><bool>false</bool></l><comment w="152.66666666666666" collapsed="true">Draw a slope</comment></custom-block></script><script x="78.16666666666669" y="557.1111111111109"><custom-block s="Fill pixels x,y procedure %predRing stay fixed with pixel change? %b"><block s="reifyReporter"><script></script><list><l>x</l><l>y</l></list></block><l><bool>false</bool></l><comment w="152.66666666666666" collapsed="false">Play with it yourself!</comment></custom-block></script><script x="56.83333333333343" y="483.94444444444457"><custom-block s="Fill pixels x,y procedure %predRing stay fixed with pixel change? %b"><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><block s="reportModulus"><block s="reportVariadicSum"><list><block var="x"/><block var="y"/></list></block><l>2</l></block><l>1</l></list></block></autolambda><list><l>x</l><l>y</l></list></block><l><bool>false</bool></l><comment w="152.66666666666666" collapsed="false">Every other. Try making pixels smaller and NOT clearing every time! You can make a Fractal!</comment></custom-block></script><comment x="742.8333333333337" y="443.55555555555543" w="158.33333333333334" collapsed="false">Answers to the right&#xD;(don&apos;t look until you&apos;ve tried it...)</comment><script x="929.6666666666672" y="1226.2777777777756"><custom-block s="Color Fill pixels x,y procedure %repRing"><block s="reifyReporter"><autolambda><block s="reportNewList"><list><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportMonadic"><l><option>abs</option></l><block var="x"/></block><block s="reportMonadic"><l><option>abs</option></l><block var="y"/></block></list></block><l>2</l></block><block s="reportIfElse"><block s="reportVariadicLessThan"><list><block var="y"/><l>0</l></list></block><block s="reportMonadic"><l><option>abs</option></l><block var="y"/></block><l>0</l></block><block s="reportIfElse"><block s="reportVariadicLessThan"><list><block var="x"/><l>0</l></list></block><block s="reportMonadic"><l><option>abs</option></l><block var="x"/></block><l>0</l></block></list></block></autolambda><list><l>x</l><l>y</l></list></block></custom-block></script><comment x="746.777777777778" y="1226.9722222222213" w="158.33333333333334" collapsed="false">Pretty picture to the right&#xD;(don&apos;t look until you&apos;ve tried it...)</comment><script x="306.92643229166686" y="820.5277777777787"><block s="reportVariadicOr"><list><block var="NW"/><block var="N"/></list></block></script><script x="23.666666666666828" y="1443.9166666666642"><custom-block s="Color Fill pixels x,y procedure %repRing"><block s="reifyReporter"><autolambda><block s="reportNewList"><list><l>0</l><block s="reportMonadic"><l><option>abs</option></l><block s="reportQuotient"><block s="reportVariadicSum"><list><block var="x"/><block var="y"/></list></block><l>2</l></block></block><l>0</l></list></block></autolambda><list><l>x</l><l>y</l></list></block><comment w="197.33333333333334" collapsed="true">Both together</comment></custom-block></script><script x="20.666666666666828" y="1583.7499999999968"><custom-block s="Color Fill pixels x,y procedure %repRing"><block s="reifyReporter"><autolambda><block s="reportNewList"><list><l></l><l></l><l></l></list></block></autolambda><list><l>x</l><l>y</l></list></block><comment w="135.66666666666666" collapsed="true">Make your own!</comment></custom-block></script><script x="22" y="1513.7499999999968"><custom-block s="Color Fill pixels x,y procedure %repRing"><block s="reifyReporter"><autolambda><block s="reportNewList"><list><block var="x"/><block s="reportMonadic"><l><option>abs</option></l><block s="reportQuotient"><block s="reportVariadicSum"><list><block var="x"/><block var="y"/></list></block><l>2</l></block></block><block s="reportMonadic"><l><option>abs</option></l><block var="y"/></block></list></block></autolambda><list><l>x</l><l>y</l></list></block><comment w="197.33333333333334" collapsed="true">Both together</comment></custom-block></script><script x="185.66666666666674" y="92.5"><block s="receiveKey"><l><option>h</option></l><list></list></block><custom-block s="Say Help for %n seconds"><l>5</l></custom-block></script><script x="171.33333333333326" y="598.6666666666667"><block s="reportAskFor"><l>Stage</l><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>height</option></l></block></autolambda><list></list></block><list></list></block></script></scripts></sprite><watcher var="PIXEL" style="normal" x="7.274872753519958" y="2.1191503852711264" color="243,118,29"/></sprites></stage><variables><variable name="PIXEL"><l>27</l></variable></variables></scene></scenes></project><media name="BIG PIXEL library SnapCon 2020" app="Snap! 11.0.8, https://snap.berkeley.edu" version="2"><costume name="Untitled" center-x="121.5" center-y="121.5" image="data:image/png;base64,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" mediaID="BIG PIXEL library SnapCon 2020_Stage_cst_Untitled"/><costume name="Untitled(2)" center-x="364.5" center-y="364.5" image="data:image/png;base64,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" mediaID="BIG PIXEL library SnapCon 2020_Stage_cst_Untitled(2)"/></media></snapdata>