<snapdata remixID="9417390"><project name="Updated Caesar Cypher" app="Snap! 5.4, http://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" 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="120.01953125" 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="682.228516625" y="104.000002"><block s="reportNewList"><list><l>1</l><l>2</l><l>3</l></list></block></script><script x="34" y="10"><block s="receiveGo"></block><block s="doAsk"><l>encode or decode a message?</l></block><block s="doIfElse"><block s="reportEquals"><block s="getLastAnswer"></block><l>encode</l></block><script><block s="doAsk"><l>what word?</l></block><block s="doSetVar"><l>input</l><block s="getLastAnswer"></block></block><block s="doSetVar"><l>input list</l><custom-block s="word $arrowRight list %txt"><block var="input"/></custom-block></block><block s="doSetVar"><l>output list</l><block s="reportNewList"><list></list></block></block><block s="doAsk"><l>shift number?</l></block><block s="doForEach"><l>letter</l><block var="input list"/><script><block s="doAddToList"><custom-block s="encode one letter: %s shift %s"><block var="letter"/><block s="getLastAnswer"></block></custom-block><block var="output list"/></block></script></block><block s="doSetVar"><l>output list</l><custom-block s="list $arrowRight word %l"><block var="output list"/></custom-block></block><block s="doSayFor"><block s="reportJoinWords"><list><block var="output list"/></list></block><l>2</l></block></script><script><block s="doAsk"><l>what word?</l></block><block s="doSetVar"><l>input</l><block s="getLastAnswer"></block></block><block s="doSetVar"><l>input list</l><custom-block s="word $arrowRight list %txt"><block var="input"/></custom-block></block><block s="doSetVar"><l>output list</l><block s="reportNewList"><list></list></block></block><block s="doAsk"><l>shift number?</l></block><block s="doForEach"><l>letter</l><block var="input list"/><script><block s="doAddToList"><custom-block s="decode one letter: %s shift %s"><block var="letter"/><block s="getLastAnswer"></block></custom-block><block var="output list"/></block></script></block><block s="doSetVar"><l>output list</l><custom-block s="list $arrowRight word %l"><block var="output list"/></custom-block></block><block s="doSayFor"><block s="reportJoinWords"><list><block var="output list"/></list></block><l>2</l></block></script></block></script><script x="382" y="16"><block s="receiveKey"><l><option>space</option></l></block><block s="clear"></block></script><script x="552.2529306875" y="136.00000399999993"><block s="reportProduct"><l></l><l>2</l></block></script></scripts></sprite><watcher var="input" style="normal" x="10" y="10" color="243,118,29"/><watcher var="input list" style="normal" x="7" y="124.000002" color="243,118,29" extX="80" extY="70"/><watcher var="message" style="normal" x="10" y="86.00000799999998" color="243,118,29"/><watcher var="output list" style="normal" x="6" y="34.00000399999999" color="243,118,29"/><watcher var="letter" style="normal" x="6" y="60.000005999999985" color="243,118,29"/></sprites></stage><hidden></hidden><headers></headers><code></code><blocks><block-definition s="shift letter %&apos;letter&apos; by shift %&apos;shift&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doReport"><block s="reportUnicodeAsLetter"><l>65</l></block></block></script></block-definition><block-definition s="letter" type="reporter" category="variables"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><l></l></block></script></block-definition><block-definition s="encode one letter: %&apos;letter&apos; shift %&apos;shift&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doReport"><block s="reportUnicodeAsLetter"><block s="reportSum"><block s="reportUnicode"><block var="letter"/></block><block var="shift"/></block></block></block></script></block-definition><block-definition s="decode one letter: %&apos;letter&apos; shift %&apos;shift&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doReport"><block s="reportUnicodeAsLetter"><block s="reportDifference"><block s="reportUnicode"><block var="letter"/></block><block var="shift"/></block></block></block></script></block-definition><block-definition s="all but first letter of %&apos;string&apos;" type="reporter" category="operators"><comment x="0" y="0" w="199" collapsed="false">Takes a text string as input, and reports a new text string containing all but the first character of the input.</comment><header></header><code></code><translations>pt:_ sem o primeiro caractere&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>i</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportEquals"><block s="reportStringSize"><block var="string"/></block><l>0</l></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block s="reportSum"><l>0</l><l>0</l></block></block></block></script></block><block s="doSetVar"><l>result</l><l></l></block><block s="doSetVar"><l>i</l><l>2</l></block><block s="doUntil"><block s="reportGreaterThan"><block var="i"/><block s="reportStringSize"><block var="string"/></block></block><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><block s="reportLetter"><block var="i"/><block var="string"/></block></list></block></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="all but first word of %&apos;sentence&apos;" type="reporter" category="operators"><comment x="0" y="0" w="223.000001" collapsed="false">Takes a text string as input, divides it into words treating one or more spaces as a word separator (only spaces count; punctuation is part of the word) and reports a text string containing all but the first word, with one space between words and no spaces at the beginning or end. (Note: consider using SENTENCE-&gt;LIST and processing the resulting list instead of doing recursion on sentences in text string form.  List operations are faster.)</comment><header></header><code></code><translations>pt:_ sem a primeira palavra&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doDeclareVariables"><list><l>index</l><l>bf</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>bf</l><l></l></block><block s="doSetVar"><l>index</l><l>1</l></block><block s="doIf"><block s="reportEquals"><block s="reportStringSize"><block var="sentence"/></block><l>0</l></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block s="reportJoinWords"><list><l>empty </l><l>sentence</l></list></block></block></block></script></block><block s="doUntil"><block s="reportOr"><block s="reportEquals"><block var="index"/><block s="reportStringSize"><block var="sentence"/></block></block><block s="reportNot"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block></block></block><script><block s="doChangeVar"><l>index</l><l>1</l></block></script></block><block s="doIf"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block s="reportJoinWords"><list><l>empty </l><l>sentence</l></list></block></block></block></script></block><block s="doUntil"><block s="reportOr"><block s="reportEquals"><block var="index"/><block s="reportStringSize"><block var="sentence"/></block></block><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block></block><script><block s="doChangeVar"><l>index</l><l>1</l></block></script></block><block s="doIf"><block s="reportEquals"><block var="index"/><block s="reportStringSize"><block var="sentence"/></block></block><script><block s="doReport"><l></l></block></script></block><block s="doUntil"><block s="reportOr"><block s="reportEquals"><block var="index"/><block s="reportStringSize"><block var="sentence"/></block></block><block s="reportNot"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block></block></block><script><block s="doChangeVar"><l>index</l><l>1</l></block></script></block><block s="doIf"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block><script><block s="doReport"><l></l></block></script></block><block s="doUntil"><block s="reportGreaterThan"><block var="index"/><block s="reportStringSize"><block var="sentence"/></block></block><script><block s="doSetVar"><l>bf</l><block s="reportJoinWords"><list><block var="bf"/><block s="reportLetter"><block var="index"/><block var="sentence"/></block></list></block></block><block s="doChangeVar"><l>index</l><l>1</l></block></script></block><block s="doReport"><block var="bf"/></block></script></block></script></block-definition><block-definition s="all but last letter of %&apos;string&apos;" type="reporter" category="operators"><comment x="0" y="0" w="218" collapsed="false">Takes a text string as input, and reports a new text string containing all but the last letter of the input.</comment><header></header><code></code><translations>pt:_ sem o último caractere&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>i</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportEquals"><block s="reportStringSize"><block var="string"/></block><l>0</l></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block s="reportSum"><l>0</l><l>0</l></block></block></block></script></block><block s="doSetVar"><l>result</l><l></l></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportEquals"><block var="i"/><block s="reportStringSize"><block var="string"/></block></block><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><block s="reportLetter"><block var="i"/><block var="string"/></block></list></block></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="all but last word of %&apos;sentence&apos;" type="reporter" category="operators"><comment x="0" y="0" w="211.99999999999997" collapsed="false">Takes a text string as input, divides it into words treating one or more spaces as a word separator (only spaces count; punctuation is part of the word) and reports a text string containing all but the last word, with one space between words and no spaces at the beginning or end.  (Note: consider using SENTENCE-&gt;LIST and processing the resulting list instead of doing recursion on sentences in text string form.  List operations are faster.)</comment><header></header><code></code><translations>pt:_ sem a última palavra&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doDeclareVariables"><list><l>index</l><l>bl</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>bl</l><l></l></block><block s="doSetVar"><l>index</l><block s="reportStringSize"><block var="sentence"/></block></block><block s="doIf"><block s="reportEquals"><block s="reportStringSize"><block var="sentence"/></block><l>0</l></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block s="reportJoinWords"><list><l>empty </l><l>sentence</l></list></block></block></block></script></block><block s="doUntil"><block s="reportOr"><block s="reportEquals"><block var="index"/><l>1</l></block><block s="reportNot"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block></block></block><script><block s="doChangeVar"><l>index</l><l>-1</l></block></script></block><block s="doIf"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block s="reportJoinWords"><list><l>empty </l><l>sentence</l></list></block></block></block></script></block><block s="doUntil"><block s="reportOr"><block s="reportEquals"><block var="index"/><l>1</l></block><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block></block><script><block s="doChangeVar"><l>index</l><l>-1</l></block></script></block><block s="doIf"><block s="reportEquals"><block var="index"/><l>1</l></block><script><block s="doReport"><l></l></block></script></block><block s="doUntil"><block s="reportOr"><block s="reportEquals"><block var="index"/><l>1</l></block><block s="reportNot"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block></block></block><script><block s="doChangeVar"><l>index</l><l>-1</l></block></script></block><block s="doIf"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block><script><block s="doReport"><l></l></block></script></block><block s="doUntil"><block s="reportLessThan"><block var="index"/><l>1</l></block><script><block s="doSetVar"><l>bl</l><block s="reportJoinWords"><list><block s="reportLetter"><block var="index"/><block var="sentence"/></block><block var="bl"/></list></block></block><block s="doChangeVar"><l>index</l><l>-1</l></block></script></block><block s="doReport"><block var="bl"/></block></script></block></script></block-definition><block-definition s="first word of %&apos;sentence&apos;" type="reporter" category="operators"><comment x="0" y="0" w="236" collapsed="false">Takes a text string as input, divides it into words treating one or more spaces as a word separator (only spaces count; punctuation is part of the word) and reports a text string containing only the first word, with no spaces before or after it.</comment><header></header><code></code><translations>pt:a primeira palavra de _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doDeclareVariables"><list><l>index</l><l>first</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>first</l><l></l></block><block s="doSetVar"><l>index</l><l>1</l></block><block s="doIf"><block s="reportEquals"><block s="reportStringSize"><block var="sentence"/></block><l>0</l></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block s="reportJoinWords"><list><l>empty </l><l>sentence</l></list></block></block></block></script></block><block s="doUntil"><block s="reportOr"><block s="reportEquals"><block var="index"/><block s="reportStringSize"><block var="sentence"/></block></block><block s="reportNot"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block></block></block><script><block s="doChangeVar"><l>index</l><l>1</l></block></script></block><block s="doIf"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block s="reportJoinWords"><list><l>empty </l><l>sentence</l></list></block></block></block></script></block><block s="doUntil"><block s="reportOr"><block s="reportEquals"><block var="index"/><block s="reportStringSize"><block var="sentence"/></block></block><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block></block><script><block s="doSetVar"><l>first</l><block s="reportJoinWords"><list><block var="first"/><block s="reportLetter"><block var="index"/><block var="sentence"/></block></list></block></block><block s="doChangeVar"><l>index</l><l>1</l></block></script></block><block s="doIf"><block s="reportNot"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block></block><script><block s="doSetVar"><l>first</l><block s="reportJoinWords"><list><block var="first"/><block s="reportLetter"><block var="index"/><block var="sentence"/></block></list></block></block></script></block><block s="doReport"><block var="first"/></block></script></block></script></block-definition><block-definition s="last letter of %&apos;word&apos;" type="reporter" category="operators"><comment x="0" y="0" w="260" collapsed="false">Takes a text string as input, and reports the last character in the string.</comment><header></header><code></code><translations>pt:o último caractere de _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportLetter"><block s="reportStringSize"><block var="word"/></block><block var="word"/></block></block></script></block-definition><block-definition s="last word of %&apos;sentence&apos;" type="reporter" category="operators"><comment x="0" y="0" w="262" collapsed="false">Takes a text string as input, divides it into words treating one or more spaces as a word separator (only spaces count; punctuation is part of the word) and reports a text string containing only the last word of the input, with no spaces before or after it.</comment><header></header><code></code><translations>pt:a última palavra de _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doDeclareVariables"><list><l>index</l><l>last</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>last</l><l></l></block><block s="doSetVar"><l>index</l><block s="reportStringSize"><block var="sentence"/></block></block><block s="doIf"><block s="reportEquals"><block s="reportStringSize"><block var="sentence"/></block><l>0</l></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block s="reportJoinWords"><list><l>empty </l><l>sentence</l></list></block></block></block></script></block><block s="doUntil"><block s="reportOr"><block s="reportEquals"><block var="index"/><l>1</l></block><block s="reportNot"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block></block></block><script><block s="doChangeVar"><l>index</l><l>-1</l></block></script></block><block s="doIf"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block s="reportJoinWords"><list><l>empty </l><l>sentence</l></list></block></block></block></script></block><block s="doUntil"><block s="reportOr"><block s="reportEquals"><block var="index"/><l>1</l></block><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block></block><script><block s="doSetVar"><l>last</l><block s="reportJoinWords"><list><block s="reportLetter"><block var="index"/><block var="sentence"/></block><block var="last"/></list></block></block><block s="doChangeVar"><l>index</l><l>-1</l></block></script></block><block s="doIf"><block s="reportNot"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block></block><script><block s="doSetVar"><l>last</l><block s="reportJoinWords"><list><block s="reportLetter"><block var="index"/><block var="sentence"/></block><block var="last"/></list></block></block></script></block><block s="doReport"><block var="last"/></block></script></block></script></block-definition><block-definition s="empty word? %&apos;word&apos;" type="predicate" category="operators"><comment x="0" y="0" w="208" collapsed="false">Takes a text string as input, and reports TRUE if the string has no characters in it of any kind, otherwise false.</comment><header></header><code></code><translations>pt:a palavra _ está vazia&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportEquals"><block s="reportStringSize"><block var="word"/></block><l>0</l></block></block></script></block-definition><block-definition s="empty sentence? %&apos;sentence&apos;" type="predicate" category="operators"><comment x="0" y="0" w="221" collapsed="false">Takes a text string as input, and reports TRUE if the input contains no characters other than spaces (therefore, no words when the string is considered as a sentence), otherwise FALSE.</comment><header></header><code></code><translations>pt:a frase _ está vazia&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doDeclareVariables"><list><l>index</l></list></block><block s="doSetVar"><l>index</l><l>1</l></block><block s="doIf"><block s="reportEquals"><block s="reportStringSize"><block var="sentence"/></block><l>0</l></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block><block s="doUntil"><block s="reportOr"><block s="reportEquals"><block var="index"/><block s="reportStringSize"><block var="sentence"/></block></block><block s="reportNot"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block></block></block><script><block s="doChangeVar"><l>index</l><l>1</l></block></script></block><block s="doReport"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block></block></script></block-definition><block-definition s="join words %&apos;words&apos;" type="reporter" category="operators"><header></header><code></code><translations>de:füge Wörter zusammen _&#xD;ca:uneix les paraules _&#xD;es:unir las palabras _&#xD;fr:fusionne les mots _&#xD;pt:uma frase com as palavras _&#xD;</translations><inputs><input type="%mult%txt"></input></inputs><script><block s="doIf"><block s="reportListIsEmpty"><block s="reportCDR"><block var="words"/></block></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="words"/></block></block></script></block><block s="doIf"><block s="reportEquals"><l></l><block s="reportListItem"><l>1</l><block var="words"/></block></block><script><block s="doReport"><custom-block s="join words %mult%txt"><block s="reportCDR"><block var="words"/></block></custom-block></block></script></block><block s="doIf"><block s="reportEquals"><l></l><block s="reportListItem"><l>2</l><block var="words"/></block></block><script><block s="doReport"><custom-block s="join words %mult%txt"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="words"/></block><block s="reportCDR"><block s="reportCDR"><block var="words"/></block></block></block></custom-block></block></script></block><block s="doReport"><block s="reportJoinWords"><list><block s="reportListItem"><l>1</l><block var="words"/></block><l> </l><custom-block s="join words %mult%txt"><block s="reportCDR"><block var="words"/></block></custom-block></list></block></block></script></block-definition><block-definition s="list $arrowRight sentence %&apos;data&apos;" type="reporter" category="operators"><header></header><code></code><translations>de:Liste $arrowRight Satz _&#xD;ca:llista $arrowRight frase _&#xD;es:lista $arrowRight frase _&#xD;fr:liste $arrowRight phrase _&#xD;pt:uma frase com as palavras em _&#xD;</translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><custom-block s="join words %mult%txt"><block var="data"/></custom-block></block></script></block-definition><block-definition s="sentence $arrowRight list %&apos;text&apos;" type="reporter" category="operators"><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="reportTextSplit"><block var="text"/><l><option>whitespace</option></l></block></block></script></block-definition><block-definition s="word $arrowRight list %&apos;word&apos;" type="reporter" category="operators"><comment x="0" y="0" w="146.42857142857144" collapsed="false">report a list in which each item is one letter from the input word</comment><header></header><code></code><translations>de:Wort $arrowRight Liste _&#xD;ca:paraula $arrowRight llista _&#xD;es:palabra $arrowRight lista _&#xD;fr:mot $arrowRight liste _&#xD;pt:uma lista com os caracteres da palavra _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportTextSplit"><block var="word"/><l><option>letter</option></l></block></block></script></block-definition><block-definition s="list $arrowRight word %&apos;list&apos;" type="reporter" category="operators"><comment x="0" y="0" w="158.57142857142858" collapsed="false">join all the items of the input list&#xD;into a single word, and report it</comment><header></header><code></code><translations>de:Liste $arrowRight Wort _&#xD;ca:llista $arrowRight paraula _&#xD;es:lista $arrowRight palabra _&#xD;fr:liste $arrowRight mot _&#xD;pt:uma palavra com os caracteres em _&#xD;</translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><block var="list"/></block></block></script></block-definition><block-definition s="encode a message: %&apos;message&apos; shift %&apos;shift&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doReport"><custom-block s="list $arrowRight word %l"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="encode one letter: %s shift %s"><l></l><block var="shift"/></custom-block></autolambda><list></list></block><custom-block s="word $arrowRight list %txt"><block var="message"/></custom-block></block></custom-block></block></script></block-definition><block-definition s="decode a message: %&apos;message&apos; shift %&apos;shift&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doReport"><custom-block s="list $arrowRight word %l"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="decode one letter: %s shift %s"><l></l><block var="shift"/></custom-block></autolambda><list></list></block><custom-block s="word $arrowRight list %txt"><block var="message"/></custom-block></block></custom-block></block></script></block-definition></blocks><variables><variable name="input"><l>qlkv</l></variable><variable name="input list"><list struct="atomic" id="1090">q,l,k,v</list></variable><variable name="output list"><l>tony</l></variable><variable name="letter"><l>0</l></variable><variable name="message"><l>0</l></variable></variables></project><media name="Updated Caesar Cypher" app="Snap! 5.4, http://snap.berkeley.edu" version="1"></media></snapdata>