<snapdata remixID="11282739"><project name="Sp22 | Project 1 Skeleton" app="Snap! 7, https://snap.berkeley.edu" version="2"><notes></notes><thumbnail>data:image/png;base64,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</thumbnail><scenes select="1"><scene name="Sp22 | Project 1 Skeleton" palette="single"><notes></notes><palette><category name="2048 - Your Tasks" color="0,116,143,1"/><category name="2048 - Helpers" color="0,116,143,1"/></palette><hidden></hidden><headers></headers><code></code><blocks><block-definition s="merge up %&apos;board&apos;" type="reporter" category="2048 - Your Tasks"><comment x="0" y="0" w="90" collapsed="false">For you to fill out! The following is simply starter code.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doSetVar"><l>result</l><custom-block s="copy of %l"><block var="board"/></custom-block></block><block s="doReport"><block var="result"/></block></script></block-definition><block-definition s="no moves left for %&apos;board&apos; ?" type="predicate" category="2048 - Your Tasks"><comment x="0" y="0" w="90" collapsed="false">For you to fill out! The following is simply starter code.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doSetVar"><l>result</l><custom-block s="new board of size %n"><custom-block s="size of board %l"><block var="board"/></custom-block></custom-block></block><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block-definition><block-definition s="add 2 or 4 to %&apos;board&apos;" type="reporter" category="2048 - Your Tasks"><comment x="0" y="0" w="90" collapsed="false">For you to fill out! The following is simply starter code.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doSetVar"><l>result</l><custom-block s="copy of %l"><block var="board"/></custom-block></block><custom-block s="set item %n , %n of %l to %n"><l>2</l><l>2</l><block var="board"/><l></l></custom-block><block s="doReport"><block var="board"/></block></script></block-definition><block-definition s="merge column %&apos;c&apos; of %&apos;board&apos; up" type="reporter" category="2048 - Your Tasks"><comment x="0" y="0" w="90" collapsed="false">For you to fill out! The following is simply starter code.</comment><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doSetVar"><l>result</l><custom-block s="copy of %l"><block var="board"/></custom-block></block><block s="doReport"><block var="result"/></block></script></block-definition><block-definition s="rotate %&apos;board&apos; clockwise" type="reporter" category="2048 - Your Tasks"><comment x="0" y="0" w="90" collapsed="false">For you to fill out! The following is simply starter code.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doSetVar"><l>result</l><custom-block s="new board of size %n"><custom-block s="size of board %l"><block var="board"/></custom-block></custom-block></block><block s="doReport"><block var="result"/></block></script></block-definition><block-definition s="test %&apos;func&apos; w/ input(s) %&apos;input&apos; expecting output %&apos;output&apos;" type="predicate" category="lists"><header></header><code></code><translations></translations><inputs><input type="%repRing"></input><input type="%mult%s"></input><input type="%s"></input></inputs><script><block s="doReport"><block s="reportEquals"><block s="evaluate"><block var="func"/><block var="input"/></block><block var="output"/></block></block></script></block-definition><block-definition s="size of board %&apos;board&apos;" type="reporter" category="2048 - Helpers"><comment x="0" y="0" w="89.99999999999997" collapsed="false">This is a game board which is expected to be square.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportListAttribute"><l><option>length</option></l><block var="board"/></block></block></script></block-definition><block-definition s="new board of size %&apos;n&apos;" type="reporter" category="2048 - Helpers"><comment x="0" y="0" w="89.99999999999997" collapsed="false">This creates a new empty board of n by n tiles</comment><header></header><code></code><translations></translations><inputs><input type="%n">4</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>result</l><l>row</l></list></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><custom-block s="for %upvar = %n to %n %cs"><l>i</l><l>1</l><block var="n"/><script><block s="doSetVar"><l>row</l><block s="reportNewList"><list></list></block></block><custom-block s="for %upvar = %n to %n %cs"><l>i</l><l>1</l><block var="n"/><script><block s="doAddToList"><l>0</l><block var="row"/></block></script></custom-block><block s="doAddToList"><block var="row"/><block var="result"/></block></script></custom-block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="item %&apos;row&apos; , %&apos;col&apos; of %&apos;board&apos;" type="reporter" category="lists"><comment x="0" y="0" w="89.99999999999997" collapsed="false">This is just like the ITEM OF block, but for our game board. You don&apos;t need to know how it works.</comment><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input><input type="%l"></input></inputs><script><block s="doReport"><block s="reportListItem"><block var="col"/><block s="reportListItem"><block var="row"/><block var="board"/></block></block></block></script></block-definition><block-definition s="set item %&apos;row&apos; , %&apos;col&apos; of %&apos;board&apos; to %&apos;value&apos;" type="command" category="lists"><comment x="0" y="0" w="89.99999999999997" collapsed="false">This is just like the REPLACE block, but for our game board. You don&apos;t need to know how it works.</comment><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input><input type="%l"></input><input type="%n"></input></inputs><script><block s="doReplaceInList"><block var="col"/><block s="reportListItem"><block var="row"/><block var="board"/></block><block var="value"/></block></script></block-definition><block-definition s="update display for %&apos;board&apos;" type="command" category="looks"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doWarp"><script><custom-block s="tell %s %cs"><l>Game Code</l><script><block s="doDeclareVariables"><list><l>step</l><l>size of board</l></list></block><block s="doSetVar"><l>size of board</l><custom-block s="size of board %l"><block var="board"/></custom-block></block><block s="doSetVar"><l>step</l><block s="reportQuotient"><l>320</l><block var="size of board"/></block></block><block s="hide"></block><block s="setScale"><l>100</l></block><block s="clear"></block><block s="gotoXY"><l>-200</l><l>200</l></block><custom-block s="for %upvar = %n to %n %cs"><l>r</l><l>1</l><block var="size of board"/><script><custom-block s="for %upvar = %n to %n %cs"><l>c</l><l>1</l><block var="size of board"/><script><block s="gotoXY"><block s="reportSum"><l>-200</l><block s="reportProduct"><block var="c"/><block var="step"/></block></block><block s="reportDifference"><l>200</l><block s="reportProduct"><block var="r"/><block var="step"/></block></block></block><block s="doIf"><custom-block s="item %n , %n of %l"><block var="r"/><block var="c"/><block var="board"/></custom-block><script><block s="doSwitchToCostume"><block s="reportJoinWords"><list><custom-block s="item %n , %n of %l"><block var="r"/><block var="c"/><block var="board"/></custom-block></list></block></block><block s="doStamp"></block></script></block></script></custom-block></script></custom-block></script></custom-block></script></block></script></block-definition><block-definition s="copy of %&apos;board&apos;" type="reporter" category="lists"><comment x="0" y="0" w="89.99999999999997" collapsed="false">This returns a new distinct copy of the input board which will help prevent you from accidentally reseting list items. </comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>size</l><l>copy</l><l>row</l></list></block><block s="doSetVar"><l>size</l><custom-block s="size of board %l"><block var="board"/></custom-block></block><block s="doSetVar"><l>copy</l><block s="reportNewList"><list></list></block></block><custom-block s="for %upvar = %n to %n %cs"><l>i</l><l>1</l><block var="size"/><script><block s="doSetVar"><l>row</l><block s="reportNewList"><list></list></block></block><custom-block s="for %upvar = %n to %n %cs"><l>j</l><l>1</l><block var="size"/><script><block s="doAddToList"><custom-block s="item %n , %n of %l"><block var="i"/><block var="j"/><block var="board"/></custom-block><block var="row"/></block></script></custom-block><block s="doAddToList"><block var="row"/><block var="copy"/></block></script></custom-block><block s="doReport"><block var="copy"/></block></script></block></script></block-definition><block-definition s="rotated row for %&apos;row&apos; , %&apos;col&apos; for size %&apos;size&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block var="col"/></block></script></block-definition><block-definition s="rotated col for %&apos;row&apos; , %&apos;col&apos; for size %&apos;size&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportDifference"><block s="reportSum"><block var="size"/><l>1</l></block><block var="row"/></block></block></script></block-definition><block-definition s="score of %&apos;board&apos;" type="reporter" category="2048 - Helpers"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><custom-block s="combine with %repRing items of %l"><block s="reifyReporter"><autolambda><block s="reportSum"><l></l><l></l></block></autolambda><list></list></block><custom-block s="map %repRing over %mult%l"><block s="reifyReporter"><autolambda><custom-block s="combine with %repRing items of %l"><block s="reifyReporter"><autolambda><block s="reportSum"><l></l><l></l></block></autolambda><list></list></block><custom-block s="map %repRing over %mult%l"><block s="reifyReporter"><autolambda><custom-block s="score of tile value %n"><l></l></custom-block></autolambda><list></list></block><list><l/></list><comment w="138" collapsed="false">Glad to see you&apos;re exploring! Here&apos;s a question: Why is using &quot;map&quot; here an abstraction violation?</comment></custom-block></custom-block></autolambda><list></list></block><list><block var="board"/></list></custom-block></custom-block></block></script></block-definition><block-definition s="score of tile value %&apos;value&apos;" type="reporter" category="operators"><comment x="0" y="0" w="181.66666666666666" collapsed="false">The block reports the score of an individual tile.</comment><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doReport"><block s="reportProduct"><block var="value"/><block var="value"/></block></block></script></block-definition><block-definition s="test %&apos;function&apos; w/inputs %&apos;inp&apos; expecting output %&apos;outs&apos;" type="reporter" category="lists"><comment x="0" y="0" w="155.83333333333334" collapsed="false">This block takes in a function and two &quot;sets&quot; of items.&#xD;&#xD;The first are the INPUTS to the function. These must be a list whos length is equal to the number of inputs in the function. &#xD;&#xD;The OUTPUTS should be the same type as the output of the function.&#xD;&#xD;There must be the same number of inputs and outputs.</comment><header></header><code></code><translations></translations><inputs><input type="%repRing"></input><input type="%mult%l"></input><input type="%mult%s"></input></inputs><script><block s="doIf"><block s="reportNot"><block s="reportEquals"><block s="reportListAttribute"><l><option>length</option></l><block var="inp"/></block><block s="reportListAttribute"><l><option>length</option></l><block var="outs"/></block></block></block><script><block s="doReport"><l>ERROR: The number of tests must be the same for inputs and outputs.</l></block></script></block><block s="doReport"><custom-block s="map %repRing over %mult%l"><block s="reifyPredicate"><autolambda><block s="reportEquals"><block s="evaluate"><block var="function"/><block var="in"/></block><block var="out"/></block></autolambda><list><l>in</l><l>out</l></list></block><list><block var="inp"/><block var="outs"/></list></custom-block></block></script></block-definition><block-definition s="empty positions of %&apos;board&apos;" type="reporter" category="lists"><comment x="0" y="0" w="89.99999999999997" collapsed="false">Returns a list of locations in board which are empty. The locations are length 2 lists as [row, col].</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>result</l><l>size</l><l>row</l><l>col</l></list></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>size</l><custom-block s="size of board %l"><block var="board"/></custom-block></block><custom-block s="for %upvar = %n to %n %cs"><l>r</l><l>1</l><block var="size"/><script><custom-block s="for %upvar = %n to %n %cs"><l>c</l><l>1</l><block var="size"/><script><block s="doIf"><block s="reportEquals"><custom-block s="item %n , %n of %l"><block var="r"/><block var="c"/><block var="board"/></custom-block><l>0</l></block><script><block s="doAddToList"><block s="reportNewList"><list><block var="r"/><block var="c"/></list></block><block var="result"/></block></script></block></script></custom-block></script></custom-block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="new board from matrix %&apos;board matrix&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>board</l><l>row</l></list></block><block s="doSetVar"><l>board</l><custom-block s="new board of size %n"><block s="reportListAttribute"><l><option>length</option></l><block var="board matrix"/></block></custom-block></block><custom-block s="for %upvar = %n to %n %cs"><l>i</l><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="board matrix"/></block><script><block s="doSetVar"><l>row</l><block s="reportListItem"><block var="i"/><block var="board matrix"/></block></block><custom-block s="for %upvar = %n to %n %cs"><l>j</l><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="row"/></block><script><custom-block s="set item %n , %n of %l to %n"><block var="i"/><block var="j"/><block var="board"/><block s="reportListItem"><block var="j"/><block var="row"/></block></custom-block></script></custom-block></script></custom-block><block s="doReport"><block var="board"/></block></script></block-definition><block-definition s="new 4x4 board with values %&apos;A&apos; %&apos;B&apos; %&apos;C&apos; %&apos;D&apos; / %&apos;E&apos; %&apos;F&apos; %&apos;G&apos; %&apos;H&apos; / %&apos;M&apos; %&apos;N&apos; %&apos;O&apos; %&apos;P&apos; / %&apos;Q&apos; %&apos;R&apos; %&apos;S&apos; %&apos;T&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input><input type="%s"></input><input type="%s"></input><input type="%s"></input><input type="%s"></input><input type="%s"></input><input type="%s"></input><input type="%s"></input><input type="%s"></input><input type="%s"></input><input type="%s"></input><input type="%s"></input><input type="%s"></input><input type="%s"></input><input type="%s"></input></inputs><script><block s="doReport"><custom-block s="new board from matrix %l"><block s="reportNewList"><list><block s="reportNewList"><list><block var="A"/><block var="B"/><block var="C"/><block var="D"/></list></block><block s="reportNewList"><list><block var="E"/><block var="F"/><block var="G"/><block var="H"/></list></block><block s="reportNewList"><list><block var="M"/><block var="N"/><block var="O"/><block var="P"/></list></block><block s="reportNewList"><list><block var="Q"/><block var="R"/><block var="S"/><block var="T"/></list></block></list></block></custom-block></block></script></block-definition><block-definition s="map %&apos;function&apos; over %&apos;lists&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><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></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></list></block></block></block></script><list><l>data</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></block><block s="doReport"><block s="reportCONS"><block s="evaluate"><block var="function"/><custom-block s="map %repRing over %mult%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="map %repRing over %mult%l"><block s="reifyReporter"><autolambda><block s="reportCDR"><l/></block></autolambda><list></list></block><list><block var="data lists"/></list></custom-block></list></block></block></block></script><list><l>data lists</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></list></block></block></script><script><block s="doReport"><block s="evaluate"><block var="mapmany"/><list><block var="lists"/></list></block></block></script></block></script></block></script></block-definition><block-definition s="tell %&apos;sprite&apos; to %&apos;commands&apos;" type="command" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%txt">Sprite</input><input type="%cs"></input></inputs><script><block s="doRun"><block s="reportAttributeOf"><block var="commands"/><block var="sprite"/></block><list></list></block></script></block-definition><block-definition s="ask for %&apos;reporter&apos; from %&apos;sprite&apos;" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%repRing"></input><input type="%txt">Sprite</input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportAttributeOf"><block var="reporter"/><block var="sprite"/></block><list></list></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></list><l>var stage = this.parentThatIsA(StageMorph),&#xD;    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();</l></block><list><block var="text"/><block var="size"/></list></block></script></block-definition><block-definition s="empty? %&apos;data&apos;" type="predicate" category="lists"><header></header><code></code><translations>de:ist _ leer?&#xD;ca:_ buida?&#xD;es:_ vacía?&#xD;fr:_ vide?&#xD;</translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportEquals"><block var="data"/><block s="reportNewList"><list></list></block></block></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></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></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="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></block><block s="doIf"><block s="reportEquals"><l></l><block s="reportListItem"><l>1</l><block var="words"/></block></block><script><block s="doReport"><custom-block s="join words %mult%txt"><block s="reportCDR"><block var="words"/></block></custom-block></block></script></block><block s="doIf"><block s="reportEquals"><l></l><block s="reportListItem"><l>2</l><block var="words"/></block></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></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="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="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="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="%&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="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="reportGreaterThan"><block var="from"/><block var="to"/></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doReport"><block s="reportCONS"><block var="from"/><custom-block s="numbers from %n to %n"><block s="reportSum"><block var="from"/><l>1</l></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></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="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="reportGreaterThan"><block var="start"/><block var="end"/></block><script><block s="doSetVar"><l>step</l><l>-1</l></block><block s="doSetVar"><l>tester</l><block s="reifyReporter"><autolambda><block s="reportLessThan"><block var="i"/><block var="end"/></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="reportGreaterThan"><block var="i"/><block var="end"/></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="if %&apos;test&apos; then %&apos;true&apos; else %&apos;false&apos;" type="reporter" category="control"><header></header><code></code><translations>de:wenn _ dann _ sonst _&#xD;ca:si _ llavors _ si no _&#xD;es:si _ entonces _ sino _&#xD;fr:si _ alors _ sinon _&#xD;</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="ask %&apos;sprite&apos; %&apos;expression&apos;" type="reporter" category="control"><header></header><code></code><translations></translations><inputs><input type="%s">Sprite</input><input type="%repRing"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportAttributeOf"><block var="expression"/><block var="sprite"/></block><list></list></block></block></script></block-definition><block-definition s="tell %&apos;sprite&apos; %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s">Sprite</input><input type="%cs"></input></inputs><script><block s="doRun"><block s="reportAttributeOf"><block var="action"/><block var="sprite"/></block><list></list></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="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></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></blocks><stage name="Stage" width="480" height="360" costume="0" color="255,255,255,1" tempo="60" threadsafe="false" penlog="false" volume="100" pan="0" lines="round" ternary="true" hyperops="true" codify="false" inheritance="false" sublistIDs="false" id="1172"><pentrails>data:image/png;base64,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vqeb513l9aK3JmWVbqQ+AgT6IyCA++PqXWskkIPUbOYaNcxQCRQiYBJWIY1UBgECBAjUS0AA16tfRkuAAAEChQgI4EIaqQwCBAgQqJeAAK5Xv4yWAAECBAoREMCFNFIZBAgQIFAvAQFcr34ZLQECBAgUIiCAC2mkMggQIECgXgICuF79MloCBAgQKERAABfSSGUQIECAQL0EBHC9+mW0BAgQIFCIgAAupJHKIECAAIF6CQjgevXLaAkQIECgEAEBXEgjlUGAAAEC9RIQwPXql9ESIECAQCECAriQRiqDAAECBOolIIDr1S+jJUCAAIFCBARwIY1UBgECBAjUS0AA16tfgzja1VR0ZwALTzU3cu02AgQKFRDAhTa2lLI2I86kJLqV6hmkEO7kmtPX2VL6qA4CBL4oMPzFhzxCoDoCjWb77c5m681GdObTqEarM7J+jqR75nu22dz4aT+P4r0JECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHhyAv8FrA9rmdJa7mAAAAAASUVORK5CYII=</pentrails><costumes><list struct="atomic" id="1173"></list></costumes><sounds><list struct="atomic" id="1174"></list></sounds><variables></variables><blocks></blocks><scripts><script x="20" y="20"><block s="receiveInteraction"><l><option>clicked</option></l><comment w="172.49999999999997" collapsed="false">You do not need to modify or understand this script! This simply allows you to use regions of the stage to control the board movement. Connect the script below and try it on a mobile device!</comment></block><block s="doDeclareVariables"><list><l>x</l><l>y</l></list></block><block s="doSetVar"><l>x</l><block s="reportMouseX"></block></block><block s="doSetVar"><l>y</l><block s="reportMouseY"></block></block><block s="doIfElse"><block s="reportGreaterThan"><block var="x"/><block s="reportProduct"><block s="reportQuotient"><l>4</l><l>3</l></block><block s="reportMonadic"><l><option>abs</option></l><block var="y"/></block></block></block><script><block s="doBroadcast"><l>right</l><list></list></block></script><script><block s="doIfElse"><block s="reportLessThan"><block var="x"/><block s="reportProduct"><block s="reportQuotient"><l>-4</l><l>3</l></block><block s="reportMonadic"><l><option>abs</option></l><block var="y"/></block></block></block><script><block s="doBroadcast"><l>left</l><list></list></block></script><script><block s="doIfElse"><block s="reportGreaterThan"><block var="y"/><l>0</l></block><script><block s="doBroadcast"><l>up</l><list></list></block></script><script><block s="doBroadcast"><l>down</l><list></list></block></script></block></script></block></script></block></script><script x="20" y="485"><block s="receiveKey"><l><option>right arrow</option></l><list></list><comment w="175" collapsed="false">These are simple wrappers to share to with the touch controls above.</comment></block><block s="doBroadcast"><l>right</l><list></list></block></script><script x="20" y="559"><block s="receiveKey"><l><option>down arrow</option></l><list></list></block><block s="doBroadcast"><l>down</l><list></list></block></script><script x="20" y="633"><block s="receiveKey"><l><option>up arrow</option></l><list></list></block><block s="doBroadcast"><l>up</l><list></list></block></script><script x="20" y="707"><block s="receiveKey"><l><option>left arrow</option></l><list></list></block><block s="doBroadcast"><l>left</l><list></list></block></script></scripts><sprites select="1"><sprite name="Grid" idx="3" x="0.7000000000000455" y="-0.6999999999999886" heading="90" scale="0.89" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="70.99199999999996,221.85,0,1" pen="tip" id="1287"><costumes><list id="1288"><item><ref mediaID="Grid_cst_grid"></ref></item></list></costumes><sounds><list struct="atomic" id="1289"></list></sounds><blocks></blocks><variables></variables><scripts><script x="18.333333333333343" y="18.333333333333343"><block s="receiveGo"><comment w="122.49999999999997" collapsed="false">This is simply a background. You don&apos;t need to do anything in this sprite.</comment></block><block s="gotoXY"><l>0</l><l>0</l></block><block s="setScale"><l>89</l></block></script></scripts></sprite><sprite name="Game Code" idx="2" x="120" y="-120.00000000000006" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="12" color="80,80,80,1" pen="tip" id="1299"><costumes><list id="1300"><item><ref mediaID="Game Code_cst_2"></ref></item><item><ref mediaID="Game Code_cst_4"></ref></item><item><ref mediaID="Game Code_cst_8"></ref></item><item><ref mediaID="Game Code_cst_16"></ref></item><item><ref mediaID="Game Code_cst_32"></ref></item><item><ref mediaID="Game Code_cst_64"></ref></item><item><ref mediaID="Game Code_cst_128"></ref></item><item><ref mediaID="Game Code_cst_256"></ref></item><item><ref mediaID="Game Code_cst_512"></ref></item><item><ref mediaID="Game Code_cst_1024"></ref></item><item><ref mediaID="Game Code_cst_2048"></ref></item><item><ref mediaID="Game Code_cst_0"></ref></item></list></costumes><sounds><list struct="atomic" id="1301"></list></sounds><blocks></blocks><variables></variables><scripts><script x="9.999999999999986" y="10"><block s="receiveMessage"><l>start game</l><list></list><comment w="273.33333333333337" collapsed="false">You don&apos;t need to change ANYTHING in this sprite! If you correctly fill out the grey functions, the game will work.</comment></block><block s="doSetVar"><l>SIZE</l><l>4</l></block><block s="doSetVar"><l>GAME BOARD</l><custom-block s="new board of size %n"><block var="SIZE"/></custom-block></block><block s="doSetVar"><l>GAME OVER</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l>GAME BOARD</l><custom-block s="add 2 or 4 to %l"><block var="GAME BOARD"/></custom-block></block><block s="doSetVar"><l>GAME BOARD</l><custom-block s="add 2 or 4 to %l"><block var="GAME BOARD"/></custom-block></block><block s="doSetVar"><l>SCORE</l><custom-block s="score of %l"><block var="GAME BOARD"/></custom-block></block><custom-block s="update display for %s"><block var="GAME BOARD"/></custom-block><block s="doShowVar"><l>SCORE</l></block></script><script x="9.999999999999986" y="498.0000000000002"><block s="receiveMessage"><l>up</l><list></list></block><block s="doSetVar"><l>LAST BOARD</l><custom-block s="copy of %l"><block var="GAME BOARD"/></custom-block></block><block s="doSetVar"><l>GAME BOARD</l><custom-block s="merge up %l"><block var="GAME BOARD"/></custom-block></block><block s="doBroadcast"><l>finish move</l><list></list></block></script><script x="9.999999999999986" y="624.0000000000001"><block s="receiveMessage"><l>right</l><list></list></block><block s="doSetVar"><l>LAST BOARD</l><custom-block s="copy of %l"><block var="GAME BOARD"/></custom-block></block><block s="doSetVar"><l>GAME BOARD</l><custom-block s="rotate %l clockwise"><block var="GAME BOARD"/></custom-block></block><block s="doSetVar"><l>GAME BOARD</l><custom-block s="rotate %l clockwise"><block var="GAME BOARD"/></custom-block></block><block s="doSetVar"><l>GAME BOARD</l><custom-block s="rotate %l clockwise"><block var="GAME BOARD"/></custom-block></block><block s="doSetVar"><l>GAME BOARD</l><custom-block s="merge up %l"><block var="GAME BOARD"/></custom-block></block><block s="doSetVar"><l>GAME BOARD</l><custom-block s="rotate %l clockwise"><block var="GAME BOARD"/></custom-block></block><block s="doBroadcast"><l>finish move</l><list></list></block></script><script x="9.999999999999986" y="854.0000000000001"><block s="receiveMessage"><l>left</l><list></list></block><block s="doSetVar"><l>LAST BOARD</l><custom-block s="copy of %l"><block var="GAME BOARD"/></custom-block></block><block s="doSetVar"><l>GAME BOARD</l><custom-block s="rotate %l clockwise"><block var="GAME BOARD"/></custom-block></block><block s="doSetVar"><l>GAME BOARD</l><custom-block s="merge up %l"><block var="GAME BOARD"/></custom-block></block><block s="doSetVar"><l>GAME BOARD</l><custom-block s="rotate %l clockwise"><block var="GAME BOARD"/></custom-block></block><block s="doSetVar"><l>GAME BOARD</l><custom-block s="rotate %l clockwise"><block var="GAME BOARD"/></custom-block></block><block s="doSetVar"><l>GAME BOARD</l><custom-block s="rotate %l clockwise"><block var="GAME BOARD"/></custom-block></block><block s="doBroadcast"><l>finish move</l><list></list></block></script><script x="9.999999999999986" y="1083.9999999999995"><block s="receiveMessage"><l>down</l><list></list></block><block s="doSetVar"><l>LAST BOARD</l><custom-block s="copy of %l"><block var="GAME BOARD"/></custom-block></block><block s="doSetVar"><l>GAME BOARD</l><custom-block s="rotate %l clockwise"><block var="GAME BOARD"/></custom-block></block><block s="doSetVar"><l>GAME BOARD</l><custom-block s="rotate %l clockwise"><block var="GAME BOARD"/></custom-block></block><block s="doSetVar"><l>GAME BOARD</l><custom-block s="merge up %l"><block var="GAME BOARD"/></custom-block></block><block s="doSetVar"><l>GAME BOARD</l><custom-block s="rotate %l clockwise"><block var="GAME BOARD"/></custom-block></block><block s="doSetVar"><l>GAME BOARD</l><custom-block s="rotate %l clockwise"><block var="GAME BOARD"/></custom-block></block><block s="doBroadcast"><l>finish move</l><list></list></block></script><script x="11" y="248"><block s="receiveMessage"><l>finish move</l><list></list></block><block s="doIf"><block s="reportAnd"><block s="reportNot"><block s="reportEquals"><block var="GAME BOARD"/><block var="LAST BOARD"/></block></block><block s="reportNot"><block var="GAME OVER"/></block></block><script><block s="doSetVar"><l>GAME BOARD</l><custom-block s="add 2 or 4 to %l"><block var="GAME BOARD"/></custom-block></block><block s="doSetVar"><l>SCORE</l><custom-block s="score of %l"><block var="GAME BOARD"/></custom-block></block><custom-block s="update display for %s"><block var="GAME BOARD"/></custom-block></script></block><block s="doIf"><custom-block s="no moves left for %l ?"><block var="GAME BOARD"/><comment w="89.99999999999997" collapsed="false">extra credit: Add better visual confirmation here!</comment></custom-block><script><block s="doSetVar"><l>GAME OVER</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doShowVar"><l>GAME OVER</l></block></script></block></script></scripts></sprite><sprite name="TESTER" idx="5" x="177.0314179707475" y="106.45984543014563" heading="168" scale="1" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="0" color="140.25,0,16.830000000000016,1" pen="tip" id="1516"><costumes><list struct="atomic" id="1517"></list></costumes><sounds><list struct="atomic" id="1518"></list></sounds><blocks></blocks><variables></variables><scripts><script x="17.85714285714286" y="17.85714285714286"><block s="receiveGo"><comment w="215.83333333333334" collapsed="false">This is a tester sprite! You should expand the test cases here, by adding items to the input and output lists, and attaching comments to blocks explaining your ideas.</comment></block><block s="hide"></block></script><comment x="17.85714285714286" y="109.25000000000003" w="471.66666666666663" collapsed="false">==============================================&#xD;These are your graded test cases!&#xD;&#xD;For four out of five of the required blocks, you must have 2 different sets of input and expected output. This means you should have a total of 8 tests below, 2 for each block you test. &#xD;Additionally, each function should have a brief comment explaining why each test case&#xD;is good / useful.&#xD;&#xD;You are more than welcome to add as many tests as you like, for additional blocks, as long as you meet the requirements above.&#xD;&#xD;We strongly recommend that you write tests BEFORE each block!! If you&apos;re doing the testing extra credit, (see spec), your extra credit tests should go in this sprite.</comment></scripts></sprite><sprite name="2048" idx="1" x="-175.15991776932333" y="-18.43185132075655" heading="65" scale="1" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="0" color="144.94199999999998,147.89999999999998,0,1" pen="tip" id="1524"><costumes><list struct="atomic" id="1525"></list></costumes><sounds><list struct="atomic" id="1526"></list></sounds><blocks></blocks><variables></variables><scripts><script x="9.5" y="5"><block s="receiveGo"><comment w="90" collapsed="false">There are five grey functions to fill out to make this game work.</comment></block><block s="doBroadcast"><l>start game</l><list></list></block><block s="hide"></block></script><script x="9.5" y="90.5"><block s="doDeclareVariables"><list><l>test board</l></list></block><block s="doSetVar"><l>test board</l><custom-block s="new board of size %n"><l>4</l></custom-block></block><block s="doSetVar"><l>test board</l><custom-block s="add 2 or 4 to %l"><block var="test board"/></custom-block></block><custom-block s="update display for %s"><block var="test board"/></custom-block></script><script x="9.5" y="278.08333333333326"><custom-block s="rotate %l clockwise"><l/></custom-block></script><script x="9.5" y="300.08333333333326"><custom-block s="merge column %n of %l up"><l></l><l/></custom-block></script><script x="9.5" y="325.58333333333326"><custom-block s="merge up %l"><l/></custom-block></script><script x="9.5" y="347.58333333333326"><custom-block s="no moves left for %l ?"><l/></custom-block></script><script x="9.5" y="250.58333333333326"><custom-block s="add 2 or 4 to %l"><l/></custom-block></script></scripts></sprite><sprite name="2048 Lab" idx="4" x="4.840082230676217" y="-2.431851320756948" heading="210" scale="1" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="0" color="4.284000000000003,214.2,0,1" pen="tip" id="1563"><costumes><list struct="atomic" id="1564"></list></costumes><sounds><list struct="atomic" id="1565"></list></sounds><blocks></blocks><variables></variables><scripts><script x="14" y="463.8478747203584"><block s="doDeclareVariables"><list><l>lab board</l></list><comment w="89.99999999999997" collapsed="false">This test ensures that the item of block correctly reports the items at locations (1, 4) and (1, 2)</comment></block><block s="show"></block><block s="doSetVar"><l>lab board</l><custom-block s="new board of size %n"><l>4</l></custom-block></block><custom-block s="set item %n , %n of %l to %n"><l>1</l><l>4</l><block var="lab board"/><l>2</l></custom-block><block s="doSayFor"><custom-block s="test %repRing w/ input(s) %mult%s expecting output %s"><block s="reifyReporter"><autolambda><custom-block s="item %n , %n of %l"><l></l><l></l><l/></custom-block></autolambda><list></list></block><list><l>1</l><l>4</l><block var="lab board"/></list><l>2</l></custom-block><l>2</l></block><block s="doWait"><l>0.5</l></block><block s="doSayFor"><custom-block s="test %repRing w/ input(s) %mult%s expecting output %s"><block s="reifyReporter"><autolambda><custom-block s="item %n , %n of %l"><l></l><l></l><l/></custom-block></autolambda><list></list></block><list><l>1</l><l>2</l><block var="lab board"/></list><l>0</l></custom-block><l>2</l></block><block s="hide"></block></script><comment x="38.161073825503365" y="5" w="408.1208053691275" collapsed="false">EXAMPLES:&#xD;&#xD;These tester blocks take in a reporter -- something that you want to test.&#xD;The inputs are what you would want to pass into the reporter as a test.&#xD;The output is what you expect the reporter to output when passed in the input(s).&#xD;&#xD;The block will report a Boolean based on whether your test passed.  &#xD;&#xD;&#xD;Note: You must leave the inputs to the block you are testing empty.</comment><script x="497.22147651006696" y="70.482103908277"><block s="receiveGo"></block><block s="hide"></block></script><script x="13.644295302013404" y="184.9999999999999"><custom-block s="test %repRing w/ input(s) %mult%s expecting output %s"><block s="reifyReporter"><autolambda><block s="reportSum"><l></l><l></l></block></autolambda><list></list></block><list><l>1</l><l>1</l></list><l>2</l><comment w="90" collapsed="false">For you to run!</comment></custom-block></script><script x="15.644295302013404" y="237.00000000000006"><custom-block s="test %repRing w/ input(s) %mult%s expecting output %s"><block s="reifyReporter"><autolambda><block s="reportSum"><l></l><l></l></block></autolambda><list></list></block><list><l>2</l><l>4</l></list><l>5</l><comment w="90" collapsed="false">For you to run! This test should fail, since 2 + 4 does not equal 5.</comment></custom-block></script><script x="11.644295302013404" y="391.9999999999999"><custom-block s="test %repRing w/ input(s) %mult%s expecting output %s"><block s="reifyReporter"><autolambda><custom-block s="size of board %l"><l/></custom-block></autolambda><list></list></block><list><custom-block s="new board of size %n"><l>10</l></custom-block></list><l>10</l><comment w="90" collapsed="false">This tests that new boards are created with the right size.</comment></custom-block></script><script x="17.644295302013404" y="317.9999999999999"><custom-block s="test %repRing w/ input(s) %mult%s expecting output %s"><block s="reifyReporter"><autolambda><block s="reportDifference"><l></l><l></l></block></autolambda><list></list></block><list><l>5</l><l>2</l></list><l>3</l><comment w="90" collapsed="false">This tests whether 5 - 2 = 3, which should report true.</comment></custom-block></script><script x="11" y="836.6778533489919"><custom-block s="test %repRing w/ input(s) %mult%s expecting output %s"><block s="reifyReporter"><autolambda><custom-block s="merge up %l"><l/></custom-block></autolambda><list></list></block><list><custom-block s="new 4x4 board with values %s %s %s %s / %s %s %s %s / %s %s %s %s / %s %s %s %s"><l>4</l><l>0</l><l>0</l><l>8</l><l>2</l><l>0</l><l>0</l><l>0</l><l>2</l><l>0</l><l>32</l><l>0</l><l>4</l><l>0</l><l>0</l><l>16</l></custom-block></list><custom-block s="new 4x4 board with values %s %s %s %s / %s %s %s %s / %s %s %s %s / %s %s %s %s"><l></l><l></l><l></l><l></l><l></l><l></l><l></l><l></l><l></l><l></l><l></l><l></l><l></l><l></l><l></l><l></l></custom-block></custom-block></script><script x="7" y="1047.677853348992"><custom-block s="test %repRing w/ input(s) %mult%s expecting output %s"><block s="reifyReporter"><autolambda><custom-block s="merge column %n of %l up"><l></l><l/></custom-block></autolambda><list></list></block><list><l></l></list><l></l></custom-block></script><script x="5" y="1087.6778533489917"><custom-block s="test %repRing w/ input(s) %mult%s expecting output %s"><block s="reifyReporter"><autolambda><custom-block s="merge column %n of %l up"><l></l><l/></custom-block></autolambda><list></list></block><list><l></l></list><l></l></custom-block></script><comment x="14.98657718120802" y="764.1263992102906" w="281" collapsed="false">From lab: Fill in what the output should be for the following test case for &quot;merge up&quot;. In Proj3, you&apos;ll add more of your own &quot;merge up&quot; test cases.</comment><comment x="14.644295302013404" y="972.6778533489924" w="287" collapsed="false">From lab: fill in two of your own tests for the &quot;merge column up&quot; block. Refer to our tests of &quot;item of&quot; and &quot;+&quot; above to remember how to deal with &quot;merge column up&quot; needing multiple inputs.</comment></scripts></sprite><watcher var="GAME BOARD" style="normal" x="0" y="0.00004885555456723978" color="243,118,29" hidden="true"/><watcher var="SIZE" style="normal" x="0.00004885555426881183" y="0.00004885555456723978" color="243,118,29" hidden="true"/><watcher var="GAME OVER" style="normal" x="-0.00000162851802087971" y="0.00015145222890566856" color="243,118,29" hidden="true"/><watcher var="LAST MERGE ROW" style="normal" x="-0.0006078954158965644" y="0.00019542221826895911" color="243,118,29" hidden="true"/><watcher var="SCORE" style="normal" x="0.00009771110899237101" y="0.00009771110910605785" color="243,118,29"/><watcher var="LAST BOARD" style="normal" x="-0.15353321325983416" y="0.395185614691826" color="243,118,29" hidden="true"/></sprites></stage><variables><variable name="GAME BOARD"><list id="1771"><item><list struct="atomic" id="1772">0,0,0,0</list></item><item><list struct="atomic" id="1773">0,2,0,0</list></item><item><list struct="atomic" id="1774">0,0,0,0</list></item><item><list struct="atomic" id="1775">0,0,0,0</list></item></list></variable><variable name="SIZE"><l>4</l></variable><variable name="GAME OVER"><bool>false</bool></variable><variable name="LAST MERGE ROW"><l>-1</l></variable><variable name="SCORE"><l>4</l></variable><variable name="LAST BOARD"><list id="1776"><item><list struct="atomic" id="1777">0,0,0,0</list></item><item><list struct="atomic" id="1778">0,0,0,0</list></item><item><list struct="atomic" id="1779">0,0,0,0</list></item><item><list struct="atomic" id="1780">0,0,0,0</list></item></list></variable></variables></scene></scenes></project><media name="Sp22 | Project 1 Skeleton" app="Snap! 7, https://snap.berkeley.edu" version="2"><costume name="grid" center-x="240" center-y="180" image="data:image/png;base64,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" mediaID="Grid_cst_grid"/><costume name="2" center-x="32" center-y="32" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAQKADAAQAAAABAAAAQAAAAABGUUKwAAACjElEQVR4AWN0aFgv8JFJYAMTA4M9wwgC/xgYDvL/+xDANBI9D4pnUISD/T7SYh45kYP8DsQjG4wGwMiOf3BZMLKDYDQLjOz4H80CoPbAyAajATCy43+0DBgtA0bLgNEyYISHwGgWGOEJYLQWGM0CA5kFdAW5GBS42QbSCQws9LYd5OlYSzkGJ2MJFKv3nX3BsOHcU4ZjLz6jiNOaw2jctP8/rS2Bme+nIsJQF6kD42KlZ227zTDr7FOscrQQpFsZAIp5Qp4HeTDNS5UBFFD0AnQLAFCyJxYkuigRq5RidXQLABNN1Fi99vAjg0fHYTAGsZGBrCgXgwgrM7IQzdh0CwA+LtTyds2xxwxvfv8F4yNXX2F4UE2YC0OMFgJ0C4DHr7/B3f/p2x+G+28hfFBM22iLweVgjGeff8KYNKVRo4WGVgXOOIXV9DJXVQYteX4UOVCWePD1F4oYrTh0SwHYPFBkLY/RHgCpm7HrDjblNBEbsAAAVXVRTooYngK1A+jZGBqQAMDVJth8/AldG0Gg0Kd7AIDa/hOTjDBiHtQUbtxDv6QPcwBdAwBU4jcFazOgV4mgQq9r922Ym+hK0zUAcJX4RcsvgdsDdPU51DK6dYZAJT62Qg+XpxOnnGK4/B7RdsCljlJxuqQAUKFHiudBnuJlH0ZNYXp5hpzUQJcUQI7DPv/8S442kvXQrQwAZQNiUwLI8/TI/6DQoltfgF4eIjUJDNosQKpHyFU/GgDkhtxw0TeaAoZLTJLrj9EUQG7IDRd9oylguMQkuf4YTQHkhtxw0TeaAoZLTJLrj9EUQG7IDRd9oylguMQkuf4YTQHkhtxw0ccE2kU9XDxDqj9AfmcCbSEfiYEA8jPI7wCE8ZJaVuBqWgAAAABJRU5ErkJggg==" mediaID="Game Code_cst_2"/><costume name="4" center-x="32" center-y="32" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAQKADAAQAAAABAAAAQAAAAABGUUKwAAACP0lEQVR4Ae1bS0tCQRQeL1pUmklJ1qKFPYwwC0JoZ9CuNtK2H1ALd+6C/kH+BldBSze5kFq0qVYFLYIgI3qgFSGaPY2sWSQz+YjrODMwc+7qzMw9c8730Ll3cS1z8XhPvr89US4bIaTRZbF87Tnv3sOGjuCxzlhwjN3QTXnS5Bi7QU7oGAMBOqpOYgYHkGzoGIMDdFSdxAwOINnQMQYH6Kg6iRkcQLKhYwwO0FF1EjM4gGRDxxgcoKPqJGbtHWAl2ZARr49NoqWRCar0xvE+2sxcU3O8BlId4OvorAKPgXp+5kVdUglY88+Iwlm3jjQC5l29KOAerNuYqAVpBEQDs6IwNqwjhYDVIS8a6LI3bEzUonACXFYbWvZNicL3bx3hBES848hua6s0Vix9VGIZgVACgo7uqmMvkT6VgbtSUygBkXHa+pnnIopdnFWakREIIyDc56k69mInhzIwUzUt09tbZWqG0yAZWjT9zy/ikViIA6Jen2nwWAcRj8TcCcDHXniYftnhZLKmtuVOwILbQx17TXXJMYn763DyIYuyBzt1IYw6nGjFH6TWU1fnKHV7iY6eCtQ8jwF3AnKfJbSbezTV+/1L0XSOqQLEzdx/AkStmuHN2yv6+zSYLuRr3stjUtgxyKP5Vuwp3QGtAMGyBxDAwp4KueAAFVRkwQAOYGFPhVxwgAoqsmAAB7Cwp0IuOEAFFVkwgANY2FMhFxyggoosGMABLOypkAsOwF9Rq6BkMxgwdgN/Qq4jCb+fz38Dvrhrk6iw3ZsAAAAASUVORK5CYII=" mediaID="Game Code_cst_4"/><costume name="8" center-x="32" center-y="32" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAQKADAAQAAAABAAAAQAAAAABGUUKwAAACuklEQVR4Ae1bPWsUURS9mSh+zBLiFhISRCMmoGBS2VjEpEoCil9oYWPAWAqmsUkhFjY2Nv4FLQSNIYE1pAhJYWmhoPkgLgorohCCZlbFRN2zOOHN7IaJJHP2wbsPlrlv5i73nnPPe+9OMXUDIzcbAz94Jmu/T4lLo96b9gP/nOckeBS6VHBg95yrvKnyEgmeOXfRVgJcrLqJWRVgsuGirQpwseomZlWAyYaLtirAxaqbmFUBJhsu2qoAF6tuYlYFmGy4aKsCXKy6ibmmCmjb2yL41XLsYAdvqN8jFw/2Sn/76Ujo3Py4PHk/IV/Xvkfupz2hKgDgh08MVYAHSBCCZ/BhDioBqHxr4+EN8eEZfJiDSkBXa3citvjSSPzDFh1oBLTsyoq/MxNJd3jmtgxO3pDg10rkfmfDkcg8zQmNgG+rm9/civ/hu1VyaKcAdvfPwSfZ7zet53y36866HRpQw0KxEE5Tv9IUACQTi5OJgJ4v5BJ9ttOBRgDW9YWj5xNz72vrpzZHNAKudw5UbILV2MBGOdhxtdqjVO5RCDiZPR5Z+0CSX34nQ1O3yqcAbHOgH2C1yBQCDmSaTXxl+9Gbx1L4uVRufWHHx6EM5x2BQkBx9UccX+I8u3tfos92OFAI+LBSeaxdOXZZ0BzhBzs+ZpcX47dSmVP6gHxQKHd7ZieIdX6/515VUOgF8B/GoCgATdDTtyObxgNf1msxhQAgH/s4LTP5qUQS4ANf1qAsgRDMg7mH8vLLKznbfqbitRhH4ej8mLxYeh26U651l3LX/lAiVQkSnvXM3j+eBlUB8eC1BB7mQtsDwoC2XZUA2yrCzkcVwGbctniqANsqws5HFcBm3LZ4qgDbKsLORxXAZty2eKoA2yrCzkcVwGbctniqANsqws7Hk9JX1Oyg1sQrYffwCbmTJPz7fP4vU+GlRuBSodMAAAAASUVORK5CYII=" mediaID="Game Code_cst_8"/><costume name="16" center-x="32" center-y="32" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAQKADAAQAAAABAAAAQAAAAABGUUKwAAADLUlEQVR4Ae1bz08TQRR+bFuhgFgsrQWCpLWCXI0JBxI8eJCDJujBxL/Agx7wYuLRf8ODevOKN9SowcSb0SgmJP6AWAM2lVL8URBoq3xN2sy4G7rAPJfNzCRN573OTt/3vW/ezG7aprvPJiK98fJkpVI5TRo1y7KmF3KB8aCO4JFnJLw3TpOWbpkXRQ7slujQsW8I0DHrImajAJENHftGATpmXcRsFCCyoWPfKEDHrIuYjQJENnTsGwXomHURs1GAyIaOfaMAHbMuYg6KBkc/0nqsPu3a5jKtbxbqtlOnOdRJ4dDh+ke/1hepVF6r26o7LAQARCo6Rke7RqR4N8ur9HT2huQTDZA1nLouuuhr4RW9Xbgj+VQaygkIBsI0kr5JoUCrLU4nnzjoRPdF0az2M4Vpm0+lQ3kRbG/ucQTfKOhExyk6FO6XhmWWXtDK6ifJp9pQTsBuAoRq0olz0qVYLnP5KcnHYSgnAIUODdn7vvbZVcx9kVFqO9AljZ3PPWlYMKULdmkoJwBV/uG7azSbvU8bpdWGYSH7yfgZaRyy/2XlueTjMpQTsNNAj8fGbTUDxXJ04BYNJS4TdhTO5ikBbS09tq2yBhYkYBvFjiKeJWqfq3r3lIDBIxca4gARJ/uvEJYKR/OMAGQ1dnDIFSaQgKXC0ZQfhNwG2RlO24a+ydyj7I+XhKUxnJyQakO0Y5Aoa7tkzw7PFNDZLhNQ3Fiqggei4u9FwjYoNmyTHMvAMwJKpe1vcIKBFhF/tc9xU+QZAcvFjxJAZDgZPVv1YQn0ReUbKbeHKmlSF4ZnNeBbcWYrvEtSiAPd5wkvp5b/+d7JvWefZwrAiXEu99gVANSH+fwjV2N3OsgzAhDoh9yD6v3+dkED/OvMbbaHIqxL4N9C57SO8bAD9/yp2Jh0LsBYyB6Z5yh+NdKbpmau/qkZ++EdZ/9Gj81UxunpEnAC8j/B4/v3HQFOpHD6DAGc7PphbqMAP2SJM0ajAE52/TC3UYAfssQZo1EAJ7t+mNsowA9Z4ozRKICTXT/MbRTghyxxxmgUwMmuH+be+hO1xfszrH3MArBb+Au5jiQAM7D/BWmczLs8fS3hAAAAAElFTkSuQmCC" mediaID="Game Code_cst_16"/><costume name="32" center-x="32" center-y="32" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAQKADAAQAAAABAAAAQAAAAABGUUKwAAAECUlEQVR4Ae1bPWgUQRSe3b3/XH6MYqImhJgQRYNaiCIIEsXGQmIjKaKNKVOYQhAbMYWFFlqKWFrEKiJ2gj8IiqKQgISgaBL8SQImMXeX3OVu9857G2adndnk9vbm3IWdgWVm3r6Zee9737yZO1hparS3oaFp+XFBk08gHxVJyb/6M1/fKy296XnpN+dxnAEE2a/OAwjgu4zR8GstAPBr5LHfggEYCb/WggF+jTz2WzAAI+HXWjDAr5HHfgsGYCT8WgsG+DXy2G/BAIyEX2vBAL9GHvtddQYo0Ta8Vlk1jAvEu/WnrIFlKgfK1LelHmo8iSLtF5ESbTH01+ZfoMz0PZTPLRgyuiHJMRRqOotiHQP0K2RnPDPIhkBafH2qYEPPtkp4R5+lAzBBQU2g5PgQ0tIzzHzgfO2BW0iJ72XekYLk2GWkpj6RooraXLcA0NYqethCKVCHavZcwV1THe0YKuk8DIh3DyM5uNU0tpIOVwACDccYWyDqZIEIw94mCzgUbuohRXpbS00yMgAxuO00I3cq4AqAEu8w2QF0XX7fX6T8D5Ncie2m+p2mPnRWJm6ixNggSny8xLwLbTnEyJwKuCZBLfUVqcFa3RYtl/y3V7XUpvbJsXbmfXbx+fo8xXwBTCiVG5gJbAq4ArA2O4LgwQVyQrilnzFeTY5jFb3Or04hdfGDIVMzc0YbThTaeQCXV+EKAG0U5AR6b6dnRphTILf8DsFDFz2pdg3SYqQuvGVkTgVcc4AdIyK7zhTvB6UvR5AYaw/eQZD0yAJMwduDlDtt/3cAwCFwbLOjDO4E8f03GOfhRElNDjv11XJcVQHI/X6GdMpTxxmAEG69YGkQCK3uBPgSVcivbjjOyQtuOQBugOTxtPLltn7tzXx/gNZ+xlD9kYemiAbrOlHawuJI6wCTN0BtoxukxRRlibgxAJwPNB42nlDzOcMQiJqW+Gz0oSFHdpr60IGMH23rY+RwJ7C6PjOKDgTcAKDXDm0/buxzSHpKXZdJhQYEdGr2XTPpQAec55n06AW4bQE4u8nJ4Jdg/dFH+iUGok1n8+zSmGELzviGgGgAKDXIDAycBMmJq4SW8yY3BmRnRy2tgEsM7TxcjbPzTwx9SIi0jvGyyg1uAMAezfx6WtJcyOYrE9cRmc0DkeaS46qlQLK24jXS3+6ifHqumMjOW0YUAMpM3zc5D4vS26diQ8qYgPsfInhtSGqSsv7DqKAlq5bF8XpOa64MII2o1rFFrsGjzS0H8DDGjTkEAG6g7qU1BQO8FA03bBEMcAN1L60pGOClaLhhi2CAG6h7aU3BAC9Fww1bBAPcQN1LawoGeCkabtgiGOAG6l5aU4YPiL1k0P+0Rf94Wv+E3Icg4M/n/wI8zSMnzJLVKAAAAABJRU5ErkJggg==" mediaID="Game Code_cst_32"/><costume name="64" center-x="32" center-y="32" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAQKADAAQAAAABAAAAQAAAAABGUUKwAAADh0lEQVR4Ae1bTWgTQRR+m6TJxqQ2KlXEitJTEWqkWJVCSempXqRoD0pFRaxe9CaiR0Hw6KUHsSL4dxEt3j2YXgS1CLUiHkSrFJSKbWwNiUmTmLc6y87+5Me8DS4zc5mZNzNvv/e9t/NmElb5eG04Fot8f6wovgQIVEql4lQqvWFYWbrRnxTNeOZnJMEnqvFIAtruY2yIWksCRPU8s1tGAGNC1FpGgKieZ3bLCGBMiFrLCBDV88xuGQGMCVFrGQGiep7ZLSOAMSFqLSNAVM8zuwOs4UattKjgX7ddV11ML0Axvaj3a2n4Y1tBCUb0qasL7/Q2RcM1AnyR9dB68BZAKKbjLC5/gpUHx/V+tUZ45wgE95zlpuVejEPm9UNO1kjHtT1AjY9yxiPI/HSZkBoLEmg2vsaldU1zhYDAxi5o2XGIA1KYfwbZD1OcrFInvPd0pWGyMVcIUHuOWQBmX92xyJwESGCgc8hpmFROTkCwYzf4O/o4kPm3j6CezSs8cIlb72aHnIBQ3zkL3uzMfYvMSRDu2g++tduchsnlpAQ4gW89MgmRwYuAKa1SwbQZ7D1TaQr5GBkB1cDjOx0duQtqp/Of0Gr8MJ85fqXIDTYrJCPAAt78pL/90OBl20jQ0t6uE9yq3Mw9ru9Gh4QAO/CVwIYTFyzDa/rPczI8NFEeeDjlhg4JAcFN3QaVf5q48/+4OQDLt4eg8G2WG/e38/Mx7ZkzRyZ5lVvDOkp0M+B8qkJCgBJtt+DJvJzQZKV8FlZnrUdXoxF2aS9y4Dq0nUpa9OIBC8fwmExRSAhoBAga0sy0Z8ZKQkD+6xuzXgj3jmky3B8C3VZv4cFIyxzxo5a1zRSQ3Aa1Ux6mLMPND0O1zXQfYIbhvQCLdlU2rGHjzayV1ESiRPFAzO+Y4qqWMlErkyf13wWMe4HdWnzfjQU319z7J1BYmgPcXxotJBGAIPCmp0THK19hy8Znnl7Rjcd19dwRcH7p55e61+A6p0JGAD4A83bu83NQe0YhsGWf/kpgTi/MTwNmhnq9hinUmDYLi3NOtvyTnOwVsHs6bnJY6jXaTpdbMtIIMIP8nw1nWEnSIFPmxVoS4EWvUWKWEUDJphd1yQjwotcoMcsIoGTTi7pkBHjRa5SYZQRQsulFXTICvOg1SswyAijZ9KIuGQFe9BolZh9+QEyp0Eu6tI+n8RNyEUlAm9H237le20JUvQdsAAAAAElFTkSuQmCC" mediaID="Game Code_cst_64"/><costume name="128" center-x="32" center-y="32" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAQKADAAQAAAABAAAAQAAAAABGUUKwAAAEEUlEQVR4Ae1bS2yMURQ+Mx1m2mq180BCF5KWJiLxXqAaiWe8GikhKYuGSDyWUpsixEKERBos7FhIRLyFsJCKWFBBsCJBStJJO1pKO9PHjPl+/r/3MdP5/WOqyb1303vOPffe8/jOOXcmHdeLwzUlwXjkOlGimpQaruYOd6DGrabxiHSiGra71Ys8C/NEddIBag/tALXjT6QRoBGguAd0CigOAF0EdQroFFDcAzoFFAeA7gI6BXQKKO4BnQKKA4A8/8IBY6ZUcMf0f37H0SYBOe/EqZSXX0ixzjANhD/RQMcXczntX5fXR55QmbE3Fv5A6c5Pe8AwC1k5YNzcFVS0qI7yAlO5K9qatnCGuYtKKLBhP3krllhyRX9msXePqPPeWU7eEkpOcEfx8r3kzi+12PHeTopcOUix9y8tntOJ4xrgm7GQStY3SsZDEZevwNIH0Zu05wJnvLWYnMApE3acIzhJHOYdrPGQAR3a1kQi8sT9dmjHDvCWTrRzPpUuq+eil2oTDPKv3CUt+dcdkHgsI7ixkSUdzR07wO5tvpmrONHo69sUPl9PgD47fDPXsqQRXTbyfa0vqPvBKQL8zYHUA8KyGY4d0P3qIXXdPErtF/elvR+wZo2AYOTWaaOIRW6ckPYNB+n+jy307fE16m25wu1DccxmOC6C8e4u+vH8/l/lIaKYiEUNfQumLZD0HvzWbvES0R5rjkn+vFryTJou1ZJsO4JjB3DapSHgpM+HqqRVRBoFlB1wDuTNgfYI3tiy2QYLSGK7CJg9Ty+Z4o7/Ok4Bpzd6gpMpVHdS2t55r4njectnWcZzCwyB+vLfagCjh+0plPXXNEh1AbWEhTLkArVHMp4LVAQ38UjKuEkQGFEEQFkT0qYegDFqCTu85XMkJ3VcbjDSCZ2AHUiLbFAwYg7wr9kt5TBa4tc7Z1l7jLn4xkDLjL59YqyhE4hjbFmlyLJNj4gD8KIrWLCVUwoFDi3RzvD4h1pdqhdjPPrTzjEpZXLaBXAjKn5w83HpcvT14vmrOf73Z3eNNtnz8Q2ZnxUggAdPqO4Y9SX3eCuXcntADLS3Sjy7jJw6ANFKVfGhXGHVTklHGI5iCIMGIx+4zxnIdbEN4gCkh/m2kA60wchpCuSND0nFzIZOhkEdV49mFDU+FaZ4UWbcyAjkxAHiK465z/YUSMBnBiAh1UDk285s5x5PqeQy8VytBxcnMgkNt44WxL7HYTz7Jcdw73vxXPYtwK7hDPaLFDyZ08my++zMs3aAnUtGs0xOUmA0Gyzqph0gekQ1WiNAtYiL9moEiB5RjdYIUC3ior0aAaJHVKM1AlSLuGivRoDoEdVojQDVIi7aqxEgekQ1WiMg+S9NzapFfcheV7MbPyFX0wm/fz7/Cwa9J9WLo1yTAAAAAElFTkSuQmCC" mediaID="Game Code_cst_128"/><costume name="256" center-x="32" center-y="32" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAQKADAAQAAAABAAAAQAAAAABGUUKwAAAEkUlEQVR4Ae1bXYhNURTe99y5DDPX3LlmZEiGlISieFKGB/mNeRCizKA0fkIaQkpK8uC3REmEeFDECw8e/JSSJD8xkYxiXGYGM4y5xp07Y76jc1p7nzX33nPGi/beL2ettddZe6+1vrXXPrduqL66Mpb35ee1UMiqEBqN7u6uu52DCyotHZ1HnpFw+G7plnkKcvhuUYGOtAmAjlmnPhsE0GjoSBsE6Jh16rNBAI2GjrRBgI5Zpz4bBNBo6EgbBOiYdeqzQQCNho60QYCOWac+a4+APBqNIHRk4mjRf9xY+9XOpiaRft8gUm8SrCkrmi/C5cPYOUfY1fxVpBMtDss+sSYdqedvKeuLDhwAbCJWvVb0GzPJs2Dy/g3ReuG8x5GiquVi4KwlHn0q6GprEYkVy6hIoguXzBVFKzZLsk81yzxrSQoZmEAlEBlTJkp27Gedx1oDps0T8dodAhmnI1w6lLIsbRXGWDmEsBddVCXNt9+6HNh526ZkLUcmtm6zyLRRmAEykPF/OWCPrgu0tJ671KclfJcAsqDCHllof/hADFq6UpqLTJjas7kz7gb7T5ru0iA6ntyTeDDppk8eGQThspinfH5cPye6fvxi9XMV+g6AeoilEvXi2/G/TrYkT4kh+064a0fKRrk0RzTv2c+JWVlxzXpJjnXbLt+UZEEY3wEQyaS0TufbOpcvrJjh0iqBDKqj9NABW9RZ/9pGUMfDl6qKzdudRkEPJgbMrxC/Hz/t0xngOwBocQ2L5ng2mj9zigeiKA1nWCVxh3SfTinhie6A7tFy8pQH1ug26gC64mt3CpwD304fFL9uP1JVcuIDdQHVMjI0eMs+SYyNfb9yVZJlY9A9YutkZxFYJ1Dc+zgUsbZ6N+B0OVmfA+C0RNU4skIvNGEGAahjdSAI1JnogsWqCssXb9jGyrMJfZcANYiOwLXEL0d3eyAJiDbc9paOHcC9R6T2hpslbndcx3FsAxkUdSgJ2OrtFkr3Tek+ISBeu9UDT9R9pnpEdrF5Z2DDaGd05I+fbLNqx/n95olrG2uoCAqPGE7N5EQHRkDxxtVC7etw3mmJ6urQp9fgxver3GxZBYWSem93gVBBkaQXjhZLfPfPdonPhQkUAO7Ex2KpxoTAXZ2O3np1SQ/scU70Kx8lopVr6Csi+eKZzafffZTkgDkC2Xb3jkDLpbdCKKbq/H8UhT4snN0trZKFAYTpZSeLutsyUZ9DDp3Npm63tc811W4rjG/fZH9bZHsRt0o/FyvHnu8zwPn0dQzk+kStt148llW9+cAu13ko2/eCnpaaaaDlfj14OJNKr3O+A5AOUGfO6igHBAEbVgcOtMbd6+3Tn87hrt9YW8N+N0APmcd80G8C3yWA1qSeznTDKs39WIFrcd6IYSJSPtJW76h75XFctQMeZYSTPq+0VGT78YV7n5P5DgBn5H+W+S6B/9lZbu8mAFxUdJIZBOiUbc5XgwAuKjrJDAJ0yjbnq0EAFxWdZAYBOmWb89UggIuKTjKDAJ2yzflqEMBFRSeZQQD+Ra1Txqmv8N3CX8h1DILz9/k/5vx9J3nDZz0AAAAASUVORK5CYII=" mediaID="Game Code_cst_256"/><costume name="512" center-x="32" center-y="32.5" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABBCAYAAABhNaJ7AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAQKADAAQAAAABAAAAQQAAAAB7MWsAAAAER0lEQVR4Ae1cXUhUQRQ+u+r6W2b4l5balvmTlpYlSW5GJRWiCBFEVBb0RxRBQdRL+BL0EoWFQg+SkFAg9iAYViIaQlLZQ66hpmi5mkpqrlbq7rZn4V7vvc5u9zoicu8ckHvmzJw7833nzJnZFVYHTim58DhHZ/UvsvvY47CtdjE4bJ9m/GZfXC4726ArPVNeZLPpy9UOmoTPy8t+Wm93eN0ndWrBhtj1DrsjWAtgSRgRu57UoSUbI0BL0SZhZRlAYkVLNpYBWoo2CSvLABIrWrKxDNBStElYWQaQWNGSjWWAlqJNwsoygMSKlmwsA7QUbRJWzWeAN4kVJbaopCjYmpvo0WV8xArNT1v4MQEhAZB2OAWCQ4N4W1/7ILTVmfk2p2zOTYb4jBiI3hTuMvV3DMFQ709oqWqF2T8z3LAFP6kJSMg2gjF97X8XwBEQuy0W8q7sIY4XEuDt5wNHb+dByJoVorFIBP4l7jLCy0eNYGm3iPqVNqi3gJ+/QdGcydkbZI3PPpk5D7zQ0T/IAAcvmWBlFN23+tQE+AYqI0AIwp2OoJKzjKLu0YEJwPQXCpKwLiVaaFKsU28Bbm9yMz8rruVU/jk1NsnrqCCQv5PTbrdOSOQq0XgE/7y4xrXn957bLSInJimSWDtEL/DQoCZA+m6Dc++ijA2OwdTolLQbah/Uu2xY3NzVjqDQQJFfR0sPX/Amhq2iPtoGFQGk/Vd4Yz+/JoxcTUk9/LKM8zY5yrfP/dBQOTcS2yg4X2bBlrkOp4YnDI1QEWDw9bz/sYKfuFMA1XdfK6rWSFibhDQ8Oo/cOjQPa0dzzzybEgN1EZQzGVZrPNYWKuibe9EEWPSE0lD5HkZ6hoUmxTpVBmBxw0UIxToyCdFJEZB+YO5yhAuPy4iFrrddwqGydTwSpcW29dUXquLHTU5HgLPICS8v3Et7P/a6VCEJ4bGrnQRwI+Q/MwrTRFUfPfEU4S5W8t9EHklFQOj6MIiIDwM8ikIig6HyZjU/C15XhSK89grtnnS8NUqLHoKvuffGk5uiPioCduSnio6yrOM7XZHBPZti2ihaCN71lQiSK70y/7ZOu8AvxmcAbi1UBJibvooIwJTHO7q0WOFkPzrlFys87vKv7ePWyD/xvefLjvFtVLpbv/N3C1GHzAbVKdBvthCvp9K5zc3diqr19rxUIonS9y5Gm4oATMW60kbA1HQnGKGminfuuol2pR+wiC+RaaTaAjgHXncrrldBgime/9yOhAx0DkHnhz63Rx8el0gOJ8IagX5yZbhPXGzl+nHjdA9PPXFwDS0+qbaAGghjBKghijQYWAbQsKcGX5YBaogiDQaWATTsqcGXZYAaokiDgWUADXtq8GUZoIYo0mBgGUDDnhp8WQaoIYo0GFgG6PQ6Zf+8p6F7mfkidr1eZ7u6zNa1ZMtB7DqcDX8/YHbaO2fJZl4GE3kbZhvw9wP+AZuvMlqtfXq0AAAAAElFTkSuQmCC" mediaID="Game Code_cst_512"/><costume name="1024" center-x="32" center-y="32.5" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABBCAYAAABhNaJ7AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAQKADAAQAAAABAAAAQQAAAAB7MWsAAAAE0klEQVR4Ae1ca2hUVxCeu6YJS2NSjRowJq2sD4zxkVBNmhbZqogSNcS3EXErraCC1kdJzZ/6ACFo1R+thSqY/rFIixofJPhDI+Ij/lCR+DYUTS1YTTQ+iOtru9+x53ru2bPJbvb+ubnnQLhzZs7MPTPzzczdPzEovGYFfvG/CaYGXtOrT7Dv7iuJjEs9Ul4c/LN6ab0xo3xPIPTW2NPdnVb5Z3hCX3noDe1QCV3BC/vuCRlGuiucVTgJ3z0KvqtYOgCuSrfCWY0ARVBcxdIIcFW6Fc5qBCiC4iqWRoCr0q1wViNAERRXsTQCXJVuhbMaAYqguIqlEeCqdCuc1QhQBMVVrKR4vO2f2ZO8KR8wlfbgK/rn/lOleq90L2X160nZA3pRS8szanncTk13W5VnRSbsj8rtz1jNfz9iOu3B1+IRJR3rvVTKMQUADi1Z/BkVjs222Jgx/zfLHufKZxfQhAmDLHxsmu8+pl27z1LjrX8jZN6UJFqxbFyE/SdtQdq58xSdv3wvQoczoLt5QwmlpadwFsn3MgUKIqYeUFSQE3E52RaysL2qVOk8zmbnfEQbN06hRfPGyKq0eGGh0j6c+n7dRMob3C9ChzPmlOVbnOf8WJ8xBaAzY6osRNMpLc0lf9FAUwzUiIgBUhrON5tyECVT8yx7vvHl9CbYS2TFVAKox12/nqPi4oE0PC8z4n1yFjh0b91ppd5hBydPGmZxMhAopIaLzYT6hlxc6zcfo0dt7Qwp3LlhQ9UImDVztKjaJTqmAKBu8TdydJbyJV/6fSYfzq+qqGFOgAlnft59msl5pgHtEUMzWW2jmYoZx3kgqiD/XTOEYluYJ6+xI7OUZSOf62wfUwA6MoLaFxvQkaNXTedFvb1/XLCgIOfjDBYATJKq7cfFo1S5diLrGZxZV3edk+yJAC1Y8KmF19VNwj2Aj0V+gefPgpy0PJFZcfkG9RG3Jo0mKZbZlcb7VH+myZSD8Bf7zAABcTU1Vy3yeDYJI0B+2Yep78eRKEOzE1fT7YfiltFojrzuwYBz2346yXoFPww7c+fm8y3t23fRpLtCJIwA+QNnakkuyc7iYtOnWDv5wwfWjyiMuhUrx5k+wPnKH45GlBPsiCX3zZIiwp+49v++yDJpRJlMJxwAGBQhiMutr5zEZjdqFT1i+defWzILHUwBvnBm7ZrxfMuem8LTQP7SjGfseb3JFnvRNraUwKHaRsIk4JnhHz3RXoqRyj9xEaSK1eNNXa6zpWoaJ9lX5MrwZME4tXvZEgA0uK0/HmdZ5EGIdlGgpfbEDVMsNjSTKREIKNaBw5ep7tg1SUr0Rbgpir3ju4rD1Co13Qil/xm2BAC28J2Aml1YPkY5n1HT1dUNVH/ur2h36ZQvlwRXGOLry0n2lPuSRShtjLJ51SGJF3WLWuVjr6Nfgzg3IDONMjJSma2bTQ+i/hp81yfSor4Tgo7eBbloo7OzOC+uuAIgKnYX2pYp4ORg6AA4OXt23F0jwI4oOtmGRoCTs2fH3TUC7Iiik21oBDg5e3bcXSPAjig62YZGgJOzZ8fdNQLsiKKTbWgEODl7dtxdI8COKDrZhscIhdqc7EAid4fvHupB3yZixNG6Yd8NOID/H+B5mex3tDNxXv5t8st6/P+A/wCC0GJW3zOxogAAAABJRU5ErkJggg==" mediaID="Game Code_cst_1024"/><costume name="2048" center-x="32" center-y="32.5" image="data:image/png;base64,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" mediaID="Game Code_cst_2048"/><costume name="0" center-x="240" center-y="180" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAB4KADAAQAAAABAAABaAAAAAAHwbojAAAL30lEQVR4Ae3QMQEAAADCoPVPbQwfiEBhwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGPgMDI3+AAEeFvcCAAAAAElFTkSuQmCC" mediaID="Game Code_cst_0"/></media></snapdata>