<snapdata remixID="14087232"><project name="12-6-24 Programming Review" app="Snap! 10.1-dev, https://snap.berkeley.edu" version="2"><notes></notes><thumbnail>data:image/png;base64,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</thumbnail><scenes select="1"><scene name="12-6-24 Programming Review"><notes></notes><hidden></hidden><headers></headers><code></code><blocks><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><list></list></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><list></list></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="empty? %&apos;data&apos;" type="predicate" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportVariadicEquals"><list><block var="data"/><block s="reportNewList"><list></list></block></list></block></block></script></block-definition><block-definition s="keep items such that %&apos;pred&apos; from %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%predRing"></input><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doIf"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script><list></list></block><block s="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></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></translations><inputs><input type="%repRing"></input><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doIf"><custom-block s="empty? %l"><block s="reportCDR"><block var="data"/></block></custom-block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="data"/></block></block></script><list></list></block><block s="doReport"><block s="evaluate"><block var="function"/><list><block s="reportListItem"><l>1</l><block var="data"/></block><custom-block s="combine with %repRing items of %l"><block var="function"/><block s="reportCDR"><block var="data"/></block></custom-block></list></block></block></script></block></script></block-definition><block-definition s="if %&apos;test&apos; then %&apos;true&apos; else %&apos;false&apos;" type="reporter" category="control"><header></header><code></code><translations></translations><inputs><input type="%b"></input><input type="%anyUE"></input><input type="%anyUE"></input></inputs><script><block s="doIfElse"><block var="test"/><script><block s="doReport"><block s="evaluate"><block var="true"/><list></list></block></block></script><script><block s="doReport"><block s="evaluate"><block var="false"/><list></list></block></block></script></block></script></block-definition><block-definition s="for %&apos;i&apos; = %&apos;start&apos; to %&apos;end&apos; %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%n">1</input><input type="%n">10</input><input type="%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>step</l><l>tester</l></list></block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block var="start"/><block var="end"/></list></block><script><block s="doSetVar"><l>step</l><l>-1</l></block><block s="doSetVar"><l>tester</l><block s="reifyReporter"><autolambda><block s="reportVariadicLessThan"><list><block var="i"/><block var="end"/></list></block></autolambda><list></list></block></block></script><script><block s="doSetVar"><l>step</l><l>1</l></block><block s="doSetVar"><l>tester</l><block s="reifyReporter"><autolambda><block s="reportVariadicGreaterThan"><list><block var="i"/><block var="end"/></list></block></autolambda><list></list></block></block></script></block><block s="doSetVar"><l>i</l><block var="start"/></block><block s="doUntil"><block s="evaluate"><block var="tester"/><list></list></block><script><block s="doRun"><block var="action"/><list></list></block><block s="doChangeVar"><l>i</l><block var="step"/></block></script></block></script></block-definition><block-definition s="join words %&apos;words&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%mult%txt"></input></inputs><script><block s="doWarp"><script><block s="doIf"><custom-block s="empty? %l"><block s="reportCDR"><block var="words"/></block></custom-block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="words"/></block></block></script><list></list></block><block s="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></script></block-definition><block-definition s="list $arrowRight sentence %&apos;data&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doReport"><custom-block s="join words %mult%txt"><block var="data"/></custom-block></block></script></block></script></block-definition><block-definition s="sentence $arrowRight list %&apos;text&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doWarp"><script><block s="doReport"><block s="reportTextSplit"><block var="text"/><l><option>whitespace</option></l></block></block></script></block></script></block-definition><block-definition s="catch %&apos;tag&apos; %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations></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></script></block-definition><block-definition s="throw %&apos;cont&apos;" type="command" category="control"><header></header><code></code><translations></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></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></translations><inputs><input type="%s">catchtag</input><input type="%s"></input></inputs><script><block s="doRun"><block var="tag"/><list><block var="value"/></list></block></script></block-definition><block-definition s="for each %&apos;item&apos; of %&apos;data&apos; %&apos;action&apos;" type="command" category="lists"><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%l"></input><input type="%cs"></input></inputs><script><block s="doUntil"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doSetVar"><l>item</l><block s="reportListItem"><l>1</l><block var="data"/></block></block><block s="doRun"><block var="action"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><block s="doSetVar"><l>data</l><block s="reportCDR"><block var="data"/></block></block></script></block></script></block-definition><block-definition s="if %&apos;test&apos; do %&apos;action&apos; and pause all $pause-1-255-220-0" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%boolUE"></input><input type="%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>breakpoint</l></list></block><block s="doIf"><block s="evaluate"><block var="test"/><list></list></block><script><block s="doSetVar"><l>breakpoint</l><block var="test"/></block><block s="doShowVar"><l>breakpoint</l></block><block s="doRun"><block var="action"/><list></list></block><block s="doPauseAll"></block><block s="doHideVar"><l></l></block></script><list></list></block></script></block-definition><block-definition s="word $arrowRight list %&apos;word&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doWarp"><script><block s="doReport"><block s="reportTextSplit"><block var="word"/><l><option>letter</option></l></block></block></script></block></script></block-definition><block-definition s="ignore %&apos;x&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs></block-definition><block-definition s="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="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="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="addItem" type="command" category="sensing"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doAsk"><l>What would you like to add to your list?</l></block><block s="doSetVar"><l>newItem</l><block s="getLastAnswer"></block></block><block s="doSetVar"><l>onList</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doForEach"><l>item</l><block var="shoppingList"/><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="item"/><block var="newItem"/></list></block><script><block s="doSetVar"><l>onList</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="onList"/><block s="reportBoolean"><l><bool>true</bool></l></block></list></block><script><block s="doSayFor"><l>That is already on the list.</l><l>2</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="onList"/><block s="reportBoolean"><l><bool>false</bool></l></block></list></block><script><block s="doSayFor"><block s="reportJoinWords"><list><block var="newItem"/><l> has been added to the list</l></list></block><l>2</l></block><block s="doAddToList"><block var="newItem"/><block var="shoppingList"/></block></script><list></list></block></script></block-definition><block-definition s="searchList" type="command" category="sound"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doAsk"><l>What item are you searching for?</l></block><block s="doSetVar"><l>onList</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l>newItem</l><block s="getLastAnswer"></block></block><block s="doForEach"><l>item</l><block var="shoppingList"/><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="item"/><block var="newItem"/></list></block><script><block s="doSetVar"><l>onList</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSayFor"><block s="reportJoinWords"><list><block var="newItem"/><l> is on the lst.</l></list></block><l>2</l></block></script><list></list></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="onList"/><block s="reportBoolean"><l><bool>false</bool></l></block></list></block><script><block s="doSayFor"><block s="reportJoinWords"><list><block var="newItem"/><l> is not on the list.</l></list></block><l>2</l></block></script><list></list></block></script></block-definition><block-definition s="deleteItem" type="command" category="looks"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doAsk"><l>What would you like to delete from the list?</l></block><block s="doSetVar"><l>newItem</l><block s="getLastAnswer"></block></block><block s="doSetVar"><l>index</l><block s="reportListIndex"><block var="newItem"/><block var="shoppingList"/></block></block><block s="doSetVar"><l>onList</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doForEach"><l>item</l><block var="shoppingList"/><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="item"/><block var="newItem"/></list></block><script><block s="doSetVar"><l>onList</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="onList"/><block s="reportBoolean"><l><bool>true</bool></l></block></list></block><script><block s="doSayFor"><block s="reportJoinWords"><list><block var="newItem"/><l> has been deleted from the list</l></list></block><l>2</l></block><block s="doDeleteFromList"><block var="index"/><block var="shoppingList"/></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="onList"/><block s="reportBoolean"><l><bool>false</bool></l></block></list></block><script><block s="doSayFor"><l>That is not on the list.</l><l>2</l></block></script><list></list></block></script></block-definition><block-definition s="clearItems" type="command" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeleteFromList"><l><option>all</option></l><block var="shoppingList"/></block><block s="doSayFor"><l>The list has been cleared</l><l>2</l></block></script></block-definition><block-definition s="swapItems %&apos;item1&apos; %&apos;item2&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%txt" initial="1"></input><input type="%txt" initial="1"></input></inputs><script><block s="doAsk"><l>What is the first variable you want to switch?</l></block><block s="doSetVar"><l>item1</l><block s="getLastAnswer"></block></block><block s="doAsk"><l>What is the second variable you want to switch?</l></block><block s="doSetVar"><l>item2</l><block s="getLastAnswer"></block></block><block s="doSetVar"><l>onList</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doForEach"><l>item</l><block var="shoppingList"/><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="item1"/><block var="item"/></list></block><script><block s="doSetVar"><l>onList</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>index</l><block s="reportListIndex"><block var="item1"/><block var="shoppingList"/></block></block></script><list></list></block></script></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="onList"/><block s="reportBoolean"><l><bool>false</bool></l></block></list></block><script><block s="doSayFor"><block s="reportJoinWords"><list><block var="newItem"/><l> is not on the list.</l></list></block><l>2</l></block></script><script><block s="doForEach"><l>item</l><block var="shoppingList"/><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="item2"/><block var="item"/></list></block><script><block s="doSetVar"><l>index2</l><block s="reportListIndex"><block var="item2"/><block var="shoppingList"/></block></block><block s="doSetVar"><l>onList</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block></script></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="onList"/><block s="reportBoolean"><l><bool>true</bool></l></block></list></block><script><block s="doReplaceInList"><block var="index"/><block var="shoppingList"/><block var="item2"/></block><block s="doReplaceInList"><block var="index2"/><block var="shoppingList"/><block var="item1"/></block><block s="doSayFor"><block s="reportJoinWords"><list><block var="item1"/><l> and </l><block var="item2"/><l> have been swapped</l></list></block><l>2</l></block></script><script><block s="doSayFor"><block s="reportJoinWords"><list><block var="newItem"/><l> is not on the list</l></list></block><l>2</l></block></script></block></script></block></script></block-definition></blocks><primitives></primitives><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="906"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAAAXNSR0IArs4c6QAADoVJREFUeF7t1cEJAAAIxDDdf2m3sJ+4wEEQuuMIECBAgACBd4F9XzRIgAABAgQIjAB7AgIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECByxcQFpoRMBzwAAAABJRU5ErkJggg==</pentrails><costumes><list struct="atomic" id="907"></list></costumes><sounds><list struct="atomic" id="908"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><sprite name="Add Item" idx="1" x="0" y="50" heading="90" scale="1" volume="100" pan="0" rotation="2" draggable="true" costume="0" color="80,80,80,1" pen="tip" id="913"><costumes><list struct="atomic" id="914"></list></costumes><sounds><list struct="atomic" id="915"></list></sounds><blocks></blocks><variables></variables><scripts><script x="71.05166625976562" y="225.52870686848962"><custom-block s="searchList"></custom-block></script><script x="72.69296264648438" y="266.9044291178386"><custom-block s="addItem"></custom-block></script><script x="73.1549072265625" y="309.1490478515625"><custom-block s="deleteItem"></custom-block></script><script x="70.61287307739258" y="352.56855265299475"><custom-block s="clearItems"></custom-block></script><script x="61.481475830078125" y="137.22392425537112"><block s="doSetVar"><l>shoppingList</l><block s="reportNewList"><list><l>cheese</l><l>apples</l><l>lettuce</l><l>chicken</l><l>yogurt</l><l>icecream</l><l>bananas</l><l>ketchup</l><l>bread</l><l>juice</l></list></block></block></script><script x="73.2066650390625" y="403.7718505859367"><custom-block s="swapItems %txt %txt"><l></l><l></l></custom-block></script></scripts></sprite><watcher var="newItem" style="normal" x="10" y="52.00000399999999" color="243,118,29" hidden="true"/><watcher var="index" style="normal" x="13.69287109375" y="203.5158064760742" color="243,118,29" hidden="true"/><watcher var="temp" style="normal" x="10" y="73.00000599999998" color="243,118,29" hidden="true"/><watcher var="index2" style="normal" x="10" y="94.00000799999998" color="243,118,29" hidden="true"/><watcher var="shoppingList" style="normal" x="10" y="115.00000999999997" color="243,118,29" extX="80" extY="70"/></sprites></stage><variables><variable name="newItem"><l>apples</l></variable><variable name="index"><l>2</l></variable><variable name="onList"><bool>true</bool></variable><variable name="shoppingList"><list struct="atomic" id="948">apples,cheese,lettuce,chicken,yogurt,icecream,bananas,ketchup,bread,juice</list></variable><variable name="temp"><l>0</l></variable><variable name="index2"><l>1</l></variable></variables></scene></scenes></project><media name="12-6-24 Programming Review" app="Snap! 10.1-dev, https://snap.berkeley.edu" version="2"></media></snapdata>