<snapdata remixID="14434390"><project name="8-bit sprites" app="Snap! 11.0.8, https://snap.berkeley.edu" version="2"><notes></notes><thumbnail>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAAAAXNSR0IArs4c6QAAA5tJREFUeF7t1bGKnGUUgOHvx91gI4KVRToLC+1sTRHRPivKQnITaSJJnUo778A78CJyC8ZKEiNiYZVmMbjCSFLIIpvqZTk/4RnYauacM/Psy8x2OBwOy+ONFdi2bdvzh9sEuOd/T39vAuyGNgQBAQY8o11AgN3QhiAgwIBntAsIsBvaEAQEGPCMdgEBdkMbgoAAA57RLiDAbmhDEBBgwDPaBQTYDW0IAgIMeEa7gAC7oQ1BQIABz2gXEGA3tCEICDDgGe0CAuyGNgQBAQY8o11AgN3QhiAgwIBntAsIsBvaEAQEGPCMdgEBdkMbgoAAA57RLiDAbmhDEBBgwDPaBQTYDW0IAgIMeEa7gAC7oQ1BQIABz2gXEGA3tCEICDDgGe0CAuyGNgQBAQY8o11AgN3QhiAgwIBntAsIsBvaEAQEGPCMdgEBdkMbgoAAA57RLiDAbmhDEBBgwDPaBQTYDW0IAgIMeEa7gAC7oQ1BQIABz2gXEGA3tCEICDDgGe0CAuyGNgQBAQY8o11AgN3QhiAgwIBntAsIsBvaEAQEGPCMdgEBdkMbgoAAA57RLiDAbmhDEBBgwDPaBQTYDW0IAgIMeEa7gAC7oQ1BQIABz2gXEGA3tCEICDDgGe0Cuw/wj1sfHS77mId1WNva/ntqe+fd9fXTT9b9+7fX2dlf6/j4aJ2c3OhCNlypwO4D/Pbp9UsDfJnexSfOz95e73/3YP303rP15MnzdfPmjXX37ldXimd5F9h9gNc/+OHSAF99+V14Zlvn6+HHx+vnD5+tR49+WycnX6x79067kA1XKrD7AP/85pfX/ASvCz/Aa/2+PV+3f/x+3fry0/X48a/r9PSzdefO51eKZ3kX2H2Ah8Ph8m/A/3328/N/1suXXrt2vF68+HsdHb316s9j3wJvTID7ZvbuXicgQG2MCghwlN9xAWpgVECAo/yOC1ADowICHOV3XIAaGBUQ4Ci/4wLUwKiAAEf5HRegBkYFBDjK77gANTAqIMBRfscFqIFRAQGO8jsuQA2MCghwlN9xAWpgVECAo/yOC1ADowICHOV3XIAaGBUQ4Ci/4wLUwKiAAEf5HRegBkYFBDjK77gANTAqIMBRfscFqIFRAQGO8jsuQA2MCghwlN9xAWpgVECAo/yOC1ADowICHOV3XIAaGBUQ4Ci/4wLUwKiAAEf5HRegBkYFBDjK77gANTAqIMBRfscFqIFRAQGO8ju+9wD/Bc26CZewAwNeAAAAAElFTkSuQmCC</thumbnail><scenes select="1"><scene name="8-bit sprites"><notes></notes><hidden></hidden><headers></headers><code></code><blocks><block-definition s="go to screen %&apos;#1&apos; %&apos;#2&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%n" initial="1">128</input><input type="%n" initial="1">128</input></inputs><script><block s="gotoXY"><block s="reportDifference"><block s="reportModulus"><block var="#1"/><l>256</l></block><l>128</l></block><block s="reportDifference"><block s="reportModulus"><block var="#2"/><l>256</l></block><l>128</l></block></block></script></block-definition><block-definition s="set color to %&apos;#1&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%n" initial="1">146</input></inputs><script><block s="doSetVar"><l>#1</l><block s="reportModulus"><block var="#1"/><l>256</l></block></block><block s="setPenColorDimension"><l><option>r-g-b(-a)</option></l><block s="reportNewList"><list><block s="reportVariadicProduct"><list><block s="reportMonadic"><l><option>floor</option></l><block s="reportQuotient"><block s="reportMonadic"><l><option>floor</option></l><block s="reportQuotient"><block var="#1"/><l>4</l></block></block><l>8</l></block></block><block s="reportPower"><l>2</l><l>5</l></block></list></block><block s="reportVariadicProduct"><list><block s="reportModulus"><block s="reportMonadic"><l><option>floor</option></l><block s="reportQuotient"><block var="#1"/><l>4</l></block></block><l>8</l></block><block s="reportPower"><l>2</l><l>5</l></block></list></block><block s="reportVariadicProduct"><list><block s="reportModulus"><block var="#1"/><l>4</l></block><block s="reportPower"><l>2</l><l>6</l></block></list></block></list></block></block></script></block-definition><block-definition s="draw pixel" type="command" category="pen"><header></header><code></code><translations></translations><inputs></inputs><script><block s="down"></block><block s="changeYPosition"><l>1</l></block><block s="up"></block><block s="changeYPosition"><l>-1</l></block></script></block-definition><block-definition s="draw sprite %&apos;#1&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%l" initial="1"></input></inputs><script><block s="doWarp"><script><custom-block s="%upvar for each %upvar of %l %ca"><l>y</l><l>row</l><block var="#1"/><script><custom-block s="%upvar for each %upvar of %l %ca"><l>x</l><l>pixel</l><block var="row"/><script><block s="doIf"><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportModulus"><block var="pixel"/><l>256</l></block><l>0</l></list></block></block><script><custom-block s="set color to %n"><block var="pixel"/></custom-block><custom-block s="draw pixel"></custom-block></script><list></list></block><block s="changeXPosition"><l>1</l></block></script></custom-block><block s="changeXPosition"><block s="reportVariadicProduct"><list><block s="reportDifference"><l></l><block s="reportListAttribute"><l><option>length</option></l><block var="row"/></block></block><l>1</l></list></block></block><block s="changeYPosition"><l>-1</l></block></script></custom-block></script></block></script></block-definition><block-definition s="$flash sort %&apos;data&apos; ordering with %&apos;function&apos;" type="reporter" category="lists"><comment x="0" y="0" w="161.14285714285708" 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>ca:ordena _ segons criteri _&#xD;pl:$flash sortuj _ za pomocą _&#xD;</translations><inputs><input type="%l"></input><input type="%predRing"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>lst_sort(list, fn)</l><list><block var="data"/><block var="function"/></list></block></block></script></block-definition><block-definition s="$flash 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>ca:associació _ _&#xD;pl:$flash skojarz _ _&#xD;</translations><inputs><input type="%s"></input><input type="%l"></input></inputs><script><block s="doReport"><block s="reportAtomicFindFirst"><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><block var="key"/><block s="reportListItem"><l>1</l><l/></block></list></block></autolambda><list></list></block><block var="a-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"><comment x="0" y="0" w="228.57142857142858" collapsed="false">This block carries out the given script for each item of the given list, like the primitive FOR EACH.&#xD;&#xD;What&apos;s different is that it provides the # variable, which will contain the item number in the list of each item in turn, 1 while processing item 1, and so on.</comment><header></header><code></code><translations>ca:_ per cada _ de _ _&#xD;pl:_ dla każdego _ z _ _&#xD;</translations><inputs><input type="%upvar"></input><input type="%upvar"></input><input type="%l"></input><input type="%ca"></input></inputs><script><block s="doForEach"><l>inner item</l><block var="data"/><script><block s="doSetVar"><l>item</l><block var="inner item"/></block><block s="doChangeVar"><l>#</l><l>1</l></block><block s="doRun"><block var="action"/><list></list></block></script></block></script></block-definition><block-definition s="☠︎ linked? %&apos;data&apos;" type="predicate" category="lists" helper="true"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>lst_linked(list)</l><list><block var="data"/></list></block></block></script></block-definition><block-definition s="☠︎ link %&apos;data&apos;" type="reporter" category="lists" helper="true"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doIf"><block s="reportListIsEmpty"><block var="data"/></block><script><block s="doReport"><block var="data"/></block></script><list></list></block><block s="doReport"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="data"/></block><block s="reportCDR"><block var="data"/></block></block></block></script></block-definition><block-definition s="printable %&apos;data&apos;" type="reporter" category="lists"><comment x="0" y="0" w="188.66666666666666" collapsed="false">Takes a (possibly deep) list as input,&#xD;and reports a human-readable text form &#xD;of the list (namely, Lisp notation).&#xD;&#xD;Will not work on circular lists.</comment><header></header><code></code><translations>ca:notació textual de _&#xD;pl:tekstowa _&#xD;</translations><inputs><input type="%l"></input></inputs><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="data"/><l><option>list</option></l></block></block><script><block s="doReport"><block var="data"/></block></script><list></list></block><block s="doIf"><block s="reportListIsEmpty"><block var="data"/></block><script><block s="doReport"><l>()</l></block></script><list></list></block><block s="doReport"><block s="reportJoinWords"><list><l>(</l><block s="reportAtomicCombine"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="printable %l"><l/></custom-block></autolambda><list></list></block><block var="data"/></block><block s="reifyReporter"><autolambda><block s="reportJoinWords"><list><l></l><l> </l><l></l></list></block></autolambda><list></list></block></block><l>)</l></list></block></block></script></block-definition><block-definition s="sentence %&apos;phrase&apos;" type="reporter" category="lists"><comment x="0" y="0" w="302.6666666666667" collapsed="false">SENTENCE is the main constructor for sentences, represented&#xD;as lists of words.  It takes zero or more inputs, each of which can&#xD;be either a list or a text string.  If a list, the input is assumed to be&#xD;a list of words.  If a text string, it is converted to a list of words using&#xD;SENTENCE→LIST.  Then all the lists of words are appended to form a new list of words.&#xD;&#xD;If the inputs are lists of lists rather than lists of words, SENTENCE,&#xD;like APPEND, does only one level of flattening, reporting a list of&#xD;all the items of all the input lists.</comment><header></header><code></code><translations>ca:frase _&#xD;pl:zdanie _&#xD;</translations><inputs><input type="%mult%s"></input></inputs><script><block s="doReport"><block s="reportConcatenatedLists"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportIfElse"><block s="reportIsA"><l></l><l><option>list</option></l></block><l></l><custom-block s="sentence $arrowRight list %txt"><l></l></custom-block></block></autolambda><list></list></block><block var="phrase"/></block></block></block></script></block-definition><block-definition s="$flash zip %&apos;lists&apos;" type="reporter" category="lists"><comment x="0" y="0" w="192" collapsed="false">ZIP takes any number of lists as inputs.  The lists should all be the same length.  ZIP reports a list of lists in which the first item is a list of all the first items, the second item is a list of all the second items, etc.&#xD;Viewing the inputs as the rows of a matrix, ZIP reports its transpose.</comment><header></header><code></code><translations>pl:$flash spakuj _&#xD;</translations><inputs><input type="%mult%l"></input></inputs><script><block s="doReport"><block s="reportListAttribute"><l><option>columns</option></l><block var="lists"/></block></block></script></block-definition><block-definition s="%&apos;x&apos;" type="reporter" category="lists"><comment x="0" y="0" w="105.33333333333333" collapsed="false">The identity function reports its input.</comment><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="multimap %&apos;function&apos; over %&apos;lists&apos;" type="reporter" category="lists"><comment x="0" y="0" w="267.3333333333333" collapsed="false">Takes as input a function of N inputs and N lists.&#xD;The function is called with item 1 of all the lists as its inputs, with item 2 of all the lists as its inputs, and so on.  (The lists should all be the same length.)</comment><header></header><code></code><translations>ca:multi-mapeja _ sobre _&#xD;pl:mapuj wielokrotnie _ na _&#xD;</translations><inputs><input type="%repRing"></input><input type="%mult%l"></input></inputs><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="evaluate"><block var="function"/><custom-block s="%s"><l></l></custom-block></block></autolambda><list></list></block><custom-block s="$flash zip %mult%l"><block var="lists"/></custom-block></block></block></script></block-definition><block-definition s="sentence $arrowRight list %&apos;text&apos;" type="reporter" category="operators"><comment x="0" y="0" w="196" collapsed="false">Takes a sentence in text string form and reports the sentence as a list of its words.</comment><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;pt:uma lista com as palavras da frase _&#xD;pl:zdanie $arrowRight lista _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportAtomicKeep"><block s="reifyPredicate"><autolambda><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportTextAttribute"><l><option>length</option></l><l></l></block><l>0</l></list></block></block></autolambda><list></list></block><block s="reportTextSplit"><block var="text"/><l><option>whitespace</option></l></block></block></block></script></block-definition><block-definition s="play sound %&apos;#1&apos; using %&apos;#2&apos;" type="command" category="sound"><header></header><code></code><translations></translations><inputs><input type="%n" initial="1">44</input><input type="%n" initial="1">0</input></inputs><script><block s="stopFreq"></block><block s="doIf"><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportModulus"><block var="#1"/><l>256</l></block><l>0</l></list></block></block><script><block s="doSetInstrument"><block s="reportVariadicSum"><list><block s="reportModulus"><block var="#2"/><l>4</l></block><l>1</l></list></block></block><block s="playFreq"><block s="reportVariadicProduct"><list><block s="reportModulus"><block var="#1"/><l>256</l></block><l>10</l></list></block></block></script><list></list></block></script></block-definition><block-definition s="for each tile sized %&apos;side&apos; %&apos;action&apos;" type="command" category="control"><comment x="0" y="0" w="144.00000000000023" collapsed="false">Divide the stage into a grid of square regions with the given side length and perform an action at the center of each.</comment><header></header><code></code><translations>de:für jede Kachel der Größe _ _&#xD;pl:dla każdego kafelka rozmiar _ _&#xD;</translations><inputs><input type="%n">20</input><input type="%ca"></input></inputs><script><block s="doDeclareVariables"><list><l>ext</l><l>dim</l><l>origin</l></list></block><block s="doSetVar"><l>ext</l><block s="reportAttributeOf"><l><option>extent</option></l><block s="reportGet"><l><option>stage</option></l></block></block></block><block s="doSetVar"><l>dim</l><block s="reportMonadic"><l><option>ceiling</option></l><block s="reportQuotient"><block var="ext"/><block var="side"/></block></block></block><block s="doSetVar"><l>origin</l><block s="reportVariadicSum"><list><block s="reportQuotient"><block var="ext"/><l>-2</l></block><block s="reportQuotient"><block s="reportDifference"><block var="ext"/><block s="reportVariadicProduct"><list><block var="dim"/><block var="side"/></list></block></block><l>2</l></block><block s="reportQuotient"><block var="side"/><l>2</l></block></list></block></block><block s="doWarp"><script><block s="doForEach"><l>coord</l><block s="reportCrossproduct"><block s="reportNumbers"><l>1</l><block var="dim"/></block></block><script><block s="doGotoObject"><block s="reportVariadicSum"><list><block var="origin"/><block s="reportVariadicProduct"><list><block s="reportDifference"><block var="coord"/><l>1</l></block><block var="side"/></list></block></list></block></block><block s="doRun"><block var="action"/><list></list></block></script></block></script></block></script></block-definition><block-definition s="for each %&apos;tile&apos; in %&apos;cols&apos; %&apos;col&apos; by %&apos;rows&apos; %&apos;row&apos; %&apos;action&apos;" type="command" category="control"><comment x="0" y="0" w="181" collapsed="false">Divide the stage into a grid of same-sized rectangles specified by the number of columns and rows and perform an action at the center of each.</comment><header></header><code></code><translations>de:für jede _ im Raster _ _ zu _ _ _&#xD;pl:dla każdego _ w _ _ po _ _ _&#xD;</translations><inputs><input type="%upvar">$_tile</input><input type="%n">20</input><input type="%upvar">$_column</input><input type="%n">15</input><input type="%upvar">$_row</input><input type="%ca"></input></inputs><script><block s="doDeclareVariables"><list><l>ext</l><l>dim</l><l>origin</l></list></block><block s="doSetVar"><l>ext</l><block s="reportAttributeOf"><l><option>extent</option></l><block s="reportGet"><l><option>stage</option></l></block></block></block><block s="doSetVar"><l>dim</l><block s="reportNewList"><list><block var="cols"/><block var="rows"/></list></block></block><block s="doSetVar"><l>tile</l><block s="reportQuotient"><block var="ext"/><block var="dim"/></block></block><block s="doSetVar"><l>origin</l><block s="reportVariadicSum"><list><block s="reportQuotient"><block var="ext"/><l>-2</l></block><block s="reportQuotient"><block var="tile"/><l>2</l></block></list></block></block><block s="doWarp"><script><block s="doForEach"><l>coord</l><block s="reportCrossproduct"><block s="reportNumbers"><l>1</l><block var="dim"/></block></block><script><block s="doGotoObject"><block s="reportVariadicSum"><list><block var="origin"/><block s="reportVariadicProduct"><list><block s="reportDifference"><block var="coord"/><l>1</l></block><block var="tile"/></list></block></list></block></block><block s="doSetVar"><l>col</l><block s="reportListItem"><l>1</l><block var="coord"/></block></block><block s="doSetVar"><l>row</l><block s="reportListItem"><l>2</l><block var="coord"/></block></block><block s="doRun"><block var="action"/><list></list></block></script></block></script></block></script></block-definition><block-definition s="render each %&apos;cell&apos; in table %&apos;table&apos; %&apos;action&apos;" type="command" category="control"><comment x="0" y="0" w="144.00000000000023" collapsed="false">Divide the stage into a grid of square regions matching the dimensions of the given table and perform an action at the center of each.</comment><header></header><code></code><translations>de:für jede _ in Tabelle _ _&#xD;pl:dla każdej _ w tabeli _ _&#xD;</translations><inputs><input type="%upvar" initial="1">$_cell</input><input type="%l" initial="1"></input><input type="%cs" initial="1"></input></inputs><script><block s="doSetVar"><l>table</l><block s="reportListAttribute"><l><option>reverse</option></l><block var="table"/></block></block><custom-block s="for each %upvar in %n %upvar by %n %upvar %ca"><l>tile</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="table"/></block></block><l>col</l><block s="reportListAttribute"><l><option>length</option></l><block var="table"/></block><l>row</l><script><block s="doSetVar"><l>cell</l><block s="reportListItem"><block var="col"/><block s="reportListItem"><block var="row"/><block var="table"/></block></block></block><block s="doRun"><block var="action"/><list></list></block></script></custom-block></script></block-definition><block-definition s="setting %&apos;which&apos;" type="reporter" category="sensing"><comment x="0" y="0" w="254.66666666666666" collapsed="false">Allows reading global settings programmatically.&#xD;&#xD;Eisenberg&apos;s Law:  Anything you can do from the user interface you should be able to do in your program, and vice versa.  This library is just a beginning; there are many UI controls outside of the Settings menu.</comment><header></header><code></code><translations>pt:o valor da configuração _&#xD;ca:paràmetre _&#xD;pl:ustawienie _&#xD;</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;Hyper blocks 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([stage.dimensions.x, stage.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 !!this.scripts.focus;&#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;    case &apos;Hyper blocks support&apos;:&#xD;        return Process.prototype.enableHyperOps;&#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"><comment x="0" y="0" w="254.66666666666666" collapsed="false">Allows changing global settings programmatically.&#xD;This block is for Boolean (checkbox) settings; use&#xD;SET VALUE for numeric or text values.&#xD;&#xD;Eisenberg&apos;s Law:  Anything you can do from the user interface you should be able to do in your program, and vice versa.  This library is just a beginning; there are many UI controls outside of the Settings menu.</comment><header></header><code></code><translations>pt:altera o valor da configuração _ para _&#xD;ca:fixa el paràmetre _ a _&#xD;pl:ustaw flagę _ na _&#xD;</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&#xD;Hyper blocks 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 (thisObj.scripts.focus &amp;&amp; !tf) {&#xD;            thisObj.scripts.focus.stopEditing();&#xD;        } else if (tf &amp;&amp; !thisObj.scripts.focus) {&#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;    case &apos;Hyper blocks support&apos;:&#xD;        Process.prototype.enableHyperOps = tf;&#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"><comment x="0" y="0" w="254.66666666666666" collapsed="false">Allows changing global settings programmatically.&#xD;This block is for numeric or text settings; use&#xD;SET FLAG for Boolean (checkbox) values.&#xD;&#xD;Eisenberg&apos;s Law:  Anything you can do from the user interface you should be able to do in your program, and vice versa.  This library is just a beginning; there are many UI controls outside of the Settings menu.</comment><header></header><code></code><translations>pt:altera o valor da configuração _ para _&#xD;ca:fixa el valor de _ a _&#xD;pl:ustaw wartość _ na _&#xD;</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></blocks><primitives></primitives><stage name="Stage" width="256" height="256" costume="0" color="255,255,255,1" tempo="60" threadsafe="true" penlog="true" volume="100" pan="0" lines="flat" ternary="false" hyperops="true" codify="true" inheritance="true" sublistIDs="false" id="657"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAAAXNSR0IArs4c6QAACQhJREFUeF7t2kGI4HMYBuDvvxbFeUs5kNumtKm9KUopN9mc5UYKBy4ucuDg4sBFuTo42IOklNjdo5ADhYN2oygORNaOMX9mKSYzO76Dnfrex0WZXzv7Pu+3787OWso/BAjECiyxyQUnQKAMgCMgECxgAILLF52AAXADBIIFDEBw+aITMABugECwgAEILl90AgbADRAIFjAAweWLTsAAuAECwQIGILh80QkYADdAIFjAAASXLzoBA+AGCAQLGIDg8kUnYADcAIFgAQMQXL7oBAyAGyAQLGAAgssXnYABcAMEggUMQHD5ohMwAG6AQLCAAQguX3QCBsANEAgWMADB5YtOwAC4AQLBAgYguHzRCRgAN0AgWMAABJcvOgED4AYIBAsYgODyRSdgANwAgWABAxBcvugEDIAbIBAsYACCyxedgAFwAwSCBQxAcPmiEzAAboBAsIABCC5fdAIGwA0QCBYwAMHli07AALgBAsECBiC4fNEJGAA3QCBYwAAEly86AQPgBggECxiA4PJFJ2AA3ACBYAEDEFy+6AQMgBsgECxgAILLF52AAXADBIIFDEBw+aITMABugECwgAEILl90AgbADRAIFjAAweWLTsAAuAECwQIGILh80QkYADdAIFjAAASXLzoBA+AGCAQLGIDg8kUnYADcAIFgAQMQXL7oBAyAGyAQLGAAgssXnYABcAMEggUMQHD5ohMwAG6AQLCAAQguX3QCBsANEAgWMADB5YtOwAC4AQLBAgYguHzRCRgAN0AgWMAABJcvOgED4AYIBAsYgODyRSdgANwAgWABAxBcvugEDIAbIBAsYACCyxedgAFwAwSCBQxAcPmiEzAAboBAsIABCC5fdAIGwA0QCBYwAMHli07AALgBAsECBiC4fNEJGAA3QCBYwAAEly86AQPgBggECxiA4PJFJ2AA3ACBYAEDEFy+6AQMgBsgECxgAILLF52AAXADBIIFDEBw+aITMABugECwgAEILl90AgbADRAIFjAAweWLTsAAuAECwQIGILh80QkYADdAIFjAAASXLzoBA+AGCAQLGIDg8kUnYADcAIFgAQMQXL7oBAyAGyAQLGAAgssXnYABcAMEggUMQHD5ohMwAG6AQLCAAQguX3QCBsANEAgWMADB5YtOwAC4AQLBAgYguHzRCRgAN0AgWMAABJcvOgED4AYIBAsYgODyRSdgANwAgWABAxBcvugEDIAbIBAsYACCyxedgAFwAwSCBQxAcPmiEzAAboBAsIABCC5fdAIGwA0QCBYwAMHli07AALgBAsECBiC4fNEJGAA3QCBYYDlX9f5u+deqZala97L5Dx//4ca646mq9emq03fu/HHuuG33/x7chOgEDkBgOft4fbnb5122al0P1Z5fIez38TpU39743O0vVx16tGr9cefnWLe35YmqM+8cQGafkgCBvwSWs5/sMQBV6/bv8ntJbf8KvtTHf/rl8PmHHrt/vffeW6554YV369ix6+qjj765+O+TJz/7uWrrq39/ZaAXAgQup8By5OzuA3B4qXVz3XsA9vv45ndXrcdvf2A5sXWsnr/h7brnnqN17tz39eGHX9fNNx+pkyc//bbq1K2XM6zPRYDAToGljry26x8B6vBva21esfc3Cff7+OaF9a6jp5cT9x2r5196u44fv75effXjP7+xsFZtbGwZANdI4IAFlqpndx+AWtY/vlF3ib8l2O/jF9a7rv1mx1cAn3/+3T/+GOArgAPu3qcnUMt79dauA/Bb1XrFJb4HsN/Hf6lfzz9Tb7x5pr44sXX1Zl155eHa2Ni8+BVA1aHzFy5sPOibgC6QwMEKLOfq1CO7/RS2tn+ZXuLntt/HX6kP6sl6/eH6c0Re/PuHWm6qWu72TcCDLd5nJ7At8D/+j0AX/67/1qr1452/0+/13xVCgMDlFvgfB+ByR/H5CBDoChiArpj3BAYJGIBBZYpCoCtgALpi3hMYJGAABpUpCoGugAHoinlPYJCAARhUpigEugIGoCvmPYFBAgZgUJmiEOgKGICumPcEBgkYgEFlikKgK2AAumLeExgkYAAGlSkKga6AAeiKeU9gkIABGFSmKAS6AgagK+Y9gUECBmBQmaIQ6AoYgK6Y9wQGCRiAQWWKQqArYAC6Yt4TGCRgAAaVKQqBroAB6Ip5T2CQgAEYVKYoBLoCBqAr5j2BQQIGYFCZohDoChiArpj3BAYJGIBBZYpCoCtgALpi3hMYJGAABpUpCoGugAHoinlPYJCAARhUpigEugIGoCvmPYFBAgZgUJmiEOgKGICumPcEBgkYgEFlikKgK2AAumLeExgkYAAGlSkKga6AAeiKeU9gkIABGFSmKAS6AgagK+Y9gUECBmBQmaIQ6AoYgK6Y9wQGCRiAQWWKQqArYAC6Yt4TGCRgAAaVKQqBroAB6Ip5T2CQgAEYVKYoBLoCBqAr5j2BQQIGYFCZohDoChiArpj3BAYJGIBBZYpCoCtgALpi3hMYJGAABpUpCoGugAHoinlPYJCAARhUpigEugIGoCvmPYFBAgZgUJmiEOgKGICumPcEBgkYgEFlikKgK2AAumLeExgkYAAGlSkKga6AAeiKeU9gkIABGFSmKAS6AgagK+Y9gUECBmBQmaIQ6AoYgK6Y9wQGCRiAQWWKQqArYAC6Yt4TGCRgAAaVKQqBroAB6Ip5T2CQgAEYVKYoBLoCBqAr5j2BQQIGYFCZohDoChiArpj3BAYJGIBBZYpCoCtgALpi3hMYJGAABpUpCoGugAHoinlPYJCAARhUpigEugIGoCvmPYFBAgZgUJmiEOgKGICumPcEBgkYgEFlikKgK2AAumLeExgkYAAGlSkKga6AAeiKeU9gkIABGFSmKAS6AgagK+Y9gUECBmBQmaIQ6AoYgK6Y9wQGCRiAQWWKQqArYAC6Yt4TGCRgAAaVKQqBroAB6Ip5T2CQgAEYVKYoBLoCBqAr5j2BQQIGYFCZohDoChiArpj3BAYJGIBBZYpCoCtgALpi3hMYJGAABpUpCoGugAHoinlPYJCAARhUpigEugIGoCvmPYFBAgZgUJmiEOgKGICumPcEBgn8Do2zrAFCtJqkAAAAAElFTkSuQmCC</pentrails><costumes><list struct="atomic" id="658"></list></costumes><sounds><list struct="atomic" id="659"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><sprite name="Sprite" idx="1" x="-128.73615200403174" y="-22.25610438701375" heading="90" scale="1" volume="100" pan="0" rotation="1" instrument="2"  draggable="true" hidden="true" costume="0" color="224,0,192,1" pen="tip" id="664"><costumes><list struct="atomic" id="665"></list></costumes><sounds><list struct="atomic" id="666"></list></sounds><blocks></blocks><variables></variables><scripts><script x="10" y="10"><block s="receiveGo"></block><block s="gotoXY"><l>0</l><l>0</l></block><block s="setHeading"><l>90</l></block><block s="doResetTimer"></block><block s="hide"></block><block s="up"></block><block s="clear"></block><block s="doSetVar"><l>Face</l><block s="reportNewList"><list><block s="reportNewList"><list><l>1</l><l>1</l><l>1</l><l>0</l><l>0</l><l>1</l><l>1</l><l>1</l></list></block><block s="reportNewList"><list><l>1</l><l>1</l><l>1</l><l>0</l><l>0</l><l>1</l><l>1</l><l>1</l></list></block><block s="reportNewList"><list><l>1</l><l>1</l><l>1</l><l>0</l><l>0</l><l>1</l><l>1</l><l>1</l></list></block><block s="reportNewList"><list><l>0</l><l>0</l><l>0</l><l>0</l><l>0</l><l>0</l><l>0</l><l>0</l></list></block><block s="reportNewList"><list><l>0</l><l>0</l><l>0</l><l>0</l><l>0</l><l>0</l><l>0</l><l>0</l></list></block><block s="reportNewList"><list><l>0</l><l>0</l><l>0</l><l>0</l><l>0</l><l>0</l><l>0</l><l>0</l></list></block><block s="reportNewList"><list><l>224</l><l>224</l><l>1</l><l>0</l><l>0</l><l>1</l><l>224</l><l>224</l></list></block><block s="reportNewList"><list><l>224</l><l>224</l><l>0</l><l>1</l><l>1</l><l>0</l><l>224</l><l>224</l></list></block></list></block></block><block s="doSetVar"><l>Nyan Cat 1</l><block s="reportNewList"><list><block s="reportNewList"><list><l>0</l><l>1</l><l>0</l><l>0</l><l>0</l><l>0</l><l>0</l><l>1</l></list></block><block s="reportNewList"><list><l>0</l><l>1</l><l>1</l><l>1</l><l>1</l><l>1</l><l>1</l><l>0</l></list></block><block s="reportNewList"><list><l>1</l><l>255</l><l>1</l><l>146</l><l>1</l><l>146</l><l>1</l><l>1</l></list></block><block s="reportNewList"><list><l>1</l><l>227</l><l>1</l><l>146</l><l>146</l><l>1</l><l>146</l><l>1</l></list></block><block s="reportNewList"><list><l>1</l><l>255</l><l>1</l><l>146</l><l>1</l><l>1</l><l>1</l><l>1</l></list></block><block s="reportNewList"><list><l>1</l><l>227</l><l>1</l><l>146</l><l>146</l><l>1</l><l>146</l><l>1</l></list></block><block s="reportNewList"><list><l>0</l><l>1</l><l>1</l><l>1</l><l>1</l><l>1</l><l>1</l><l>0</l></list></block><block s="reportNewList"><list><l>1</l><l>1</l><l>0</l><l>0</l><l>0</l><l>0</l><l>1</l><l>1</l></list></block></list></block></block><block s="doSetVar"><l>Nyan Cat 2</l><block s="reportNewList"><list><block s="reportNewList"><list><l>0</l><l>1</l><l>0</l><l>0</l><l>0</l><l>0</l><l>0</l><l>1</l></list></block><block s="reportNewList"><list><l>0</l><l>1</l><l>1</l><l>1</l><l>1</l><l>1</l><l>1</l><l>0</l></list></block><block s="reportNewList"><list><l>1</l><l>255</l><l>1</l><l>146</l><l>1</l><l>146</l><l>1</l><l>1</l></list></block><block s="reportNewList"><list><l>1</l><l>227</l><l>1</l><l>146</l><l>146</l><l>1</l><l>146</l><l>1</l></list></block><block s="reportNewList"><list><l>1</l><l>255</l><l>1</l><l>146</l><l>1</l><l>1</l><l>1</l><l>1</l></list></block><block s="reportNewList"><list><l>1</l><l>227</l><l>1</l><l>146</l><l>146</l><l>1</l><l>146</l><l>1</l></list></block><block s="reportNewList"><list><l>0</l><l>1</l><l>1</l><l>1</l><l>1</l><l>1</l><l>1</l><l>0</l></list></block><block s="reportNewList"><list><l>0</l><l>1</l><l>1</l><l>0</l><l>0</l><l>1</l><l>1</l><l>0</l></list></block></list></block></block><block s="doSetVar"><l>Rainbow</l><block s="reportNewList"><list><block s="reportNewList"><list><l>224</l><l>224</l><l>224</l><l>224</l><l>224</l><l>224</l><l>224</l><l>224</l></list></block><block s="reportNewList"><list><l>240</l><l>240</l><l>240</l><l>240</l><l>240</l><l>240</l><l>240</l><l>240</l></list></block><block s="reportNewList"><list><l>252</l><l>252</l><l>252</l><l>252</l><l>252</l><l>252</l><l>252</l><l>252</l></list></block><block s="reportNewList"><list><l>28</l><l>28</l><l>28</l><l>28</l><l>28</l><l>28</l><l>28</l><l>28</l></list></block><block s="reportNewList"><list><l>3</l><l>3</l><l>3</l><l>3</l><l>3</l><l>3</l><l>3</l><l>3</l></list></block><block s="reportNewList"><list><l>2</l><l>2</l><l>2</l><l>2</l><l>2</l><l>2</l><l>2</l><l>2</l></list></block><block s="reportNewList"><list><l>227</l><l>227</l><l>227</l><l>227</l><l>227</l><l>227</l><l>227</l><l>227</l></list></block><block s="reportNewList"><list><l>0</l><l>0</l><l>0</l><l>0</l><l>0</l><l>0</l><l>0</l><l>0</l></list></block></list></block></block><block s="doForever"><script><block s="clear"></block><custom-block s="go to screen %n %n"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportMonadic"><l><option>sin</option></l><block s="reportVariadicProduct"><list><block s="getTimer"></block><l>90</l></list></block></block><l>16</l></list></block><l>16</l></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportMonadic"><l><option>cos</option></l><block s="reportVariadicProduct"><list><block s="getTimer"></block><l>90</l></list></block></block><l>16</l></list></block><l>128</l></list></block></custom-block><custom-block s="draw sprite %l"><block s="reportIfElse"><block s="reportVariadicEquals"><list><block s="reportRound"><block s="reportQuotient"><block s="reportModulus"><block s="getTimer"></block><l>0.5</l></block><l>0.5</l></block></block><l>0</l></list></block><block var="Nyan Cat 1"/><block var="Nyan Cat 2"/></block></custom-block><block s="doWarp"><script><block s="doUntil"><block s="reportVariadicLessThanOrEquals"><list><block s="xPosition"></block><l>-128</l></list></block><script><block s="changeXPosition"><l>-8</l></block><block s="changeYPosition"><l>8</l></block><custom-block s="draw sprite %l"><block var="Rainbow"/></custom-block></script></block></script></block></script></block></script><script x="460.470703125" y="741.7499999999995"><block s="reportVariadicSum"><list><block s="reportMouseX"></block><l>128</l></list></block></script><script x="472.470703125" y="694.7499999999995"><block s="reportVariadicSum"><list><block s="reportMouseY"></block><l>128</l></list></block></script><script x="652" y="482.3333333333334"><block s="receiveGo"></block><block s="doForever"><script><custom-block s="play sound %n using %n"><l>62</l><l>1</l></custom-block><block s="doWait"><l>0.1</l></block><custom-block s="play sound %n using %n"><l>66</l><l>1</l></custom-block><block s="doWait"><l>0.1</l></block><custom-block s="play sound %n using %n"><l>74</l><l>1</l></custom-block><block s="doWait"><l>0.2</l></block><custom-block s="play sound %n using %n"><l>99</l><l>1</l></custom-block><block s="doWait"><l>0.2</l></block><custom-block s="play sound %n using %n"><l>62</l><l>1</l></custom-block><block s="doWait"><l>0.1</l></block><custom-block s="play sound %n using %n"><l>66</l><l>1</l></custom-block><block s="doWait"><l>0.1</l></block><custom-block s="play sound %n using %n"><l>74</l><l>1</l></custom-block><block s="doWait"><l>0.1</l></block><custom-block s="play sound %n using %n"><l>99</l><l>1</l></custom-block><block s="doWait"><l>0.1</l></block><custom-block s="play sound %n using %n"><l>105</l><l>1</l></custom-block><block s="doWait"><l>0.1</l></block><custom-block s="play sound %n using %n"><l>118</l><l>1</l></custom-block><block s="doWait"><l>0.1</l></block><custom-block s="play sound %n using %n"><l>105</l><l>1</l></custom-block><block s="doWait"><l>0.1</l></block><custom-block s="play sound %n using %n"><l>93</l><l>1</l></custom-block><block s="doWait"><l>0.1</l></block><custom-block s="play sound %n using %n"><l>99</l><l>1</l></custom-block><block s="doWait"><l>0.2</l></block><custom-block s="play sound %n using %n"><l>74</l><l>1</l></custom-block><block s="doWait"><l>0.2</l></block><custom-block s="play sound %n using %n"><l>62</l><l>1</l></custom-block><block s="doWait"><l>0.1</l></block><custom-block s="play sound %n using %n"><l>66</l><l>1</l></custom-block><block s="doWait"><l>0.1</l></block><custom-block s="play sound %n using %n"><l>74</l><l>1</l></custom-block><block s="doWait"><l>0.2</l></block><custom-block s="play sound %n using %n"><l>99</l><l>1</l></custom-block><block s="doWait"><l>0.2</l></block><custom-block s="play sound %n using %n"><l>105</l><l>1</l></custom-block><block s="doWait"><l>0.1</l></block><custom-block s="play sound %n using %n"><l>93</l><l>1</l></custom-block><block s="doWait"><l>0.1</l></block><custom-block s="play sound %n using %n"><l>99</l><l>1</l></custom-block><block s="doWait"><l>0.1</l></block><custom-block s="play sound %n using %n"><l>105</l><l>1</l></custom-block><block s="doWait"><l>0.1</l></block><custom-block s="play sound %n using %n"><l>74</l><l>1</l></custom-block><block s="doWait"><l>0.2</l></block><custom-block s="play sound %n using %n"><l>83</l><l>1</l></custom-block><block s="doWait"><l>0.2</l></block><custom-block s="play sound %n using %n"><l>0</l><l>1</l></custom-block></script></block></script><script x="50" y="1001.7500000000018"><custom-block s="play sound %n using %n"><block s="reportVariadicProduct"><list><block s="getTimer"></block><l>10</l></list></block><block s="getTimer"></block></custom-block></script><script x="852" y="494.3333333333333"><block s="receiveKey"><l><option>space</option></l><list></list></block><block s="doStopThis"><l><option>other scripts in sprite</option></l></block><block s="doForever"><script><custom-block s="play sound %n using %n"><l>26</l><l>1</l></custom-block><block s="doWait"><l>0.3</l></block><custom-block s="play sound %n using %n"><l>39</l><l>1</l></custom-block><block s="doWait"><l>0.3</l></block><custom-block s="play sound %n using %n"><l>52</l><l>1</l></custom-block><block s="doWait"><l>0.3</l></block><custom-block s="play sound %n using %n"><l>39</l><l>1</l></custom-block><block s="doWait"><l>0.3</l></block><custom-block s="play sound %n using %n"><l>66</l><l>1</l></custom-block><block s="doWait"><l>0.3</l></block><custom-block s="play sound %n using %n"><l>39</l><l>1</l></custom-block><block s="doWait"><l>0.3</l></block><custom-block s="play sound %n using %n"><l>52</l><l>1</l></custom-block><block s="doWait"><l>0.3</l></block><custom-block s="play sound %n using %n"><l>44</l><l>1</l></custom-block><block s="doWait"><l>0.3</l></block><custom-block s="play sound %n using %n"><l>39</l><l>1</l></custom-block><block s="doWait"><l>0.6</l></block><custom-block s="play sound %n using %n"><l>0</l><l>1</l></custom-block><block s="doWait"><l>0.3</l></block><custom-block s="play sound %n using %n"><l>35</l><l>1</l></custom-block><block s="doWait"><l>0.3</l></block><custom-block s="play sound %n using %n"><l>52</l><l>1</l></custom-block><block s="doWait"><l>0.3</l></block><custom-block s="play sound %n using %n"><l>49</l><l>1</l></custom-block><block s="doWait"><l>0.3</l></block><custom-block s="play sound %n using %n"><l>39</l><l>1</l></custom-block><block s="doWait"><l>0.3</l></block><custom-block s="play sound %n using %n"><l>44</l><l>1</l></custom-block><block s="doWait"><l>0.3</l></block><custom-block s="play sound %n using %n"><l>0</l><l>1</l></custom-block><block s="doWait"><l>0.3</l></block><custom-block s="play sound %n using %n"><l>39</l><l>1</l></custom-block><block s="doWait"><l>0.6</l></block></script></block></script></scripts></sprite><watcher var="Face" style="normal" x="10" y="10" color="243,118,29" hidden="true"/><watcher var="Rainbow" style="normal" x="10" y="52.00000399999999" color="243,118,29" hidden="true"/><watcher var="Nyan Cat 2" style="normal" x="10" y="73.00000599999998" color="243,118,29" hidden="true"/></sprites></stage><variables><variable name="Face"><list id="1419"><item><list struct="atomic" id="1420">1,1,1,0,0,1,1,1</list></item><item><list struct="atomic" id="1421">1,1,1,0,0,1,1,1</list></item><item><list struct="atomic" id="1422">1,1,1,0,0,1,1,1</list></item><item><list struct="atomic" id="1423">0,0,0,0,0,0,0,0</list></item><item><list struct="atomic" id="1424">0,0,0,0,0,0,0,0</list></item><item><list struct="atomic" id="1425">0,0,0,0,0,0,0,0</list></item><item><list struct="atomic" id="1426">224,224,1,0,0,1,224,224</list></item><item><list struct="atomic" id="1427">224,224,0,1,1,0,224,224</list></item></list></variable><variable name="Rainbow"><list id="1428"><item><list struct="atomic" id="1429">224,224,224,224,224,224,224,224</list></item><item><list struct="atomic" id="1430">240,240,240,240,240,240,240,240</list></item><item><list struct="atomic" id="1431">252,252,252,252,252,252,252,252</list></item><item><list struct="atomic" id="1432">28,28,28,28,28,28,28,28</list></item><item><list struct="atomic" id="1433">3,3,3,3,3,3,3,3</list></item><item><list struct="atomic" id="1434">2,2,2,2,2,2,2,2</list></item><item><list struct="atomic" id="1435">227,227,227,227,227,227,227,227</list></item><item><list struct="atomic" id="1436">0,0,0,0,0,0,0,0</list></item></list></variable><variable name="Nyan Cat 1"><list id="1437"><item><list struct="atomic" id="1438">0,1,0,0,0,0,0,1</list></item><item><list struct="atomic" id="1439">0,1,1,1,1,1,1,0</list></item><item><list struct="atomic" id="1440">1,255,1,146,1,146,1,1</list></item><item><list struct="atomic" id="1441">1,227,1,146,146,1,146,1</list></item><item><list struct="atomic" id="1442">1,255,1,146,1,1,1,1</list></item><item><list struct="atomic" id="1443">1,227,1,146,146,1,146,1</list></item><item><list struct="atomic" id="1444">0,1,1,1,1,1,1,0</list></item><item><list struct="atomic" id="1445">1,1,0,0,0,0,1,1</list></item></list></variable><variable name="Nyan Cat 2"><list id="1446"><item><list struct="atomic" id="1447">0,1,0,0,0,0,0,1</list></item><item><list struct="atomic" id="1448">0,1,1,1,1,1,1,0</list></item><item><list struct="atomic" id="1449">1,255,1,146,1,146,1,1</list></item><item><list struct="atomic" id="1450">1,227,1,146,146,1,146,1</list></item><item><list struct="atomic" id="1451">1,255,1,146,1,1,1,1</list></item><item><list struct="atomic" id="1452">1,227,1,146,146,1,146,1</list></item><item><list struct="atomic" id="1453">0,1,1,1,1,1,1,0</list></item><item><list struct="atomic" id="1454">0,1,1,0,0,1,1,0</list></item></list></variable></variables></scene></scenes></project><media name="8-bit sprites" app="Snap! 11.0.8, https://snap.berkeley.edu" version="2"></media></snapdata>