<snapdata remixID="11440725"><project name="shapes" app="Snap! 7, https://snap.berkeley.edu" version="2"><notes></notes><thumbnail>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAADi0lEQVR4Xu3cwY0UMRAF0EbEASkQACEQACfiIAXyQCIAQkAiADJAJAIsghO7sHJ5+pfbb87rcvnXU2mQRjz5/vNz+EgglMATAEPJu/ZXAgCCEE0AwGj8LgeQgWgCAEbjdzmADEQTADAav8sBZCCaAIDR+F0OIAPRBACMxu9yABmIJgBgNH6XA8hANAEAo/G7HEAGogkAGI3f5QAyEE0AwGj8LgeQgWgCAEbjdzmADEQTADAav8sBZCCaAIDR+F0OIAPRBACMxu9yABmIJgBgNH6XA8hANAEAo/G7HEAGogkAGI3f5QAyEE0AwGj8LgeQgWgCAJ4U/5sXD1/0/stJTTS8BsCThgLg/UEDCOBJCQAYDdoGBBDAaAIARuO3AQEEMJoAgNH4bUAAAYwmAGA0fhsQQACjCQAYjd8GBBDAaAIARuO3AQEEMJoAgEPx/2tzPabgn59a2YAAPsbLX38D4FBsjz7k51j/iQrAR1sa+kMAARyCM+sQgADOsjRUB0AAh+DMOgQggLMsDdUBEMAhOLMOAQjgLEtDdQAEcAjOrEMAAjjL0lAdAAEcgjPrEIAAzrI0VAdAAIfgzDoEIICzLA3VARDAITizDt0W4Mvnx/H526xel67j94D3j+/GAJ8dx6evx/H06dJ4ZjQPYATgzw1497EFDwBTAN++O45Xr7ffggCmAN5tP98FbcAHvsfc+Dvg73+EfPxgC874InnBGucAvAvOFrwgn/qTzgNoC9andcEK5wG0BS/Ip/6kcwHagvWJXazCuQBtwYvxqT/nfIC2YH1qF6pwPkBb8EJ86k/JALQF65O7SIUMQFvwInzqz8gBtAXr07tAhRxAW/ACfOpPyAK0BesTXLxCFqAtuDifevt5gLZgfYoLV8gDtAUX5lNvvQdAW7A+yUUr9ABoCy7Kp952H4C2YH2aC1boA9AWXJBPveVeAG3B+kQXq9ALoC24GJ96u/0A2oL1qS5UoR9AW3AhPvVWewK0BeuTXaRCT4C24CJ86m32BWgL1qe7QIW+AG3BBfjUW7w9wGqP/mu3aoKtz98WYOuna65DAgB2mMLGPQC48fA7PB3ADlPYuAcANx5+h6cD2GEKG/cA4MbD7/B0ADtMYeMeANx4+B2eDmCHKWzcA4AbD7/D0wHsMIWNewBw4+F3eDqAHaawcQ8Abjz8Dk8HsMMUNu4BwI2H3+HpAHaYwsY9/AAzyMS3qV3zhQAAAABJRU5ErkJggg==</thumbnail><scenes select="1"><scene name="shapes"><notes></notes><palette><category name="Items" color="255,38,0,1"/><category name="assoc" color="217,77,17,1"/></palette><hidden></hidden><headers></headers><code></code><blocks><block-definition s="reset" type="command" category="Items"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doIfElse"><block s="reportIsA"><block var="Items"/><l><option>list</option></l></block><script><block s="doDeleteFromList"><l><option>all</option></l><block var="Items"/></block></script><script><block s="doSetVar"><l>Items</l><block s="reportNewList"><list></list></block></block></script></block><block s="clear"></block></script></block-definition><block-definition s="square %&apos;origin&apos; %&apos;corner&apos;" type="reporter" category="Items"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input></inputs><script><custom-block s="let %upvar be %s"><l>this</l><custom-block s="%mult%s"><list><l>origin</l><block var="origin"/><l>corner</l><block var="corner"/></list></custom-block></custom-block><custom-block s="%s of %l = %s"><l>hover</l><block var="this"/><block s="reifyPredicate"><autolambda><custom-block s="all %mult%b"><block s="reportLessThan"><block s="reportNewList"><list><custom-block s="%s of %l"><l>origin</l><block var="this"/></custom-block><custom-block s="mouse pos"></custom-block></list></block><block s="reportNewList"><list><custom-block s="mouse pos"></custom-block><custom-block s="%s of %l"><l>corner</l><block var="this"/></custom-block></list></block></block></custom-block></autolambda><list></list></block></custom-block><custom-block s="%s of %l = %s"><l>width</l><block var="this"/><block s="reifyReporter"><autolambda><block s="reportListItem"><l>1</l><block s="reportDifference"><custom-block s="%s of %l"><l>corner</l><block var="this"/></custom-block><custom-block s="%s of %l"><l>origin</l><block var="this"/></custom-block></block></block></autolambda><list></list></block></custom-block><custom-block s="%s of %l = %s"><l>height</l><block var="this"/><block s="reifyReporter"><autolambda><block s="reportListItem"><l>2</l><block s="reportDifference"><custom-block s="%s of %l"><l>corner</l><block var="this"/></custom-block><custom-block s="%s of %l"><l>origin</l><block var="this"/></custom-block></block></block></autolambda><list></list></block></custom-block><custom-block s="%s of %l = %s"><l>draw</l><block var="this"/><block s="reifyScript"><script><custom-block s="let %upvar be %s"><l>pen</l><block s="newClone"><l><option>myself</option></l></block></custom-block><custom-block s="let %upvar be %s"><l>width</l><block s="evaluate"><custom-block s="%s of %l"><l>width</l><block var="this"/></custom-block><list></list></block></custom-block><custom-block s="let %upvar be %s"><l>height</l><block s="evaluate"><custom-block s="%s of %l"><l>height</l><block var="this"/></custom-block><list></list></block></custom-block><block s="doTellTo"><block var="pen"/><block s="reifyScript"><script><block s="doIfElse"><block var="EX) squares touching"/><script><block s="setColor"><color>15,255,5,1</color></block></script><script><block s="setColor"><color>92,46,255,1</color></block></script></block><block s="doSetGlobalFlag"><l><option>flat line ends</option></l><l><bool>true</bool></l></block><block s="setSize"><block var="height"/></block><block s="setHeading"><l>90</l></block><block s="doGotoObject"><custom-block s="%s of %l"><l>origin</l><block var="this"/></custom-block></block><block s="changeYPosition"><block s="reportQuotient"><block var="height"/><l>2</l></block></block><block s="down"></block><block s="changeXPosition"><block var="width"/></block><block s="up"></block><block s="removeClone"></block></script><list></list></block><list></list></block></script><list></list></block></custom-block><custom-block s="%s of %l = %s"><l>translate</l><block var="this"/><block s="reifyScript"><script><custom-block s="%s of %l = %s"><l>origin</l><block var="this"/><block s="reportVariadicSum"><list><custom-block s="%s of %l"><l>origin</l><block var="this"/></custom-block><l></l></list></block></custom-block><custom-block s="%s of %l = %s"><l>corner</l><block var="this"/><block s="reportVariadicSum"><list><custom-block s="%s of %l"><l>corner</l><block var="this"/></custom-block><l></l></list></block></custom-block></script><list></list></block></custom-block><custom-block s="%s of %l = %s"><l>watch</l><block var="this"/><block s="reifyScript"><script><custom-block s="let %upvar be %s"><l>coords</l><block s="reportNewList"><list><custom-block s="%s of %l"><l>origin</l><block var="this"/></custom-block><custom-block s="%s of %l"><l>corner</l><block var="this"/></custom-block></list></block></custom-block><block s="doShowVar"><l>coords</l></block></script><list></list></block></custom-block><block s="doReport"><block var="this"/></block></script></block-definition><block-definition s="%&apos;data&apos;" type="reporter" category="assoc"><header></header><code></code><translations></translations><inputs><input type="%mult%s"></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>i</l></list></block><block s="doRepeat"><block s="reportQuotient"><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>2</l></block><script><block s="doChangeVar"><l>i</l><l>1</l></block><block s="doReplaceInList"><block var="i"/><block var="data"/><block s="reportListItem"><block s="reportNewList"><list><block var="i"/><block s="reportVariadicSum"><list><block var="i"/><l>1</l></list></block></list></block><block var="data"/></block></block><block s="doDeleteFromList"><block s="reportVariadicSum"><list><block var="i"/><l>1</l></list></block><block var="data"/></block></script></block><block s="doReport"><block var="data"/></block></script></block></script><scripts><script x="21" y="254.83333333333326"><block s="doRun"><block s="reportJSFunction"><list><l>proc</l></list><l>var ide = this.parentThatIsA(IDE_Morph),&#xD;    def = proc.topBlock.parentThatIsA(BlockEditorMorph).definition;&#xD;&#xD;def.blockInstance = function (storeTranslations) {&#xD;    var block = this.type === &apos;command&apos; &#xD;            ? new CustomCommandBlockMorph(this)&#xD;            : new CustomReporterBlockMorph(this, this.type === &apos;predicate&apos;);&#xD;&#xD;    block.isDraggable = true;&#xD;    if (storeTranslations) block.storedTranslations = this.translationsAsText();&#xD;&#xD;    var multi = block.inputs()[0];&#xD;   multi.collapseAll();&#xD;    multi.addInput = function () {&#xD;        [&apos;%br&apos;, &apos;%s&apos;, &apos;:&apos;, &apos;%s&apos;].forEach(spec =&gt; {&#xD;            var part = this.labelPart(spec);&#xD;            part.parent = this;&#xD;            this.children.splice(this.children.length - 1, 0, part);&#xD;            part.fixLayout();&#xD;            this.fixLayout();&#xD;        });&#xD;    };&#xD;    multi.removeInput = function () {&#xD;        for(r = 4; r &gt; 0; r--) {&#xD;            this.removeChild(this.children[this.children.length - 2])&#xD;        };&#xD;      this.fixLayout();&#xD;    };&#xD;    multi.addInput();&#xD;    return block;&#xD;};&#xD;ide.flushBlocksCache();&#xD;ide.refreshPalette();</l></block><list></list></block></script></scripts></block-definition><block-definition s="%&apos;keys&apos; of %&apos;arr&apos;" type="reporter" category="assoc"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doReport"><block s="reportIfElse"><block s="reportIsA"><block var="keys"/><l><option>list</option></l></block><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="%s of %l"><l></l><block var="arr"/></custom-block></autolambda><list></list></block><block var="keys"/></block><block s="reportListItem"><block s="reportListIndex"><block var="keys"/><custom-block s="%l keys"><block var="arr"/></custom-block></block><custom-block s="%l values"><block var="arr"/></custom-block></block></block></block></script></block></script></block-definition><block-definition s="%&apos;key&apos; of %&apos;arr&apos; = %&apos;val&apos;" type="command" category="assoc"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%l"></input><input type="%s"></input></inputs><script><block s="doWarp"><script><block s="doIfElse"><custom-block s="%l has %s"><block var="arr"/><block var="key"/></custom-block><script><block s="doReplaceInList"><block s="reportListIndex"><block var="key"/><custom-block s="%l keys"><block var="arr"/></custom-block></block><block var="arr"/><block s="reportNewList"><list><block var="key"/><block var="val"/></list></block></block></script><script><block s="doAddToList"><block s="reportNewList"><list><block var="key"/><block var="val"/></list></block><block var="arr"/></block></script></block></script></block></script></block-definition><block-definition s="remove %&apos;key&apos; from %&apos;arr&apos;" type="command" category="assoc"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doIf"><custom-block s="%l has %s"><block var="arr"/><block var="key"/></custom-block><script><block s="doDeleteFromList"><block s="reportListIndex"><block var="key"/><custom-block s="%l keys"><block var="arr"/></custom-block></block><block var="arr"/></block></script></block></script></block></script></block-definition><block-definition s="%&apos;arr&apos; keys" type="reporter" category="assoc"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportListItem"><l>1</l><block s="reportListAttribute"><l><option>columns</option></l><block var="arr"/></block></block></block></script></block-definition><block-definition s="%&apos;arr&apos; values" type="reporter" category="assoc"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportListItem"><l>2</l><block s="reportListAttribute"><l><option>columns</option></l><block var="arr"/></block></block></block></script></block-definition><block-definition s="%&apos;arr&apos; has %&apos;key&apos;" type="predicate" category="assoc"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%s"></input></inputs><script><block s="doReport"><block s="reportListContainsItem"><custom-block s="%l keys"><block var="arr"/></custom-block><block var="key"/></block></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="%&apos;key&apos; of all %&apos;arr&apos;" type="reporter" category="assoc"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="evaluate"><custom-block s="%s of %l"><block var="key"/><l/></custom-block><list></list></block></autolambda><list></list></block><block var="arr"/></block></block></script></block></script></block-definition><block-definition s="mouse pos" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNewList"><list><block s="reportMouseX"></block><block s="reportMouseY"></block></list></block></block></script></block-definition><block-definition s="triangle %&apos;p1&apos; %&apos;p2&apos; %&apos;p3&apos;" type="reporter" category="Items"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>this</l></list></block><custom-block s="let %upvar be %s"><l>A</l><block s="reifyReporter"><autolambda><block s="reportMonadic"><l><option>abs</option></l><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block var="x1"/><block s="reportDifference"><block var="y2"/><block var="y3"/></block></list></block><block s="reportVariadicProduct"><list><block var="x2"/><block s="reportDifference"><block var="y3"/><block var="y1"/></block></list></block><block s="reportVariadicProduct"><list><block var="x3"/><block s="reportDifference"><block var="y1"/><block var="y2"/></block></list></block></list></block><l>2</l></block></block></autolambda><list><l>x1</l><l>y1</l><l>x2</l><l>y2</l><l>x3</l><l>y3</l></list></block></custom-block><block s="doSetVar"><l>this</l><custom-block s="%mult%s"><list><l>p1</l><block var="p1"/><l>p2</l><block var="p2"/><l>p3</l><block var="p3"/></list></custom-block></block><custom-block s="%s of %l = %s"><l>hover</l><block var="this"/><block s="reifyScript"><script><custom-block s="let %upvar be %s"><l>P1</l><custom-block s="%s of %l"><l>p1</l><block var="this"/></custom-block></custom-block><custom-block s="let %upvar be %s"><l>P2</l><custom-block s="%s of %l"><l>p2</l><block var="this"/></custom-block></custom-block><custom-block s="let %upvar be %s"><l>P3</l><custom-block s="%s of %l"><l>p3</l><block var="this"/></custom-block></custom-block><custom-block s="let %upvar be %s"><l>mp</l><custom-block s="mouse pos"></custom-block></custom-block><custom-block s="let %upvar be %s"><l>A1</l><block s="evaluate"><block var="A"/><block s="reportConcatenatedLists"><list><block var="mp"/><block var="P1"/><block var="P2"/></list></block></block></custom-block><custom-block s="let %upvar be %s"><l>A2</l><block s="evaluate"><block var="A"/><block s="reportConcatenatedLists"><list><block var="mp"/><block var="P1"/><block var="P3"/></list></block></block></custom-block><custom-block s="let %upvar be %s"><l>A3</l><block s="evaluate"><block var="A"/><block s="reportConcatenatedLists"><list><block var="mp"/><block var="P2"/><block var="P3"/></list></block></block></custom-block><block s="doReport"><block s="reportEquals"><block s="reportRound"><block s="reportVariadicSum"><list><block var="A1"/><block var="A2"/><block var="A3"/></list></block></block><block s="reportRound"><block s="evaluate"><block var="A"/><block s="reportConcatenatedLists"><list><block var="P1"/><block var="P2"/><block var="P3"/></list></block></block></block></block></block></script><list></list></block></custom-block><custom-block s="%s of %l = %s"><l>draw</l><block var="this"/><block s="reifyScript"><script><custom-block s="let %upvar be %s"><l>pen</l><block s="newClone"><l><option>myself</option></l></block></custom-block><block s="doTellTo"><block var="pen"/><block s="reifyScript"><script><block s="setColor"><color>255,58,29,1</color></block><block s="doSetGlobalFlag"><l><option>flat line ends</option></l><l><bool>false</bool></l></block><block s="setSize"><l>2</l></block><block s="doGotoObject"><custom-block s="%s of %l"><l>p1</l><block var="this"/></custom-block></block><block s="down"></block><block s="doGotoObject"><custom-block s="%s of %l"><l>p2</l><block var="this"/></custom-block></block><block s="doGotoObject"><custom-block s="%s of %l"><l>p3</l><block var="this"/></custom-block></block><block s="doGotoObject"><custom-block s="%s of %l"><l>p1</l><block var="this"/></custom-block></block><block s="up"></block><block s="removeClone"></block></script><list></list></block><list></list></block></script><list></list></block></custom-block><custom-block s="%s of %l = %s"><l>translate</l><block var="this"/><block s="reifyScript"><script><custom-block s="%s of %l = %s"><l>p1</l><block var="this"/><block s="reportVariadicSum"><list><custom-block s="%s of %l"><l>p1</l><block var="this"/></custom-block><l></l></list></block></custom-block><custom-block s="%s of %l = %s"><l>p2</l><block var="this"/><block s="reportVariadicSum"><list><custom-block s="%s of %l"><l>p2</l><block var="this"/></custom-block><l></l></list></block></custom-block><custom-block s="%s of %l = %s"><l>p3</l><block var="this"/><block s="reportVariadicSum"><list><custom-block s="%s of %l"><l>p3</l><block var="this"/></custom-block><l></l></list></block></custom-block></script><list></list></block></custom-block><custom-block s="%s of %l = %s"><l>watch</l><block var="this"/><block s="reifyScript"><script><custom-block s="let %upvar be %s"><l>coords</l><block s="reportNewList"><list><custom-block s="%s of %l"><l>p1</l><block var="this"/></custom-block><custom-block s="%s of %l"><l>p2</l><block var="this"/></custom-block><custom-block s="%s of %l"><l>p3</l><block var="this"/></custom-block></list></block></custom-block><block s="doShowVar"><l>coords</l></block></script><list></list></block></custom-block><block s="doReport"><block var="this"/></block></script><scripts><script x="91" y="973.1666666666665"><block s="doRun"><custom-block s="%s of %l"><l>draw</l><block var="this"/></custom-block><list></list></block><block s="doAddToList"><block var="this"/><block var="Items"/></block></script></scripts></block-definition><block-definition s="( %&apos;x&apos; , %&apos;y&apos; )" type="reporter" category="Items"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportNewList"><list><block var="x"/><block var="y"/></list></block></block></script></block-definition><block-definition s="all %&apos;boo&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%mult%b"></input></inputs><script><block s="doReport"><block s="reportCombine"><block s="reportListAttribute"><l><option>flatten</option></l><block var="boo"/></block><block s="reifyPredicate"><autolambda><block s="reportAnd"><l/><l/></block></autolambda><list></list></block></block></block></script></block-definition><block-definition s="mouse on screen" type="predicate" category="sensing"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><custom-block s="all %mult%b"><list><block s="reportLessThan"><block s="reportNewList"><list><block s="reportNewList"><list><block s="reportAttributeOf"><l><option>left</option></l><l>Stage</l></block><block s="reportAttributeOf"><l><option>bottom</option></l><l>Stage</l></block></list></block><custom-block s="mouse pos"></custom-block></list></block><block s="reportNewList"><list><custom-block s="mouse pos"></custom-block><block s="reportNewList"><list><block s="reportAttributeOf"><l><option>right</option></l><l>Stage</l></block><block s="reportAttributeOf"><l><option>top</option></l><l>Stage</l></block></list></block></list></block></block></list></custom-block></block></script></block-definition><block-definition s="Item %&apos;index&apos;" type="reporter" category="Items"><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doReport"><block s="reportListItem"><block var="index"/><block var="Items"/></block></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="true" sublistIDs="false" id="847"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAUZUlEQVR4Xu3YQY4kRxXH4SqZHRKCfdsLDsAB5ixsPYfCLH2WhrUP4AUzexZIllhA0YMECLvd86IiK/+RLz+WkJXR8cVLfg5fL/5DgAABAgQI7C5w3X1FCxIgQIAAAQIXATYEBAgQIEAgICDAAXRLEiBAgAABATYDBAgQIEAgICDAAXRLEiBAgAABATYDBAgQIEAgICDAAXRLEiBAgAABATYDBAgQIEAgICDAAXRLEiBAgAABATYDBAgQIEAgICDAAXRLEiBAgAABATYDBAgQIEAgICDAAXRLEiBAgAABATYDBAgQIEAgICDAAXRLEiBAgAABATYDBAgQIEAgICDAAXRLEiBAgAABATYDBAgQIEAgICDAAXRLEiBAgAABATYDBAgQIEAgICDAAXRLEiBAgAABATYDBAgQIEAgICDAAXRLEiBAgAABATYDBAgQIEAgICDAAXRLEiBAgAABATYDBAgQIEAgICDAAXRLEiBAgAABATYDBAgQIEAgICDAAXRLEiBAgAABATYDBAgQIEAgICDAAXRLEiBAgAABATYDBAgQIEAgICDAAXRLEiBAgAABATYDBAgQIEAgICDAAXRLEiBAgAABATYDBAgQIEAgICDAAXRLEiBAgAABATYDBAgQIEAgICDAAXRLEiBAgAABATYDBAgQIEAgICDAAXRLEiBAgAABATYDBAgQIEAgICDAAXRLEiBAgAABATYDBAgQIEAgICDAAXRLEiBAgAABATYDBAgQIEAgICDAAXRLEiBAgAABATYDBAgQIEAgICDAAXRLEiBAgAABATYDBAgQIEAgICDAAXRLEiBAgAABATYDBAgQIEAgICDAAXRLEiBAgAABATYDBAgQIEAgICDAAXRLEiBAgAABATYDBAgQIEAgICDAAXRLEiBAgAABATYDBAgQIEAgICDAAXRLEiBAgAABATYDBAgQIEAgICDAAXRLEiBAgAABATYDBAgQIEAgICDAAXRLEiBAgAABATYDBAgQIEAgICDAAXRLEiBAgAABATYDBAgQIEAgICDAAXRLEiBAgAABATYDBAgQIEAgICDAAXRLEiBAgAABATYDBAgQIEAgICDAAXRLEiBAgAABATYDBAgQIEAgICDAAXRLEiBAgAABATYDBAgQIEAgICDA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</pentrails><costumes><list struct="atomic" id="848"></list></costumes><sounds><list struct="atomic" id="849"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><sprite name="Sprite" idx="1" x="101.53488372093034" y="-120.93023255813955" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="0" color="80,80,80,1" pen="tip" id="854"><costumes><list struct="atomic" id="855"></list></costumes><sounds><list struct="atomic" id="856"></list></sounds><blocks></blocks><variables></variables><scripts><script x="13" y="10.000000000000057"><block s="receiveGo"></block><block s="doSetVar"><l>Running?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><custom-block s="reset"></custom-block><custom-block s="let %upvar be %s"><l>sq1</l><custom-block s="square %l %l"><custom-block s="( %n , %n )"><l>-25</l><l>-25</l></custom-block><custom-block s="( %n , %n )"><l>25</l><l>25</l></custom-block></custom-block></custom-block><custom-block s="let %upvar be %s"><l>sq2</l><custom-block s="square %l %l"><custom-block s="( %n , %n )"><l>30</l><l>-40</l></custom-block><custom-block s="( %n , %n )"><l>50</l><l>70</l></custom-block></custom-block></custom-block><block s="doAddToList"><block var="sq1"/><block var="Items"/></block><block s="doAddToList"><block var="sq2"/><block var="Items"/></block><block s="doAddToList"><custom-block s="triangle %l %l %l"><custom-block s="( %n , %n )"><l>-170</l><l>-125</l></custom-block><custom-block s="( %n , %n )"><l>-170</l><l>-25</l></custom-block><custom-block s="( %n , %n )"><l>-120</l><l>-125</l></custom-block></custom-block><block var="Items"/></block><block s="clear"></block><block s="doForEach"><l>item</l><block var="Items"/><script><block s="doRun"><custom-block s="%s of %l"><l>draw</l><block var="item"/></custom-block><list></list></block></script></block><block s="doForever"><script><block s="doSetVar"><l>EX) squares touching</l><block s="evaluate"><block s="reifyPredicate"><autolambda><custom-block s="all %mult%b"><block s="reportLessThanOrEquals"><block s="reportNewList"><list><block var="x1a"/><block var="x1b"/><block var="y1b"/><block var="y1a"/></list></block><block s="reportNewList"><list><block var="x2b"/><block var="x2a"/><block var="y2a"/><block var="y2b"/></list></block></block></custom-block></autolambda><list><l>x1a</l><l>y1a</l><l>x2a</l><l>y2a</l><l>x1b</l><l>y1b</l><l>x2b</l><l>y2b</l></list></block><block s="reportListAttribute"><l><option>flatten</option></l><block s="reportConcatenatedLists"><list><custom-block s="%s of %l"><block s="reportNewList"><list><l>origin</l><l>corner</l></list></block><block var="sq1"/></custom-block><custom-block s="%s of %l"><block s="reportNewList"><list><l>origin</l><l>corner</l></list></block><block var="sq2"/></custom-block></list></block></block></block><comment w="181" collapsed="false">ideally this would be a local variable of each shape testing whether of not its in collision with any other shape (probably living somewhere around that for each loop down below) but in this case im just checking the two to demonstrate.&#xD;&#xD;too much of this (10+ items) will start to slow down the program, and need to be optimized further to run smoothly (replacing forever loops... etc.)</comment></block></script></block></script><script x="205" y="220.33333333333303"><block s="reifyPredicate"><autolambda><block s="reportAnd"><block s="reportAnd"><block s="reportLessThanOrEquals"><block var="x1a"/><block var="x2b"/></block><block s="reportGreaterThanOrEquals"><block var="x2a"/><block var="x1b"/></block></block><block s="reportAnd"><block s="reportGreaterThanOrEquals"><block var="y2a"/><block var="y1b"/></block><block s="reportLessThanOrEquals"><block var="y1a"/><block var="y2b"/></block></block></block></autolambda><list><l>x1a</l><l>y1a</l><l>x2a</l><l>y2a</l><l>x1b</l><l>y1b</l><l>x2b</l><l>y2b</l></list></block></script><script x="15" y="541.3333333333326"><block s="receiveCondition"><block s="reportAnd"><block s="reportMouseDown"></block><block var="Running?"/></block></block><custom-block s="let %upvar be %s"><l>sel</l><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="evaluate"><custom-block s="%s of %l"><l>hover</l><l/></custom-block><list></list></block></autolambda><list></list></block><block var="Items"/></block></custom-block><block s="doIf"><block var="sel"/><script><block s="doAddToList"><block var="sel"/><block var="Items"/></block><block s="doDeleteFromList"><block s="reportListIndex"><block var="sel"/><block var="Items"/></block><block var="Items"/></block><block s="doSetVar"><l>sel</l><block s="reportListItem"><l><option>last</option></l><block var="Items"/></block></block><custom-block s="let %upvar be %s"><l>im</l><custom-block s="mouse pos"></custom-block></custom-block><block s="doUntil"><block s="reportNot"><block s="reportMouseDown"></block></block><script><block s="doWarp"><script><block s="doHideVar"><l></l></block><block s="doRun"><custom-block s="%s of %l"><l>translate</l><block var="sel"/></custom-block><list><block s="reportDifference"><custom-block s="mouse pos"></custom-block><block var="im"/></block></list></block><block s="doRun"><custom-block s="%s of %l"><l>watch</l><block var="sel"/></custom-block><list></list></block><block s="doSetVar"><l>im</l><custom-block s="mouse pos"></custom-block></block><block s="clear"></block><block s="doForEach"><l>item</l><block var="Items"/><script><block s="doRun"><custom-block s="%s of %l"><l>draw</l><block var="item"/></custom-block><list></list></block></script></block></script></block></script></block><block s="doHideVar"><l></l></block></script></block></script><script x="215" y="10"><block s="receiveInteraction"><l><option>stopped</option></l></block><block s="doSetVar"><l>Running?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></scripts></sprite><watcher var="Items" style="normal" x="8.958333333333258" y="8.958333333333343" color="243,118,29" extX="423.46666646003723" extY="87" hidden="true"/><watcher var="EX) squares touching" style="normal" x="10" y="10" color="243,118,29" hidden="true"/><watcher var="Running?" style="normal" x="10" y="34.000002" color="243,118,29" hidden="true"/></sprites></stage><variables><variable name="Items"><list id="1135"><item><list id="1136"><item><list id="1137"><item><l>origin</l></item><item><list struct="atomic" id="1138">-25,-25</list></item></list></item><item><list id="1139"><item><l>corner</l></item><item><list struct="atomic" id="1140">25,25</list></item></list></item><item><list id="1141"><item><l>hover</l></item><item><context id="1142"><inputs></inputs><variables></variables><custom-block s="all %mult%b"><block s="reportLessThan"><block s="reportNewList"><list><custom-block s="%s of %l"><l>origin</l><block var="this"/></custom-block><custom-block s="mouse pos"></custom-block></list></block><block s="reportNewList"><list><custom-block s="mouse pos"></custom-block><custom-block s="%s of %l"><l>corner</l><block var="this"/></custom-block></list></block></block></custom-block><receiver><ref id="854"></ref></receiver><origin><ref id="854"></ref></origin><context id="1169"><inputs></inputs><variables><variable name="origin"><ref id="1138"></ref></variable><variable name="corner"><ref id="1140"></ref></variable><variable name="this"><ref id="1136"></ref></variable></variables><receiver><ref id="854"></ref></receiver><origin></origin></context></context></item></list></item><item><list id="1171"><item><l>width</l></item><item><context id="1172"><inputs></inputs><variables></variables><block s="reportListItem"><l>1</l><block s="reportDifference"><custom-block s="%s of %l"><l>corner</l><block var="this"/></custom-block><custom-block s="%s of %l"><l>origin</l><block var="this"/></custom-block></block></block><receiver><ref id="854"></ref></receiver><origin><ref id="854"></ref></origin><ref id="1169"></ref></context></item></list></item><item><list id="1187"><item><l>height</l></item><item><context id="1188"><inputs></inputs><variables></variables><block s="reportListItem"><l>2</l><block s="reportDifference"><custom-block s="%s of %l"><l>corner</l><block var="this"/></custom-block><custom-block s="%s of %l"><l>origin</l><block var="this"/></custom-block></block></block><receiver><ref id="854"></ref></receiver><origin><ref id="854"></ref></origin><ref id="1169"></ref></context></item></list></item><item><list id="1203"><item><l>draw</l></item><item><context id="1204"><inputs></inputs><variables></variables><script><custom-block s="let %upvar be %s"><l>pen</l><block s="newClone"><l><option>myself</option></l></block></custom-block><custom-block s="let %upvar be %s"><l>width</l><block s="evaluate"><custom-block s="%s of %l"><l>width</l><block var="this"/></custom-block><list></list></block></custom-block><custom-block s="let %upvar be %s"><l>height</l><block s="evaluate"><custom-block s="%s of %l"><l>height</l><block var="this"/></custom-block><list></list></block></custom-block><block s="doTellTo"><block var="pen"/><block s="reifyScript"><script><block s="doIfElse"><block var="EX) squares touching"/><script><block s="setColor"><color>15,255,5,1</color></block></script><script><block s="setColor"><color>92,46,255,1</color></block></script></block><block s="doSetGlobalFlag"><l><option>flat line ends</option></l><l><bool>true</bool></l></block><block s="setSize"><block var="height"/></block><block s="setHeading"><l>90</l></block><block s="doGotoObject"><custom-block s="%s of %l"><l>origin</l><block var="this"/></custom-block></block><block s="changeYPosition"><block s="reportQuotient"><block var="height"/><l>2</l></block></block><block s="down"></block><block s="changeXPosition"><block var="width"/></block><block s="up"></block><block s="removeClone"></block></script><list></list></block><list></list></block></script><receiver><ref id="854"></ref></receiver><origin><ref id="854"></ref></origin><ref id="1169"></ref></context></item></list></item><item><list id="1274"><item><l>translate</l></item><item><context id="1275"><inputs></inputs><variables></variables><script><custom-block s="%s of %l = %s"><l>origin</l><block var="this"/><block s="reportVariadicSum"><list><custom-block s="%s of %l"><l>origin</l><block var="this"/></custom-block><l></l></list></block></custom-block><custom-block s="%s of %l = %s"><l>corner</l><block var="this"/><block s="reportVariadicSum"><list><custom-block s="%s of %l"><l>corner</l><block var="this"/></custom-block><l></l></list></block></custom-block></script><receiver><ref id="854"></ref></receiver><origin><ref id="854"></ref></origin><ref id="1169"></ref></context></item></list></item><item><list id="1302"><item><l>watch</l></item><item><context id="1303"><inputs></inputs><variables></variables><script><custom-block s="let %upvar be %s"><l>coords</l><block s="reportNewList"><list><custom-block s="%s of %l"><l>origin</l><block var="this"/></custom-block><custom-block s="%s of %l"><l>corner</l><block var="this"/></custom-block></list></block></custom-block><block s="doShowVar"><l>coords</l></block></script><receiver><ref id="854"></ref></receiver><origin><ref id="854"></ref></origin><ref id="1169"></ref></context></item></list></item></list></item><item><list id="1322"><item><list id="1323"><item><l>origin</l></item><item><list struct="atomic" id="1324">30,-40</list></item></list></item><item><list id="1325"><item><l>corner</l></item><item><list struct="atomic" id="1326">50,70</list></item></list></item><item><list id="1327"><item><l>hover</l></item><item><context id="1328"><inputs></inputs><variables></variables><custom-block s="all %mult%b"><block s="reportLessThan"><block s="reportNewList"><list><custom-block s="%s of %l"><l>origin</l><block var="this"/></custom-block><custom-block s="mouse pos"></custom-block></list></block><block s="reportNewList"><list><custom-block s="mouse pos"></custom-block><custom-block s="%s of %l"><l>corner</l><block var="this"/></custom-block></list></block></block></custom-block><receiver><ref id="854"></ref></receiver><origin><ref id="854"></ref></origin><context id="1355"><inputs></inputs><variables><variable name="origin"><ref id="1324"></ref></variable><variable name="corner"><ref id="1326"></ref></variable><variable name="this"><ref id="1322"></ref></variable></variables><receiver><ref id="854"></ref></receiver><origin></origin></context></context></item></list></item><item><list id="1357"><item><l>width</l></item><item><context id="1358"><inputs></inputs><variables></variables><block s="reportListItem"><l>1</l><block s="reportDifference"><custom-block s="%s of %l"><l>corner</l><block var="this"/></custom-block><custom-block s="%s of %l"><l>origin</l><block var="this"/></custom-block></block></block><receiver><ref id="854"></ref></receiver><origin><ref id="854"></ref></origin><ref id="1355"></ref></context></item></list></item><item><list id="1373"><item><l>height</l></item><item><context id="1374"><inputs></inputs><variables></variables><block s="reportListItem"><l>2</l><block s="reportDifference"><custom-block s="%s of %l"><l>corner</l><block var="this"/></custom-block><custom-block s="%s of %l"><l>origin</l><block var="this"/></custom-block></block></block><receiver><ref id="854"></ref></receiver><origin><ref id="854"></ref></origin><ref id="1355"></ref></context></item></list></item><item><list id="1389"><item><l>draw</l></item><item><context id="1390"><inputs></inputs><variables></variables><script><custom-block s="let %upvar be %s"><l>pen</l><block s="newClone"><l><option>myself</option></l></block></custom-block><custom-block s="let %upvar be %s"><l>width</l><block s="evaluate"><custom-block s="%s of %l"><l>width</l><block var="this"/></custom-block><list></list></block></custom-block><custom-block s="let %upvar be %s"><l>height</l><block s="evaluate"><custom-block s="%s of %l"><l>height</l><block var="this"/></custom-block><list></list></block></custom-block><block s="doTellTo"><block var="pen"/><block s="reifyScript"><script><block s="doIfElse"><block var="EX) squares touching"/><script><block s="setColor"><color>15,255,5,1</color></block></script><script><block s="setColor"><color>92,46,255,1</color></block></script></block><block s="doSetGlobalFlag"><l><option>flat line ends</option></l><l><bool>true</bool></l></block><block s="setSize"><block var="height"/></block><block s="setHeading"><l>90</l></block><block s="doGotoObject"><custom-block s="%s of %l"><l>origin</l><block var="this"/></custom-block></block><block s="changeYPosition"><block s="reportQuotient"><block var="height"/><l>2</l></block></block><block s="down"></block><block s="changeXPosition"><block var="width"/></block><block s="up"></block><block s="removeClone"></block></script><list></list></block><list></list></block></script><receiver><ref id="854"></ref></receiver><origin><ref id="854"></ref></origin><ref id="1355"></ref></context></item></list></item><item><list id="1460"><item><l>translate</l></item><item><context id="1461"><inputs></inputs><variables></variables><script><custom-block s="%s of %l = %s"><l>origin</l><block var="this"/><block s="reportVariadicSum"><list><custom-block s="%s of %l"><l>origin</l><block var="this"/></custom-block><l></l></list></block></custom-block><custom-block s="%s of %l = %s"><l>corner</l><block var="this"/><block s="reportVariadicSum"><list><custom-block s="%s of %l"><l>corner</l><block var="this"/></custom-block><l></l></list></block></custom-block></script><receiver><ref id="854"></ref></receiver><origin><ref id="854"></ref></origin><ref id="1355"></ref></context></item></list></item><item><list id="1488"><item><l>watch</l></item><item><context id="1489"><inputs></inputs><variables></variables><script><custom-block s="let %upvar be %s"><l>coords</l><block s="reportNewList"><list><custom-block s="%s of %l"><l>origin</l><block var="this"/></custom-block><custom-block s="%s of %l"><l>corner</l><block var="this"/></custom-block></list></block></custom-block><block s="doShowVar"><l>coords</l></block></script><receiver><ref id="854"></ref></receiver><origin><ref id="854"></ref></origin><ref id="1355"></ref></context></item></list></item></list></item><item><list id="1508"><item><list id="1509"><item><l>p1</l></item><item><list struct="atomic" id="1510">-170,-125</list></item></list></item><item><list id="1511"><item><l>p2</l></item><item><list struct="atomic" id="1512">-170,-25</list></item></list></item><item><list id="1513"><item><l>p3</l></item><item><list struct="atomic" id="1514">-120,-125</list></item></list></item><item><list id="1515"><item><l>hover</l></item><item><context id="1516"><inputs></inputs><variables></variables><script><custom-block s="let %upvar be %s"><l>P1</l><custom-block s="%s of %l"><l>p1</l><block var="this"/></custom-block></custom-block><custom-block s="let %upvar be %s"><l>P2</l><custom-block s="%s of %l"><l>p2</l><block var="this"/></custom-block></custom-block><custom-block s="let %upvar be %s"><l>P3</l><custom-block s="%s of %l"><l>p3</l><block var="this"/></custom-block></custom-block><custom-block s="let %upvar be %s"><l>mp</l><custom-block s="mouse pos"></custom-block></custom-block><custom-block s="let %upvar be %s"><l>A1</l><block s="evaluate"><block var="A"/><block s="reportConcatenatedLists"><list><block var="mp"/><block var="P1"/><block var="P2"/></list></block></block></custom-block><custom-block s="let %upvar be %s"><l>A2</l><block s="evaluate"><block var="A"/><block s="reportConcatenatedLists"><list><block var="mp"/><block var="P1"/><block var="P3"/></list></block></block></custom-block><custom-block s="let %upvar be %s"><l>A3</l><block s="evaluate"><block var="A"/><block s="reportConcatenatedLists"><list><block var="mp"/><block var="P2"/><block var="P3"/></list></block></block></custom-block><block s="doReport"><block s="reportEquals"><block s="reportRound"><block s="reportVariadicSum"><list><block var="A1"/><block var="A2"/><block var="A3"/></list></block></block><block s="reportRound"><block s="evaluate"><block var="A"/><block s="reportConcatenatedLists"><list><block var="P1"/><block var="P2"/><block var="P3"/></list></block></block></block></block></block></script><receiver><ref id="854"></ref></receiver><origin><ref id="854"></ref></origin><context id="1605"><inputs></inputs><variables><variable name="p1"><ref id="1510"></ref></variable><variable name="p2"><ref id="1512"></ref></variable><variable name="p3"><ref id="1514"></ref></variable><variable name="this"><ref id="1508"></ref></variable><variable name="A"><context id="1607"><inputs><input>x1</input><input>y1</input><input>x2</input><input>y2</input><input>x3</input><input>y3</input></inputs><variables></variables><block s="reportMonadic"><l><option>abs</option></l><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block var="x1"/><block s="reportDifference"><block var="y2"/><block var="y3"/></block></list></block><block s="reportVariadicProduct"><list><block var="x2"/><block s="reportDifference"><block var="y3"/><block var="y1"/></block></list></block><block s="reportVariadicProduct"><list><block var="x3"/><block s="reportDifference"><block var="y1"/><block var="y2"/></block></list></block></list></block><l>2</l></block></block><receiver><ref id="854"></ref></receiver><origin><ref id="854"></ref></origin><ref id="1605"></ref></context></variable></variables><receiver><ref id="854"></ref></receiver><origin></origin></context></context></item></list></item><item><list id="1646"><item><l>draw</l></item><item><context id="1647"><inputs></inputs><variables></variables><script><custom-block s="let %upvar be %s"><l>pen</l><block s="newClone"><l><option>myself</option></l></block></custom-block><block s="doTellTo"><block var="pen"/><block s="reifyScript"><script><block s="setColor"><color>255,58,29,1</color></block><block s="doSetGlobalFlag"><l><option>flat line ends</option></l><l><bool>false</bool></l></block><block s="setSize"><l>2</l></block><block s="doGotoObject"><custom-block s="%s of %l"><l>p1</l><block var="this"/></custom-block></block><block s="down"></block><block s="doGotoObject"><custom-block s="%s of %l"><l>p2</l><block var="this"/></custom-block></block><block s="doGotoObject"><custom-block s="%s of %l"><l>p3</l><block var="this"/></custom-block></block><block s="doGotoObject"><custom-block s="%s of %l"><l>p1</l><block var="this"/></custom-block></block><block s="up"></block><block s="removeClone"></block></script><list></list></block><list></list></block></script><receiver><ref id="854"></ref></receiver><origin><ref id="854"></ref></origin><ref id="1605"></ref></context></item></list></item><item><list id="1695"><item><l>translate</l></item><item><context id="1696"><inputs></inputs><variables></variables><script><custom-block s="%s of %l = %s"><l>p1</l><block var="this"/><block s="reportVariadicSum"><list><custom-block s="%s of %l"><l>p1</l><block var="this"/></custom-block><l></l></list></block></custom-block><custom-block s="%s of %l = %s"><l>p2</l><block var="this"/><block s="reportVariadicSum"><list><custom-block s="%s of %l"><l>p2</l><block var="this"/></custom-block><l></l></list></block></custom-block><custom-block s="%s of %l = %s"><l>p3</l><block var="this"/><block s="reportVariadicSum"><list><custom-block s="%s of %l"><l>p3</l><block var="this"/></custom-block><l></l></list></block></custom-block></script><receiver><ref id="854"></ref></receiver><origin><ref id="854"></ref></origin><ref id="1605"></ref></context></item></list></item><item><list id="1735"><item><l>watch</l></item><item><context id="1736"><inputs></inputs><variables></variables><script><custom-block s="let %upvar be %s"><l>coords</l><block s="reportNewList"><list><custom-block s="%s of %l"><l>p1</l><block var="this"/></custom-block><custom-block s="%s of %l"><l>p2</l><block var="this"/></custom-block><custom-block s="%s of %l"><l>p3</l><block var="this"/></custom-block></list></block></custom-block><block s="doShowVar"><l>coords</l></block></script><receiver><ref id="854"></ref></receiver><origin><ref id="854"></ref></origin><ref id="1605"></ref></context></item></list></item></list></item></list></variable><variable name="EX) squares touching"><bool>false</bool></variable><variable name="Running?"><bool>false</bool></variable></variables></scene></scenes></project><media name="shapes" app="Snap! 7, https://snap.berkeley.edu" version="2"></media></snapdata>