<snapdata remixID="12116052"><project name="U3L3-TicTacToe" 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="U3L3-TicTacToe"><notes></notes><hidden></hidden><headers></headers><code></code><blocks><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"><block s="reportListIsEmpty"><block s="reportCDR"><block var="words"/></block></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></script><scripts><script x="229.00000300000002" y="196.77778077777774"><block s="reportJoinWords"><list><l></l><l></l></list></block></script></scripts></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="makeBoard" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSwitchToCostume"><l>Empty</l></block><block s="show"></block><block s="setEffect"><l><option>ghost</option></l><l>30</l></block><block s="setScale"><l>95</l></block><block s="doSetVar"><l>square number</l><l>1</l></block><block s="doFor"><l>i</l><l>1</l><l>3</l><script><block s="doFor"><l>j</l><l>1</l><l>3</l><script><block s="gotoXY"><block s="reportVariadicSum"><list><l>-100</l><block s="reportVariadicProduct"><list><l>50</l><block var="j"/></list></block></list></block><block s="reportDifference"><l>100</l><block s="reportVariadicProduct"><list><l>50</l><block var="i"/></list></block></block></block><block s="createClone"><l><option>myself</option></l></block><block s="doChangeVar"><l>square number</l><l>1</l></block></script></block></script></block><block s="hide"></block></script></block-definition><block-definition s="won? %&apos;who&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportListContainsItem"><custom-block s="status of all winning triples"></custom-block><block s="reportNewList"><list><block var="who"/><block var="who"/><block var="who"/></list></block></block></block></script></block-definition><block-definition s="possible winning triples" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNewList"><list><block s="reportNewList"><list><l>1</l><l>2</l><l>3</l></list></block><block s="reportNewList"><list><l>4</l><l>5</l><l>6</l></list></block><block s="reportNewList"><list><l>7</l><l>8</l><l>9</l></list></block><block s="reportNewList"><list><l>1</l><l>4</l><l>7</l></list></block><block s="reportNewList"><list><l>2</l><l>5</l><l>8</l></list></block><block s="reportNewList"><list><l>3</l><l>6</l><l>9</l></list></block><block s="reportNewList"><list><l>1</l><l>5</l><l>9</l></list></block><block s="reportNewList"><list><l>3</l><l>5</l><l>7</l></list></block></list></block></block></script></block-definition><block-definition s="status of triple %&apos;triple&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportListItem"><l></l><block var="board"/></block></autolambda><list></list></block><block var="triple"/></block></block></script></block-definition><block-definition s="status of all winning triples" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="status of triple %l"><l/></custom-block></autolambda><list></list></block><custom-block s="possible winning triples"></custom-block></block></block></script></block-definition><block-definition s="tied?" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportEquals"><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="reportIsA"><l></l><l><option>number</option></l></block></autolambda><list></list></block><block var="board"/></block><l></l></block></block></script></block-definition><block-definition s="draw win line (2)" type="command" category="lists"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doFor"><l>i</l><l>1</l><l>8</l><script><block s="doDeclareVariables"><list><l>line</l></list></block><block s="doIf"><block s="reportOr"><block s="reportEquals"><block s="reportListItem"><block var="i"/><custom-block s="status of all winning triples"></custom-block></block><block s="reportNewList"><list><l>X</l><l>X</l><l>X</l></list></block></block><block s="reportEquals"><block s="reportListItem"><block var="i"/><custom-block s="status of all winning triples"></custom-block></block><block s="reportNewList"><list><l>O</l><l>O</l><l>O</l></list></block></block></block><script><block s="doSetVar"><l>line</l><block s="reportListItem"><block var="i"/><block var="win lines"/></block></block><block s="up"></block><block s="doGotoObject"><block s="reportListItem"><l>1</l><block var="line"/></block></block><block s="down"></block><block s="doGotoObject"><block s="reportListItem"><l>2</l><block var="line"/></block></block><block s="up"></block></script></block></script></block></script></block-definition><block-definition s="for %&apos;i&apos; = %&apos;start # = 1&apos; to %&apos;end # = 10&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input><input type="%s"></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="reifyPredicate"><autolambda><block s="reportLessThan"><block var="i"/><block var="end"/></block></autolambda><list></list></block></block></script><script><block s="doSetVar"><l>tester</l><l>1</l></block><block s="doSetVar"><l>tester</l><block s="reifyPredicate"><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></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="390"><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="391"></list></costumes><sounds><list struct="atomic" id="392"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><sprite name="Sprite" idx="2" x="-169" y="25" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="0" color="140.25,0,8.415000000000072,1" pen="tip" id="397"><costumes><list struct="atomic" id="398"></list></costumes><sounds><list struct="atomic" id="399"></list></sounds><blocks></blocks><variables></variables><scripts></scripts></sprite><sprite name="Square" idx="1" x="50.5" y="-50.5" heading="90" scale="0.95" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="1" color="80,80,80,1" pen="tip" id="403"><costumes><list id="404"><item><ref mediaID="Square_cst_Empty"></ref></item><item><ref mediaID="Square_cst_X"></ref></item><item><ref mediaID="Square_cst_O"></ref></item></list></costumes><sounds><list struct="atomic" id="405"></list></sounds><blocks></blocks><variables><variable name="square number"><l>10</l></variable></variables><scripts><script x="21.600000000000023" y="10"><block s="doWearNextCostume"></block></script><script x="10" y="56.33333333333346"><block s="receiveGo"><comment w="156.66666666666666" collapsed="false">Connect this to the script below it in For You To Do 5.</comment></block><custom-block s="makeBoard"></custom-block><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportBoolean"><l><bool>true</bool></l><comment w="90" collapsed="true">X plays first.</comment></block></block><block s="doSetVar"><l>board</l><block s="reportNumbers"><l>1</l><l>9</l></block></block><block s="doSetVar"><l>playing</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script x="11.600000000000023" y="268.33333333333434"><block s="receiveInteraction"><l><option>clicked</option></l></block><block s="doIf"><block s="reportAnd"><block var="playing"/><block s="reportEquals"><block s="getCostumeIdx"></block><l>1</l></block></block><script><block s="doIfElse"><block var="X&apos;s turn?"/><script><block s="doSwitchToCostume"><l>X</l></block><block s="doReplaceInList"><block var="square number"/><block var="board"/><l>X</l></block><block s="doIf"><custom-block s="won? %s"><l>X</l></custom-block><script><block s="bubble"><l>X won!</l></block><block s="goToLayer"><l><option>front</option></l></block><block s="doTellTo"><l>Sprite</l><block s="reifyScript"><script><custom-block s="draw win line (2)"></custom-block></script><list></list></block><list></list></block><block s="doSetVar"><l>playing</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script><script><block s="doSwitchToCostume"><l>O</l></block><block s="doReplaceInList"><block var="square number"/><block var="board"/><l>O</l></block><block s="doIf"><custom-block s="won? %s"><l>O</l></custom-block><script><block s="bubble"><l>O won!</l></block><block s="goToLayer"><l><option>front</option></l></block><block s="doTellTo"><l>Sprite</l><block s="reifyScript"><script><custom-block s="draw win line (2)"></custom-block></script><list></list></block><list></list></block><block s="doSetVar"><l>playing</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportNot"><block var="X&apos;s turn?"/></block></block><block s="doIf"><block s="reportAnd"><block var="playing"/><custom-block s="tied?"></custom-block></block><script><block s="bubble"><l>its a tie!</l></block><block s="goToLayer"><l><option>front</option></l></block></script></block><block s="doDeclareVariables"><list><l>avalible squares</l></list></block><block s="doSetVar"><l>avalible squares</l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportIsA"><l></l><l><option>number</option></l></block></autolambda><list></list></block><block var="board"/></block></block><block s="doIf"><block s="reportAnd"><block var="playing"/><block s="reportEquals"><block s="reportListAttribute"><l><option>length</option></l><block var="avalible squares"/></block><l>1</l></block></block><script><block s="doReplaceInList"><block s="reportListItem"><l>1</l><block var="avalible squares"/></block><block var="board"/><l>X</l></block><block s="doIf"><block s="reportNot"><custom-block s="won? %s"><l>X</l></custom-block></block><script><block s="bubble"><l>its a tie!</l></block><block s="goToLayer"><l><option>front</option></l></block><block s="doSetVar"><l>playing</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block></script></block></script></scripts></sprite><watcher var="X&apos;s turn?" style="normal" x="5" y="5" color="243,118,29" hidden="true"/><watcher var="row" style="normal" x="10" y="73.00000599999998" color="243,118,29" hidden="true"/><watcher var="win lines" style="normal" x="10" y="115.00000999999997" color="243,118,29" hidden="true"/><watcher var="playing" style="normal" x="10" y="136.00001199999997" color="243,118,29" hidden="true"/><watcher var="counter" style="normal" x="3" y="10.000001999999995" color="243,118,29"/><watcher var="j" style="normal" x="10" y="157.00001399999996" color="243,118,29" hidden="true"/><watcher var="board" style="normal" x="-8" y="31" color="243,118,29" extX="80" extY="70"/><watcher scope="Square" var="square number" style="normal" x="-6" y="151.00001599999996" color="243,118,29" hidden="true"/></sprites></stage><variables><variable name="X&apos;s turn?"><bool>true</bool></variable><variable name="board"><list struct="atomic" id="592">1,2,X,O,X,6,X,O,O</list></variable><variable name="counter"><l>0</l></variable><variable name="row"><l>0</l></variable><variable name="win lines"><l>0</l></variable><variable name="playing"><bool>true</bool></variable><variable name="j"><l>0</l></variable></variables></scene></scenes></project><media name="U3L3-TicTacToe" app="Snap! 7, https://snap.berkeley.edu" version="2"><costume name="Empty" center-x="26" center-y="26" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAAAAXNSR0IArs4c6QAAAMdJREFUaEPtmrENgmAUBh9TYEfBIs6i4lAEZ6GVGAs3MjFxgK+5wJ+jv3y8O0q6auzpqupcVWsLdw3D+P4ddLlO62OZD33Tc3vVdLt/PGivGS201zL/97KQhWADfnKw8HjOQrEyGLAQLDyes1CsDAYsBAuP5ywUK4MBC8HC4zkLxcpgwEKw8HjOQrEyGLAQLDyes1CsDAYsBAuP5ywUK4MBC8HC4zkLxcpgwEKw8HjOQrEyGLAQLDyes1CsDAbaLtTKH419f9q+t56dV83eYNkAAAAASUVORK5CYII=" mediaID="Square_cst_Empty"/><costume name="X" center-x="26" center-y="26" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAAAAXNSR0IArs4c6QAAAgVJREFUaEPt2rtOAkEUBuBDpTRgTdRQ8gRIaUUMoIk3RAQlEWm9FpYG7IzxKSyoLC3VTmPUxkvrLVFLLOhMzJJgREHOnDlnZxeh22Qv882/O+HPrgcAgvH4xKbP19MLLv9Vqx/XHgAYDocjh9mFnKtBb68vcHV58VADJZPpg3J5v8/NAZ2encN2qdgFOTbE/5nQ49MzDA70OyqVVmNCJbSYL0AgEIBSccsRqJvbOxhNJGBndw8mx8caxoQCVSrvkF8qQCgUMo6qY+Yy2aZjQYGsKXACqh3GGicaZBqFwSiDTKGwGBLIbpQKhgyyC6WK0QJJoygYbZAUiophAXGjdDBsIC6ULoYVpIviwLCDqCgujAhIFcWJEQNhUdwYUVA7lARGHNQKJYWxBfQTlUrN1MpZqz7T0NYIG0r1gXD+r0OsPpXJzsPJ8REsr6yKFUXbQNZtFo/FwOv1wtR00t2g78/MxvqaaJ0XT6jZAiBZ50VBf61mUigxEGZplkCJgDCY+vLHjWIHqWAkUKwgCoYbxQbSwXCiWEAcGC6UNogTw4HSAklgdFFkkCRGB0UC2YGhopRBdmIoKCWQCYwqCg0yiVFBoUBOwGBRKFA0OgJDkYhYy1St9vU/tKnZNO2lsRNf61sov9/3ay5QCanOoMn9uyCTs4+5dmcn1GkfAAYBIIeJ1QX73H8CynJ8DoPjGXcAAAAASUVORK5CYII=" mediaID="Square_cst_X"/><costume name="O" center-x="26" center-y="26" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAAAAXNSR0IArs4c6QAABGBJREFUaEPtmktME1EUhv+uFXCnCQIRBOpjYYtGN4qiIUbwFTUKPmKUghIXEKNxQyllY5ACC+ODYmJUoPiIDzAxREV04QNpNRFESDSCzx0PXWPOmJu0dKZzZ+ZOQWSSpovee+Z85z9z7r1nasE0uywA1gLomA5cSUkp3RLQocOOjksN9f8004uXXXAUFL6dAZqqMs4oxKtM+8PH8PsDGOj/gI7Hj/Dp08ewqTt37UZ8fDyW2ezIWpeJxIT5vOYVxwlVaHDoC7zeBjReu4qM5Sukj91ugzU9TdZZunnfh368Cfhx7+4dafyevHzs2L5FN5gQoGCQwiPFyM/brSvat27fg6+5CSPDwyg6WqwLzDDQ5SuNcLucIJCjRQ7ExcXqji6bSOlaXVWFhMRElJc7NQVHN9DIyCjKXRXo7emBu7ISq1auMAwSbIDsn7/oRf2Fc7hQ70X2hiwu+7qA6GYFjkLExsaixlMtRBUlbykNTxwvxRlPLVcKagZiMFarFZVuF1fUjA7q6X2Pzbm5XFCagQ4XFCImJgZ1tR6jfmqaT1BLlyzG8xevIqa3JqCz5y6i80kHGrz1pqaZWvoFAgHF+3MDsQi96+nFksWLNEVX5OCS0uOSOaUM4QaiVLPZM3CsuEikf5pt0TNss9nQ1OyTTT0uIBqUn7cHkaTW7JmBCZT6AX835I46XEAk88LUtElXh8WAqdTa1haW/qpAtK1JSkzA8PDIpBQCJSFPV3nw+9dY2NKhCkRbG9o8RrtMq2UkFanSklK0tz8IGaoKROm2ek0m1yqt5oTo35OTUzAx7VSB5CaJdkyvPblgqwJZLBaMj4/rvaep86ja0RW8lEQEoh89Hg9uXPeZ6phe43TMaPH5Qsq3KpDX65Wt93qdEDmPnJ/o3wyQyAgbtaVZIaVab9QRUfPp8PfsaWfIGvl/VTmKZHb2RlN6BiJUohPAppzckEVfVaEypwspC1Nx8MBeET4ItUGL/pPOzpCukCoQ65VNtbWItbo07+Voqz5nThw+Dw5p6o8JlULGGGXOrNkxOHXy7wmWXaoK0UClyWY7rWQ/UpC5gOhMtDYzc0qdWH/++C7bRuMCYirRd7R6cUrqsAOn0iPADcRUUmpORCv9qFSnpqWHPTuaniE2mLVlJ6tZQsfu7tddEfuC3AoxKCoQfX19UW82smDKNUY0V7mJ6RRtKF4Y8lOzQhOVcrnKTe2k0qm0proqrHeg9MzqBiKDlNP0/sbpcgvfGlERqqhwY2hwELV1tdxBMwTEJHaWlUlv2xwOh+EXX7RoXm1sllTR81bQMBBBBTuxLmt92A6Yp6STIk3NLZLiZENvcIQAMYcJ7PbdVtxva5XK65at26QW8vIMuzRkkTVd6r7SwXFs7Be+fvuOgYEBaSx99u7bj5ycHEMqCwUKVoIi3vXaLzlM/1UYHR3FzRst0pAFC5IlFejFGQMW9Y7WNCCeNDNjzAyQGVEVaXN6KzRd/tE4d+68l38AHzaJdYJvYYIAAAAASUVORK5CYII=" mediaID="Square_cst_O"/></media></snapdata>