<snapdata remixID="11603918"><project name="Point Average Finder" app="Snap! 7, https://snap.berkeley.edu" version="2"><notes>Turbo mode recommended&#xD;&#xD;Click somewhere to place a data point there&#xD;Press the green flag to clear all points&#xD;Press Space to delete the oldest point&#xD;&#xD;Purple = data points&#xD;Gold = mean</notes><thumbnail>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAAFGElEQVR4Xu2cT2hcVRSHf2kbp5OmM4lNY4LaFoMYUumm2NhuXETqyoqQhcsq0pWmUKVLV0IWwYWKFrrpIm5K6CqUUuhGN7qQYBEpFAaECAoODUWdkFIzPhWxm/ZNe+/Neffeb7a55993vjczvCSvr1u8xAsCRgT6ENCIPGX/IYCAiGBKAAFN8VMcAXHAlAACmuKnOALigCkBBDTFT3EExAFTAghoip/iCIgDpgQQ0BQ/xREQB0wJIKApfoojIA6YEkBAU/wUR0AcMCWAgKb47Ysvzq5q6nhDh081TZpBQBPs1Sl6/vQNnZg7oLGJuklTCGiCnaL/EUBAXDAlgICm+CmOgDhgSgABTfFTHAEzccD6dsv9MCNgJgJa325BwExEi21M3gFj21hi/SJgYguNbRwEjG1jifWLgIktNLZxEDC2jSXWLwImttDYxkHA2DaWWL8ImNhCYxsHAWPbWGL9IqCHhV54s6WDY2M6Mr/LQ7a8UiCgh32//8I3Gh3YrbNfHvSQLa8UCJjXvis3bWUEXLnSVudqTdPFx1h/fVvlQNFQGAKVEXBpoaXW8rrmlic10NwRZlqyVo5AZQSsHJmMG9robGrl3G0dfW84OAUEDI44vgIfv/W9Rn4f0mufj2twJOynEQLG58eWdLz284aGx2vBayFgcMQUeBABBMQPUwIIaIqf4giIA6YEENAUP8W9Crgw84OOTD6tlz5rQBYCPRHwKuC1xZ+0/uumXj2zr6fiHIKAVwHB+T+Brz5pa/rk46o1+L02t2EMroxPX7mpqZkhzZwdNageT0neAQPtau2XDTX3PqZt2/sCVUgjLQKmscdop0DAaFeXRuMImMYeo50CAaNdXRqNI2Aae4x2CgSMdnVpNI6Aaewx2ikQMNrVpdE4Avra462vpVtfSEOT0sg7RVZuQPeCFgF7oVR25o9V6frb0v7npT1PSd0ZqX6oLIqf/32ZdosXJBwJtL+VvntXGp+Qdg4W74KzhYgvOybNIxwBfe156RmpsUfqL/6T7NhSIeK4r8xJ50FAn+vt/vnvd78+/gSrV6xZCnj98pp23qnpudcHeuWUzLmqPUouSwE/eHFFU/uf0BsXn0xGrF4Hqdqj5LIUsPPbXW3e7WpwuL/XvXEuEIEsBQzEkrSPQMCLgDl/p3oE5oTcQ8CLgDl/p8ImNwJeBOQ7ldsSco72ImDOAJndjQACuvEj2pEAAjoCzC3c941sBMzNIMd5fd/IRkDHhRDuRgAB3fgR7UgAAR0BEu5GAAHd+BHtSAABHQES7kYAAd34Ee1IAAEdARLuRgAB3fgR7UgAAR0BEu5GAAHd+BHtSAABHQES7kbATMALZ25qX2dUx+Z3qz683W0KoqMlYCbg7fYdXfrwR5386NnKP8ibiyWc32YChhvJf+aYLhb/04fNiIBh+QbLvnKlrc7Vmqbnd6m/Hu+TGBAwmCJhEy8ttNRaXtfc8qQGmjvCFguYHQEDwiV1OQEELGfEiYAEEDAgXFKXE0DAckacCEgAAQPCJXU5AQQsGPFsm3JRQp1AwIIsz7YJpVd5XgQsGPFsm3JRQp1AwFBkHzLv4uyqpo43dPhU8yEj4z6OgBXZ3/nTN3Ri7oDGJuoV6Whr2kDAreFMlfsQQEDUMCWAgKb4KY6AOGBKAAFN8VMcAXHAlAACmuKnOALigCkBBDTFT3EExAFTAghoip/iCIgDpgQQ0BQ/xREQB0wJIKApfoojIA6YEvgL8ViDt4RIylAAAAAASUVORK5CYII=</thumbnail><scenes select="1"><scene name="Point Average Finder"><notes>Turbo mode recommended&#xD;&#xD;Click somewhere to place a data point there&#xD;Press the green flag to clear all points&#xD;Press Space to delete the oldest point&#xD;&#xD;Purple = data points&#xD;Gold = mean</notes><hidden></hidden><headers></headers><code></code><blocks><block-definition s="$flash remove duplicates from %&apos;data&apos;" type="reporter" category="lists"><comment x="0" y="0" w="209" collapsed="false">Reports a new list whose items are the same as in the input list, except that if two or more equal items appear in the input list, only the last one is kept in the result.</comment><header></header><code></code><translations>ca:elimina els duplicats de _&#xD;</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 s="reportApplyExtension"><l>dta_analyze(list)</l><list><block var="data"/></list></block></block></block></block></script></block-definition><block-definition s="$flash sort %&apos;data&apos; ordering with %&apos;function&apos;" type="reporter" category="lists"><comment w="161.14285714285708" collapsed="false">Reports a sorted version of the list in its first input slot, using the comparison function in the second input slot.  For a list of numbers, using &lt; as the comparison function will sort from low to high; using &gt; will sort from high to low.</comment><header></header><code></code><translations>ca:ordena _ segons criteri _&#xD;</translations><inputs><input type="%l"></input><input type="%predRing"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>lst_sort(list, fn)</l><list><block var="data"/><block var="function"/></list></block></block></script></block-definition><block-definition s="$flash assoc %&apos;key&apos; %&apos;a-list&apos;" type="reporter" category="lists"><comment x="0" y="0" w="289.3333333333333" collapsed="false">The second input is an &quot;association list,&quot; a list of two-item lists.  Each of those smaller lists has a &quot;key&quot; as its first item and a &quot;value&quot; as its second.  ASSOC reports the first key-value pair in the association list whose key matches the first input.</comment><header></header><code></code><translations>ca:associació _ _&#xD;</translations><inputs><input type="%s"></input><input type="%l"></input></inputs><script><block s="doReport"><block s="reportAtomicFindFirst"><block s="reifyPredicate"><autolambda><block s="reportEquals"><block var="key"/><block s="reportListItem"><l>1</l><l/></block></block></autolambda><list></list></block><block var="a-list"/></block></block></script></block-definition><block-definition s="%&apos;#&apos; for each %&apos;item&apos; of %&apos;data&apos; %&apos;action&apos;" type="command" category="lists"><comment x="0" y="0" w="228.57142857142858" collapsed="false">This block carries out the given script for each item of the given list, like the primitive FOR EACH.&#xD;&#xD;What&apos;s different is that it provides the # variable, which will contain the item number in the list of each item in turn, 1 while processing item 1, and so on.</comment><header></header><code></code><translations>ca:_ per cada _ de _ _&#xD;</translations><inputs><input type="%upvar"></input><input type="%upvar"></input><input type="%l"></input><input type="%ca"></input></inputs><script><block s="doForEach"><l>inner item</l><block var="data"/><script><block s="doSetVar"><l>item</l><block var="inner item"/></block><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="☠︎ linked? %&apos;data&apos;" type="predicate" category="lists" helper="true"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>lst_linked(list)</l><list><block var="data"/></list></block></block></script></block-definition><block-definition s="☠︎ link %&apos;data&apos;" type="reporter" category="lists" helper="true"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doIf"><block s="reportListIsEmpty"><block var="data"/></block><script><block s="doReport"><block var="data"/></block></script></block><block s="doReport"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="data"/></block><block s="reportCDR"><block var="data"/></block></block></block></script></block-definition><block-definition s="printable %&apos;data&apos;" type="reporter" category="lists"><comment x="0" y="0" w="188.66666666666666" collapsed="false">Takes a (possibly deep) list as input,&#xD;and reports a human-readable text form &#xD;of the list (namely, Lisp notation).&#xD;&#xD;Will not work on circular lists.</comment><header></header><code></code><translations>ca:notació textual de _&#xD;</translations><inputs><input type="%l"></input></inputs><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="data"/><l><option>list</option></l></block></block><script><block s="doReport"><block var="data"/></block></script></block><block s="doIf"><block s="reportListIsEmpty"><block var="data"/></block><script><block s="doReport"><l>()</l></block></script></block><block s="doReport"><block s="reportJoinWords"><list><l>(</l><block s="reportAtomicCombine"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="printable %l"><l/></custom-block></autolambda><list></list></block><block var="data"/></block><block s="reifyReporter"><autolambda><block s="reportJoinWords"><list><l></l><l> </l><l></l></list></block></autolambda><list></list></block></block><l>)</l></list></block></block></script></block-definition><block-definition s="sentence %&apos;phrase&apos;" type="reporter" category="lists"><comment x="0" y="0" w="302.6666666666667" collapsed="false">SENTENCE is the main constructor for sentences, represented&#xD;as lists of words.  It takes zero or more inputs, each of which can&#xD;be either a list or a text string.  If a list, the input is assumed to be&#xD;a list of words.  If a text string, it is converted to a list of words using&#xD;SENTENCE→LIST.  Then all the lists of words are appended to form a new list of words.&#xD;&#xD;If the inputs are lists of lists rather than lists of words, SENTENCE,&#xD;like APPEND, does only one level of flattening, reporting a list of&#xD;all the items of all the input lists.</comment><header></header><code></code><translations>ca:frase _&#xD;</translations><inputs><input type="%mult%s"></input></inputs><script><block s="doReport"><block s="reportConcatenatedLists"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportIfElse"><block s="reportIsA"><l></l><l><option>list</option></l></block><l></l><custom-block s="sentence $arrowRight list %txt"><l></l></custom-block></block></autolambda><list></list></block><block var="phrase"/></block></block></block></script></block-definition><block-definition s="$flash zip %&apos;lists&apos;" type="reporter" category="lists"><comment x="0" y="0" w="192" collapsed="false">ZIP takes any number of lists as inputs.  The lists should all be the same length.  ZIP reports a list of lists in which the first item is a list of all the first items, the second item is a list of all the second items, etc.&#xD;Viewing the inputs as the rows of a matrix, ZIP reports its transpose.</comment><header></header><code></code><translations></translations><inputs><input type="%mult%l"></input></inputs><script><block s="doReport"><block s="reportListAttribute"><l><option>columns</option></l><block var="lists"/></block></block></script></block-definition><block-definition s="%&apos;x&apos;" type="reporter" category="lists"><comment x="0" y="0" w="105.33333333333333" collapsed="false">The identity function reports its input.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block var="x"/></block></script></block-definition><block-definition s="multimap %&apos;function&apos; over %&apos;lists&apos;" type="reporter" category="lists"><comment x="0" y="0" w="267.3333333333333" collapsed="false">Takes as input a function of N inputs and N lists.&#xD;The function is called with item 1 of all the lists as its inputs, with item 2 of all the lists as its inputs, and so on.  (The lists should all be the same length.)</comment><header></header><code></code><translations>ca:multi-mapeja _ sobre _&#xD;</translations><inputs><input type="%repRing"></input><input type="%mult%l"></input></inputs><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="evaluate"><block var="function"/><custom-block s="%s"><l></l></custom-block></block></autolambda><list></list></block><custom-block s="$flash zip %mult%l"><block var="lists"/></custom-block></block></block></script></block-definition><block-definition s="sentence $arrowRight list %&apos;text&apos;" type="reporter" category="operators"><comment x="0" y="0" w="196" collapsed="false">Takes a sentence in text string form and reports the sentence as a list of its words.</comment><header></header><code></code><translations>de:Satz $arrowRight Liste _&#xD;ca:frase $arrowRight llista _&#xD;es:frase $arrowRight lista _&#xD;fr:phrase $arrowRight liste _&#xD;pt:uma lista com as palavras da frase _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportAtomicKeep"><block s="reifyPredicate"><autolambda><block s="reportNot"><block s="reportEquals"><block s="reportStringSize"><l></l></block><l>0</l></block></block></autolambda><list></list></block><block s="reportTextSplit"><block var="text"/><l><option>whitespace</option></l></block></block></block></script></block-definition><block-definition s="mean of list %&apos;argument&apos;" type="reporter" category="operators"><comment w="90" collapsed="false">Reports the arithmetic average.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportQuotient"><block s="reportCombine"><block var="argument"/><block s="reifyReporter"><autolambda><block s="reportVariadicSum"><list><l></l><l></l></list></block></autolambda><list></list></block></block><block s="reportListAttribute"><l><option>length</option></l><block var="argument"/></block></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="false" hyperops="true" codify="false" inheritance="true" sublistIDs="false" id="248"><pentrails>data:image/png;base64,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</pentrails><costumes><list struct="atomic" id="249"></list></costumes><sounds><list struct="atomic" id="250"></list></sounds><variables></variables><blocks></blocks><scripts><script x="336" y="143.33333333333337"><block s="receiveInteraction"><l><option>clicked</option></l></block><block s="doAddToList"><block s="reportMouseX"></block><block var="points_x"/></block><block s="doAddToList"><block s="reportMouseY"></block><block var="points_y"/></block><block s="doBroadcast"><l>render</l><list></list></block></script><script x="105" y="92.33333333333334"><block s="receiveGo"></block><block s="doSetVar"><l>points_x</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>points_y</l><block s="reportNewList"><list></list></block></block><block s="clear"></block></script><script x="116" y="236.33333333333337"><block s="receiveKey"><l><option>space</option></l><list></list></block><block s="doDeleteFromList"><l>1</l><block var="points_x"/></block><block s="doDeleteFromList"><l>1</l><block var="points_y"/></block><block s="doBroadcast"><l>render</l><list></list></block></script></scripts><sprites select="1"><watcher var="points_x" style="normal" x="10" y="10" color="243,118,29" extX="80" extY="70" hidden="true"/><watcher var="points_y" style="normal" x="8" y="118.000002" color="243,118,29" extX="80" extY="70" hidden="true"/><sprite name="Sprite" idx="1" x="10.75" y="-12.3125" heading="90" scale="0.25" volume="100" pan="0" rotation="1" draggable="true" costume="2" color="0,14.02499999999995,140.25,1" pen="tip" id="299"><costumes><list id="300"><item><ref mediaID="Sprite_cst_ball e"></ref></item><item><ref mediaID="Sprite_cst_ball a"></ref></item><item><ref mediaID="Sprite_cst_ball b"></ref></item><item><ref mediaID="Sprite_cst_ball c"></ref></item><item><ref mediaID="Sprite_cst_ball d"></ref></item></list></costumes><sounds><list struct="atomic" id="301"></list></sounds><blocks></blocks><variables></variables><scripts><script x="10" y="72.33333333333312"><block s="receiveGo"></block><block s="hide"></block><block s="setScale"><l>25</l></block><block s="doThink"><l></l></block></script><script x="390" y="93.33333333333314"><block s="receiveMessage"><l>render</l><list></list></block><block s="clear"></block><block s="show"></block><block s="doIf"><block s="reportNot"><block s="reportEquals"><block s="reportListAttribute"><l><option>length</option></l><block var="points_x"/></block><block s="reportListAttribute"><l><option>length</option></l><block var="points_y"/></block></block></block><script><block s="doStopThis"><l><option>all but this script</option></l></block><block s="doThinkFor"><l>LIST ERROR! The X and Y lists aren&apos;t the same length!</l><l>64</l></block><block s="doStopThis"><l><option>all</option></l></block></script></block><block s="setScale"><l>12.5</l></block><block s="doSwitchToCostume"><l>ball e</l></block><block s="doFor"><l>i</l><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="points_x"/></block><script><block s="gotoXY"><block s="reportListItem"><block var="i"/><block var="points_x"/></block><block s="reportListItem"><block var="i"/><block var="points_y"/></block></block><block s="doStamp"></block></script><comment w="90" collapsed="true">all points</comment></block><block s="setScale"><l>25</l></block><block s="doSwitchToCostume"><l>ball a</l></block><block s="gotoXY"><custom-block s="mean of list %l"><block var="points_x"/></custom-block><custom-block s="mean of list %l"><block var="points_y"/></custom-block></block><block s="doStamp"></block></script></scripts></sprite></sprites></stage><variables><variable name="points_x"><list struct="atomic" id="375">-54,-42,183,146,-134,-146,6,94,163,-17,56,128,-180,-186,135,20</list></variable><variable name="points_y"><list struct="atomic" id="376">-25,-121,-51,127,60,-89,69,-99,53,-92,-128,106,31,-37,-24,23</list></variable></variables></scene></scenes></project><media name="Point Average Finder" app="Snap! 7, https://snap.berkeley.edu" version="2"><costume name="ball e" center-x="22.5" center-y="22.5" image="data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjAiIGlkPSJMYXllcl8xIiB4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjQ1cHgiIGhlaWdodD0iNDVweCIgdmlld0JveD0iMCAwIDQ1IDQ1IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA0NSA0NSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgPGc+CiAgICA8cmFkaWFsR3JhZGllbnQgaWQ9IlNWR0lEXzFfIiBjeD0iMjkuNzI3NSIgY3k9IjEzLjEzOTYiIHI9IjM4LjUyOTkiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KICAgICAgPHN0b3Agb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojREE3RkZGIi8+CiAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6IzM5MDBBQSIvPgogICAgPC9yYWRpYWxHcmFkaWVudD4KICAgIDxjaXJjbGUgZmlsbD0idXJsKCNTVkdJRF8xXykiIGN4PSIyMi41IiBjeT0iMjIuNSIgcj0iMjIuNSIvPgogIDwvZz4KPC9zdmc+" mediaID="Sprite_cst_ball e"/><costume name="ball a" center-x="22.5" center-y="22.5" image="data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjAiIGlkPSJMYXllcl8xIiB4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjQ1cHgiIGhlaWdodD0iNDVweCIgdmlld0JveD0iMCAwIDQ1IDQ1IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA0NSA0NSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgPGc+CiAgICA8cmFkaWFsR3JhZGllbnQgaWQ9IlNWR0lEXzFfIiBjeD0iMjkuNzI3NSIgY3k9IjEzLjEzOTYiIHI9IjM4LjUyOTkiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KICAgICAgPHN0b3Agb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojRkZGRjk5Ii8+CiAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6I0ZGOTQwMCIvPgogICAgPC9yYWRpYWxHcmFkaWVudD4KICAgIDxjaXJjbGUgZmlsbD0idXJsKCNTVkdJRF8xXykiIGN4PSIyMi41IiBjeT0iMjIuNSIgcj0iMjIuNSIvPgogIDwvZz4KPC9zdmc+" mediaID="Sprite_cst_ball a"/><costume name="ball b" center-x="22.5" center-y="22.5" image="data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjAiIGlkPSJMYXllcl8xIiB4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjQ1cHgiIGhlaWdodD0iNDVweCIgdmlld0JveD0iMCAwIDQ1IDQ1IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA0NSA0NSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgPGc+CiAgICA8cmFkaWFsR3JhZGllbnQgaWQ9IlNWR0lEXzFfIiBjeD0iMjkuNzI3NSIgY3k9IjEzLjEzOTYiIHI9IjM4LjUyOTkiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KICAgICAgPHN0b3Agb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojODBGNEZGIi8+CiAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6IzAwNzdGRiIvPgogICAgPC9yYWRpYWxHcmFkaWVudD4KICAgIDxjaXJjbGUgZmlsbD0idXJsKCNTVkdJRF8xXykiIGN4PSIyMi41IiBjeT0iMjIuNSIgcj0iMjIuNSIvPgogIDwvZz4KPC9zdmc+" mediaID="Sprite_cst_ball b"/><costume name="ball c" center-x="22.5" center-y="22.5" image="data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjAiIGlkPSJMYXllcl8xIiB4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjQ1cHgiIGhlaWdodD0iNDVweCIgdmlld0JveD0iMCAwIDQ1IDQ1IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA0NSA0NSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgPGc+CiAgICA8cmFkaWFsR3JhZGllbnQgaWQ9IlNWR0lEXzFfIiBjeD0iMjkuNzI3NSIgY3k9IjEzLjEzOTYiIHI9IjM4LjUyOTkiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KICAgICAgPHN0b3Agb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojRkZCRUY4Ii8+CiAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6I0Q0MDBBQiIvPgogICAgPC9yYWRpYWxHcmFkaWVudD4KICAgIDxjaXJjbGUgZmlsbD0idXJsKCNTVkdJRF8xXykiIGN4PSIyMi41IiBjeT0iMjIuNSIgcj0iMjIuNSIvPgogIDwvZz4KPC9zdmc+" mediaID="Sprite_cst_ball c"/><costume name="ball d" center-x="22.5" center-y="22.5" image="data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjAiIGlkPSJMYXllcl8xIiB4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjQ1cHgiIGhlaWdodD0iNDVweCIgdmlld0JveD0iMCAwIDQ1IDQ1IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA0NSA0NSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgPGc+CiAgICA8cmFkaWFsR3JhZGllbnQgaWQ9IlNWR0lEXzFfIiBjeD0iMjkuNzI3NSIgY3k9IjEzLjEzOTYiIHI9IjM4LjUyOTkiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KICAgICAgPHN0b3Agb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojQjdGRjU5Ii8+CiAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6IzAwNzIwRCIvPgogICAgPC9yYWRpYWxHcmFkaWVudD4KICAgIDxjaXJjbGUgZmlsbD0idXJsKCNTVkdJRF8xXykiIGN4PSIyMi41IiBjeT0iMjIuNSIgcj0iMjIuNSIvPgogIDwvZz4KPC9zdmc+" mediaID="Sprite_cst_ball d"/></media></snapdata>