<snapdata remixID="9157446"><project name="SequentialSearch" app="Snap! 5.4, http://snap.berkeley.edu" version="1"><notes></notes><thumbnail>data:image/png;base64,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</thumbnail><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" codify="false" inheritance="false" sublistIDs="false" scheduled="false" id="1"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAOhUlEQVR4Xu3VwQkAAAjEMN1/abewn7jAQRC64wgQIECAAIF3gX1fNEiAAAECBAiMAHsCAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+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+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQIHLFxAWmhEwHPAAAAAElFTkSuQmCC</pentrails><costumes><list struct="atomic" id="2"></list></costumes><sounds><list struct="atomic" id="3"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites><sprite name="Sprite" idx="1" x="0" y="0" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="0" color="80,80,80,1" pen="tip" id="8"><costumes><list struct="atomic" id="9"></list></costumes><sounds><list struct="atomic" id="10"></list></sounds><blocks></blocks><variables></variables><scripts><comment x="30" y="10" w="457" collapsed="false">1. Write your own version of the SNAP &quot;contains&quot; block, which takes a list and avalue as arguments and reports true if the value is anywhere in the list and reports false otherwise.  &#xD;&#xD;You should NOT use the existing &quot;contains&quot; block in your implementation.</comment><script x="30" y="95"><custom-block s="%s is in %l ?"><l></l><l/><comment w="90" collapsed="true">Implement me</comment></custom-block></script><comment x="30" y="325" w="457" collapsed="false">2. Write a custom block called &quot;index of&quot; that takes a list and a value as arguments and reports the index at which the value is found in the list, if it is there.  If the value is not present anywhere in the list, report -1.</comment><script x="30" y="396"><custom-block s="index of %s in %l"><l></l><l/><comment w="90" collapsed="true">Implement me</comment></custom-block></script><script x="30" y="421"><custom-block s="run test suite %l"><custom-block s="make test suite %mult%l"><list><custom-block s="make test (index of %s in %l ) = %n"><l>foo</l><block s="reportNewList"><list></list></block><l>-1</l></custom-block><custom-block s="make test (index of %s in %l ) = %n"><l>foo</l><block s="reportNewList"><list><l>foo</l></list></block><l>1</l></custom-block><custom-block s="make test (index of %s in %l ) = %n"><l>foo</l><block s="reportNewList"><list><l>bar</l></list></block><l>-1</l></custom-block><custom-block s="make test (index of %s in %l ) = %n"><l>foo</l><block s="reportNewList"><list><l>foo</l><l>bar</l><l>baz</l></list></block><l>1</l></custom-block><custom-block s="make test (index of %s in %l ) = %n"><l>bar</l><block s="reportNewList"><list><l>foo</l><l>bar</l><l>baz</l></list></block><l>2</l></custom-block><custom-block s="make test (index of %s in %l ) = %n"><l>baz</l><block s="reportNewList"><list><l>foo</l><l>bar</l><l>baz</l></list></block><l>3</l></custom-block><custom-block s="make test (index of %s in %l ) = %n"><l>quuz</l><block s="reportNewList"><list><l>foo</l><l>bar</l><l>baz</l></list></block><l>-1</l></custom-block></list></custom-block></custom-block><block s="doReport"><l>Tests pass</l></block></script><comment x="30" y="636" w="457" collapsed="false">3. Write a custom block called &quot;first e-word&quot; that takes a list as an argument and reports the first word in the list that starts with the letter &apos;e&apos;.  If no such word exists, report a blank (nothing).</comment><script x="30" y="695"><custom-block s="first e-word of %l"><l/><comment w="90" collapsed="true">Implement me</comment></custom-block></script><script x="30" y="721"><custom-block s="run test suite %l"><custom-block s="make test suite %mult%l"><list><custom-block s="make test (first e-word of %l ) = %s"><block s="reportNewList"><list></list></block><l></l></custom-block><custom-block s="make test (first e-word of %l ) = %s"><block s="reportNewList"><list><l>foo</l></list></block><l></l></custom-block><custom-block s="make test (first e-word of %l ) = %s"><block s="reportNewList"><list><l>foo</l><l>bar</l><l>baz</l></list></block><l></l></custom-block><custom-block s="make test (first e-word of %l ) = %s"><block s="reportNewList"><list><l>eFoo</l><l>bar</l><l>baz</l></list></block><l>eFoo</l></custom-block><custom-block s="make test (first e-word of %l ) = %s"><block s="reportNewList"><list><l>foo</l><l>eBar</l><l>baz</l></list></block><l>eBar</l></custom-block><custom-block s="make test (first e-word of %l ) = %s"><block s="reportNewList"><list><l>foo</l><l>bar</l><l>eBaz</l></list></block><l>eBaz</l></custom-block><custom-block s="make test (first e-word of %l ) = %s"><block s="reportNewList"><list><l>eFoo</l><l>bar</l><l>eBaz</l></list></block><l>eFoo</l></custom-block><custom-block s="make test (first e-word of %l ) = %s"><block s="reportNewList"><list><l>foo</l><l>eBar</l><l>eBaz</l></list></block><l>eBar</l></custom-block></list></custom-block></custom-block><block s="doReport"><l>Tests pass</l></block></script><comment x="30" y="958" w="457" collapsed="false">4. BONUS: Write a custom block called &quot;first word that starts with&quot; that takes a list and a letter as arguments, and reports the first word in the list that starts with the given letter.  If no such word exists, report a blank (nothing).</comment><script x="30" y="1032"><custom-block s="first word of %l that starts with %s"><l/><l></l><comment w="90" collapsed="true">Implement me</comment></custom-block></script><script x="30" y="1060"><custom-block s="run test suite %l"><custom-block s="make test suite %mult%l"><list><custom-block s="make test (first word of %l that starts with %s ) = %s"><block s="reportNewList"><list></list></block><l>q</l><l></l></custom-block><custom-block s="make test (first word of %l that starts with %s ) = %s"><block s="reportNewList"><list><l>foo</l></list></block><l>q</l><l></l></custom-block><custom-block s="make test (first word of %l that starts with %s ) = %s"><block s="reportNewList"><list><l>foo</l><l>bar</l><l>baz</l></list></block><l>q</l><l></l></custom-block><custom-block s="make test (first word of %l that starts with %s ) = %s"><block s="reportNewList"><list><l>foo</l><l>bar</l><l>baz</l></list></block><l>f</l><l>foo</l></custom-block><custom-block s="make test (first word of %l that starts with %s ) = %s"><block s="reportNewList"><list><l>foo</l><l>bar</l><l>baz</l></list></block><l>b</l><l>bar</l></custom-block><custom-block s="make test (first word of %l that starts with %s ) = %s"><block s="reportNewList"><list><l>foo</l><l>bar</l><l>baz</l><l>quux</l></list></block><l>q</l><l>quux</l></custom-block></list></custom-block></custom-block><block s="doReport"><l>Tests pass</l></block></script><script x="33" y="120"><custom-block s="run test suite %l"><custom-block s="make test suite %mult%l"><list><custom-block s="make test &lt; %s is in %l ?&gt; = %b"><l>foo</l><block s="reportNewList"><list></list></block><l><bool>false</bool></l></custom-block><custom-block s="make test &lt; %s is in %l ?&gt; = %b"><l>foo</l><block s="reportNewList"><list><l>foo</l></list></block><l><bool>true</bool></l></custom-block><custom-block s="make test &lt; %s is in %l ?&gt; = %b"><l>foo</l><block s="reportNewList"><list><l>bar</l></list></block><l><bool>false</bool></l></custom-block><custom-block s="make test &lt; %s is in %l ?&gt; = %b"><l>foo</l><block s="reportNewList"><list><l>foo</l><l>bar</l><l>baz</l></list></block><l><bool>true</bool></l></custom-block><custom-block s="make test &lt; %s is in %l ?&gt; = %b"><l>bar</l><block s="reportNewList"><list><l>foo</l><l>bar</l><l>baz</l></list></block><l><bool>true</bool></l></custom-block><custom-block s="make test &lt; %s is in %l ?&gt; = %b"><l>baz</l><block s="reportNewList"><list><l>foo</l><l>bar</l><l>baz</l></list></block><l><bool>true</bool></l></custom-block><custom-block s="make test &lt; %s is in %l ?&gt; = %b"><l>quuz</l><block s="reportNewList"><list><l>foo</l><l>bar</l><l>baz</l></list></block><l><bool>false</bool></l></custom-block></list></custom-block></custom-block><block s="doReport"><l>Tests pass</l></block></script><script x="793" y="394"><block s="doSetVar"><l>list2list</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>list2</l><block s="reportNewList"><list><l>foo</l><l>bar</l><l>baz</l><l>quuz</l></list></block></block><custom-block s="index of"></custom-block></script><script x="563" y="399"><block s="doSetVar"><l>list2list</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>list2</l><block s="reportNewList"><list><l>foo</l><l>bar</l><l>baz</l><l></l></list></block></block><custom-block s="index of"></custom-block></script><script x="461" y="692"><block s="doSetVar"><l>list3list</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>list3</l><block s="reportNewList"><list><l>foo</l><l>bar</l><l>baz</l></list></block></block><custom-block s="first e-word"></custom-block></script><script x="698" y="691"><block s="doSetVar"><l>list3list</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>list3</l><block s="reportNewList"><list><l>efoo</l><l>bar</l><l>baz</l></list></block></block><custom-block s="first e-word"></custom-block></script><script x="918" y="690"><block s="doSetVar"><l>list3list</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>list3</l><block s="reportNewList"><list><l>foo</l><l>ebar</l><l>baz</l></list></block></block><custom-block s="first e-word"></custom-block></script><script x="924" y="826"><block s="doSetVar"><l>list3list</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>list3</l><block s="reportNewList"><list><l>foo</l><l>bar</l><l>ebaz</l></list></block></block><custom-block s="first e-word"></custom-block></script><script x="513" y="1048"><block s="doSetVar"><l>list4list</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>list4</l><block s="reportNewList"><list><l>foo</l><l>bar</l><l>baz</l><l>quux</l></list></block></block><custom-block s="first word that starts with"></custom-block></script><script x="761" y="1044"><block s="doSetVar"><l>list4list</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>list4</l><block s="reportNewList"><list><l>foo</l><l>bar</l><l>baz</l></list></block></block><custom-block s="first word that starts with"></custom-block></script><script x="976" y="1046"><block s="doSetVar"><l>list4list</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>list4</l><block s="reportNewList"><list><l>foo</l><l>bar</l><l>baz</l></list></block></block><custom-block s="first word that starts with"></custom-block></script><script x="501" y="37"><block s="doSetVar"><l>list1</l><block s="reportNewList"><list><l>foo</l><l>bar</l><l>baz</l></list></block></block><custom-block s="contains"></custom-block></script><script x="703" y="37"><block s="doSetVar"><l>list1</l><block s="reportNewList"><list><l>bar</l><l>foo</l><l>foo</l></list></block></block><custom-block s="contains"></custom-block></script><script x="905" y="38"><block s="doSetVar"><l>list1</l><block s="reportNewList"><list><l>foo</l><l>bar</l><l>baz</l></list></block></block><custom-block s="contains2"></custom-block></script></scripts></sprite><watcher var="list1" style="normal" x="10" y="10" color="243,118,29" extX="80" extY="70"/><watcher var="list3" style="normal" x="253" y="6.00000399999999" color="243,118,29" extX="80" extY="70"/><watcher var="list3list" style="normal" x="256" y="265.00001" color="243,118,29" extX="80" extY="70"/><watcher var="list3w3" style="normal" x="252" y="171.00000999999997" color="243,118,29" extX="80" extY="70"/><watcher var="list3w2" style="normal" x="248" y="132.00000799999998" color="243,118,29" extX="80" extY="70"/><watcher var="list3w1" style="normal" x="253" y="99.00000599999998" color="243,118,29" extX="80" extY="70"/><watcher var="list2" style="normal" x="131" y="15.000001999999995" color="243,118,29" extX="80" extY="70"/><watcher var="list2list" style="normal" x="135" y="112.00000599999998" color="243,118,29" extX="80" extY="70"/><watcher var="list4" style="normal" x="374" y="11.000001999999995" color="243,118,29" extX="80" extY="70"/><watcher var="list4w1" style="normal" x="367" y="91.00000399999999" color="243,118,29" extX="80" extY="70"/><watcher var="list4w2" style="normal" x="366" y="122.00000599999998" color="243,118,29" extX="80" extY="70"/><watcher var="list4w3" style="normal" x="368" y="152.00000799999998" color="243,118,29" extX="80" extY="70"/><watcher var="list4list" style="normal" x="369" y="221.000002" color="243,118,29" extX="80" extY="70"/></sprites></stage><hidden></hidden><headers></headers><code></code><blocks><block-definition s="%&apos;item&apos; is in %&apos;list&apos; ?" type="predicate" category="lists"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%l"></input></inputs><script><block s="doReport"><l>Not implemented</l></block></script></block-definition><block-definition s="index of %&apos;item&apos; in %&apos;list&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%l"></input></inputs><script><block s="doReport"><l>Not implemented</l></block></script></block-definition><block-definition s="first e-word of %&apos;list&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><l>Not implemented</l></block></script></block-definition><block-definition s="first word of %&apos;list&apos; that starts with %&apos;letter&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%s"></input></inputs><script><block s="doReport"><l>Not implemented</l></block></script></block-definition><block-definition s="safely try %&apos;action&apos; then if %&apos;error&apos; %&apos;handler&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%cs"></input><input type="%upvar"></input><input type="%cs"></input></inputs><script><custom-block s="let %upvar be %s"><l>reset</l><block s="evaluate"><block s="reportJSFunction"><list><l>proc</l></list><l>var oldHandleError = proc.handleError,&#xD;    oldCatchingErrors = proc.isCatchingErrors;&#xD;&#xD;return function(){&#xD; proc.handleError = oldHandleError;&#xD; proc.isCatchingErrors = oldCatchingErrors;&#xD;}</l></block><list></list></block></custom-block><block s="doCallCC"><block s="reifyScript"><script><block s="doRun"><block s="reportJSFunction"><list><l>reset</l><l>action</l><l>handler</l><l>proc</l></list><l>proc.isCatchingErrors = true;&#xD;proc.handleError = function(error, element){&#xD; reset();&#xD; proc.context = handler;&#xD; proc.context.variables.setVar("error", error);&#xD;}&#xD;&#xD;try{&#xD; proc.evaluate(action, new List(), true);&#xD;}&#xD;catch(e){&#xD; proc.handleError(e, null);&#xD;} </l></block><list><block var="reset"/><block var="action"/><block s="reifyScript"><script><block s="doRun"><block s="reifyScript"><script><block s="doRun"><block var="handler"/><list></list></block><block s="doRun"><block var="return"/><list></list></block></script><list></list></block><list></list></block></script><list></list></block></list></block></script><list><l>return</l></list></block></block><block s="doRun"><block var="reset"/><list></list></block></script></block-definition><block-definition s="error %&apos;msg&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>msg</l></list><l>throw new Error(msg);</l></block><list><block var="msg"/></list></block></script></block-definition><block-definition s="let %&apos;var&apos; be %&apos;val&apos;" type="command" category="other"><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%s"></input></inputs><script><block s="doSetVar"><l>var</l><block var="val"/></block></script></block-definition><block-definition s="run test suite %&apos;suite&apos;" type="command" category="other"><comment x="0" y="0" w="262" collapsed="false">Runs the tests in the given suite and throws an error if any fail.&#xD;&#xD;If the this block finished without error, then all tests passed.&#xD;&#xD;Use (make test suite ...) to build a test quite.&#xD;&#xD;Enables strict list bounds checking before running.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><custom-block s="set strict lists %b"><l><bool>true</bool></l></custom-block><custom-block s="let %upvar be %s"><l>index</l><l>1</l></custom-block><block s="doRepeat"><block s="reportListLength"><block var="suite"/></block><script><custom-block s="run test %l"><block s="reportListItem"><block var="index"/><block var="suite"/></block></custom-block><block s="doChangeVar"><l>index</l><l>1</l></block></script></block></script></block-definition><block-definition s="run test %&apos;test&apos;" type="command" category="other"><comment x="0" y="0" w="243" collapsed="false">Run a single test.&#xD;&#xD;If this block completes without error, then the test passed, otherwise this block will throw an error that includes:&#xD;- a description of the test&#xD;- the expected result&#xD;- the actual result&#xD;&#xD;Use (make test ...) to create a test.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><custom-block s="unpack test %l $arrowRight %upvar %upvar %upvar"><block var="test"/><l>expr</l><l>expected</l><l>desc</l></custom-block><block s="doDeclareVariables"><list><l>result</l></list></block><custom-block s="safely try %cs then if %upvar %cs"><script><block s="doSetVar"><l>result</l><block s="evaluate"><block var="expr"/><list></list></block></block></script><l>error</l><script><block s="doSetVar"><l>result</l><block var="error"/></block></script></custom-block><block s="doIf"><block s="reportNot"><block s="reportEquals"><block var="result"/><block var="expected"/></block></block><script><block s="doIf"><block s="reportIsA"><block var="expected"/><l><option>list</option></l></block><script><block s="doSetVar"><l>expected</l><custom-block s="list %l $arrowRight text"><block var="expected"/></custom-block></block></script></block><block s="doIf"><block s="reportIsA"><block var="result"/><l><option>list</option></l></block><script><block s="doSetVar"><l>result</l><custom-block s="list %l $arrowRight text"><block var="result"/></custom-block></block></script></block><custom-block s="error %txt"><block s="reportJoinWords"><list><l>Test case </l><block var="desc"/><l> expected </l><block var="expected"/><l> but got </l><block var="result"/></list></block></custom-block></script></block></script></block-definition><block-definition s="make test expr: %&apos;expr&apos; expected: %&apos;expected&apos; description: %&apos;desc&apos;" type="reporter" category="other"><comment x="0" y="0" w="330" collapsed="false">Create a test.&#xD;&#xD;expr - an unevaluated expression to be evaluated when the test is run&#xD;&#xD;expected - the expected result of evaluating expr&#xD;&#xD;description - a text string to identify the test</comment><header></header><code></code><translations></translations><inputs><input type="%anyUE"></input><input type="%s"></input><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportNewList"><list><l>test-case</l><block var="expr"/><block var="expected"/><block var="desc"/></list></block></block></script></block-definition><block-definition s="make test suite %&apos;tests&apos;" type="reporter" category="other"><comment x="0" y="0" w="310" collapsed="false">Create a test suite from one or more tests.&#xD;&#xD;Use (make test ...) to create tests.</comment><header></header><code></code><translations></translations><inputs><input type="%mult%l"></input></inputs><script><block s="doReport"><block var="tests"/></block></script></block-definition><block-definition s="test case? %&apos;obj&apos;" type="predicate" category="other"><comment x="0" y="0" w="243" collapsed="true">Check if the given object is a test case.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportAnd"><block s="reportIsA"><block var="obj"/><l><option>list</option></l></block><block s="reportEquals"><block s="reportListItem"><l>1</l><block var="obj"/></block><l>test-case</l></block></block></block></script></block-definition><block-definition s="unpack test %&apos;test&apos; $arrowRight %&apos;expr&apos; %&apos;expected&apos; %&apos;desc&apos;" type="command" category="other"><comment x="0" y="0" w="256" collapsed="false">Populate the given variables with the contents of the given test case.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%upvar"></input><input type="%upvar"></input><input type="%upvar"></input></inputs><script><block s="doIf"><block s="reportNot"><custom-block s="test case? %s"><block var="test"/></custom-block></block><script><custom-block s="error %txt"><block s="reportJoinWords"><list><l>expected a test case, but got </l><block var="test"/></list></block></custom-block></script></block><block s="doSetVar"><l>expr</l><block s="reportListItem"><l>2</l><block var="test"/></block></block><block s="doSetVar"><l>expected</l><block s="reportListItem"><l>3</l><block var="test"/></block></block><block s="doSetVar"><l>desc</l><block s="reportListItem"><l>4</l><block var="test"/></block></block></script></block-definition><block-definition s="list %&apos;list&apos; $arrowRight text" type="reporter" category="lists"><comment x="0" y="0" w="312" collapsed="false">Convert a list (of numbers) to a text string of the form (list 1 2 ...)</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><list><l>(list </l><custom-block s="join %l with %txt"><block var="list"/><l> </l></custom-block><l>)</l></list></block></block></script></block-definition><block-definition s="join %&apos;list&apos; with %&apos;delimiter&apos;" type="reporter" category="lists"><comment x="0" y="0" w="187" collapsed="false">Convert a list to a text string with each item separated by the given delimiter.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%txt"></input></inputs><script><block s="doIfElse"><block s="reportEquals"><block var="list"/><block s="reportNewList"><list></list></block></block><script><block s="doReport"><l></l></block></script><script><block s="doIfElse"><block s="reportEquals"><block s="reportListLength"><block var="list"/></block><l>1</l></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="list"/></block></block></script><script><block s="doReport"><block s="reportJoinWords"><list><block s="reportListItem"><l>1</l><block var="list"/></block><block var="delimiter"/><custom-block s="join %l with %txt"><block s="reportCDR"><block var="list"/></block><block var="delimiter"/></custom-block></list></block></block></script></block></script></block></script></block-definition><block-definition s="set strict lists %&apos;value&apos;" type="command" category="lists"><comment x="0" y="0" w="324" collapsed="true">Enable (or disable) strict bounds checking on list operations.</comment><header></header><code></code><translations></translations><inputs><input type="%b"></input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>value</l></list><l>if (value) {&#xD;  if (!Process.prototype.reportListItem_orig) Process.prototype.reportListItem_orig = Process.prototype.reportListItem;&#xD;  if (!Process.prototype.doDeleteFromList_orig) Process.prototype.doDeleteFromList_orig = Process.prototype.doDeleteFromList;&#xD;  if (!Process.prototype.doInsertInList_orig) Process.prototype.doInsertInList_orig = Process.prototype.doInsertInList;&#xD;  if (!Process.prototype.doReplaceInList_orig) Process.prototype.doReplaceInList_orig = Process.prototype.doReplaceInList;&#xD;&#xD;  Process.prototype.reportListItem = function (index, list) {&#xD;&#xD;&#xD;    var idx = index;&#xD;&#xD;&#xD;    // this.assertType(list, &apos;list&apos;);&#xD;&#xD;&#xD;    if (index === &apos;&apos;) {&#xD;&#xD;&#xD;        return &apos;&apos;;&#xD;&#xD;&#xD;    }&#xD;&#xD;&#xD;    if (this.inputOption(index) === &apos;any&apos;) {&#xD;&#xD;&#xD;        idx = this.reportRandom(1, list.length());&#xD;&#xD;&#xD;    }&#xD;&#xD;&#xD;    if (this.inputOption(index) === &apos;last&apos;) {&#xD;&#xD;&#xD;        idx = list.length();&#xD;&#xD;&#xD;    }&#xD;&#xD;&#xD;    if (index &lt; 1) throw new Error("&apos;item&apos; expected a positive list index, but got "+index);&#xD;&#xD;&#xD;    if (index &gt; list.length()) throw new Error("&apos;item&apos; expected a list index less than "+(list.length()+1)+", but got "+index);&#xD;&#xD;&#xD;    return list.at(idx);&#xD;&#xD;&#xD;  };&#xD;  Process.prototype.doDeleteFromList = function (index, list) {&#xD;&#xD;&#xD;    var idx = index;&#xD;&#xD;&#xD;    // this.assertType(list, &apos;list&apos;);&#xD;&#xD;&#xD;    if (this.inputOption(index) === &apos;all&apos;) {&#xD;&#xD;&#xD;        return list.clear();&#xD;&#xD;&#xD;    }&#xD;&#xD;&#xD;    if (index === &apos;&apos;) {&#xD;&#xD;&#xD;        return null;&#xD;&#xD;&#xD;    }&#xD;&#xD;&#xD;    if (this.inputOption(index) === &apos;last&apos;) {&#xD;&#xD;&#xD;        idx = list.length();&#xD;&#xD;&#xD;    } else if (isNaN(+this.inputOption(index))) {&#xD;&#xD;&#xD;        return null;&#xD;&#xD;&#xD;    }&#xD;&#xD;&#xD;    if (index &lt; 1) throw new Error("&apos;delete&apos; expected a positive list index, but got "+index);&#xD;&#xD;&#xD;    if (index &gt; list.length()) throw new Error("&apos;delete&apos; expected a list index less than "+(list.length()+1)+", but got "+index);&#xD;&#xD;&#xD;    list.remove(idx);&#xD;&#xD;&#xD;  };&#xD;&#xD;&#xD;  Process.prototype.doInsertInList = function (element, index, list) {&#xD;&#xD;&#xD;    var idx = index;&#xD;&#xD;&#xD;    // this.assertType(list, &apos;list&apos;);&#xD;&#xD;&#xD;    if (index === &apos;&apos;) {&#xD;&#xD;&#xD;        return null;&#xD;&#xD;&#xD;    }&#xD;&#xD;&#xD;    if (this.inputOption(index) === &apos;any&apos;) {&#xD;&#xD;&#xD;        idx = this.reportRandom(1, list.length() + 1);&#xD;&#xD;&#xD;    }&#xD;&#xD;&#xD;    if (this.inputOption(index) === &apos;last&apos;) {&#xD;&#xD;&#xD;        idx = list.length() + 1;&#xD;&#xD;&#xD;    }&#xD;&#xD;&#xD;    if (index &lt; 1) throw new Error("&apos;add&apos; expected a positive list index, but got "+index);&#xD;&#xD;&#xD;    if (index &gt; list.length()+1) throw new Error("&apos;add&apos; expected a list index less than "+(list.length()+2)+", but got "+index);&#xD;&#xD;&#xD;    list.add(element, idx);&#xD;&#xD;&#xD;  };&#xD;  Process.prototype.doReplaceInList = function (index, list, element) {&#xD;&#xD;&#xD;    var idx = index;&#xD;&#xD;&#xD;    // this.assertType(list, &apos;list&apos;);&#xD;&#xD;&#xD;    if (index === &apos;&apos;) {&#xD;&#xD;&#xD;        return null;&#xD;&#xD;&#xD;    }&#xD;&#xD;&#xD;    if (this.inputOption(index) === &apos;any&apos;) {&#xD;&#xD;&#xD;        idx = this.reportRandom(1, list.length());&#xD;&#xD;&#xD;    }&#xD;&#xD;&#xD;    if (this.inputOption(index) === &apos;last&apos;) {&#xD;&#xD;&#xD;        idx = list.length();&#xD;&#xD;&#xD;    }&#xD;&#xD;&#xD;    if (index &lt; 1) throw new Error("&apos;replace&apos; expected a positive list index, but got "+index);&#xD;&#xD;&#xD;    if (index &gt; list.length()) throw new Error("&apos;replace&apos; expected a list index less than "+(list.length()+1)+", but got "+index);&#xD;&#xD;&#xD;    list.put(element, idx);&#xD;&#xD;&#xD;  };&#xD;}&#xD;else {&#xD;  if (Process.prototype.reportListItem_orig) Process.prototype.reportListItem = Process.prototype.reportListItem_orig;&#xD;&#xD;&#xD;  if (Process.prototype.doDeleteFromList_orig) Process.prototype.doDeleteFromList = Process.prototype.doDeleteFromList_orig;&#xD;&#xD;&#xD;  if (Process.prototype.doInsertInList_orig) Process.prototype.doInsertInList = Process.prototype.doInsertInList_orig;&#xD;&#xD;&#xD;  if (Process.prototype.doReplaceInList_orig) Process.prototype.doReplaceInList = Process.prototype.doReplaceInList_orig;&#xD;&#xD;&#xD;}</l></block><list><block var="value"/></list></block></script></block-definition><block-definition s="make test &lt; %&apos;item&apos; is in %&apos;list&apos; ?&gt; = %&apos;expected&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%l"></input><input type="%b"></input></inputs><script><block s="doReport"><custom-block s="make test expr: %anyUE expected: %s description: %txt"><custom-block s="%s is in %l ?"><block var="item"/><block var="list"/></custom-block><block var="expected"/><block s="reportJoinWords"><list><l>&lt;</l><block var="item"/><l> is in </l><custom-block s="list %l $arrowRight text"><block var="list"/></custom-block><l>&gt;</l></list></block></custom-block></block></script></block-definition><block-definition s="make test (index of %&apos;item&apos; in %&apos;list&apos; ) = %&apos;expected&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%l"></input><input type="%n"></input></inputs><script><block s="doReport"><custom-block s="make test expr: %anyUE expected: %s description: %txt"><custom-block s="index of %s in %l"><block var="item"/><block var="list"/></custom-block><block var="expected"/><block s="reportJoinWords"><list><l>(index of </l><block var="item"/><l> in </l><custom-block s="list %l $arrowRight text"><block var="list"/></custom-block><l>)</l></list></block></custom-block></block></script></block-definition><block-definition s="make test (first e-word of %&apos;list&apos; ) = %&apos;expected&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%s"></input></inputs><script><block s="doReport"><custom-block s="make test expr: %anyUE expected: %s description: %txt"><custom-block s="first e-word of %l"><block var="list"/></custom-block><block var="expected"/><block s="reportJoinWords"><list><l>(first e-word of </l><custom-block s="list %l $arrowRight text"><block var="list"/></custom-block><l>)</l></list></block></custom-block></block></script></block-definition><block-definition s="make test (first word of %&apos;list&apos; that starts with %&apos;letter&apos; ) = %&apos;expected&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%s"></input><input type="%s"></input></inputs><script><block s="doReport"><custom-block s="make test expr: %anyUE expected: %s description: %txt"><custom-block s="first word of %l that starts with %s"><block var="list"/><block var="letter"/></custom-block><block var="expected"/><block s="reportJoinWords"><list><l>(first word of </l><custom-block s="list %l $arrowRight text"><block var="list"/></custom-block><l> that starts with </l><block var="letter"/><l>)</l></list></block></custom-block></block></script></block-definition><block-definition s="index of" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doIfElse"><block s="reportEquals"><block s="reportListItem"><l>1</l><block var="list2"/></block><l>foo</l></block><script><block s="doIfElse"><block s="reportEquals"><block s="reportListItem"><l>2</l><block var="list2"/></block><l>bar</l></block><script><block s="doIfElse"><block s="reportEquals"><block s="reportListItem"><l>3</l><block var="list2"/></block><l>baz</l></block><script><block s="doAddToList"><l>1</l><block var="list2list"/></block><block s="doAddToList"><l>2</l><block var="list2list"/></block><block s="doAddToList"><l>3</l><block var="list2list"/></block></script><script><block s="doReport"><l>Tests failed</l></block></script></block></script><script><block s="doAddToList"><l>1</l><block var="list2list"/></block></script></block></script><script><block s="doIfElse"><block s="reportEquals"><block s="reportListItem"><l>1</l><block var="list2"/></block><l>bar</l></block><script><block s="doAddToList"><l>-1</l><block var="list2list"/></block></script><script><block s="doIf"><block s="reportEquals"><block s="reportListItem"><l>1</l><block var="list2"/></block><l></l></block><script><block s="doAddToList"><l>-1</l><block var="list2list"/></block></script></block></script></block></script></block><block s="doIf"><block s="reportEquals"><block s="reportListItem"><l>1</l><block var="list2"/></block><l>quuz</l></block><script><block s="doAddToList"><l>-1</l><block var="list2list"/></block></script></block><block s="doIf"><block s="reportEquals"><block s="reportListItem"><l>2</l><block var="list2"/></block><l>quuz</l></block><script><block s="doAddToList"><l>-1</l><block var="list2list"/></block></script></block><block s="doIf"><block s="reportEquals"><block s="reportListItem"><l>3</l><block var="list2"/></block><l>quuz</l></block><script><block s="doAddToList"><l>-1</l><block var="list2list"/></block></script></block><block s="doIf"><block s="reportEquals"><block s="reportListItem"><l>4</l><block var="list2"/></block><l>quuz</l></block><script><block s="doAddToList"><l>-1</l><block var="list2list"/></block></script></block><block s="doReport"><l>Tests pass</l></block></script></block-definition><block-definition s="first e-word" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSetVar"><l>list3w1</l><block s="reportTextSplit"><block s="reportListItem"><l>1</l><block var="list3"/></block><l><option>letter</option></l></block></block><block s="doSetVar"><l>list3w2</l><block s="reportTextSplit"><block s="reportListItem"><l>2</l><block var="list3"/></block><l><option>letter</option></l></block></block><block s="doSetVar"><l>list3w3</l><block s="reportTextSplit"><block s="reportListItem"><l>3</l><block var="list3"/></block><l><option>letter</option></l></block></block><block s="doIf"><custom-block s="make test &lt; %s is in %l ?&gt; = %b"><l>e</l><block var="list3w1"/><l><bool>true</bool></l></custom-block><script><block s="doAddToList"><l>eFoo</l><block var="list3list"/></block></script></block><block s="doIf"><custom-block s="make test &lt; %s is in %l ?&gt; = %b"><l>e</l><block var="list3w2"/><l><bool>true</bool></l></custom-block><script><block s="doAddToList"><l>eBar</l><block var="list3list"/></block><block s="doIf"><custom-block s="make test &lt; %s is in %l ?&gt; = %b"><l>e</l><block var="list3w3"/><l><bool>true</bool></l></custom-block><script><block s="doAddToList"><l>eBar</l><block var="list3list"/></block></script></block></script></block><block s="doIf"><custom-block s="make test &lt; %s is in %l ?&gt; = %b"><l>e</l><block var="list3w3"/><l><bool>true</bool></l></custom-block><script><block s="doAddToList"><l>eBaz</l><block var="list3list"/></block><block s="doIf"><custom-block s="make test &lt; %s is in %l ?&gt; = %b"><l>e</l><block var="list3w2"/><l><bool>true</bool></l></custom-block><script><block s="doAddToList"><l>eBar</l><block var="list3list"/></block></script></block><block s="doIf"><custom-block s="make test &lt; %s is in %l ?&gt; = %b"><l>e</l><block var="list3w1"/><l><bool>true</bool></l></custom-block><script><block s="doAddToList"><l>eFoo</l><block var="list3list"/></block></script></block></script></block></script></block-definition><block-definition s="first word that starts with" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSetVar"><l>list4w1</l><block s="reportTextSplit"><block s="reportListItem"><l>1</l><block var="list4"/></block><l><option>letter</option></l></block></block><block s="doSetVar"><l>list4w2</l><block s="reportTextSplit"><block s="reportListItem"><l>2</l><block var="list4"/></block><l><option>letter</option></l></block></block><block s="doSetVar"><l>list4w3</l><block s="reportTextSplit"><block s="reportListItem"><l>3</l><block var="list4"/></block><l><option>letter</option></l></block></block><block s="doIf"><custom-block s="make test &lt; %s is in %l ?&gt; = %b"><l>ef</l><block var="list4w1"/><l><bool>true</bool></l></custom-block><script><block s="doAddToList"><l>foo</l><block var="list4list"/></block></script></block><block s="doIf"><custom-block s="make test &lt; %s is in %l ?&gt; = %b"><l>b</l><block var="list4w2"/><l><bool>true</bool></l></custom-block><script><block s="doAddToList"><l>bar</l><block var="list4list"/></block></script></block><block s="doIf"><custom-block s="make test &lt; %s is in %l ?&gt; = %b"><l>q</l><block var="list4w3"/><l><bool>true</bool></l></custom-block><script><block s="doAddToList"><l>quux</l><block var="list4list"/></block></script></block></script></block-definition><block-definition s="contains" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doIfElse"><block s="reportEquals"><block s="reportListItem"><l>1</l><block var="list1"/></block><l>foo</l></block><script><block s="doIfElse"><block s="reportEquals"><block s="reportListItem"><l>2</l><block var="list1"/></block><l>bar</l></block><script><block s="doIfElse"><block s="reportEquals"><block s="reportListItem"><l>3</l><block var="list1"/></block><l>baz</l></block><script><block s="doReport"><l>Tests pass</l></block></script><script><block s="doReport"><l>Tests failed</l></block></script></block></script><script><block s="doReport"><l>Tests failed</l></block></script></block></script><script><block s="doReport"><l>Tests failed</l></block></script></block></script></block-definition><block-definition s="contains2" type="command" category="motion"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doIfElse"><custom-block s="make test &lt; %s is in %l ?&gt; = %b"><l>foo</l><block s="reportNewList"><list><l>foo</l></list></block><l><bool>true</bool></l></custom-block><script><block s="doIfElse"><custom-block s="make test &lt; %s is in %l ?&gt; = %b"><l>foo</l><block s="reportNewList"><list><l>bar</l></list></block><l><bool>true</bool></l></custom-block><script><block s="doIfElse"><custom-block s="make test &lt; %s is in %l ?&gt; = %b"><l>foo</l><block s="reportNewList"><list><l>baz</l></list></block><l><bool>true</bool></l></custom-block><script><block s="doReport"><l>Tests pass</l></block></script><script><block s="doReport"><l>Tests failed</l></block></script></block></script><script><block s="doReport"><l>Tests failed</l></block></script></block></script><script><block s="doReport"><l>Tests failed</l></block></script></block></script></block-definition></blocks><variables><variable name="list1"><list struct="atomic" id="1319">bar,foo,foo</list></variable><variable name="list2"><list struct="atomic" id="1320">foo,bar,baz,quuz</list></variable><variable name="list2list"><list struct="atomic" id="1321">1,2,3,-1</list></variable><variable name="list3"><list struct="atomic" id="1322">efoo,bar,baz</list></variable><variable name="list3w1"><list struct="atomic" id="1323">e,f,o,o</list></variable><variable name="list3w2"><list struct="atomic" id="1324">b,a,r</list></variable><variable name="list3w3"><list struct="atomic" id="1325">b,a,z</list></variable><variable name="list3list"><list struct="atomic" id="1326">eFoo,eBar,eBar,eBaz,eBar,eFoo</list></variable><variable name="list4"><list struct="atomic" id="1327">foo,bar,baz</list></variable><variable name="list4w1"><list struct="atomic" id="1328">f,o,o</list></variable><variable name="list4w2"><list struct="atomic" id="1329">b,a,r</list></variable><variable name="list4w3"><list struct="atomic" id="1330">b,a,z</list></variable><variable name="list4list"><list struct="atomic" id="1331">foo,bar,quux</list></variable></variables></project><media name="SequentialSearch" app="Snap! 5.4, http://snap.berkeley.edu" version="1"></media></snapdata>