<snapdata remixID="9914072"><project name="U3L2-Tic-Tac-Toe" app="Snap! 6, https://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" hyperops="true" codify="false" inheritance="false" sublistIDs="false" scheduled="false" id="1"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAB4KADAAQAAAABAAABaAAAAAAHwbojAAAL30lEQVR4Ae3QMQEAAADCoPVPbQwfiEBhwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGPgMDI3+AAEeFvcCAAAAAElFTkSuQmCC</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="Square" idx="1" x="0" y="-151.3533834586465" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="1" color="80,80,80,1" pen="tip" id="8"><costumes><list id="9"><item><costume name="Empty" center-x="26" center-y="26" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAANKADAAQAAAABAAAANAAAAABdv+0DAAAAx0lEQVRoBe2asQ2DMAAErSglaUlNJmEWImYFRdnJATb4FCewzpLL18l3lJTS4Bm3N9UW7jC8vrc90PSeS6310ndZP6XrHvfjQfujWjk+6OwlLWQh2ICfHCw8xlkoVgYPLAQLj3EWipXBAwvBwmOchWJl8MBCsPAYZ6FYGTywECw8xlkoVgYPLAQLj3EWipXBAwvBwmOchWJl8MBCsPAYZ6FYGTywECw8xlkoVgYPLAQLj3EWipXBAwvBwv/CjduqiT8a+/65/gAgXfnWAcy/sAAAAABJRU5ErkJggg==" id="10"/></item><item><costume name="X" center-x="26" center-y="26" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAANKADAAQAAAABAAAANAAAAABdv+0DAAACJUlEQVRoBe3aT0sCQRQA8Gd0EIT8AFaIn8JO9gE0kI7ln05BdMhblyLtWp0iqOwjRNCn2AjM/nuS/mjZN0i6tCMsSLizOzPvzc6GD4aR1R3fb+ex8HQjAJDM5fKbsVg0ar8OdfT7Pw+TtiDZ632UiuWVUIO+ep9w02i8MhCkUqnv9bXVUIOsq2sGgolQ19iI5MegERfFqEPcHXp77xiVLEvGKycuqFqtwdb2jjGox6dnmM9k4Pzi0jUnLuhgfw9arZYRKIbJZbOwtFyAxfyCHCgen4L66UngqGHMbo1fMdwdYpchaJQIhuXrCQoSJYrxDQoCJYMRAulEyWKEQTpQKhgpECVKFSMNokBhYJRAmCgsjDIIA4WJQQGpoLAxaCAZFAUGFSSCosKgg/ygKDEkIB6KGkMGGoXSgSEFDaOazSbMpdOD5syrn2HnqYSv9kHlCzrdLtzf3UIikVBZxve5pCCnzArFEliWpaXzJQM5GPYbACszXZ0vCegvxqkXHSh0kBtGFwoV5IXRgUID+cVQo1BAohhKlDJIFkOFUgKpYihQ0iAsDDZKCoSNwUQJg6gwWCghEDUGA+UbpAujivIF0o1RQXmCgsLIorigoDEyKC6oslHR0jY7ifPm4daD96fx4NEYt4XqZ3WYnZl2e1v7cQfFZrfg7pBJGAfAw7DPcEHOImGaxyDTd2twU2i329HDo2PTc+Xmxx4AZBGxR9IeZXv8h3j5BRxf4Dto8cI/AAAAAElFTkSuQmCC" id="11"/></item><item><costume name="O" center-x="26" center-y="26" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAANKADAAQAAAABAAAANAAAAABdv+0DAAAE/UlEQVRoBe2aXUwUVxTHTxof2fXNhtA2EVlY25h2+Yi8WNYt1KRBrVYrlmqMski1jcpa0wctu9pEq4I1tsbCQz8UWIWKfPigKIo+uAouvtSvNTWFtrwK+j7e/9VpkJ07XzvLTKknmczu/Tj3/O49c/bOuUs0DcXPmKTpcM2enT34ChZo/YYgSZL0n76uxW5QRoZrBgcC1HSRl0BOX8kZVht4/kIfxeNDlLh/jy71XaSHD/9IGmLFylWUlZVF7/jyKbCwhN54/bWkNmYLLHG54ZG/aNfXYcrOnkNNjY3cllUVFXS5v18x0IRCIQ5zayhO/pISWvlxBf3W0WWWIamfn0U5FuSMy5/DI9LOXXUSC5fS3m8PSvhuRtpPd0ps1aSyskUSPpsRFuWkefPevgU6U0A//XLiX5BHj8bM2JDU51zvRQ6FCTY6OTKQYZcbGxunrdtC1HLiOLW0RumrHSGaOdOdtOxmCt4vDVBb2yny5OZxV8TzaFQMBQXAVAWrye1284GtAploNHRikjweD9VUB+lA/SH6aNmSiU1UP+sGkmG8Xi/t2R1WVWpFJSC8eR5aXF7O1emF0u1ytaHtPNROBYw8IW+9OZe6e3poxfKlFLs+IBer3nUBfX/0RxofH6dIuE5VWToqAcUiH32yuoLgJVqiCfT77Tv0xeYaCjOYdDwzWgaiHu62ZOmHVBeOaDbXBGpoOERHfjhGmCk7Bd7R1XlG0/VUgeC32L6sqVxtJwsfG95Ru30HNTU1qdqiChSNRrkSu1xtsuWYWEwwHgORCIGwPzv8XYMjVkc2HhNbXbOJotGTclHSXQjUd6mftmyttS0QJFn6vGBx+Qd0PRYTVZMQCDvhBe+WCDvaVYHg9OBBQuh2QiBEFPxSO1EQwu/eSyiaJgTCi5ndoVrRYlaY48ml0dFRxWpFIIRrvFU6VXJzPTQUv6loniIQWmJH7VRxu1xC04RAwh4Or/h/ALlcGTQyPOzYtfj7n1FyCdxOcYUQ3Xp7zzkWCBEOkU5JFIHQkGVgNHe2SgqnogwRLjMzU3EoIdD84mL243VfsZPdhdigFhXmK5ohBEJW82xPt2InOwuRCcrJ8QizrUKg0oCf2ttOEnbdTpKrV65QoLRMaJIQCFt1lhVluTfxVl2oNU0VyCl8syfC8gviXYwQCDYFg1XUeOyoruREmhheUHu8uZVPslpyXxUIHSs/XUMH6xteUGzHF7g+kjWYZDVRBUJHKGhmaV+9eTG1wVKpi0R2EzsQEAYDWbcmEFYJ6Vi9eTFZsZX3ffvreV7ws41BTbWaQNCAvBhcD3ltPck+zVENNMC5EZ5jvXlBXUAYHylg5LWnEgowX4a28XSw3pdN3UCTodRSSQYWQNgU6WejMFBmCAgdsFIFhUX8VODnX5tRZKkgmm2oqqauMx2GVkY2wjAQOuL8BoddOPTC4FZEQDybWBWcueLACwdfet1MhsHdFBA6Fs8v4oP68gt4BASYmYNfrAiimM/n43mCVE8FdR94AWKyYHv0+aaNPLva0dlN0dYW7vdIM+F9pbDg2Y54rjePJyzx3D1+/ITwgpZIJOjm4AC/EEEBgklKVVICkgcH2Lq1lfzCjA8MxrnBSKzjXAmbXAg7LaeFgff42yaAcbxvBYRsB+6WAE1UiB/i5L1WdGKTtH42/Qyl1aoUlL8ESmHypqyrn400Lf7ROGvWq7GnDxUGe9396PcAAAAASUVORK5CYII=" id="12"/></item></list></costumes><sounds><list struct="atomic" id="13"></list></sounds><blocks></blocks><variables><variable name="square number"><l>9</l></variable></variables><scripts><script x="10" y="30.000000000000114"><block s="receiveGo"></block><block s="doWait"><l>.1</l></block><block s="doSwitchToCostume"><l>Empty</l></block><block s="gotoXY"><l>0</l><l>0</l></block><custom-block s="makeBoard"></custom-block><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>board</l><block s="reportNewList"><list><l>Empty</l><l>Empty</l><l>Empty</l><l>Empty</l><l>Empty</l><l>Empty</l><l>Empty</l><l>Empty</l><l>Empty</l></list></block></block><block s="doSetVar"><l>counter</l><l>0</l></block></script><script x="10" y="252.99999999999997"><block s="receiveInteraction"><l><option>clicked</option></l></block><block s="doIf"><block s="reportEquals"><block s="reportAttributeOf"><l><option>costume name</option></l><block s="reportGet"><l><option>self</option></l></block></block><l>Empty</l></block><script><block s="doIfElse"><block var="X&apos;s turn?"/><script><custom-block s="X turn"></custom-block></script><script><custom-block s="O block"></custom-block></script></block></script></block></script><script x="38" y="798.9999999999992"><block s="receiveGo"></block><block s="removeClone"></block></script><script x="524" y="10"><block s="receiveMessage"><l>X is the winner</l></block><block s="hide"></block></script><script x="521" y="76.00000000000003"><block s="receiveMessage"><l>tie game</l></block><block s="hide"></block></script><script x="547" y="158.9999999999998"><block s="receiveMessage"><l>O is the winner</l></block><block s="hide"></block></script></scripts></sprite><sprite name="Sprite" idx="2" x="0" y="-1.3533834586466165" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="135.15,0,40.5450000000001,1" pen="tip" id="82"><costumes><list id="83"><item><costume name="alonzo" center-x="45" center-y="60" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFoAAAB4CAYAAAByzOU/AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAWqADAAQAAAABAAAAeAAAAADyfffTAAAX00lEQVR4Ae1dfWwcx3WfPVLWiZJM2pJjqZYo2rFspY7SM1vEiq1GZ7QVIidA6CApZBWFTon+iIEkltvUbVC4phs0TdsEoe0C8R8qdPqjjvKBmEpbW1WQ5tjKiRQUNB07CB05DinJtSyTNCkrFBWR3L7f7L69t3O7d7t3eyZ54gPuZna+dva3b968efOxlopJuS1tHUo1d6iUNZ7/0ZsDMbNfscmtKE/ugNvUTWm76Ncq8kwoS+WVPdOTPz4+JMIXvQYCTcZ1yWXuA9fuUyp1iCLuoF/aSIDrLRS/L7NuuTVwZrJgxC9eugiU5ejcllV5SrdborVsWZNqvyGtTr02pS5enJFR5LdfUOnZbL4wPm5EXPGXoUCbIK+6donq+tC71NY72jzQjp0YV71HzqnRscteGHkmVCqVXZTfEhJFEjaAtLiwra9x1K03L1ef27tetRA3mzRJXP3Ud8+q537iY+JFsA2gSoDO3XldRs3OPs/p1pOY+KvPdgSCzGnggrv/5anXZNAi2AKNUqC3rCpQ/DakgTz+yiMbNci9z55Tx4hrISYA/ibi8u3ZVWo1iRSmwVd+rR7ff1rK7kWwXXB8QJNczlH4AQbuL4mTAej+f33NFA2cREGs7P2TGzzA0Ul++YmhRbA9hByPT+hm1rX0UrDu7e56f5vm2HIgowhw+Pf7RnVpmzYuV61XN6vN71mhTvSfV9PTNsLTyrbvy7SvODJwevKsTngF/nlAu9ysVTmIjPtz69XgK5PqO//2hoTloFIz9yor1UeBa+nXwZEvU1qk73zfSuLuqxbBZmBc1xMdBPQQhW1A+Ec/dB0BdrUpAvryx0eziGfKbVmdJd05T9c6H8IhStB5ghbFiIZB/6Xw73KzBgvcDBFQImfTM13FbI4vf3ykoNIzGVISD3Pcy9QhouMEYWDDoLvxraTRFHLZNi2e3LArwtGiQ8pmyFXoxK58dUGwduSPjQ0GITIwNDU1cObiISrjRorPIM2p1y6pD//hap0cMhui5PkX39bX9JdW09aOzM1LDyEvBza6qzmaHtJr+gEPvEdzbkCELyg9s4+uhxGGoTlUPSaMJj+16wa+JNf6HTWVKoiAhve6HL0csjprPG0fAUIgj/Ya4YGX4M7M+pYOiiQjk9LqHkQQU/u6tNbHXxq84AZZa9AKqDVEKp/LWaiuBhpWNwLpBQL2ZZK3j5Fm8YX88bd6KHwozoMRcE9S+jbk6drxLi0yZP53d7SoEVIHT5Ou7VLmSrH6gZMTIWkfkSPKoMIf339KymwkQcvJB6VtlDCW0TU9j7aP2FY3F7J927VlbSMYSWIYL+iALkMENJq3ZqC1qjY7CzmrZ15gToUNpBzBCgi1D5zvEdQ+PU3mhTSUpyagNRdONQ0QIp4O/rm97WW5mdELAJteVKq3UXXsqoHWo0LiQgYZAO66d40epMAfhTCgQZ4ikdp3qSlfvG4cn2i70R+KQO6mofcByuEJWujJcvYlamlQ+0Cwlbi0iTSga0jtO8IBjeDGAhoylNQxyOPd/PBsgLqjU4toDo7lQt821L4tpCoOE9gQSw1BkYF27CEpgHwrPzk6vj+/f4O2WXMYuzAoXabhfND0F6eRLsB+8ecX1Pm3pzm4i0yrhxvFtFpRj9adE+SmrT7KCMC9ffNKbfCXQGI6q//F8z4dGRzfSWmdAUxxNkaWxX7MP37+0ZP+SYP0TEcjzKqXBdqdPwQXe7YQAIcOTMpjNHtMEMByF0ZB+YLSlppWG2MJQ6jo0KLCtp8lMNoYENiatagQNgwA88Wv/UqdPXeJk7kuAaSsZXSheztYA2HBgyWPO0Ajg76Eta91ZbNoFdYaNZ1au9BtIoFA5z6wqoee+u8lEJgMwIhOiop+As6YjCVsyVaSniGzKmwlF7+MTo3KuZt+GnCADXkMwMMIL2Ly4qx6dfgiJ1nwNpES0aFBttUD/ITo8DAIgc4rKWB5AaIDbRauCCpQvFZNIEZ4dh2ZwqiRbCI+jnZnWjxOhj3i4T+7qYT7MIPyjafPSnwmiJV3hJlUoTlgchaTtJQpDTHy+huXVCWVEJO8hiZy90Kd5PU42l0xOkBAaK4zF86gw+v/6Xl1lGa8q10C5r5IDHQ0fZZaCjSScoT7/s0//tKviaiZTC2rV7UmNdUE8dhBv/w7YTksAg257IoM1hBGxn6jBxKYLTHAdbFBhzfbFeehSTT1sqoYVYQkrYnktlxLDEXDfSbLfjD/4zEAXzcqAi1WKEW4G0QFrYke6Y6Q1pfEbDlYP4JOthKV9gn2C/njY5lK+cx4etFd9KKfNsInqAOvq75eNCpZKsIbJQ6mt68rFQJyJVOny/37+EExEQzxUImgt99nGKBIFOUr5QuIzwaEtaqppq6A8MSCPI5Gic46DZUlMDP01ttIVRtQtjVOUQXqwgbKjdBMzYLyHqadAPvCxAqBNETl6oFQVK6m9KXL00idzP941HtxSFOO6L4Fit+GNOiHvGk1qi+VUzewfUDj5tVQCcjFQkjEKAJ7NF8Mcnxmx/hPj9xC2k35ITqXUYvaR/e1uRysLfyHJ4b4UlE9E8HDK1B4iqJDBMb2ztrgBK2tGHkRdsAF1Rflgj/MgcdOvMXeim7gVBhkbwUyxRoWcGKcwOS2aL5M1E0GaGVnuVawS4NToFEICgSb4rs5zdG+MfZWdHl2RoJEoi6vW1bZ3M0dHA1zAghgC8oKf6LehIC2ClwrqGKofMmcoFI9JUCkZ3opH8SL1pOhWUQlgI0Rq3ihlZebWbMZLr9lmfPovhEv+qY6UUJA20NcP16hxOvuSoDAjgKXdOeK7XMuYaF7HOJ7iDykPaTC1/bZqTZOywD7DFy2s6SN0yTpJgO0w5m6XujFwdUgBsIA2z8BS3sUdWL6g5k1iqrH6eHiHqXLzfSoTyZz/UURx0YtQ3RsqNfkcCJAu5x5mJ9MigAAgY1GgjZIrnPUP4wwHYrTKXIe6Nh/tM23xGG3a4HkJMoF0GtNq1cVO0HfGpOpZi+NlzkBTyJA63rYqpfrY4oAcE0p11ET98SI5XG1mZfLrOTu+tgaPevjpSNzAms7WptwFlVqzQgtTHKyT60UctwrKwFPYkC76lpoxwauKwEbi2b0ztyZAj8LbCosejgsqhuo9mm7hv1DadvASipJLK+dMKtDxiXlTwxop0LlObMUbNK99X7Gpl/JB4KVsBpitc8nCqTxiAqFiMH8paT2dZgIcqlOHWJVQKPJF5s91xDudJ6vwjo2gA3zqOggOYvnYltHtQSwwdlm+dCbod9DxJjk52hneG6mqfU61pBTgzs7C3mqbQXk0sjOypMdpIftICQXCxwPI1DYOjzMeB8tjHp7Fx252aJlZ1geKjcysf0cwDtTZ8XOL6iQzz/6i6Ip2FL3kt3D63OC0scNiwe0sCUbNyLZTGKDAHetYAcQLzcOGenn3aVvm19MQ1WUh4knOmDRCybqze1HCOQhstp1BSeZ36E+cWUn/wzxgLZsrzmhqWNm3GdvgGFJLLTZdHPL/EZX1M6o6wbTACWSVuWNB7St10HrG2FDEEZXXyHzJmSx2fngOglZW9VTVZEJstynrVipRFumz8RWqX4DZ6bGscGH0mWQFvouwMTeFGx304tjaCTYuflq6t3X6u3KlcqcT/GXL9vK28xkWZdoXcqhpOoXC2jcNLNu6QAtGN9D3vRFWuQCQq8OgoEGfgAPDllotGRJShWe8+zim2gv5GNJ7YWMJzoIOcc2URyYwI4MVa0RCPq0r8+51JRN6rliA61vDDVObN7ECTSNQhB7HiWofVQFtDs46eYKRZ3J5vTz2cXpDIIS6xCrAhoVcYxIRfMmFP5GIFj1hAbVqteBJPBgVQPt3Du1j+sA2wbPrnDYQnWNZWrZJJ6jJqDdzfh9XBHYLhqBjFHiA8EGtHhPWhPQzq2sbr4l1j7HnYrivPPJBUf7tA/asFrrFFfNQDtcXZTVjcLVmGEXtKHW/Y+JjCpotIjZWN1DT9CuqoU09BZg+rzY4oFBlzdSpHEZToCg0eKgL2HEi5o5Wt9HzIJjKqoRxAeeCwyD3WceYZFOlccUJQK0q1d7nSLWVTcKGbM1rdWKkESA1qBi5alLgyfDt8FxmoXiQnz49quTGbiaNXrJAS0mNX2TnQsF0TL1xDwnr9VzktndZZIHRiUCtCu3OvgOxmQnBy9o15jU3cZrRqI+VCJAq6lmjBA34KYYvvoWpEStyTxPB+bBgnlB3cJf0Vsz0M6oieYLXTIXp3B4I7jGehCa7sJJltGoJqC1yJidyfOtMJoyKsNRDeGipfq42rLRkiNRTUCTqtMtl1oZo6lIFVhoiXyDMa2BtHVEeYaqgdbNRmxlxox4I3aCJoh4xmomcasGmjZy9nAlcONGFhn8nOxulZ2irXIcXs6tCmhHtSnuPMXo6UoinxmVFlFGGZZXBTSB2s3AonO4EkQGPy9cdIo+8RFhEjc20O7UjtaZcdMrSWTgeZnkQnZaepzh8DC3OSyiTHiO48DNUQYnmOLyVYwLiOo2rVDqmt+n31b6Hhr5f/2KUuP/o9T5gaglVE53NWHVRvdYfrNSl2hWH2WP4ACeYPK3YjsbnKoYGh9osbbOp+q4ZQJUGJVw3j9WMsnPPKG5QQWM8nK8KrbQg2/8klJLr9dBp06+pFpWvF+t3vRxAuKIUq96x4t4WWJ58BJv+oLzEinjYP9z9L9Staz8iGp/L90D5U/SizVI7oGxlfpdyGleumwk1ZdWUGBYmDMSwjYFpad6sO4OhCN/sEofrgRWRxp/sO9G1rcBQuZbSjUtV/3//Yw6euhJ9fLzP9Il3nr7nWr7zk+rzlvoYMJTTxh3iXG58e80yHiBjz/0p2r07Gkv81337FR7H3pYqZc+SSc9X/DC2bPngZ+xF+4wfbqqK+zTVXE5Ossl37h+mf50Ezb3VAIXnMyb22NNCqz5hAZ58sKE2v/Fz6iLF4pbLgD4yOunVefTzyv1xred5s6Vi+qitUAcEZkgI+y5Zw6p1WvbVdf2HUqdpXuUpw36+wV3Xhf4nbB4naHYWfq/L5zX318xQYZRCbIbG4Owkf7AY7f55HMsseGC0N/3jA9kfl5w37H/+Aa19Ns5KJ4LuU8EcSE5WRZy9JtPei9Dhof4Q3fvRuZobTyamd1GC81LCOBi5hj6pbEmQq/14A/iIKNvyVVJSUYAOI4IYiOM0ORVZmNYdKTwkddPhaaTrSg0EUUAA5fpcPZHLwVlZfpIHE2yuVt/qMzyr/iHSADn4sQvDFpMkCEmcFwbE9LDiB6Z3qaen2jrh3HmVTDpOGgJNVD7LZtDc69asz4wzlzY6ZuFoT0+5gqnskCjJ3U2/xTNoLgr73D624ferYELWqKLiuBcDRYteOOxR5Cu+tb5wXtU0AOv33ibat/4XqXeJjldDb1FKiIRykDnGkS7HqTO8q1jJVFyLyQzkDGR2yMzNckL6dfDSr3b1LqDw1Hg/bl1epDCe6k5TroAGR/M4Q4Qcbv/+Lf0Z51kuop+qFXXd9Fy7KvU1o/cp5ZclaYO8BSpd62qa+9DateDX1JLxv5dqbH/qlhUYILLdHTF0rVKkYjq3HaPmhg9p05DFBHhxe59+J9V5++RZjVMWo3tn3AePDnpnTa59vqlmuFwfNwPaX21+w2btsz6ZRO0POE4yguQuAimY3+MHVjo4KJwZBDIsOxVPYI09Gindu7/2e/UptqhGEOP9pWPF33yrwM1GixV5r5HPh/OBDx85E0uZpgWg3bgIpCjCeQe2vSzm1PXAjLyYptF1QSu0+obfRwNuix+GKhAd4ZbK4FT0SLQH0zT7D2uISrOfU+poa8G6s+45bfpY218BPP27GoFrgZh14Ofq51FNyVah2Nnth/QueivVpCjtAK+V1kXw+EyQ+KyeaNEoj+IOKRHJy/FotzRhf4KSoH3aVhnMXuvrzPUctn5mpuuGmRyFKCCxEXUFxQFg/mWRh51AYxMZcBvRnWWyvk5Ws9m255lrlqQpcyabyAlUR951MV2/zkhunhwtNSrMQbxONrl5n1ckShTU0GcDL266o6Pbz6PXRz6wseH6oGafyuGV3MpTuj8v6wHtLs2oxUpUUCQZc4rhTxhIMcakMgCF4gf30Fnuu2W5SVig+N8ZlQ6y6kItLJznKiL1DFT7nAcu1BvZIeA3bMNDzKpbszNwAFLlMPIP86wHY52tw54srkSYOYH19HxVWoBYRWqR3gsC2HECmAkKPRjnevkq5P6KIygIqS9GvEORzsnMer0AK0cN0NGsaKODE1NdJyBcaKLLmiO/jBg+As6ewMj06QAh5iEOYHJVtYI+3tpcBJ0n1NnpjgJ3CFXdBSnYspNOeGtGl+zVzMzNtmlX5eFzqkfqhX6GOwSA+DYlocJiVoIL02KDGvW+hiV550fJV8C38cPvjWkR4aZdctI26CvQxBBBPjli5MVIOOG4lu0NLWhliD27Lnf6FaAPeBzTdgSgSPtUV+Ag37kJ/0Tutljeg3ficGebx7JVaovXpTYXoHke/InRr5H2ywGyb8TARghAljsg0fZuPdTdDS/wOqgC3TL15EBhOWpSCyJQWZLHMVN0LTNB2m8irH1JqT9JX1hAkYVPOhcE0Qf+hlw95LmlO60cEAAgAdT4LsBd991TclzynpDXHz1yZIPXB4k20U30mEvC77pRd4tuMYLPUEvFK0H31IXIE9Qnp3aqCSPYjfP3Q8AGaYofeaQY+FrGqL7aLUQixxhOi0n41GpuSBwHLZ84LMjmOXxqV9GhfDM4GSpVVESgJwzkuJT33kK8+xCZjxjxRyNt5JBInxNAiIAnImO7+sHz3g2ZbcQfALkEPz6g77rlsMMmMM1uAbcgqZrtgrEzyXh5UMkQmSUa3XYvrf/qf/zyWSqdyDIeB7i7F58N5e8mE9LI8ylYeLIewmrI7h2OBonKs7ORrGeA+S8W5DnuKvfD3AAxv84bXc+cjbX0XTB8eBidKIGBT6zkcY5ktM7bnN6yDwJXgONTCZYRkET9Epy5Y4oM5vQQgEbAEMl9KxtxQcHR+YifRO9mCfUp0UHYqkJDFAT6CMvwL+RfmgGUGG+SUbZnfT5aoiIUHKaUPEYIPTEECOb30OLUajZzjfCQp/eZ9/U6qohi4EAPkO1M39sbDCpegPURMnkbOi0ECPlOh+zAtxxQabGWp5gFmRcA9z+n9JiH1LxpF4skhGjWd1JcbEo15HRMiAJv/xGOMrDeaDGrqaS2wBcdEQmCNBkMIjCi8LsBdwoLQSgjow6mgb05wDZK+tQN4D5JolzNBfsTofpmZpyy8CgrwJg047A5YS5eAHmwApqmdD1w7JyOMRiL40HesKWcXHCJNz6jS5sDOud9xi2aCZEX9XPhSUN5bgQTT+k+ZfDZZgiC1St3nIde7kCqo2rH9DiOGE+rk1WEjo6hqlBHLjxphYt15EeIgAjLnFMmiymst9W/0nAHqIOvWCqXJUzJ5eiLkC7q051LZ0mrk0iXq0Bsmmc8iLJk0oVJRrkM9KH0T1/sFpt/u0VOpo7T9+Uv2Udp84tH5b/nQr3GzUSu6vdwUWZcjQAZNLR6ftbIYROMkDHPc3Jn/nBiO4c8UJYQ/HdUyzM5Dxz4dYJaKuDH0bOnUEmG5wM41RW2akBTg9XHkMhZ5zdNNSJzZBByzFTIgxWRZTN5DO6h58QzMnfEbdOQJfWHZwJQARpkNHjm3qr7OTkjLOTF5/3Gx/SL0jYhCXYhs6+Tdxzzrx1BxrWMhDsCKLj80AOe3JwKDpCCbqTdjoPV6tkaA0G2DBTmnq2M8NPKeeQ6g40AMPDG6ravgDdtU/igH0wJZ0gPoUHbnYpCOwnaMoJnSFsLR55xh4v5B331AfolNXLTwKAwc2CYHLMi2vHK06wQQC+bVvSCYpvvXB+E2yEY/BTYr/gDHPk1gVoh1uLR7T5RIaa6Q58VvEpJ8SXigzq/MQhWbKMItjFe/rij48U5PVc+OsCtH6QVFOOXIzEJIV+sdMVCQdlYr+fOsHCeKhCrcFOz2ZpNPoo5cPwGgR3j/bN8Z9Vz/s7U13NGbpHVpE4cTg9/I7u1BjEjqEpxPuQb/G+pQb48LvXN6auQFdbdXcSIktD5zaaAC7U+1PS1dYzTr7/B1IqApH+YOnFAAAAAElFTkSuQmCC" id="84"/></item></list></costumes><sounds><list struct="atomic" id="85"></list></sounds><blocks></blocks><variables></variables><scripts><script x="66" y="48"><block s="receiveGo"></block><block s="hide"></block><block s="gotoXY"><l>0</l><l>0</l></block></script><script x="60" y="149"><block s="receiveMessage"><l>X is the winner</l></block><block s="show"></block><block s="doSayFor"><l>Game Over X is the winner</l><l>10</l></block></script><script x="61" y="250.99999999999991"><block s="receiveMessage"><l>O is the winner</l></block><block s="show"></block><block s="doSayFor"><l>Game Over O is the winner</l><l>10</l></block></script><script x="64" y="352.9999999999999"><block s="receiveMessage"><l>tie game</l></block><block s="show"></block><block s="doSayFor"><l>tie game</l><l>10</l></block></script></scripts></sprite><watcher var="X&apos;s turn?" style="normal" x="1.8876302083333485" y="1.8876302083333378" color="243,118,29" hidden="true"/><watcher scope="Square" var="square number" style="normal" x="4.463362068965466" y="4.463362068965516" color="243,118,29" hidden="true"/><watcher var="board" style="normal" x="4.166319248162949" y="7.275658328622569" color="243,118,29" extX="80" extY="70.00000000000001"/><watcher var="counter" style="normal" x="5.5416666666667425" y="5.541666666666671" color="243,118,29" hidden="true"/></sprites></stage><hidden></hidden><headers></headers><code></code><blocks><block-definition s="label %&apos;text&apos; of size %&apos;size&apos;" type="command" category="pen"><comment x="0" y="0" w="90" collapsed="false">LABEL will stamp text on the stage at the given font size. The direction of the text is the direction the sprite is facing, and color will match the pen color.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">Hello!</input><input type="%n">12</input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>text</l><l>size</l></list><l>var stage = this.parentThatIsA(StageMorph),&#xD;    context = stage.penTrails().getContext(&apos;2d&apos;),&#xD;    rotation = radians(this.direction() - 90),&#xD;    trans = new Point(&#xD;      this.center().x - stage.left(),&#xD;      this.center().y - stage.top()&#xD;    ),&#xD;    isWarped = this.Warped,&#xD;    len,&#xD;    pos;&#xD;&#xD;if (isWarped) {endWarp(); }&#xD;context.save();&#xD;context.font = size + &apos;px monospace&apos;;&#xD;context.textAlign = &apos;left&apos;;&#xD;context.textBaseline = &apos;alphabetic&apos;;&#xD;context.fillStyle = this.color.toString();&#xD;len = context.measureText(text).width;&#xD;trans = trans.multiplyBy(1 / stage.scale);&#xD;context.translate(trans.x, trans.y);&#xD;context.rotate(rotation);&#xD;context.fillText(text, 0, 0);&#xD;context.translate(-trans.x, -trans.y);&#xD;context.restore();&#xD;pos = new Point(&#xD;  len * Math.sin(radians(this.direction())),&#xD;  len * Math.cos(radians(this.direction())));&#xD;pos = pos.add(new Point(this.xPosition(), this.yPosition()));&#xD;this.gotoXY(pos.x, pos.y, false);&#xD;this.changed();&#xD;if (isWarped) {this.startWarp(); }&#xD;stage.changed();</l></block><list><block var="text"/><block var="size"/></list></block></script></block-definition><block-definition s="map %&apos;function&apos; over %&apos;lists&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%repRing"></input><input type="%mult%l"></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>mapone</l><l>mapmany</l></list></block><block s="doSetVar"><l>mapone</l><block s="reifyScript"><script><block s="doIf"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doReport"><block s="reportCONS"><block s="evaluate"><block var="function"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><block s="evaluate"><block var="mapone"/><list><block s="reportCDR"><block var="data"/></block></list></block></block></block></script><list><l>data</l></list></block></block><block s="doSetVar"><l>mapmany</l><block s="reifyScript"><script><block s="doIf"><custom-block s="empty? %l"><block s="reportListItem"><l>1</l><block var="data lists"/></block></custom-block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doReport"><block s="reportCONS"><block s="evaluate"><block var="function"/><custom-block s="map %repRing over %mult%l"><block s="reifyReporter"><autolambda><block s="reportListItem"><l>1</l><l/></block></autolambda><list></list></block><list><block var="data lists"/></list></custom-block></block><block s="evaluate"><block var="mapmany"/><list><custom-block s="map %repRing over %mult%l"><block s="reifyReporter"><autolambda><block s="reportCDR"><l/></block></autolambda><list></list></block><list><block var="data lists"/></list></custom-block></list></block></block></block></script><list><l>data lists</l></list></block></block><block s="doIfElse"><custom-block s="empty? %l"><block s="reportCDR"><block var="lists"/></block></custom-block><script><block s="doReport"><block s="evaluate"><block var="mapone"/><list><block s="reportListItem"><l>1</l><block var="lists"/></block></list></block></block></script><script><block s="doReport"><block s="evaluate"><block var="mapmany"/><list><block var="lists"/></list></block></block></script></block></script></block></script></block-definition><block-definition s="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="reportEquals"><block var="data"/><block s="reportNewList"><list></list></block></block></block></script></block-definition><block-definition s="keep items such that %&apos;pred&apos; from %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></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></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></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="reportGreaterThan"><block var="start"/><block var="end"/></block><script><block s="doSetVar"><l>step</l><l>-1</l></block><block s="doSetVar"><l>tester</l><block s="reifyReporter"><autolambda><block s="reportLessThan"><block var="i"/><block var="end"/></block></autolambda><list></list></block></block></script><script><block s="doSetVar"><l>step</l><l>1</l></block><block s="doSetVar"><l>tester</l><block s="reifyReporter"><autolambda><block s="reportGreaterThan"><block var="i"/><block var="end"/></block></autolambda><list></list></block></block></script></block><block s="doSetVar"><l>i</l><block var="start"/></block><block s="doUntil"><block s="evaluate"><block var="tester"/><list></list></block><script><block s="doRun"><block var="action"/><list></list></block><block s="doChangeVar"><l>i</l><block var="step"/></block></script></block></script></block-definition><block-definition s="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></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="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="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="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="tell %&apos;sprite&apos; to %&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; for %&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="list $arrowRight word %&apos;list&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"><block s="reportJoinWords"><block var="list"/></block></block></script></block></script></block-definition><block-definition s="makeBoard" type="command" category="control"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSetVar"><l>square number</l><l>0</l></block><block s="show"></block><custom-block s="for %upvar = %n to %n %cs"><l>row</l><l>1</l><l>3</l><script><custom-block s="for %upvar = %n to %n %cs"><l>column</l><l>1</l><l>3</l><script><block s="doChangeVar"><l>square number</l><l>1</l></block><block s="createClone"><l><option>myself</option></l></block><block s="changeXPosition"><l>50</l></block></script></custom-block><block s="changeXPosition"><l>-150</l></block><block s="changeYPosition"><l>-50</l></block></script></custom-block><block s="hide"></block></script></block-definition><block-definition s="catch %&apos;tag&apos; %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations>de:fange _ _&#xD;ca:agafa _ _&#xD;es:atrapar _ _&#xD;fr:attrape _ _&#xD;pt:captura _ _&#xD;</translations><inputs><input type="%upvar"></input><input type="%cs"></input></inputs><script><block s="doCallCC"><block s="reifyScript"><script><block s="doSetVar"><l>tag</l><block var="cont"/></block><block s="doRun"><block var="action"/><list></list></block></script><list><l>cont</l></list></block></block><custom-block s="ignore %s"><l>3</l></custom-block></script></block-definition><block-definition s="throw %&apos;cont&apos;" type="command" category="control"><header></header><code></code><translations>de:wirf _&#xD;ca:llança _&#xD;es:lanzar _&#xD;fr:lance _&#xD;pt:lança _&#xD;</translations><inputs><input type="%s">catchtag</input></inputs><script><block s="doRun"><block var="cont"/><list></list></block></script></block-definition><block-definition s="catch %&apos;tag&apos; %&apos;value&apos;" type="reporter" category="control"><header></header><code></code><translations>de:fange _ _&#xD;ca:agafa _ _&#xD;es:atrapar _ _&#xD;fr:attrape _ _&#xD;pt:captura _ _&#xD;</translations><inputs><input type="%upvar"></input><input type="%anyUE"></input></inputs><script><block s="doCallCC"><block s="reifyScript"><script><block s="doSetVar"><l>tag</l><block var="cont"/></block><block s="doReport"><block s="evaluate"><block var="value"/><list></list></block></block></script><list><l>cont</l></list></block></block></script></block-definition><block-definition s="throw %&apos;tag&apos; %&apos;value&apos;" type="command" category="control"><header></header><code></code><translations>de:wirf _ _&#xD;ca:llança _ _&#xD;es:lanzar _ _&#xD;fr:lance _ _&#xD;pt:lança _ _&#xD;</translations><inputs><input type="%s">catchtag</input><input type="%s"></input></inputs><script><block s="doRun"><block var="tag"/><list><block var="value"/></list></block></script></block-definition><block-definition s="if %&apos;test&apos; do %&apos;action&apos; and pause all $pause-1-255-220-0" type="command" category="control"><header></header><code></code><translations>de:falls _ dann _ und pause $pause-1-255-220-0&#xD;ca:si _ fes _ i atura-ho tot $pause-1-255-220-0&#xD;es:si _ haz _ y páralo todo $pause-1-255-220-0&#xD;fr:si _ faire _ et mettre tout en pause $pause-1-255-220-0&#xD;pt:se _ , então _ e faz pausa em tudo $pause-1-255-220-0&#xD;</translations><inputs><input type="%boolUE"></input><input type="%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>breakpoint</l></list></block><block s="doIf"><block s="evaluate"><block var="test"/><list></list></block><script><block s="doSetVar"><l>breakpoint</l><block var="test"/></block><block s="doShowVar"><l>breakpoint</l></block><block s="doRun"><block var="action"/><list></list></block><block s="doPauseAll"></block><block s="doHideVar"><l></l></block></script></block></script></block-definition><block-definition s="ignore %&apos;x&apos;" type="command" category="control"><header></header><code></code><translations>de:ignoriere _&#xD;ca:ignora _&#xD;es:ignorar _&#xD;fr:ignore _&#xD;pt:ignora _&#xD;</translations><inputs><input type="%s"></input></inputs></block-definition><block-definition s="cascade %&apos;num&apos; times %&apos;function&apos; %&apos;init&apos; %&apos;#&apos;" type="reporter" category="control"><comment x="0" y="0" w="138" collapsed="false">Call f(f(f(...(f(x))))) n times where the three input slots are n, f, and x from left to right.  The # variable can be used inside f to represent how many times f has been called.</comment><header></header><code></code><translations>pt:o resultado de _ invocações em cascata de _ com argumento inicial _ _&#xD;</translations><inputs><input type="%n"></input><input type="%repRing"></input><input type="%s"></input><input type="%upvar"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doSetVar"><l>result</l><block var="init"/></block><block s="doSetVar"><l>#</l><l>0</l></block><block s="doRepeat"><block var="num"/><script><block s="doChangeVar"><l>#</l><l>1</l></block><block s="doSetVar"><l>result</l><block s="evaluate"><block var="function"/><list><block var="result"/></list></block></block></script></block><block s="doReport"><block var="result"/></block></script></block-definition><block-definition s="cascade until %&apos;pred&apos; %&apos;function&apos; %&apos;init&apos; %&apos;#&apos;" type="reporter" category="control"><comment x="0" y="0" w="90" collapsed="false">Call f(f(f(...(f(x))))) until condition is true, where the three input slots are condition, f, and x from left to right.  The # variable can be used inside f or condition to indicate how many times f has been called.</comment><header></header><code></code><translations>pt:o resultado da invocação em cascata até que _ de _ com argumento inicial _ _&#xD;</translations><inputs><input type="%predRing"></input><input type="%repRing"></input><input type="%s"></input><input type="%upvar"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doSetVar"><l>result</l><block var="init"/></block><block s="doSetVar"><l>#</l><l>0</l></block><block s="doUntil"><block s="evaluate"><block var="pred"/><list><block var="result"/></list></block><script><block s="doChangeVar"><l>#</l><l>1</l></block><block s="doSetVar"><l>result</l><block s="evaluate"><block var="function"/><list><block var="result"/></list></block></block></script></block><block s="doReport"><block var="result"/></block></script></block-definition><block-definition s="compose %&apos;f&apos; %&apos;g&apos;" type="reporter" category="control"><comment x="0" y="0" w="90" collapsed="false">Returns the function f(g(x)) where f and g are the two inputs.</comment><header></header><code></code><translations>pt:a composição de _ com _&#xD;</translations><inputs><input type="%repRing"></input><input type="%repRing"></input></inputs><script><block s="doReport"><block s="reifyReporter"><autolambda><block s="evaluate"><block var="f"/><list><block s="evaluate"><block var="g"/><list><l></l></list></block></list></block></autolambda><list></list></block></block></script></block-definition><block-definition s="repeat %&apos;action&apos; until %&apos;pred&apos;" type="command" category="control"><comment x="0" y="0" w="90" collapsed="false">Like the built-in REPEAT UNTIL block, except that the ending condition is not tested until the script has been run the first time.  So the script is run at least once.</comment><header></header><code></code><translations>pt:repete _ até que _ $loop-0.7&#xD;</translations><inputs><input type="%cs"></input><input type="%boolUE"></input></inputs><script><block s="doRun"><block var="action"/><list></list></block><block s="doUntil"><block s="evaluate"><block var="pred"/><list></list></block><script><block s="doRun"><block var="action"/><list></list></block></script></block></script></block-definition><block-definition s="repeat %&apos;action&apos; while %&apos;pred&apos;" type="command" category="control"><comment x="0" y="0" w="90" collapsed="false">Run the script repeatedly, as long as the given condition is true.  Runs the script at least once before testing the condition.</comment><header></header><code></code><translations>pt:repete _ enquanto _ $loop-0.7&#xD;</translations><inputs><input type="%cs"></input><input type="%boolUE"></input></inputs><script><block s="doRun"><block var="action"/><list></list></block><block s="doUntil"><block s="reportNot"><block s="evaluate"><block var="pred"/><list></list></block></block><script><block s="doRun"><block var="action"/><list></list></block></script></block></script></block-definition><block-definition s="repeat while %&apos;pred&apos; %&apos;action&apos;" type="command" category="control"><comment x="0" y="0" w="90" collapsed="false">Runs the script repeatedly, as long as the condition is true.  Tests the condition before the first time the script is run.  Like the built in REPEAT UNTIL except that in this block the condition must be true, not false.</comment><header></header><code></code><translations>pt:enquanto _ , repete _ $loop-0.7&#xD;</translations><inputs><input type="%boolUE"></input><input type="%cs"></input></inputs><script><block s="doUntil"><block s="reportNot"><block s="evaluate"><block var="pred"/><list></list></block></block><script><block s="doRun"><block var="action"/><list></list></block></script></block></script></block-definition><block-definition s="repeat %&apos;num&apos; %&apos;#&apos; %&apos;action&apos;" type="command" category="control"><comment x="0" y="0" w="171" collapsed="false">Runs the script the specified number of times, like the built-in REPEAT block, but this one provides the # variable that can be used inside the script.  Try&#xD;REPEAT (200)&#xD;                MOVE (#) STEPS&#xD;   RIGHT 92&#xD;with the pen down.</comment><header></header><code></code><translations>pt:repete _ vezes _ _ $loop-0.7&#xD;</translations><inputs><input type="%n"></input><input type="%upvar"></input><input type="%cs"></input></inputs><script><block s="doSetVar"><l>#</l><l>0</l></block><block s="doRepeat"><block var="num"/><script><block s="doChangeVar"><l>#</l><l>1</l></block><block s="doRun"><block var="action"/><list></list></block></script></block></script></block-definition><block-definition s="for %&apos;i&apos; = %&apos;start&apos; step %&apos;step&apos; to %&apos;end&apos; %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations>pt:para _ de _ com passo _ a _ _ $loop-0.7&#xD;</translations><inputs><input type="%upvar"></input><input type="%n">1</input><input type="%n">1</input><input type="%n">10</input><input type="%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>test</l></list></block><block s="doSetVar"><l>i</l><block var="start"/></block><block s="doIfElse"><block s="reportLessThan"><block var="step"/><l>0</l></block><script><block s="doSetVar"><l>test</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>test</l><block s="reifyPredicate"><autolambda><block s="reportGreaterThan"><block var="i"/><block var="end"/></block></autolambda><list></list></block></block></script></block><block s="doUntil"><block s="evaluate"><block var="test"/><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="let %&apos;a&apos; be %&apos;val&apos; in %&apos;loop&apos; %&apos;body&apos;" type="command" category="control"><comment x="0" y="0" w="238.66666666666669" collapsed="false">Provides LOOP as a function of one input that runs&#xD;the body of the LET with A set to the function input,&#xD;so the body can run itself recursively.&#xD;See COPY block in Variables for an example of use.</comment><header></header><code></code><translations>pt:tendo _ o valor inicial _ , executa _ definido como _&#xD;</translations><inputs><input type="%upvar"></input><input type="%s"></input><input type="%upvar"></input><input type="%cs"></input></inputs><script><block s="doSetVar"><l>a</l><block var="val"/></block><block s="doSetVar"><l>loop</l><block s="reifyScript"><script><block s="doSetVar"><l>a</l><block var="new value"/></block><block s="doRun"><block var="body"/><list><block var="a"/></list></block></script><list><l>new value</l></list></block></block><block s="doRun"><block var="loop"/><list><block var="a"/></list></block></script></block-definition><block-definition s="TicTacToe wins" 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;list&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><custom-block s="map %repRing over %mult%l"><block s="reifyReporter"><autolambda><block s="reportListItem"><l></l><block var="board"/></block></autolambda><list></list></block><list><block var="list"/></list></custom-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><block s="reportListContainsItem"><block var="board"/><custom-block s="TicTacToe wins"></custom-block></block></autolambda><list></list></block><block var="board"/></block></block></script></block-definition><block-definition s="Won? %&apos;Winning Player&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doForEach"><l>item</l><custom-block s="map %repRing over %mult%l"><block s="reifyReporter"><autolambda><custom-block s="status of triple %l"><l/></custom-block></autolambda><list></list></block><list><custom-block s="TicTacToe wins"></custom-block></list></custom-block><script><block s="doIfElse"><block s="reportAnd"><block s="reportListContainsItem"><block var="item"/><l>X</l></block><block s="reportListContainsItem"><block var="item"/><l>O</l></block></block><script></script><script><block s="doIfElse"><block s="reportListContainsItem"><block var="item"/><l>Empty</l></block><script></script><script><block s="doIf"><block s="reportListContainsItem"><block var="item"/><block var="Winning Player"/></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script></block></script></block></script></block><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block-definition><block-definition s="X turn" type="command" category="variables"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSwitchToCostume"><l>X</l></block><block s="doReplaceInList"><block var="square number"/><block var="board"/><l>X</l></block><block s="doIfElse"><custom-block s="Won? %txt"><l>X</l></custom-block><script><block s="doBroadcast"><l>X is the winner</l></block></script><script><block s="doChangeVar"><l>counter</l><l>1</l></block><block s="doIfElse"><block s="reportEquals"><block var="counter"/><l>9</l></block><script><block s="doBroadcast"><l>tie game</l></block></script><script><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block></script></block-definition><block-definition s="O block" type="command" category="variables"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSwitchToCostume"><l>O</l></block><block s="doReplaceInList"><block var="square number"/><block var="board"/><l>O</l></block><block s="doIfElse"><custom-block s="Won? %txt"><l>O</l></custom-block><script><block s="doBroadcast"><l>O is the winner</l></block></script><script><block s="doChangeVar"><l>counter</l><l>1</l></block><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script></block-definition></blocks><variables><variable name="X&apos;s turn?"><bool>true</bool></variable><variable name="board"><list struct="atomic" id="1173">X,O,O,Empty,X,Empty,Empty,Empty,X</list></variable><variable name="counter"><l>4</l></variable></variables></project><media name="U3L2-Tic-Tac-Toe" app="Snap! 6, https://snap.berkeley.edu" version="1"></media></snapdata>