<snapdata remixID="9714907"><project name="U2L1-NumberGuessing R4/R5" 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="false" hyperops="true" codify="false" inheritance="true" sublistIDs="false" scheduled="false" id="1"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAOhUlEQVR4Xu3VwQkAAAjEMN1/abewn7jAQRC64wgQIECAAIF3gX1fNEiAAAECBAiMAHsCAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQIHLFxAWmhEwHPAAAAAElFTkSuQmCC</pentrails><costumes><list struct="atomic" id="2"></list></costumes><sounds><list struct="atomic" id="3"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites><sprite name="Sprite" idx="1" x="0" y="0" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="0" color="80,80,80,1" pen="tip" id="8"><costumes><list struct="atomic" id="9"></list></costumes><sounds><list struct="atomic" id="10"></list></sounds><blocks></blocks><variables></variables><scripts><script x="10" y="10"><custom-block s="Number guessing game"></custom-block></script><script x="10" y="863.9999999999998"><custom-block s="Number guessing game with TIF B"><comment w="142.66666666666666" collapsed="false">TIF B is really complicated so it gets a separate solution block.</comment></custom-block></script><comment x="60.999999999999886" y="934.933333333333" w="321.3333333333333" collapsed="true">Using two ASK blocks, one before and one inside the loop, is one way to avoid the bug described on page 3, with the advantage that a different text can be used when re-asking to make it clear that the player is still guessing the same secret number, not a new one.&#xD;&#xD;Another solution would be to put ANSWER into another script variable, whose initial value should be something that isn&apos;t a number between 1 and 10.  (Snap! actually initializes variables to 0, but it&apos;s good style not to depend on that, if it actually affects the program logic.) </comment><comment x="20.656901041666657" y="907.1333333333332" w="53.333333333333336" collapsed="true">TIF 3.A</comment><comment x="473.65690104166663" y="904.1333333333332" w="53.333333333333336" collapsed="true">3.5</comment><comment x="421.52897135416663" y="922.7999999999996" w="53.333333333333336" collapsed="true">TIF 3.A</comment><comment x="398.13541666666663" y="877.6333333333331" w="53.333333333333336" collapsed="true">3.7 ITIT</comment><comment x="384.26529947916663" y="926.4666666666664" w="53.333333333333336" collapsed="true">TIF 3.A</comment><comment x="105.33333333333337" y="916.9333333333332" w="393.3333333333333" collapsed="false">In TIF 3.A, note that NUMBER OF GUESSES starts at 1, not 0.  Even if the REPEAT UNTIL never runs, the user still made one guess.  This sort of slightly unusual initialization is a very common source of bugs.</comment><script x="146" y="167.66666666666643"><block s="receiveGo"></block><block s="doSayFor"><l>Hello! Are you ready to play?</l><l>2</l></block><block s="doThinkFor"><l>Hmm... I think I am ready!</l><l>2</l></block><block s="doAsk"><l>What&apos;s the biggest number I should use?</l></block><block s="doSetVar"><l>maximum</l><block s="getLastAnswer"></block></block><block s="doSetVar"><l>secretNumber</l><block s="reportRandom"><l>1</l><block var="maximum"/></block></block><block s="doSetVar"><l>numberOfGuessing</l><l>1</l></block><block s="doAsk"><block s="reportJoinWords"><list><l>Guess my number (between 1 and </l><block var="maximum"/><l>).</l></list></block></block><custom-block s="IsItEqual secrect number %n answer %s number of guessing %s"><block var="secretNumber"/><block s="getLastAnswer"></block><block var="numberOfGuessing"/></custom-block><block s="doSayFor"><l>I win! Let us celebrate!!!</l><l>2</l></block></script></scripts></sprite><watcher var="secretNumber" style="normal" x="5" y="5" color="243,118,29"/><watcher var="maximum" style="normal" x="5" y="15.500000999999997" color="243,118,29"/><watcher var="numberOfGuessing" style="normal" x="5" y="26.000001999999995" color="243,118,29"/></sprites></stage><hidden></hidden><headers></headers><code></code><blocks><block-definition s="Number guessing game" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>secret number</l></list><comment w="90" collapsed="true">page 1, ex. 3</comment></block><block s="doSetVar"><l>secret number</l><block s="reportRandom"><l>1</l><l>10</l></block><comment w="53.333333333333336" collapsed="true">1.4</comment></block><block s="doAsk"><l>Guess my number (between 1 and 10).</l><comment w="53.333333333333336" collapsed="true">2.1</comment></block><block s="doUntil"><block s="reportEquals"><block s="getLastAnswer"></block><block var="secret number"/></block><script><block s="doAsk"><l>Nope!  Try again.</l></block></script></block><block s="doSayFor"><l>Congratulations!  You win!</l><l>2</l><comment w="53.333333333333336" collapsed="true">2.2</comment></block></script><scripts><script x="23" y="356.1333333333334"><block s="doDeclareVariables"><list><l>secret number</l><l>player&apos;s guess</l></list></block><block s="doSetVar"><l>secret number</l><block s="reportRandom"><l>1</l><l>10</l></block></block><block s="doSetVar"><l>player&apos;s guess</l><l>0</l></block><block s="doUntil"><block s="reportEquals"><block var="player&apos;s guess"/><block var="secret number"/></block><script><block s="doAsk"><l>Guess my number (between 1 and 10).</l></block><block s="doSetVar"><l>player&apos;s guess</l><block s="getLastAnswer"></block></block></script></block><block s="doSayFor"><l>Congratulations!  You win!</l><l>2</l></block></script><script x="11.666666666666686" y="585.5999999999999"><block s="doSayFor"><block s="reportJoinWords"><list><l>You guessed it!  My secret number was</l><block var="secret number"/></list></block><l>2</l></block></script><comment x="29.333333333333314" y="560.8" w="63.333333333333336" collapsed="true">2.5 ITIT:</comment></scripts></block-definition><block-definition s="Number guessing game with TIF B" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>secret number</l><l>maximum</l><l>number of guesses</l><l>too small responses</l><l>too big responses</l><l>last was too small?</l></list></block><block s="doSetVar"><l>too small responses</l><block s="reportNewList"><list><l>Too small!  Try again.</l><l>Still too small!</l><l>Wow, still too small!  Keep trying.</l></list><comment w="53.333333333333336" collapsed="true">TIF 3.B</comment></block></block><block s="doSetVar"><l>too big responses</l><block s="reportNewList"><list><l>Too big!  Try again.</l><l>Still too big!</l><l>Wow, still too big!  Keep trying.</l></list></block></block><block s="doAsk"><l>What&apos;s the biggest number I should use?</l></block><block s="doSetVar"><l>maximum</l><block s="getLastAnswer"></block></block><block s="doSetVar"><l>secret number</l><block s="reportRandom"><l>1</l><block var="maximum"/></block></block><block s="doSetVar"><l>number of guesses</l><l>1</l></block><block s="doAsk"><block s="reportJoinWords"><list><l>Guess my number (between 1 and </l><block var="maximum"/><l>).</l></list></block></block><block s="doSetVar"><l>last was too small?</l><block s="reportGreaterThan"><block s="getLastAnswer"></block><block var="secret number"/><comment w="53.333333333333336" collapsed="true">TIF 3.B</comment></block></block><block s="doUntil"><block s="reportEquals"><block s="getLastAnswer"></block><block var="secret number"/></block><script><block s="doChangeVar"><l>number of guesses</l><l>1</l></block><block s="doIfElse"><block s="reportLessThan"><block s="getLastAnswer"></block><block var="secret number"/></block><script><block s="doIfElse"><block var="last was too small?"><comment w="53.333333333333336" collapsed="true">TIF 3.B</comment></block><script><block s="doSetVar"><l>too small responses</l><block s="reportCDR"><block var="too small responses"/></block></block><block s="doIf"><block s="reportListIsEmpty"><block var="too small responses"/></block><script><block s="doSetVar"><l>too small responses</l><block s="reportNewList"><list><l>Too small!  Try again.</l><l>Still too small!</l><l>Wow, still too small!  Keep trying.</l></list></block></block></script></block></script><script><block s="doSetVar"><l>too small responses</l><block s="reportNewList"><list><l>Too small!  Try again.</l><l>Still too small!</l><l>Wow, still too small!  Keep trying.</l></list></block></block></script></block><block s="doSetVar"><l>last was too small?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doAsk"><block s="reportListItem"><l>1</l><block var="too small responses"/></block></block></script><script><block s="doIfElse"><block var="last was too small?"><comment w="53.333333333333336" collapsed="true">TIF 3.B</comment></block><script><block s="doSetVar"><l>too big responses</l><block s="reportNewList"><list><l>Too big!  Try again.</l><l>Still too big!</l><l>Wow, still too big!  Keep trying.</l></list></block></block></script><script><block s="doSetVar"><l>too big responses</l><block s="reportCDR"><block var="too big responses"/></block></block><block s="doIf"><block s="reportListIsEmpty"><block var="too big responses"/></block><script><block s="doSetVar"><l>too big responses</l><block s="reportNewList"><list><l>Too big!  Try again.</l><l>Still too big!</l><l>Wow, still too big!  Keep trying.</l></list></block></block></script></block></script></block><block s="doSetVar"><l>last was too small?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doAsk"><block s="reportListItem"><l>1</l><block var="too big responses"/></block></block></script></block></script></block><block s="doSayFor"><block s="reportJoinWords"><list><l>You guessed it!  My secret number was </l><block var="secret number"/><l>.  It took you </l><block var="number of guesses"/><l> guesses.</l></list></block><l>2</l></block></script><scripts><comment x="6.666666666666667" y="986.1333333333333" w="534.6666666666666" collapsed="false">There are a lot of pieces here.  Maybe the most important is the LAST WAS TOO SMALL? variable, which is needed to know whether the current guess is wrong in the same direction as the previous guess.  If so, a &quot;still too small&quot; (or big) sort of message is appropriate.  If not, just plain &quot;too small&quot; is appropriate.&#xD;&#xD;The initialization of that variable has to be such that we give a plain &quot;too small&quot; or &quot;too big&quot; the first time.  I knew that the value should depend on the small/bigness of the initial guess, but it gave me a headache trying to figure out which way the inequality should go, and I changed my mind a few times, until finally I just picked one, tried it out, and changed it when it turned out to be wrong.  This is a perfectly okay programming technique as long as you don&apos;t forget you&apos;ve made a guess that needs experimentation.&#xD;&#xD;The actual production of responses can be arbitrarily complicated!  For example, you could add a &quot;you guessed that already&quot; message.  For this solution I wrote three responses in each direction, meant to be given in order, and then just removed the first one from the list after using it (so you&apos;re always using the first one of the list as it then exists).  If the list gets empty, for the fourth consecutive error in the same direction, just restart from the initial list of three responses.  This part gives a great range for student creativity, although the big computer science idea is the variable to remember the result of the previous guess. </comment></scripts></block-definition><block-definition s="Number guessing game with high/low hints" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>secret number</l><l>maximum</l><l>number of guesses</l></list></block><block s="doAsk"><l>What&apos;s the biggest number I should use?</l></block><block s="doSetVar"><l>maximum</l><block s="getLastAnswer"></block></block><block s="doSetVar"><l>secret number</l><block s="reportRandom"><l>1</l><block var="maximum"/></block></block><block s="doSetVar"><l>number of guesses</l><l>1</l></block><block s="doAsk"><block s="reportJoinWords"><list><l>Guess my number (between 1 and </l><block var="maximum"/><l>).</l></list></block></block><custom-block s="IsItEqual secrect number %n answer %s number of guessing %s"><block var="secret number"/><block s="getLastAnswer"></block><block var="number of guesses"/></custom-block></script></block-definition><block-definition s="IsItEqual secrect number %&apos;ProcsecretNumber&apos; answer %&apos;ProcAnswer&apos; number of guessing %&apos;ProcNumberOfGuessing&apos;" type="command" category="motion"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%s"></input><input type="%s"></input></inputs><script><block s="doUntil"><block s="reportEquals"><block s="getLastAnswer"></block><block var="ProcsecretNumber"/></block><script><block s="doChangeVar"><l>ProcNumberOfGuessing</l><l>1</l></block><block s="doIfElse"><block s="reportLessThan"><block var="ProcAnswer"/><block var="ProcsecretNumber"/></block><script><block s="doAsk"><l>Too small!  Try again.</l></block></script><script><block s="doAsk"><l>Too big!  Try again.</l></block></script></block></script></block><block s="doSayFor"><block s="reportJoinWords"><list><l>You guessed it!  My secret number was </l><l></l><block var="ProcsecretNumber"/><block var="ProcNumberOfGuessing"/><l> guesses.</l></list></block><l>2</l></block></script></block-definition></blocks><variables><variable name="secretNumber"><l>3</l></variable><variable name="maximum"><l>10</l></variable><variable name="numberOfGuessing"><l>1</l></variable></variables></project><media name="U2L1-NumberGuessing R4/R5" app="Snap! 6, https://snap.berkeley.edu" version="1"></media></snapdata>