<snapdata remixID="9142148"><project name="U4L4 Binary sequences" app="Snap! 5.4, http://snap.berkeley.edu" version="1"><notes></notes><thumbnail>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAAaB0lEQVR4Xu1dB1RVx9b+QJpYUQM+eZbYjUYjFixYYon1V5GIJUbjMzFqmu0ZxYaIRGPBNI15byVq9CWWmCdiiZXI08RoYrASEEsUY8OSKIIg/Osb17m5w70Xz8UrHG9mr8VS7p0zZ2bPx8zsPXt/45Kbm5sLJUoDRaQBFwXAItK8eq3QgAKgAkKRasAmADdt2oTk5GSYr9AuLi6G/71Ro0Z49tlni1Sp6uX6NWABwFWrVqFFixYCaBrgCvvfsmXL4sj6j3D+uxjcvXdPV28aNQmET8+JpnbfvXsX9erV0/WsKlR0GrAA4IkTJ4oMeBrQfcuVxc3IZvD1drVLM+eHbZP+cBQA7VJfkRSWALh27VrUqVPH1JA333wTAQEBCAkJga+vL/bu3YsKFSrgypUruHr1KqpWrYp9+/ahX79++Pbbb9GzZ0/xbGJiIg4dOoTQ0FCkpqaK58qVK4fz588jKysLw4YNQ3x8PHx8fFClShXs2LEDrVu3xk8//YQ+ffrgfPIxBH3/Nlzz4M973E4gNwfp0Z2tKuvUC7HS5w0bNiwSpaqX6teABMCwsDABNk0mTpyIcePGCdBVqlQJp0+fRnR0NGrWrIkffvgBXbt2xfDhwzF79mw0aNBAgJUSExODoUOH4vbt2/j1118xYcIE1KhRA71798Zzzz2HP/74A2fPnsXq1avxv//9D08//TQGDhwo6ktJScGlM0lWAOiC4q/8By4+/kh/t63VHv4S+rX0eZMmTfRrQpUsEg1IAIyNjUX58uVNS/Bbb70lfn/nnXfEDMaZLzIyEr///jsuX76MAQMGYMiQISBwP/roIxw/flwsgTRgCCg3NzcBvpMnTwoAdu7cGd27d0dmZiY++OAD3Lp1S4Bvz549Apyc/U6dOoXrF87YmAF3AO5eSJ8bZFVZR4PXSEtwy5Yti0Sp6qX6NWCxByQY7DE6srOzkZCQgKCgIBDAlP79+wuw2lOPudFzLfUUOhyaDlcX/R1hyUM9V5kAyKWffyBKjK0Bq0bIuXPnxH6NM93j5oYxby+teTULPmYANIIbxnzmLF26NOL/HY6bifuQo/PUsFPPvsgKGCRm4JycHPj7+8Pb29vYI/EXbZ0h3TDmAKzgUwY5c5vD292+9fjcS9+YtgDXrl0TVrYS42kgXzfMwYMHhWtkypQpmDVrFkaOHIkvvvhCGBMHDhwQrhgueTQqXnnlFXz88cfCxbJ582YEBweL3nJPyRMVGis3b97Ejz/+KAwY7bkXXngBR44cAWc6CveOdPnQyuYz55OPos3+SXAxw1+JKQdw59MhKP7Sp0Axd9yObGqhWeWSMR7YrLUoXzdMREQEnnnmGeGrS0pKQqtWrfDUU0/By8tLuFMo3bp1E0ZH5cqVsXDhQuGiuXTpksknOG/ePAEk+uT4Oa1o+gm15+jeIejCw8PFO1hPx44dhXuHLpxLZ36xAKBwx5SrivS5reE95hukL+pi0TflknkMAZjXDfPZZ5+JWY6zH90so0ePxvz581GrVi2sXLlS9LBLly5itiNIFy1aJP6l/4+zJJfS999/X3zfrl074ZKhD5AA1J578skn8eGHHyI9PR337t3D9evXhTP85ZdfFk5sWsR5Z0CP7mFwbxyMnKun4OJT+b5bJjdH0viRPqslK5wGiRLjaeCh3TDWzozpmuHSq7lktKW6IG6ZtPMp6PjzdNi3AwR+6rHSBED6J7l9UGI8Ddh0wxQrVswQraUzO7B6eXi46o+bvZXjjgNJqaL9XNZHjRpliL6oRlhqwGY4Fg0JDp5RhEt448aNjdIc1Q4HacACgLRuS5QoIX4KsmQ+yjAuRurwvFiJ82hAAiDBw2AAd3d34SZhNAwtWG7gua+jcUGHrqurK77++msRfECDISMj46HjB+kw5r6RM11+wKd7htE3SpxDAxIAGRbFoAFNRowYIU4RmjZtKtwjDL9iUAKtVQYq9OrVS1i79OsxqoV+PkbCtG/fHoxEofOXdZ45c0Z8xzoGDx4sfIg8caFbZvHixeK0gr7CFStWiGgbTWxFYNNyVuIcGpAASBdL3759TT179dVXBQD5Gc+G27Rpg4oVKwpXyksvvSR8dQQbgURLl2XWrFkjZkz6D+k33LhxowAofXoMl2e4188//4xPPvlERMMsXbpUxA0yPpBOabbhQQCsXr26c2hf9UJOSqLT2ByAnOm4FHt6eooluHjx4uLUg5+tX79e+PfolCYgGbbFMgQVZzSeeHTo0AG0ptPS0lCmTBlRrmTJkqIMrVvWz/ronH733XfFbElAP0jMZ+kHlVXfG1sD0gw4d+5cKSDVqE3naYsS59CABMA5c+aIGVDbe10/tBW3Y6Pszs1wpGqq1G+KS90WSEZO7dq1HfkKVVcRakACICOfzQH4/cTWCKnrjWNlWsCz0xiUrlBRLJ0Uzd2itd1RvzOb7cblC/DaFolqdxJF9ReG75AAaJ63UoS6U692gAYkAEZFRUl7wISwNqjXKAClhy41vcr9Vhq+GdkZVT3ls9f82lKneyiyQ8KEoUJhjokt4VkwQZiSchKtji1EhewrYLabudStW9cBXVdVGEEDEgCZXGRuhBye0hY+gxfh73UbY9euXejRowf2LolA88QNUttdvUrAd+Q8pK2MQtbV81b75bbooCm6mn5EWzMmDRhazUxqWjRxONomfwTG9lG0rYFKtzQCdBzTBgmAtEbNAXhkajs0nrNXOJ5podLnt3vB22h7fpf09kpT/4MbMUvg03s0UmcNtNqyYtEHdLWYsx+tZLpkVn6+Ak+tD8WvQ7dKzzIkTIlzaEACIOP/zNMyj05rj4C5+8TMs337dgHAuIWTLADo99aHuP3dRpRsHYyL0dajTlwW7Bf+Qrph+GPryI6pn/Q9MkOOzup660JwdsgWSdv169d3Du2rXsh+wJkzZ0pGyPEZHcQMSKEP8M6dO9izKMwCgPy+ZIseSD+0CzmZd6yrdf73widIof/PlrCMtgR//vnnqL++H868uFkCLFM5lTiHBqQZkFHJ5lbwifCOaBQVL53NZiTEofiqMJrBujXgVS8Q6cOixdLKmY/h97ZmQC73dFwzDUAkvH8ditODN0nlFeOBbtUbvqAEwBkzZkh7wMSZndBw9v3AUg0w4jTk5jWcO5ko8jSIwwf9W/uZpriVmS2ArIktI4T5IRSCldZuww0DkDJoo/hMM0J4pKfEOTQgAXD69OkSAH+J6IwGs+KkGfD64X1w/WwCynnoJw5yK++HjH+uE0dxlPxmwN27d5vex/PkRjEDcXJgjARAfq7EOTQgAXDatGkSAJNmPYf6EbtF/odGKnRwaQRand0h9V6PGyZz9rem3FzuJW3NgHFxcaa6OdM1jn0ByQNkt48KTHUO8IlVzZyil/sucys4ObIL6oXvFG6YJUuWiLyK/UtmFsgNkxEZJ4JcKUxAsrUHJADNl9qATYOR1P+/ksY1EiTnGYa/bk8sAMgIFw0AKVHdUGf6dixfvlwYBcxSO7B0VoHcMOkRu8S+ji6Y/AJO8wKw6ZYhYIqlOWAZn6jEOTQgAXDy5MkmK5jdIwBrT9smXDB0jzAi+sdPItEmjyOaZfN1w7i44Hb4DlPyOfeCtmZA8gxqQmu32dahSOy3XjJemjVr5hzaV72Ql+BJkyZJe8DTc3qg5pSt0oxV0dsNmYuGA1mZutVXss8b+LVSgAjdpxDQ+QFQmyEJwMBtw3A8ZJ1khDRv3lz3uwur4MWLFwXnIbcXRhU/Pz+R082UC6OINAO+/fbbEgDPzO2JGmFbJAD+vVJFfDNvMrIvntLdh26jJyPVy09XkpOWT8zK6XBusf0fONZ3rQTAwMBA3e8ujIK03Bm0S+vcyCRIDAbR3FxGIXKXAEhGVPOz4LPv/h+enLRJAs6ZHV+hwb5PUMyOTHGXYm64PjlWDBKF5722ZkBzfkICsNXOl0HiSXMxEsvB/v37hZH2OG0L+AfTtm1b08lUYfyR2nqHBEBSZ5hbwb/O64Vqb8eKMCpmo5Hd9MjyeRZGiKuXN6q8twep04KRdfmc1Xddn7LFFIbFkw5bvINMbtKEZ75Bu0eANBvmYiTOPw6mUWYTvUDiUSd/SKtc1CIBcPz48dJR3PkFfVDlnzHi7JZE40yZPLpivgUA3Sr4w3fEXFz592SbAEybvElYwKwrvzROJidxD8hZhWFXbeJexeHeX0ozppGo1h5HABJ0Rmm3BEASkpufBacuDEblCRtEAhIt4BdffBHHVy60GoxQadJyXPl0qk0AXp0UC26C6QtkxIutGZARM5RSpUqJhKV2e0YhodcXEgBJB2wUMcpA2qsPo7RbAuDYsWOlPeCF6L7wH/e1aUZisOi5Df9CQOL9ozG94updChdfX4UnnnhCPKKXrOjGjRtoHz9acD9TNOuY6aFGEaMMpL36MEq7JQCOGTNGmgF/WxSCSmP/9MGxk+V4t8ftc3DJQ4eWnwJ+L1cNKZeuPVBHjH6hG4NAY/4xg1I77H1dIh/nzMkNtFHEKANprz6M0m4JgGQ7MLeCL773PCq+tU6ygquV8cKO17ralRNSq8vzOB344gPdMDxv5nUNzCEmEytnwI773sCP3T+X9Mu9qFHEKANprz6M0m4JgOSCMQfgpff7we/NtWL/R1JJwXK6/T8WOSHsvGspH+Te/gO5OdlWdXFh3HpBzUEhC//OnTsFE2peoYHCZHfOgCQj6vz9WzjYbYVUTE/yur0DUtDyRhlIe9tvlHZLAHzjjTcE24G217ryYX888fpqcQZMJysb7Z24x8II8X46CJWmf4mzr7W0aYRE+/cXDKkU8k7Tb0Z/IOk88nLAkIOG0dD0A3b5YSwOdF0uGSFkXDCKaANJLwH3pqQb1rL+zH2dDOQgHQn30VpcJF1O2jP8Y2PUEXm2NX1oyVvcM3P/TB8pAzFoyLFufs/6tHLaZxpft/a5Vo7MYtu2bRPPGBKAr732mnQWTAAiZAEysnMFIBiulbz6gwJZwetbTRQBpgzF4g9ze7nfo3LMheDjQJDEaO+2DQg5+x5+6LLMVIRKtjZzFhUgtYHk4G7dulXQGfMPlsDiHpbApNuIoGJ/yZGj0R6zzdoz1C1BSgCSP3vLli1CD3yePNr8XnuHBijmzPAd/JzfE/hcZeju0oDJf83bwHeTRsWQACQHtPkSnLZ4IC7VeR512vcRzFhkzc/Y91+rAPQdvQDXVs9HdtpvVrEQ33ueifeFV3dRKa+//rq4ZUn7i69WrZpQOt09BPyTvyfgeY+f8H3nT0WdWrlOnToVFd4s3qsNJIE3depUcXkj/5B5WkMwaYPPFeTLL78UeiQHD6PPmQSmPUOQ5gUgyaF40kJ+bhI9MWuRQMsLQOqFdXGFIRMZr0kjAZRWTmsDf+csSjeWIQH41VdfiYgVbaCvLRmE52qWwL+9B8ClZAWQFq1a5kWUWj3drpwQjzrNkNR5vOmc1NaBPZVC1q1ly5YhuGsHPLV5uBhwAtB8OWN2nlHEKANprz6M0m4LhlReNGiKlljzGlqVz0QOXBCXXQfHvZ9BtfoBaN+iGVJTftHd54xinti2+35uyYOk9L2beDr9EFq5n75f1NUd+55dYnqMMwyTp4wiRhlIe/Rh2KM4duLw4cM4duyYIKKsWK4Uco9ulvqW7lUFLssm2pUT4u5TAb8/Gwo3t/tpmdnZ+m5BF4X9G+JSbhnxX55HcwkykjyuwQjco2o8P0WpT0VS7gDtq3CsgitRkZQXXHfSkzzD5n0kjIyh5Wke2e2gVzx0NYYPSFUk5X+OMfNOeDZON4ceYb4Lua8ZRMGUg8ctREtPHx9FGUVSno9WtQsXWYQRPGvXrhUh7daEyzCFDmMjxNk9CrA8ijoVSfkDtGoOQq0o3VQ8xdFuiOf/6WtTs579EJUAqEjKLRWoB4D2q109YfpjNk9MVyTlMjDsWYIVpAqmAUVSbkNv9hohBVO/ekqRlCsMFKkGCpWkXE9PFUm5Hi05TxldJOW1GrcS0RWM6LBGUk51uPtWRvbV32wGpCqScucBjSN7oouknMGSpJ5gGJQ1kvIn/jELmaePwKtWAC5/Mslq+xRJuSOHzXnqcghJuf/Mdbi+Nho+z49Barj1q1RJUs4gBwajMhpakZQ7D4gepicSAPMjKWeCUNmyZa2SlLs94Q+/UQtxdeVsZJ46bL09iqT8YcbJaZ8tVJJy7aYkHlcpknKnxZRdHbObpJwJMR45WXYFpFau+zSu3vxDF0k5Q8o503K55oU0iqTcrvF87AoXKkk57xMWFrO7u80ZUJGUP3YYeqgG6yIpZ6ohI3979uwJRVL+UPpWD+fRgC6ScjJaMYeVCeEPQ1LOKBLWRbpfRVKusEgN6CIpHzRoELp06SIy1h6GpJzBmtxDMnpYLwAVSblzA1UXSbk2YxE0D0NSrtHXmt8TkheIiqTcuQGXt3cSAB81SXl+1zNoQCQAH0eS8r8WbBzXW0VS7jhdqpoKoAFFUl4ApalHHKcBRVLuOF2qmgqgAUVSXgClqUccpwFFUu44XaqaCqABRVJeAKWpRxynAUVS7jhdqpoKoAFFUl4ApalHHKcBRVLuOF2qmgqgAUVSXgClqUccpwEJgIqk3HGKVTXp04AEQEVSrk9pqpTjNCABUJGUO06xqiZ9GrBgSFUk5foUp0o5RgMWAFQk5Y5RrKpFnwYsAKg9tnnzZiQlJemrpRBK8YLCxo0bF8Kb1CsKUwMWACTPMcPm+aMngNRWaP2j+JwUIbyWSonzaEACoCIpd56BfVx6IgFwx44dqFGjhqntI0aMgL+/P0jWyEvweM8ZL7BhZhvvFu7Vqxd4bRZv3mHW3M2bNxETEyOy55o0aSIu6WOdTDbnd6yDlxByluVFe0xOWrx4sbjWIDk5GStWrEB0dLTp/Xlv0dR+55VhSpxDAxIA58+fL11WyMvyCEBeYMhrVXm7Du/x5TUEzJAbPny4ABuBRNoNllmzZo24qI9Ubrxgb+PGjQKgvCWyUaNGCAkJEVRvvLqUVxssXboUoaGhiI+PF1cisA2a2AJg9erVnUP7qhdyWqYiKVeIKGwNSDOgIikvbPWr90kAnDNnjunCahok1w9txe3YKPh6y5dKF6baqtRvikvdFkiJ7LVr1y7MJqh3PUINSAB85513JAB+P7E1Qup641iZFvDsNAalK1Q03bCouVm0tjnqd176cuPyBXhti0S1O4mi+gvDd0gA5G3rSpxDAxIAo6KiJCMkIawN6jUKQOmhS029db+Vhm9GdkZVzxzdGqjTPRTZIWG6yiuScl1qcppCEgBnz54tAfDwlLbwGbwIJClPSEgQVqwiKXeasTdERyQARkZGSgA8MrUdGs/ZiweTlEcg8/RReNUMwOV/KZJyQ4zsY9IICYARERHCT6fJ0WntETB3nziS2759u3A6xy2chLbnd0nd00tSzvt009PTFUn5YwKOwmimBMCCk5T/HX6jFiBt5WxkKJLywhg3p3mHBMDw8HDJCj4R3hGNouKloISMhDgUXxUG5ObqVoJXvUCkD4sWpyUURVKuW3VOX1AC4IwZM6Q9YOLMTmg4e49QguZmMZGUn9IfqlW5TgNFUu70UCpYByUATp8+XQLgLxGd0WBWnDQDXj+8D66fTUA5D/3Oabfyfsj45zpxhkwpXbq0Iikv2Hg53VMSAKdNmyYBMGnWc6gfsRsrV65EVlYWhg0b9gCS8tnIuppqVUmZs7+FNYZUrbA2w8bFxZmep9uncewLSB6wQapTBaY6Dw4lAE6ZMkWygpMju6Be+E64urpiyZIlGDlyZP4k5b1GIzVyoFXtZETGiSBXCi1hvRzRAZsGI6n/f6U6AwICnGcE/uI9sQAgbwnXwqBSorqhzvTtWL58OQjO1NRU2yTl+zaiZFAwLkaPtKrS9IhdIvyqZMmS+UZacwbU3s8ZUJGUOzdCJQBOnjxZLMEpKSmoVasWypcvb3Omyi/k3sPDAy7IxeXfLiAXf1rLLuJT679X8KskZsaTJ0+KXBTOug0bNkSzrUOR2G+9aRT4Xl52qMQ5NCABkCTlDDol+Ci2AkK1rtv6/tqPm+G5ex78vF10a6ls82CkNntTAJ4SGxsrjv4Ctw3D8ZB1UnuaN2+uu15V0NgasFiCeSdIfvLdd9+hZcuWFkU4czFKheH6+2cFI7RqBtzqdUT2iZ1S2WJPBsLFwxvZv+y2qOPskC2mz3gzU5UqVdBi+z9wrO9aCYCBgYHG1qpqnW4NWLWCtZlt4cKFAgTM7eDFgRs2bMCyZctE6Lyfn59wKNO1wv0hwcfweobnH4jqh0HV76LEjATkXj2NOytegWevmciK/xc8ekyFq09lZCXEwK1qANI/DgVy7t8hd3JgjGnJJ5DT0tLQaufLOBq8RuoQQ/6VOIcGLJZg7gE1AI4bN05Yvg0aNICvr6/I72DOB3M96JLZtWuX2CeGhYWJWXHq1KnitOPneYNMAMw6sBoubp6Amwdyb11FsRqtBADhUQKZ6ybg3tmDyP3jitDmiee/MgGQcYEEd9DuETjSZ7WkbWszsHMMx1+vFxIAx48fL/kB6fsjCP72t7+JzLa6deuKyBgaKZwRaQwwSIFXcPE2JX7Piw2PLRoqAOgZuhD3Tu7FvcRd8Og6EXd3vgf3lkPgUqI8ck7vh2vNIGSunQDk3o8tTOj1hWkEeGEN/X1t4l7F4d5fSsYQZ2QlzqEBCYCc8bi0PmiPxetWCbpr165Z1UKtu8koszOSB3j6tdRhLA563mc+4FVenp6e4t92e0YJYJpb3UFBQfrrVSUNrQEJgGPHjhUz4N69e8XSWqLYPbgULyNdNH0vIx3u9+7a5Z6hSyW7eGnTLZkEkzU3Du8T5ozLJZ/P3LhxA+3jR+NQz1WSEUJLXYlzaOD/AVddGfKLq2BGAAAAAElFTkSuQmCC</thumbnail><stage name="Stage" width="480" height="360" costume="0" color="255,255,255,1" tempo="60" threadsafe="false" penlog="false" volume="100" pan="0" lines="round" ternary="true" codify="false" inheritance="false" 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="13.333333333333334" y="13.333333333333334"><custom-block s="%n !"><l>10</l></custom-block></script><script x="13.333333333333334" y="41.33333333333336"><custom-block s="%n !"><l>20</l></custom-block></script><script x="13.333333333333334" y="69.33333333333333"><custom-block s="%n !"><l>30</l></custom-block></script><script x="10.999999999999991" y="118"><custom-block s="USE BIGNUMS %b"><l><bool>true</bool></l></custom-block></script><script x="111" y="273"><custom-block s="translate text %s to binary sequence"><l>hello</l></custom-block></script><script x="63.16666666666668" y="317.99999999999994"><block s="receiveGo"></block><block s="doAsk"><l>enter text to be converted to binary</l></block><block s="doSetVar"><l>output</l><custom-block s="translate text %s to binary sequence"><block s="getLastAnswer"></block></custom-block></block><block s="bubble"><block var="output"/></block></script><script x="228.83333333333337" y="271.1666666666667"><custom-block s="convert %n in decimal to binary byte"><l>55</l></custom-block></script></scripts></sprite><watcher var="binary_number" style="normal" x="10" y="10" color="243,118,29"/><watcher var="decimal_number" style="normal" x="10" y="31.000001999999995" color="243,118,29"/><watcher var="output" style="normal" x="10" y="335.59999800000014" color="243,118,29"/></sprites></stage><hidden></hidden><headers></headers><code></code><blocks><block-definition s="label %&apos;text&apos; of size %&apos;size&apos;" type="command" category="pen"><comment x="0" y="0" w="90" collapsed="false">LABEL will stamp text on the stage at the given font size. The direction of the text is the direction the sprite is facing, and color will match the pen color.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">Hello!</input><input type="%n">12</input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>text</l><l>size</l></list><l>var stage = this.parentThatIsA(StageMorph),&#xD;    context = stage.penTrails().getContext(&apos;2d&apos;),&#xD;    rotation = radians(this.direction() - 90),&#xD;    trans = new Point(&#xD;      this.center().x - stage.left(),&#xD;      this.center().y - stage.top()&#xD;    ),&#xD;    isWarped = this.Warped,&#xD;    len,&#xD;    pos;&#xD;&#xD;if (isWarped) {endWarp(); }&#xD;context.save();&#xD;context.font = size + &apos;px monospace&apos;;&#xD;context.textAlign = &apos;left&apos;;&#xD;context.textBaseline = &apos;alphabetic&apos;;&#xD;context.fillStyle = this.color.toString();&#xD;len = context.measureText(text).width;&#xD;trans = trans.multiplyBy(1 / stage.scale);&#xD;context.translate(trans.x, trans.y);&#xD;context.rotate(rotation);&#xD;context.fillText(text, 0, 0);&#xD;context.translate(-trans.x, -trans.y);&#xD;context.restore();&#xD;pos = new Point(&#xD;  len * Math.sin(radians(this.direction())),&#xD;  len * Math.cos(radians(this.direction())));&#xD;pos = pos.add(new Point(this.xPosition(), this.yPosition()));&#xD;this.gotoXY(pos.x, pos.y, false);&#xD;this.changed();&#xD;if (isWarped) {this.startWarp(); }&#xD;stage.changed();</l></block><list><block var="text"/><block var="size"/></list></block></script></block-definition><block-definition s="map %&apos;function&apos; over %&apos;lists&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%repRing"></input><input type="%mult%l"></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>mapone</l><l>mapmany</l></list></block><block s="doSetVar"><l>mapone</l><block s="reifyScript"><script><block s="doIf"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doReport"><block s="reportCONS"><block s="evaluate"><block var="function"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><block s="evaluate"><block var="mapone"/><list><block s="reportCDR"><block var="data"/></block></list></block></block></block></script><list><l>data</l></list></block></block><block s="doSetVar"><l>mapmany</l><block s="reifyScript"><script><block s="doIf"><custom-block s="empty? %l"><block s="reportListItem"><l>1</l><block var="data lists"/></block></custom-block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doReport"><block s="reportCONS"><block s="evaluate"><block var="function"/><custom-block s="map %repRing over %mult%l"><block s="reifyReporter"><autolambda><block s="reportListItem"><l>1</l><l/></block></autolambda><list></list></block><list><block var="data lists"/></list></custom-block></block><block s="evaluate"><block var="mapmany"/><list><custom-block s="map %repRing over %mult%l"><block s="reifyReporter"><autolambda><block s="reportCDR"><l/></block></autolambda><list></list></block><list><block var="data lists"/></list></custom-block></list></block></block></block></script><list><l>data lists</l></list></block></block><block s="doIfElse"><custom-block s="empty? %l"><block s="reportCDR"><block var="lists"/></block></custom-block><script><block s="doReport"><block s="evaluate"><block var="mapone"/><list><block s="reportListItem"><l>1</l><block var="lists"/></block></list></block></block></script><script><block s="doReport"><block s="evaluate"><block var="mapmany"/><list><block var="lists"/></list></block></block></script></block></script></block></script></block-definition><block-definition s="empty? %&apos;data&apos;" type="predicate" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportEquals"><block var="data"/><block s="reportNewList"><list></list></block></block></block></script></block-definition><block-definition s="keep items such that %&apos;pred&apos; from %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%predRing"></input><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doIf"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doIfElse"><block s="evaluate"><block var="pred"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><script><block s="doReport"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="data"/></block><custom-block s="keep items such that %predRing from %l"><block var="pred"/><block s="reportCDR"><block var="data"/></block></custom-block></block></block></script><script><block s="doReport"><custom-block s="keep items such that %predRing from %l"><block var="pred"/><block s="reportCDR"><block var="data"/></block></custom-block></block></script></block></script></block></script></block-definition><block-definition s="combine with %&apos;function&apos; items of %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%repRing"></input><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doIf"><custom-block s="empty? %l"><block s="reportCDR"><block var="data"/></block></custom-block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="data"/></block></block></script></block><block s="doReport"><block s="evaluate"><block var="function"/><list><block s="reportListItem"><l>1</l><block var="data"/></block><custom-block s="combine with %repRing items of %l"><block var="function"/><block s="reportCDR"><block var="data"/></block></custom-block></list></block></block></script></block></script></block-definition><block-definition s="for %&apos;i&apos; = %&apos;start&apos; to %&apos;end&apos; %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%n">1</input><input type="%n">10</input><input type="%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>step</l><l>tester</l></list></block><block s="doIfElse"><block s="reportGreaterThan"><block var="start"/><block var="end"/></block><script><block s="doSetVar"><l>step</l><l>-1</l></block><block s="doSetVar"><l>tester</l><block s="reifyReporter"><autolambda><block s="reportLessThan"><block var="i"/><block var="end"/></block></autolambda><list></list></block></block></script><script><block s="doSetVar"><l>step</l><l>1</l></block><block s="doSetVar"><l>tester</l><block s="reifyReporter"><autolambda><block s="reportGreaterThan"><block var="i"/><block var="end"/></block></autolambda><list></list></block></block></script></block><block s="doSetVar"><l>i</l><block var="start"/></block><block s="doUntil"><block s="evaluate"><block var="tester"/><list></list></block><script><block s="doRun"><block var="action"/><list></list></block><block s="doChangeVar"><l>i</l><block var="step"/></block></script></block></script></block-definition><block-definition s="join words %&apos;words&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%mult%txt"></input></inputs><script><block s="doWarp"><script><block s="doIf"><custom-block s="empty? %l"><block s="reportCDR"><block var="words"/></block></custom-block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="words"/></block></block></script></block><block s="doReport"><block s="reportJoinWords"><list><block s="reportListItem"><l>1</l><block var="words"/></block><l> </l><custom-block s="join words %mult%txt"><block s="reportCDR"><block var="words"/></block></custom-block></list></block></block></script></block></script></block-definition><block-definition s="list $arrowRight sentence %&apos;data&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doReport"><custom-block s="join words %mult%txt"><block var="data"/></custom-block></block></script></block></script></block-definition><block-definition s="sentence $arrowRight list %&apos;text&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doWarp"><script><block s="doReport"><block s="reportTextSplit"><block var="text"/><l><option>whitespace</option></l></block></block></script></block></script></block-definition><block-definition s="catch %&apos;tag&apos; %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%cs"></input></inputs><script><block s="doCallCC"><block s="reifyScript"><script><block s="doSetVar"><l>tag</l><block var="cont"/></block><block s="doRun"><block var="action"/><list></list></block></script><list><l>cont</l></list></block></block></script></block-definition><block-definition s="throw %&apos;cont&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s">catchtag</input></inputs><script><block s="doRun"><block var="cont"/><list></list></block></script></block-definition><block-definition s="catch %&apos;tag&apos; %&apos;value&apos;" type="reporter" category="control"><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%anyUE"></input></inputs><script><block s="doCallCC"><block s="reifyScript"><script><block s="doSetVar"><l>tag</l><block var="cont"/></block><block s="doReport"><block s="evaluate"><block var="value"/><list></list></block></block></script><list><l>cont</l></list></block></block></script></block-definition><block-definition s="throw %&apos;tag&apos; %&apos;value&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s">catchtag</input><input type="%s"></input></inputs><script><block s="doRun"><block var="tag"/><list><block var="value"/></list></block></script></block-definition><block-definition s="for each %&apos;item&apos; of %&apos;data&apos; %&apos;action&apos;" type="command" category="lists"><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%l"></input><input type="%cs"></input></inputs><script><block s="doUntil"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doSetVar"><l>item</l><block s="reportListItem"><l>1</l><block var="data"/></block></block><block s="doRun"><block var="action"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><block s="doSetVar"><l>data</l><block s="reportCDR"><block var="data"/></block></block></script></block></script></block-definition><block-definition s="if %&apos;test&apos; do %&apos;action&apos; and pause all $pause-1-255-220-0" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%boolUE"></input><input type="%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>breakpoint</l></list></block><block s="doIf"><block s="evaluate"><block var="test"/><list></list></block><script><block s="doSetVar"><l>breakpoint</l><block var="test"/></block><block s="doShowVar"><l>breakpoint</l></block><block s="doRun"><block var="action"/><list></list></block><block s="doPauseAll"></block><block s="doHideVar"><l></l></block></script></block></script></block-definition><block-definition s="word $arrowRight list %&apos;word&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doWarp"><script><block s="doReport"><block s="reportTextSplit"><block var="word"/><l><option>letter</option></l></block></block></script></block></script></block-definition><block-definition s="ignore %&apos;x&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs></block-definition><block-definition s="tell %&apos;sprite&apos; to %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s">Sprite</input><input type="%cs"></input></inputs><script><block s="doRun"><block s="reportAttributeOf"><block var="action"/><block var="sprite"/></block><list></list></block></script></block-definition><block-definition s="ask %&apos;sprite&apos; for %&apos;expression&apos;" type="reporter" category="control"><header></header><code></code><translations></translations><inputs><input type="%s">Sprite</input><input type="%repRing"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportAttributeOf"><block var="expression"/><block var="sprite"/></block><list></list></block></block></script></block-definition><block-definition s="list $arrowRight word %&apos;list&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doReport"><block s="reportJoinWords"><block var="list"/></block></block></script></block></script></block-definition><block-definition s="USE BIGNUMS %&apos;bool&apos;" type="command" category="operators"><comment x="0" y="0" w="303.3333333333333" collapsed="false">call with True to turn on the entire Scheme numeric tower, including infinite-precision integers, exact rationals, and complex numbers; call with False to restore native JavaScript arithmetic.</comment><header></header><code></code><translations></translations><inputs><input type="%b"></input></inputs><script><block s="doDeclareVariables"><list><l>isDone</l></list></block><block s="doSetVar"><l>isDone</l><block s="evaluate"><block s="reportJSFunction"><list><l>useBigNums</l></list><l>var done = false;&#xD;&#xD;function initialize (callback) {&#xD;    var bigScript = document.createElement(&apos;script&apos;);&#xD;    bigScript.src = &apos;//snap.berkeley.edu/snapsource/libraries/biginteger.js&apos;;&#xD;    bigScript.onload = loadScheme;&#xD;    document.head.appendChild(bigScript);&#xD;&#xD;    function loadScheme () {&#xD;        var schemeScript = document.createElement(&apos;script&apos;);&#xD;        schemeScript.src = &apos;//snap.berkeley.edu/snapsource/libraries/schemeNumber.js&apos;;&#xD;        schemeScript.onload = finish;&#xD;        document.head.appendChild(schemeScript);&#xD;    }&#xD;&#xD;    function finish () {&#xD;        makeGlobalObject();&#xD;        callback();&#xD;    }&#xD;}&#xD;&#xD;function makeGlobalObject () {&#xD;    window.bigNumbers = {&#xD;        originalEvaluate: InputSlotMorph.prototype.evaluate,&#xD;        originalChangeVar: VariableFrame.prototype.changeVar,&#xD;        originalPrims: {&#xD;            reportSum: Process.prototype.reportSum,&#xD;            reportDifference: Process.prototype.reportDifference,&#xD;            reportProduct: Process.prototype.reportProduct,&#xD;            reportQuotient: Process.prototype.reportQuotient,&#xD;            reportModulus: Process.prototype.reportModulus,&#xD;            reportRandom: Process.prototype.reportRandom,&#xD;            reportLessThan: Process.prototype.reportLessThan,&#xD;            reportGreaterThan: Process.prototype.reportGreaterThan,&#xD;            reportEquals: Process.prototype.reportEquals,&#xD;            reportIsIdentical: Process.prototype.reportIsIdentical,&#xD;            reportMonadic: Process.prototype.reportMonadic&#xD;        }&#xD;    };&#xD;}&#xD;&#xD;function loadBlocks () {&#xD;    var fn = SchemeNumber.fn;&#xD;    var originalPrims = window.bigNumbers.originalPrims;&#xD;    if (useBigNums) {&#xD;        InputSlotMorph.prototype.evaluate = function () {&#xD;            var contents = this.contents();&#xD;            if (this.constant) {&#xD;                return this.constant;&#xD;            }&#xD;            if (this.isNumeric) {&#xD;                return parseNumber(contents.text || &apos;0&apos;);&#xD;            }&#xD;            return contents.text;&#xD;        };&#xD;        VariableFrame.prototype.changeVar = function (name, delta, sender) {&#xD;            var frame = this.find(name),&#xD;                value,&#xD;                newValue;&#xD;            if (frame) {&#xD;                value = parseNumber(frame.vars[name].value);&#xD;                newValue = value !== value ? delta : value + parseNumber(delta);&#xD;                if (sender instanceof SpriteMorph &amp;&amp;&#xD;                        (frame.owner instanceof SpriteMorph) &amp;&amp;&#xD;                        (sender !== frame.owner)) {&#xD;                    sender.shadowVar(name, newValue);&#xD;                } else {&#xD;                    frame.vars[name].value = newValue;&#xD;                }&#xD;&#xD;            }&#xD;        };&#xD;        Object.assign(Process.prototype, {&#xD;            reportSum: function (a, b) {&#xD;                a = parseNumber(a);&#xD;                b = parseNumber(b);&#xD;                if (a !== a || b !== b) return NaN;&#xD;                return fn[&apos;+&apos;](a, b);&#xD;            },&#xD;            reportDifference: function (a, b) {&#xD;                a = parseNumber(a);&#xD;                b = parseNumber(b);&#xD;                if (a !== a || b !== b) return NaN;&#xD;                return fn[&apos;-&apos;](a, b);&#xD;            },&#xD;            reportProduct: function (a, b) {&#xD;                a = parseNumber(a);&#xD;                b = parseNumber(b);&#xD;                if (a !== a || b !== b) return NaN;&#xD;                return fn[&apos;*&apos;](a, b);&#xD;            },&#xD;            reportQuotient: function (a, b) {&#xD;                a = parseNumber(a);&#xD;                b = parseNumber(b);&#xD;                if (fn[&apos;=&apos;](b, &apos;0&apos;) &amp;&amp; !fn[&apos;=&apos;](a, &apos;0&apos;)) {&#xD;                      return (fn[&apos;&lt;&apos;](a, &apos;0&apos;) ? SchemeNumber(&apos;-inf.0&apos;) : SchemeNumber(&apos;+inf.0&apos;))&#xD;                };&#xD;                if (a !== a || b !== b || fn[&apos;=&apos;](b, &apos;0&apos;)) return SchemeNumber(&apos;+nan.0&apos;);&#xD;                return fn[&apos;/&apos;](a, b);&#xD;            },&#xD;            reportModulus: function (a, b) {&#xD;                a = parseNumber(a);&#xD;                b = parseNumber(b);&#xD;                if (a !== a || b !== b) return NaN;&#xD;                var result = fn.mod(a, b);&#xD;                if (fn[&apos;&lt;&apos;](b, &apos;0&apos;) &amp;&amp; fn[&apos;&gt;&apos;](result, &apos;0&apos;)) {&#xD;                    result = fn[&apos;+&apos;](result, b);&#xD;                }&#xD;                return result;&#xD;            },&#xD;            reportRandom: function (min, max) {&#xD;                var floor = parseNumber(min),&#xD;                    ceil = parseNumber(max);&#xD;                if (floor !== floor || ceil !== ceil) return NaN;&#xD;                if (!fn[&apos;=&apos;](fn.mod(floor, &apos;1&apos;), &apos;0&apos;) || !fn[&apos;=&apos;](fn.mod(ceil, &apos;1&apos;), &apos;0&apos;)) {&#xD;                    // One of the numbers isn&apos;t whole. Include the decimal.&#xD;                    return fn[&apos;+&apos;](&#xD;                        fn[&apos;*&apos;](&#xD;                            Math.random(),&#xD;                            fn[&apos;-&apos;](ceil, floor)&#xD;                        ),&#xD;                        floor&#xD;                    );&#xD;                }&#xD;                return fn.floor(&#xD;                    fn[&apos;+&apos;](&#xD;                        fn[&apos;*&apos;](&#xD;                            Math.random(),&#xD;                            fn[&apos;+&apos;](&#xD;                                fn[&apos;-&apos;](ceil, floor),&#xD;                                &apos;1&apos;&#xD;                            )&#xD;                        ),&#xD;                        floor&#xD;                    )&#xD;                );&#xD;            },&#xD;            reportLessThan: function (a, b) {&#xD;                a = parseNumber(a);&#xD;                b = parseNumber(b);&#xD;                if (a !== a || b !== b) return NaN;&#xD;                return fn[&apos;&lt;&apos;](a, b);&#xD;            },&#xD;            reportGreaterThan: function (a, b) {&#xD;                a = parseNumber(a);&#xD;                b = parseNumber(b);&#xD;                if (a !== a || b !== b) return NaN;&#xD;                return fn[&apos;&gt;&apos;](a, b);&#xD;            },&#xD;            reportGreaterThan: function (a, b) {&#xD;                a = parseNumber(a);&#xD;                b = parseNumber(b);&#xD;                if (a !== a || b !== b) return NaN;&#xD;                return fn[&apos;&gt;&apos;](a, b);&#xD;            },&#xD;            reportEqual: function (a, b) {&#xD;                x = parseNumber(a);&#xD;                y = parseNumber(b);&#xD;                if (x !== x || y !== y) return snapEquals(a, b);&#xD;                return fn[&apos;=&apos;](x, y);&#xD;            },&#xD;            reportIsIdentical: function (a, b) {&#xD;                x = parseNumber(a);&#xD;                y = parseNumber(b);&#xD;                if (x !== x || y !== y) return originalPrims.reportIsIdentical(a, b);&#xD;                return fn[&apos;=&apos;](x, y);&#xD;            },&#xD;            reportMonadic: function (fname, n) {&#xD;                n = parseNumber(n);&#xD;                if (n !== n) return NaN;&#xD;&#xD;                switch (Process.prototype.inputOption(fname)) {&#xD;                case &apos;abs&apos;:&#xD;                    return fn.abs(n);&#xD;                case &apos;ceiling&apos;:&#xD;                    return fn.ceiling(n);&#xD;                case &apos;floor&apos;:&#xD;                    return fn.floor(n);&#xD;                case &apos;sqrt&apos;:&#xD;                    return sqrt(n);&#xD;                case &apos;sin&apos;:&#xD;                    return fn.sin(radians(n));&#xD;                case &apos;cos&apos;:&#xD;                    return fn.cos(radians(n));&#xD;                case &apos;tan&apos;:&#xD;                    return fn.tan(radians(n));&#xD;                case &apos;asin&apos;:&#xD;                    return degrees(fn.asin(n));&#xD;                case &apos;acos&apos;:&#xD;                    return degrees(fn.acos(n));&#xD;                case &apos;atan&apos;:&#xD;                    return degrees(fn.atan(n));&#xD;                case &apos;ln&apos;:&#xD;                    return fn.log(n);&#xD;                case &apos;log&apos;:&#xD;                    return fn.log(n, &apos;10&apos;);&#xD;                case &apos;e^&apos;:&#xD;                    return fn.exp(n);&#xD;                case &apos;10^&apos;:&#xD;                    return fn.expt(&apos;10&apos;, n);&#xD;                default:&#xD;                    return SchemeNumber(&apos;0&apos;);&#xD;                }&#xD;            }&#xD;        });&#xD;    } else {&#xD;        InputSlotMorph.prototype.evaluate = window.bigNumbers.originalEvaluate;&#xD;        VariableFrame.prototype.changeVar = window.bigNumbers.originalChangeVar;&#xD;        Object.assign(Process.prototype, originalPrims);&#xD;    }&#xD;    done = true;&#xD;}&#xD;&#xD;function parseNumber (n) {&#xD;    var fn = SchemeNumber.fn;&#xD;    if (!fn[&apos;number?&apos;](n)) {&#xD;        n = &apos;&apos; + n;&#xD;        try {&#xD;            return parseENotation(n) || SchemeNumber(n);&#xD;        } catch (err) {&#xD;            return NaN;&#xD;        }&#xD;    }&#xD;    return n;&#xD;}&#xD;&#xD;function parseENotation (n) {&#xD;    var fn = SchemeNumber.fn;&#xD;&#xD;    var numbers = n.match(/^(-?\d+\.?\d*|-?\.\d+)e(-?\d+)$/i);&#xD;    if (!numbers) return null;&#xD;&#xD;    var coefficient = numbers[1];&#xD;    var exponent = numbers[2];&#xD;    return fn[&apos;*&apos;](&#xD;        coefficient,&#xD;        fn.expt(&apos;10&apos;, exponent)&#xD;    );&#xD;}&#xD;&#xD;function sqrt (n) {&#xD;    var fn = SchemeNumber.fn;&#xD;&#xD;    if (!fn[&apos;exact?&apos;](n) || !fn[&apos;rational?&apos;](n) || fn[&apos;&lt;&apos;](n,&apos;0&apos;)) return fn.sqrt(n);&#xD;&#xD;    var rootNumerator = fn[&apos;exact-integer-sqrt&apos;](fn.numerator(n));&#xD;    if (!fn[&apos;=&apos;](rootNumerator[1], &apos;0&apos;)) return fn.sqrt(n);&#xD;&#xD;    var rootDenominator = fn[&apos;exact-integer-sqrt&apos;](fn.denominator(n));&#xD;    if (!fn[&apos;=&apos;](rootDenominator[1], &apos;0&apos;)) return fn.sqrt(n);&#xD;&#xD;    return fn[&apos;/&apos;](rootNumerator[0], rootDenominator[0]);&#xD;}&#xD;&#xD;function isDone () {&#xD;    return done;&#xD;}&#xD;&#xD;if (window.bigNumbers) {&#xD;    loadBlocks();&#xD;} else {&#xD;    initialize(loadBlocks);&#xD;}&#xD;&#xD;return isDone;</l></block><list><block var="bool"/></list></block></block><block s="doWaitUntil"><block s="evaluate"><block var="isDone"/><list></list></block></block></script></block-definition><block-definition s="if %&apos;test&apos; then %&apos;true&apos; else %&apos;false&apos;" type="reporter" category="control"><header></header><code></code><translations></translations><inputs><input type="%b"></input><input type="%anyUE"></input><input type="%anyUE"></input></inputs><script><block s="doIfElse"><block var="test"/><script><block s="doReport"><block s="evaluate"><block var="true"/><list></list></block></block></script><script><block s="doReport"><block s="evaluate"><block var="false"/><list></list></block></block></script></block></script></block-definition><block-definition s="%&apos;n&apos; !" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doReport"><custom-block s="if %b then %anyUE else %anyUE"><block s="reportEquals"><block var="n"/><l>0</l></block><l>1</l><block s="reportProduct"><block var="n"/><custom-block s="%n !"><block s="reportDifference"><block var="n"/><l>1</l></block></custom-block></block></custom-block></block></script></block-definition><block-definition s="%&apos;x&apos;" type="reporter" category="operators"><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="Scheme number %&apos;function&apos; of %&apos;number&apos;" type="reporter" category="operators"><comment x="0" y="0" w="300" collapsed="true">Provides Scheme arithmetic functions not in JavaScript</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true"><options>number?&#xD;complex?&#xD;real?&#xD;rational?&#xD;integer?&#xD;exact?&#xD;inexact?&#xD;exact&#xD;inexact&#xD;finite?&#xD;infinite?&#xD;nan?&#xD;numerator&#xD;denominator&#xD;real-part&#xD;imag-part&#xD;magnitude&#xD;angle</options></input><input type="%s"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>which</l><l>num</l></list><l>function parseNumber (n) {&#xD;    var fn = SchemeNumber.fn;&#xD;    if (!fn[&apos;number?&apos;](n)) {&#xD;        n = &apos;&apos; + n;&#xD;        try {&#xD;            return parseENotation(n) || SchemeNumber(n);&#xD;        } catch (err) {&#xD;            return NaN;&#xD;        }&#xD;    }&#xD;    return n;&#xD;}&#xD;&#xD;function parseENotation (n) {&#xD;    var fn = SchemeNumber.fn;&#xD;&#xD;    var numbers = n.match(/^(-?\d+\.?\d*|-?\.\d+)e(-?\d+)$/i);&#xD;    if (!numbers) return null;&#xD;&#xD;    var coefficient = numbers[1];&#xD;    var exponent = numbers[2];&#xD;    return fn[&apos;*&apos;](&#xD;        coefficient,&#xD;        fn.expt(&apos;10&apos;, exponent)&#xD;    );&#xD;}&#xD;var fn=SchemeNumber.fn,&#xD;      number=parseNumber(num);&#xD;&#xD;switch (which) {&#xD;  case &apos;number?&apos;:&#xD;  case &apos;complex?&apos;:&#xD;    return (fn[&apos;number?&apos;](number));&#xD;  case &apos;real?&apos;:&#xD;    return (fn[&apos;real?&apos;](number) || fn[&apos;real-valued?&apos;](number));&#xD;  case &apos;rational?&apos;:&#xD;    return (fn[&apos;rational?&apos;](number) || (fn[&apos;=&apos;](number, fn.rationalize(number, parseNumber(&apos;1.0e-5&apos;)))));&#xD;  case &apos;integer?&apos;:&#xD;    return (fn[&apos;integer?&apos;](number) || fn[&apos;integer-valued?&apos;](number));&#xD;  case &apos;exact?&apos;:&#xD;  case &apos;inexact?&apos;:&#xD;  case &apos;finite?&apos;:&#xD;  case &apos;infinite?&apos;:&#xD;  case &apos;nan?&apos;:&#xD;  case &apos;real-part&apos;:&#xD;  case &apos;imag-part&apos;:&#xD;    return (fn[which](number));&#xD;  case &apos;magnitude&apos;:&#xD;    return (fn.magnitude(number));&#xD;  case &apos;angle&apos;:&#xD;    return (fn.angle(number));&#xD;  case &apos;numerator&apos;:&#xD;    return (fn.numerator(number));&#xD;  case &apos;denominator&apos;:&#xD;    return (fn.denominator(number));&#xD;  case &apos;exact&apos;:&#xD;    return (fn.exact(number));&#xD;case &apos;inexact&apos;:&#xD;    return (fn.inexact(number));&#xD;}</l></block><list><block var="function"/><block var="number"/></list></block></block></script></block-definition><block-definition s="convert %&apos;number&apos; in decimal to binary byte" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doSetVar"><l>decimal_number</l><block var="number"/></block><block s="doSetVar"><l>binary_number</l><l>0</l></block><block s="doDeclareVariables"><list><l>quotient</l><l>remainder</l><l>list</l></list></block><block s="doSetVar"><l>quotient</l><block var="decimal_number"/></block><block s="doSetVar"><l>remainder</l><l>0</l></block><block s="doSetVar"><l>list</l><block s="reportNewList"><list></list></block></block><block s="doShowVar"><l>list</l></block><block s="doUntil"><block s="reportEquals"><block var="quotient"/><l>0</l></block><script><block s="doSetVar"><l>remainder</l><block s="reportModulus"><block var="quotient"/><l>2</l></block></block><block s="doSetVar"><l>quotient</l><block s="reportMonadic"><l><option>floor</option></l><block s="reportQuotient"><block var="quotient"/><l>2</l></block></block></block><block s="doInsertInList"><block var="remainder"/><l>1</l><block var="list"/></block></script></block><block s="doUntil"><block s="reportGreaterThan"><block s="reportListLength"><block var="list"/></block><l>7</l></block><script><block s="doInsertInList"><l>0</l><l>1</l><block var="list"/></block></script></block><block s="doReport"><custom-block s="list $arrowRight word %l"><block var="list"/></custom-block></block></script><scripts><script x="188" y="430.99999999999994"><block s="doHideVar"><l>list</l></block><block s="doSetVar"><l>binary_number</l><block var="binary_number"/></block></script></scripts></block-definition><block-definition s="translate text %&apos;text&apos; to binary sequence" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>bin_seq</l><l>bin_byte</l></list></block><block s="doSetVar"><l>bin_seq</l><l></l></block><block s="doFor"><l>letter</l><l>1</l><block s="reportStringSize"><block var="text"/></block><script><block s="doSetVar"><l>bin_byte</l><custom-block s="convert %n in decimal to binary byte"><block s="reportUnicode"><block var="letter"/></block></custom-block></block><block s="doSetVar"><l>bin_seq</l><block s="reportJoinWords"><list><block var="bin_seq"/><block var="bin_byte"/></list></block></block></script></block><block s="doReport"><block var="bin_seq"/></block></script></block-definition></blocks><variables><variable name="binary_number"><l>0</l></variable><variable name="decimal_number"><l>53</l></variable><variable name="output"><l>hello</l></variable></variables></project><media name="U4L4 Binary sequences" app="Snap! 5.4, http://snap.berkeley.edu" version="1"></media></snapdata>