<snapdata remixID="9500897"><project name="EJD Mail" 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,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAbz0lEQVR4Xu3dfYjk910H8O9v9m7vLk9tLoVQc7eTq5ESAhYFKSJBRKmo+FQQbWtbWp/wAbQtRDRNLndprIr1oULR0lKxtliqoP5hKYqVorX5Q6SIlmhLbnfTtJHk8ni5u73d+cpvu5ubmZ3ZmX3KfJrPa/tXc7Mzn8/rPcn7fjO/+U1T/BAgQIAAAQIvukDzoj+iByRAgAABAgSKAvYkIECAAAECMxBQwDNA95AECBAgQEABew4QIECAAIEZCCjgGaB7SAIECBAgoIA9BwgQIECAwAwEFPAM0D0kAQIECBBQwJ4DBAgQIEBgBgIKeAboHpIAAQIECChgzwECBAgQIDADAQU8A/RZPWTt/PoT5boj15Vn/udzTfnL75nVHB6XAAECBIorYWV5EtSbzvRK05f3xdWLzYX7r5m0/5bfG/6FK2tXmqfPzk+6H39OgAABAoMCjoATPCPqkbufLdfPXzewai21eeJ0Z9L6CniSkD8nQIDA7gR2XMD12N3PlWvnr93Rw11YudBcfGCgACb+h73/AXq115y/b67/H9WX3btSDs8dnjhHLbU88czXmvK+b5p4213eYP2l3ePXHB/49fPPn296v3PT8F3W4/etlU5ztfimLMJdjrb+ayPnm/Jx1/Oen7t6hNvOPte5moUj4L1E43cJEEgs8NIv4M1w14v4zJmm9M7sd94j/1Ky1ltrnjxzaOAvDaVzurzi9H27ORLd68wDxb+Hv5Rs2VUB7zUav0+AQFKBvRdw+x/z7X5qreX8U8tN+cNbtxzBHpobKKiBu+l/v3KaI+DhOfp//4BLeGQBjzjCrC8/faUc6gzuPOWRaJTnpwKOkoQ5CBD4RhfYewEf0BFQfcWZq8U+TQGPepn78G88VW44esPAyUcHUHj1unsulqOHjm55Mgyd6DTyZfcDmOcgn5QK+CB13TcBApkEXtIF3AZZ25d9bzp9eqCER5T1XkIfeD+6PRLfPPruK9d67T3Pl2OHjq0/zpjbvHCg3r6nfOM1Nw7MPDxgr/bK+bNnx72kPvE99hF/qZnGQAFPo+Q2BAgQmCzwki/g9b7rL7/2H+yyfMZxji3g9hceP3NfW5ID78Gu9XplrvPCiVjN46cHchg4+p+U4ePPfHXUCWYKeBKcPydAgMBsBVIU8HoJ938Odp9f9t1SwO0Dbh4Fr/ZWy1P3v2fg5KuLVy6WY4e/fjTc3nRSAfe/vz383vaYXdZnGn6PfcL76tM8FR0BT6PkNgQIEJgskLOAR5TeZKrxtxg4um1fGl7rrb3wEam2PNv/v3nyVfvnbQH3fZRrSwHfeHq1PH3p6ZEfYxr1kvqzK881lx+4ftIOk95Xn/T763+RGf4Y2gGdAzDNLG5DgACBb2SBvRfwpLOgV9dWd3OlpEllseVzwBPe193y+dsxn9PdTZhbCvj82bMDR7z97/leWLlQeqUOXBhjygLdnK1e8+4L5ZrDV69iNWUJTjKdZncFPI2S2xAgQGCywN4LeNJj7PLl3kllsecC3scTsYYLuL1oyJbCXz98vHr1qYH9djHLwO8r4EnPQn9OgACBcAIKeB8iGVnAo64YttpbbZ46s371rmkLeP0s7uvv/s3SaQaz6r8KmALehxTdBQECBF5cgb0X8JT/8d/pWgd9BDz8vutO5+u//cAJXn1nWG85E3njjOgtBXxp9VLz3P0vnJS1XrrH77134JKV2w04ZQaTTKcx8BL0NEpuQ4AAgckCeQr4IM+C7r/v/gLuv/LV0Eefxr2EXMu7Hi2vuOGVk6Pru4UC3hGXGxMgQCCCQIoCXj+i7L8G8y7flx4X2MCR7m7KsO93thw1tydwPb/y/JYvs+i/UthuHnOXn4V2BBzhX1szECDwUhDIUcDtx3r6v8Gn773Y/QhxVwXcf9S8UaBbvrVom5J0EtZ+JOc+CBAgMDuBmRVwvf6eS82z92+9fnJ7gtLwtZVHHOFNexb0lpd0D+BbkfZcwBtFW6+/53I5cujqV/+NObKt1777+f4LeRRHwLP7N8gjEyBAYJcCsyvg9iXU9n/PXHqmufLel2/OP/LazY8/uTjy25T6zwQe9WUMLzt9pRwe+vahKctqJ577VsDDZ04Pv2887uSsKXdyEtZOUnVbAgQIHKzA3gt40oU4xn0dYf97mO2Om/czfKnFMS/DbjkCnubrCHf5vuekCHb1cvC4E7fGubRDjPqKxfafDxVwLb92rhx/+cnSDH10qf/3h71G5FQ3v01qGGDC/bSfg55k5s8JECCQXWDvBTyN4Kij0/4CGncf25wstaWAJ80x5VHipLsZ9ef7WsCjvjN40lDDBTzqM8iT7qP986Gcdmy88Rj7+RGvacZ2GwIECHwjCsysgNcPetsvDOh/GXlTsD06W1ldGfce8ba/259Cez9tOT1z9shBhjPtRTUGRtvmY1Hr7/EePXx05BHvxtcQDnzFogI+yHjdNwECBA5EYMcFfCBTuFMCBAgQIJBMQAEnC9y6BAgQIBBDQAHHyMEUBAgQIJBMQAEnC9y6BAgQIBBDQAHHyMEUBAgQIJBMQAEnC9y6BAgQIBBDQAHHyMEUBAgQIJBMQAEnC9y6BAgQIBBDQAHHyMEUBAgQIJBMQAEnC9y6BAgQIBBDQAHHyMEUBAgQIJBMQAEnC9y6BAgQIBBDQAHHyMEUBAgQIJBMQAEnC9y6BAgQIBBDQAHHyMEUBAgQIJBMQAEnC9y6BAgQIBBDQAHHyMEUBAgQIJBMQAEnC9y6BAgQIBBDQAHHyMEUBAgQIJBMQAEnC9y6BAgQIBBDQAHHyMEUBAgQIJBMQAEnC9y6BAgQIBBDQAHHyMEUBAgQIJBMQAEnC9y6BAgQIBBDQAHHyMEUBAgQIJBMQAEnC9y6BAgQIBBDQAHHyMEUBAgQIJBMQAEnC9y6BAgQIBBDQAHHyMEUBAgQIJBMQAEnC9y6BAgQIBBDQAHHyMEUBAgQIJBMQAEnC9y6BAgQIBBDQAHHyMEUBAgQIJBMQAEnC9y6BAgQIBBDQAHHyMEUBAgQIJBMQAEnC9y6BAgQIBBDQAHHyMEUBAgQIJBMQAEnC9y6BAgQIBBDQAHHyMEUBAgQIJBMQAEnC9y6BAgQIBBDQAHHyMEUBAgQIJBMQAEnC9y6BAgQIBBDQAHHyMEUBAgQIJBMQAEnC9y6BAgQIBBDQAHHyMEUBAgQIJBMQAEnC9y6BAgQIBBDQAHHyMEUBAgQIJBMQAEnC9y6BAgQIBBDQAHHyMEUBAgQIJBMQAEnC9y6BAgQIBBDQAHHyMEUBAgQIJBMQAEnC9y6BAgQIBBDQAHHyMEUBAgQIJBMQAEnC9y6BAgQIBBDQAHHyMEUBAgQIJBMQAEnC9y6BAgQIBBDQAHHyMEUBAgQIJBMQAEnC9y6BAgQIBBDQAHHyMEUBAgQIJBMQAEnC9y6BAgQIBBDQAHHyMEUBAgQIJBMQAEnC9y6BAgQIBBDQAHHyMEUBAgQIJBMQAEnC9y6BAgQIBBDQAHHyMEUBAgQIJBMQAEnC9y6BAgQIBBDQAHHyMEUBAgQIJBMQAEnC9y6BAgQIBBDQAHHyMEUBAgQIJBMQAEnC9y6BAgQIBBDQAHHyMEUBAgQIJBMQAEnC9y6BAgQIBBDQAHHyMEUBAgQIJBMQAEnC9y6BAgQIBBDQAHHyMEUBAgQIJBMQAEnC9y6BAgQIBBDQAHHyMEUBAgQIJBMQAEnC9y6BAgQIBBDQAHHyMEUBAgQIJBMQAEnC9y6BAgQIBBDQAHHyMEUBAgQIJBMQAEnC9y6BAgQIBBDQAHHyMEUBAgQIJBMQAEnC9y6BAgQIBBDQAHPOIdut/umWutfjBnj02tra2/6yle+8sR2Y95yyy03zc3NfayU8v2jbtc0zU8vLi62f+6HAAECBIIIKOAZB6GAZxyAhydAgMCMBFIV8MLCwneVUv6ltZ50VHjixIljnU7nD0opv1BK+dNer/eORx555OJ+59Q+Tq31ms37bZrm6Nzc3P211reVUqY6Ai6ldBYWFl62trbW6buf7+h0Op+aZtf93sn9ESBAgMBkAQU8xujFKuDhhx963GkLeMsWO/nLxuSniVsQIECAwH4LKGAFvN/PKfdHgAABAlMIKGAFPMXTxE0IECBAYL8FFPDeC7jT7XZf2+v1fqZpmu8rpXRLKYullH8upXxsfn7+s1/60pcuTxtchJegb7755mvn5+d/uGma15dSvreUcnxjpwebpvnE2trapw7i/fBpjdyOAAECLwUBBbyHAj5x4sTxjROmfmmbJ8NHO53OXefOnfvaNE+YWRdwt9v99lrr+0sp7Qlr437+tT05bWlp6b+m2cltCBAgQGCrgALeZQG3R4lHjx793VprW77nSyl/1Ov1Pl5rfbJpmm9umubNTdO8tZRyfSnlkxuF9eSkJ+EsC3jjxK0Pl1JeXUp5tpTyiaZp/r5pmifX1tZub5rmDaWUO9sdmqZ5sJTytsXFxS9O2smfEyBAgIAC3q+PITULCws/W0r5YFtUbdEuLi7+TSml9hG3Hw16YynlA20JT/rY0+bvzaqAFxYWbmw/blVK+Yn25eamad6+uLj4mf6dbrvttiMrKyvvLKX8VjtvrfV9R44cuXsnL7H7l5AAAQIEvi6Q9gi4lHKm0+m079OO/FlbW5vvdDq/WGv9seHPAXe73VfWWv+8lNK+5/v++fn5u0aVUFtqtdYPN03z46WUP7t8+fKvPPbYYxe2e/LNqoBPnjz5I03T/O3GbG9eWlpqr5zV/xeK9T+67bbbblhZWfnjUspbaq1fOHTo0E8+/PDDD/kXigABAgR2JpC5gHciNXAhjo2XatuLXLQvL79uaWnpH8bdWbfbvafWeraU8rm5ubk3Pvzww+0JWmN/ZlHAd9xxx/xzzz3327XWd9Ra27+UvGl5efnRbXZ6fa31rzeOgn90eXn573aC6bYECBAgkPsIeCf5Dxdwe3WsPymlfLHT6bz9ypUr/zvuzubm5toziT847dHiLAp44+Xnj5ZSfqiU8qHV1dVfffTRR58ft9OJEye+tdPp/FUp5Vtqre9cXl5urxjmhwABAgR2IJD2CHjSe7LbXQmr76h2aurIBTz0ZQ5nlpaWzox6+Xlz2VOnTr16dXW1PUHrNU3T3Lu4uHj/1BBuSIAAAQLrAgp4zBNBAW99/1cB+68GAQIE9k9AAe+igE+ePPmOpml+f9qj2p3ENYuXoIeOgCd+8UT/S9CllLcuLS21J6T5IUCAAIEdCCjg3RXwC2cM11q/e3l5+bM7MN/2prMo4FtvvfVo+5Gi9jPNU56Etfkdxu1nhX9gaWmpvTCHHwIECBDYgYAC3kUBLyws3LFxcY3b9/uzsLMo4JZgYWFh88Sybb+qcejzwv/YNM1bFhcXv7qD55ybEiBAgID3gBfbz7qO/NnuPeD2ghSXL19+oGmad21cMeru+fn5D467IEV71az2QSZ9Bri9zawKeOjEqgdrrb+8tLT07/04G7PdVUq5b+Of//zS0tKHtjthy79lBAgQIDBawBHwLgq4/ZVut3t7KeUjtdbXbtzFfzZN88la6+c7nc6VWuu1vV7vNZ1O585aa3sFri0v1bZFvrq6+m2llKObY/RfAKS93GOt9YFOp9O+1Lv+U2t9bPjyj6dOnerWWk/1r7Jx6cj2Klztz8BFR3q93uqxY8e+8NBDD71wv+1fxrrd7htqre3Hq9rPN0+6FOUHLl26dNc0f6nwLx8BAgQIbBVQwLss4I0SnuaLC9qbPtvpdF537ty5z/c/3NDJT1M9P0d97Kfb7W6+JzvVfWxz8tihkydP/lzTNO/Z+AakkfdXa/29Wut7H3nkkfYa2H4IECBAYBcCCngPBdz+avuybNM0d258UcF3bnyRQftH7eUZ/63W+un5+fl/+vKXv/x/ww8VsIDXR3zVq161sLq6+lNN0/xge5LZxtz/0TTNZ3q93keWl5f/u5TS28Xzza8QIECAwIZAqgKWOgECBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCWggFPFbVkCBAgQiCKggKMkYQ4CBAgQSCXw/0KSavCsPyTBAAAAAElFTkSuQmCC</pentrails><costumes><list struct="atomic" id="2"></list></costumes><sounds><list struct="atomic" id="3"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites><watcher var="From" style="normal" x="10" y="59.100003999999984" color="243,118,29" hidden="true"/><watcher var="Body" style="normal" x="10" y="83.65000599999999" color="243,118,29" hidden="true"/><watcher var="debug" style="normal" x="9" y="35.650008000000014" color="243,118,29" extX="422" extY="148.99999999999997" hidden="true"/><sprite name="Title draw" idx="1" x="-89.25" y="146" heading="90" scale="1" volume="100" pan="0" rotation="2" draggable="true" hidden="true" costume="0" color="255,20,129,1" pen="tip" id="11"><costumes><list struct="atomic" id="12"></list></costumes><sounds><list struct="atomic" id="13"></list></sounds><blocks></blocks><variables></variables><scripts><script x="30" y="44.333333333333144"><block s="receiveGo"></block><block s="doSetVar"><l>current</l><l>1</l></block><block s="clear"></block><block s="doBroadcast"><l>update</l></block><custom-block s="cloud ID %s"><l>ejdmail</l></custom-block><custom-block s="Create Title"></custom-block><block s="doBroadcast"><l>refresh</l></block><block s="doForever"><script><custom-block s="Create Title"></custom-block></script></block></script><script x="203.90243902439033" y="99.2764227642275"><block s="receiveMessage"><l>refresh</l></block><block s="doSetVar"><l>Title</l><l>0</l></block><block s="doSetVar"><l>From</l><l>0</l></block><block s="doSetVar"><l>Body</l><l>0</l></block><block s="doSetVar"><l>Subject</l><l>0</l></block></script><script x="449.5934959349595" y="186.90785907859066"><custom-block s="cookie value %s"><l></l></custom-block></script><script x="424.7235772357724" y="110.42276422764218"><custom-block s="decode list %s"><l></l></custom-block></script><script x="93.7235772357725" y="431.1097560975613"><custom-block s="set cloud var %s to %s"><l>message-admin-0001</l><l>Message 1</l></custom-block></script><script x="111.7235772357725" y="492.94308943089413"><custom-block s="set cloud var %s to %s"><l>inbox-admin</l><l>message-admin-0001, message-admin-0002</l></custom-block></script><script x="233" y="261.44308943089464"><block s="doSetVar"><l>debug</l><custom-block s="get inbox for: %s"><l>admin</l></custom-block></block></script><script x="364" y="342.6666666666666"><block s="reportEquals"><custom-block s="get inbox for: %s"><l>admin</l></custom-block><block s="reportNewList"><list><l>ERROR: file does not exist</l></list></block></block></script><script x="412" y="439.6097560975606"><custom-block s="cloud var %s"><l>inbox-admin</l></custom-block></script><script x="496" y="309.3333333333334"><custom-block s="get inbox for: %s"><l>admin</l></custom-block></script><script x="48" y="230.6666666666668"><block s="receiveMessage"><l>signup</l></block><custom-block s="signing up"></custom-block><custom-block s="set cloud var %s to %s"><block s="reportJoinWords"><list><l>inbox-</l><custom-block s="setting %s"><l>User</l></custom-block></list></block><l>wtem</l></custom-block><custom-block s="set cloud var %s to %s"><block s="reportJoinWords"><list><l>msgcount-</l><custom-block s="setting %s"><l>User</l></custom-block></list></block><l>1</l></custom-block><custom-block s="Success"></custom-block><custom-block s="Notification title %s text %txt icon link %s image link %s"><l>Success</l><l>Your account has been created</l><l>https://freeiconshop.com/wp-content/uploads/edd/checkmark-flat.png</l><l></l></custom-block><block s="doWait"><l>1</l></block><block s="clear"></block></script><script x="205.0263671875" y="394.44308943089453"><custom-block s="cloud var %s"><l>message-admin-3</l></custom-block></script><script x="514" y="480.44308943089436"><custom-block s="send %s to %s"><l>Hi, &lt;button&gt;Hi&lt;/button&gt;</l><l>cwkelliott47732</l></custom-block></script></scripts></sprite><sprite name="Sprite" idx="2" x="143" y="140" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="80,80,80,1" pen="tip" id="112"><costumes><list id="113"><item><costume name="costume1" center-x="85.5" center-y="31" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKsAAAA+CAYAAABUQ+vpAAAKEElEQVR4Xu2deWxURRjAvxbaUrbQVlIKFGjLoZFLEMKVcEVQLqUYEBMglCgWFTkVElQKaEhI5NCoDUdCEU0MGC4PbgQxApESjoiWIuUsBazF0ruFmm+Wt5l9+97um2OXfbsz/zTtezPzzff93rzvm/neNOJPGJkGqigN2EADEfkwssEGcioRlQZAwaogsI0GFKy2MZUSVMGqGLCNBhSstjGVElTBqhiwjQYUrLYxlRJUwRpmDEQmOCB+2ggy6v82H4CH9ypsowEFq21MJUfQ5pkjoNWm+aSx4umroSz3gJyGA9CKgjUASg6mLlosnQItsicTkUqWfQMlS78OJvG8yqJgtY2p5AiqYJWjR9VKADSgYKWUHP/GKKfzvn5PAFSvumDVgIIVABDSpsN7QbOJg2zpvLMa3a73hz2sCGnbAyvc7Het/1yoPplvV5uGrNxhDWvyutlkVqWL3aJMu5CJoEFDA4nieUvYwpqcMwviZ45x09utV1bA/W3HeHWp6plooFXuAmg+bbiwixWWsCbMHAMtc2a5VFudV0CCKhVYyX/eEudmQNKaLFfDN4Ytgsoj57g6CjtYYwd2gZR9H0NkXCxR2L3Pd8Odd3K4lKcq+dYADVjppzvh7tx1viuZ3BFWsCKgCCoCi6X6xF9wfehCaKip41ZgsFbU9tHxp1nBvXUEyJ9FJmAy2/LnmI3aZt7Bin99JCRvmONs68FDAmrVr38EWm6/94eAtsieAvgK9lVwf/3OvHV+SwqRCZjMtnzpRfZ1ZljTLqyH6KfbETnuLtgApau3y5YpKNqjEz6sCERm2LU7hCJ1s36S1mZB4hznQyO60hI2sOKCf+uti4nSMOLHyD9US5udSyBu3ADX8Mo2H4S6K7fdhouzrwaRdkEUJr0+sY8OhZtBc0VEM6X8AWvzqc9BVMfWHijU/X0LyrYckoYI08zadGgPaPvzSlfnoQqsPvr2BgjqBAGIHdKd6AVn2Mvp06S5BLQsdVfvQGHaNCHji8CKUGJBADVAo7u0d+1aGgkmkxEmWFEYerB2nGGjO6dAs8nDiF7Nnnye6Dv9ymaISm3pdI/mrYPStXKCLhG4jODhbc8xqg+k/PSR0xVZsgVaLJ9q+aGRtfbODKtdgW3SpzMkvjsBmk0a7Kbkm6M/hIo9p9z+xuMj0j5u+a7jUJSx3LIxvd3IC5dZm7zt0fXQJdI2KGj3R9+n7LxZLljtBmzy+jkQP2Okof2u9ZkNMb07kWu4ocHrI0alJUN6Ya7LFbiUOCEoYU098wXEPNOByMbi/+ohr/j+JDhe7EfaqT5VABU/nHQbL32/LFeAG1Y7ANukd2dIXDTRw6dC3w+Xm6qOnIPI5k2hza5souiiccsg5tlOrkx6Vh+RdgWu9nobas5cFgaWdyY06ph+oPA6PlBWv8FilUMf38hwBYRgDVZgEVJMrtEn2NScvwJlm/ZD6ZodLlvSRvh35TZIyBrNHXnT+/ey/FZWSKy6FKyuCo8cPHW8yS8MqxmwpSu3AeYLiBYErqGq1m0JxOhvWj9GWWB4zWxJiVZoxb48cLzQmzTFOqvq9SBrCUuWwXndG02vPHLw1PE7rEbAaj7g7azPuHmNe6m/6xWtpcXRSyV6n0u/UkH8qd8vOhNsNu41lIOuU5t/A6Kfasvsz4kY1JdyZBlcdAmMRw6eOgGB1QxYhJU3E8sIPnow+uwjXANGXwlLbcFNKPngK7i/9RevPNB9YH5DREwUub8wPdNjEyBQYNH9yDK4aDs89XnqBAxW7EjzFdFvJDNbXgFgxM1T9E463Yb+NUvvrhHYOr8GdZeKfHZr9EDwuADB7gbQO3I8LgoPeDx1Agqr1hkuIONCMhaRSBCh15ZItLYxiqfzOWl3Ae/BdVNcP7VSjGDFdcTizFVWqrvdI9s4sh4AOvDDNovGL4fynceZxsczNp46jwVW2YJ6G4QeOJaHwwhWnplHFlj6cYrqUQ8qy9qqqDsiKrteF1JWA4xAki0oC6xm3ygZba/KhJXexcI1VlxrFS0iemTJcfAlJ48cPHVsPbMmvjcBIh1NvB5z48231Q8ed1NqL1wjmwKYRWUEa9XR8yRPl7Xg8lCn0u9c1XiCNJkzK71bJbruywMeTx3bworpiNo5BL5e7foAywpoCKxjTF9olBTvcTuvK0AHMqKAiLgW+lmVZbdK1psybGDVw2flIzmjYMzN73p0IJkVkI0SXKzUk20guj0MKjG4xC1Sb8dV6v1U1t0qQ1izJ5O3EBarDzI92Vit81hm1rT8jRD9ZArp2wpoMl9/ZgN2jO0HmH0VN34gxPRIN9VL8fRVUJZ70AqbHvfIhjUuYwC02bHEox8CbC6er1rudi2mZ0fAOnThif497EHBim6S6de1Dc7/VBXdNdUtJ4OHAb0M0gMsXFTHLUstOQQHhYKyFtlG1/ePwVB85ghX0rR2nXeNVavvD7lZP7HRZMEPGdHVkZJQQ8HKaksZsyr2KQXWqPRWEDuoK8QO6gaxg7u7ZlSWV0YgZlZ9H6lnv/SYYXnXWLUvYR0ZA1y7aLKMhHLH9OwAcRkDyRAwoNS+TDADh3eJyqw9zE3V3AAWWGXqQAhWFD52cDdoOqQHQGSE4Rh8BUamyvHzobeNWz8BHYo8j+HhVa7R7Cfj9WumHxpe/T3lO3+TMpvS7dL+p1c3gKpklOfKAro0NwD9vjbbjXeJcIu16vBZqDx8Fir2umfhWxXWH69Tuu+kVTMgcf7L5E91F29C1CP/mhdW/RKY7JnNqt78cR9PsOsPObhnVvqbnIbKGqg8dAYq9p+Gyn15JIlEtPgTVv327L2cHyHhTeeZXbyzIR0IhRKoqBN/2oKFE25YNd8Jf/Keu+RNUL2C6otKyO28GVxaX+hbtjv2CcR0c/4zcNwjR0DxtYpFJBiR0QaL8QJ1b0jA6k9l0Qq6/+1RaPbqEOfMN24ZlO8+wd01faIMLv9cH7ZQCFBuQWxUUcHqw1i0gtCh16JfXp9S687tRBmJn0zbiD1mURWsPlRG7/fTn/6KwEoHCpUHTsON599nNlw4VlCwWrC6lsCN+awyvkEPFqVbGHpQ3RIsehMKsAKlUTf/VeCMLdEt4ECNN9j6UbAyWMTojC3Wr2fpNni3gBlEDqlbFayM5jTKO8VlrOrTl6CusBjqC2+Tnw31Dzxaxu/C8BNtrYj4vYxih8TtClYOMxoBSzeDoNLg1heXksuOsX1B83/xdxkZQBzi27aKgpXTdAlvjSXbpEbngfpqsnL/afhnca6Uwzd89RVK12kX6nE+6LYIsIwMjwpslJwAUanJ0Di1JTlukvxs35KcX6UvD+9Xwa1JKzxODAwlqPw5FvrTen/2461t28LqbVCN2yURePE/H2oFT7nDLCBV7KuBkITVvuZQkofdzKpMHpoaUDNraNo1JEeFsBaG5MjUoEJOA/8D4/7LWJLIjuMAAAAASUVORK5CYII=" id="114"/></item></list></costumes><sounds><list struct="atomic" id="115"></list></sounds><blocks></blocks><variables></variables><scripts><script x="129" y="128"><block s="receiveInteraction"><l><option>clicked</option></l></block><block s="doBroadcast"><l>signup</l></block></script></scripts></sprite><sprite name="Sprite(3)" idx="4" x="31" y="-134.5" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="80,80,80,1" pen="tip" id="123"><costumes><list id="124"><item><costume name="costume1" center-x="19" center-y="27" image="data:image/png;base64,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" id="125"/></item></list></costumes><sounds><list struct="atomic" id="126"></list></sounds><blocks></blocks><variables></variables><scripts><script x="30" y="30"><block s="receiveInteraction"><l><option>clicked</option></l></block><block s="doChangeVar"><l>current</l><l>1</l></block><block s="doBroadcast"><l>update</l></block></script></scripts></sprite><sprite name="Sprite(2)" idx="3" x="-79" y="-132" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="80,80,80,1" pen="tip" id="137"><costumes><list id="138"><item><costume name="costume1" center-x="19" center-y="27.5" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAA3CAYAAABgtziQAAAEq0lEQVRoQ8WZbYhUVRjH//+Z0ewVIUIEeyP6kPZhd+5NzbYiIikizPXe2WJnZrOi9zejMLJssxILLMFQKIp1t3Vx7piSUGBQK2Xk7tzRCgSJkCA/lATVp15m54l79212d+bOvY8z6/049/n/z2+e85xz7jmHOAuPLLHnYp70IcYdHHYOVUPgbHNJy5qrEY99BGApgF9QHmnj0Y9/ns4xq2Bi2rdB0AdgQQXI13SdG88amBjWgwDfr95D7KebS1e+m5WMSdJ+HcSGwLIRvMGi89J4TNPBxLT6IJySjZqAwodYzPlZbRqYtLZfjljcq6cZ9ROYOWIlC87nTQGT1tRNiIk38i5VjPrfMFJuaziYmFYWwl0KIE9SBplmITfQUDAxUi8DskkJdRIxSXM4/01Da0yS1gcg71dCfYkSMvzOOdWwUSlG+0Iw3gfBrUqoHrrO2oZOsJLsWA6WvSK/SgUl0s1i/tWGrpViWvdA6E0HCR0U1rLo9NTSqopfjNR6QLaogIBToKRZyA8G6SODiWHtBPiIEuow4shwyDlZTx8aTJauvhilRB+IO+qZ1ni/G66TJiBh9KHAxOhIAn6RXxPGdEYMZTML+eBFfJqoLpgk7dUgPKjzVFCCh1l03ouqDQQTM7UOIm9HNR2LPw1Imm7+oEZfE0wMexuApzWmEAwjhgwLzgmVvtpnjyyxL8A8v+tWKU3zuPD8DAd7/lbqfdmUjInZcS2k7E2aLTpTbqWbe06nnaqaABPDvhPwMzVfZUw8yYLzrkpbReSDSTL1OCha0z8hzLCYO9AoKL8rxbTfguB5pen3ANJ0nR+U+poyStIeBHFzZGPBJ5gzN8Mj/X9F1oYQUJa1L0Ip/hWAK0LEj4VwO93cU+Hjo0eO1phhtwHw4MI+O+k6j4UN1sRNjsqk1QnSG5Vhn4NIJLI8MvBrWEGUuMrpImrWvHZ+Qkyy4xuIKA3Xix3ryvaFQPwwgCvrCaq+p3SxkO9VaWuIKrrS7gDh7QfPUTawia7zilI7QzZ1SWpdYyIW8+AW6xpgP9zFWaK7rNNPqmZ8XUjL3fORmNMLwV1K828xUs7y2N4flXpfVvuzx0y9A5FnlOanMVp3nyn1wac9YtpPQLBda44zWNjDfFrfDsIbcZeoAMltLOTWRdXWBfMMxw50PbjlURsYK5gDKP2X5bH9f4TVhwLz4dAdg3G8F5DOsObT4o6jXO7i0b2FMPrQYONmYtjeWcPGMOZVYv6BoItFZ089fWQwP3umnYH4dad7hBtYzG0OEqvAfLjrrBUo04PTnvR8yGL+gVpwajAfbtm9C1AqeXArVakTHIKMdDXtZkQMeweAR1Vw3rXNaN19Uak/o4xVGolhPwtgqxIOqDjjD1ySNA2Iaa2C+HV3kUYPyJt08y80HGx0xPqbZg+uVQH3KV3H298252ZErrfPxb/+dGJFgDuBeOkGDu37vWlgk5OxtQXg+hBwIyBWsOAMjcc2rPhrNR58HTih6qTr7G7KqAzKihipWwDxunbRzDhupJt7bfrvTc/YZLfal/nL2JRdv+yim7+v2p+aNbAJwMmrnapXzrNWY9WyIcnUi0jIQNCx+v8lJXXutZEuZQAAAABJRU5ErkJggg==" id="139"/></item></list></costumes><sounds><list struct="atomic" id="140"></list></sounds><blocks></blocks><variables></variables><scripts><script x="128" y="219.8333333333334"><block s="receiveInteraction"><l><option>clicked</option></l></block><block s="doChangeVar"><l>current</l><l>-1</l></block><block s="doBroadcast"><l>update</l></block></script></scripts></sprite><watcher var="current" style="normal" x="10" y="104.65000800000001" color="243,118,29" hidden="true"/><sprite name="Sprite(4)" idx="5" x="-94.03125" y="40" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="0" color="30,30,30,1" pen="tip" id="152"><costumes><list id="153"><item><costume name="costume1" center-x="240" center-y="180" image="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" id="154"/></item></list></costumes><sounds><list struct="atomic" id="155"></list></sounds><blocks></blocks><variables></variables><scripts><script x="154" y="102.00000000000003"><block s="receiveMessage"><l>update</l></block><block s="clear"></block><block s="hide"></block><block s="setColor"><color>30,30,30,1</color></block><block s="gotoXY"><l>-182</l><l>40</l></block><block s="write"><block s="reportListItem"><l>1</l><custom-block s="decode list %s"><block s="reportListItem"><block var="current"/><custom-block s="get inbox for: %s"><custom-block s="setting %s"><l>User</l></custom-block></custom-block></block></custom-block></block><l>32</l></block></script></scripts></sprite><sprite name="Sprite(5)" idx="6" x="-101" y="-23" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="80,80,80,1" pen="tip" id="183"><costumes><list id="184"><item><costume name="costume1" center-x="81" center-y="31" image="data:image/png;base64,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" id="185"/></item></list></costumes><sounds><list struct="atomic" id="186"></list></sounds><blocks></blocks><variables></variables><scripts><script x="185" y="230.4999999999998"><block s="receiveInteraction"><l><option>clicked</option></l></block><custom-block s="popup %s"><block s="reportJoinWords"><list><l>&lt;title&gt;</l><block s="reportListItem"><l>1</l><custom-block s="decode list %s"><block s="reportListItem"><block var="current"/><custom-block s="get inbox for: %s"><custom-block s="setting %s"><l>User</l></custom-block></custom-block></block></custom-block></block><l> - EJD Mail&lt;/title&gt;&lt;h1&gt;</l><block s="reportListItem"><l>1</l><custom-block s="decode list %s"><block s="reportListItem"><block var="current"/><custom-block s="get inbox for: %s"><custom-block s="setting %s"><l>User</l></custom-block></custom-block></block></custom-block></block><l>&lt;/h1&gt;&lt;br&gt;</l><block s="reportListItem"><l>2</l><custom-block s="decode list %s"><block s="reportListItem"><block var="current"/><custom-block s="get inbox for: %s"><custom-block s="setting %s"><l>User</l></custom-block></custom-block></block></custom-block></block></list></block></custom-block></script></scripts></sprite><sprite name="Sprite(6)" idx="7" x="-37" y="-135" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="80,80,80,1" pen="tip" id="239"><costumes><list id="240"><item><costume name="costume1" center-x="19" center-y="26.5" image="data:image/png;base64,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" id="241"/></item></list></costumes><sounds><list struct="atomic" id="242"></list></sounds><blocks></blocks><variables></variables><scripts><script x="20" y="20.00000000000003"><block s="receiveInteraction"><l><option>clicked</option></l></block><custom-block s="clear %s s inbox"><custom-block s="setting %s"><l>User</l></custom-block></custom-block></script></scripts></sprite><sprite name="Sprite(7)" idx="8" x="182" y="-117" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="80,80,80,1" pen="tip" id="252"><costumes><list id="253"><item><costume name="costume1" center-x="50" center-y="48.5" image="data:image/png;base64,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" id="254"/></item></list></costumes><sounds><list struct="atomic" id="255"></list></sounds><blocks></blocks><variables></variables><scripts><script x="227" y="116"><block s="receiveInteraction"><l><option>clicked</option></l></block><block s="doAsk"><l>Title?</l></block><block s="doSetVar"><l>Title</l><block s="getLastAnswer"></block></block><block s="doAsk"><l>Body? (Can contain HTML)</l></block><block s="doSetVar"><l>Body</l><block s="getLastAnswer"></block></block><block s="doAsk"><l>To who?</l></block><block s="doSetVar"><l>User</l><block s="getLastAnswer"></block></block><custom-block s="send %s to %s"><block s="reportJoinWords"><list><block var="Title"/><l>, </l><block var="Body"/></list></block><block var="User"/></custom-block></script></scripts></sprite><watcher var="User" style="normal" x="10" y="125.65001000000001" color="243,118,29" hidden="true"/></sprites></stage><hidden></hidden><headers></headers><code></code><blocks><block-definition s="Create Title" type="command" category="looks"><header></header><code></code><translations></translations><inputs></inputs><script><block s="gotoXY"><l>-230</l><l>146</l></block><block s="setColor"><color>255,20,129,1</color></block><block s="write"><l>EJD Mail</l><l>32</l></block><block s="hide"></block></script></block-definition><block-definition s="multiline %&apos;text&apos;" type="reporter" category="operators"><header></header><code></code><translations>pt:o texto multilinha _&#xD;</translations><inputs><input type="%mlt"></input></inputs><script><block s="doReport"><block var="text"/></block></script></block-definition><block-definition s="substring of %&apos;string&apos; before %&apos;marker&apos;" type="reporter" category="operators"><comment x="0" y="0" w="175.33333333333334" collapsed="false">Reports the part of the first string up to the first instance of the second string inside it.  If the second string isn&apos;t found, reports the entire first string.</comment><header></header><code></code><translations>pt:o texto de _ antes de _&#xD;</translations><inputs><input type="%txt"></input><input type="%txt"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>string</l><l>marker</l></list><l>var world=this.parentThatIsA(IDE_Morph);&#xD;if (!("stringLibCaseIndependentComparison" in world)) {&#xD;    world["stringLibCaseIndependentComparison"] = true;&#xD;};&#xD;if (world["stringLibCaseIndependentComparison"]) {&#xD;    var index=string.toLocaleLowerCase().indexOf(marker.toLocaleLowerCase());&#xD;    if (index&lt;0) {return string};&#xD;    return string.slice(0,index);&#xD;} else {&#xD;    var index=string.indexOf(marker);&#xD;    if (index&lt;0) {return string};&#xD;    return string.slice(0,index);&#xD;}</l></block><list><block var="string"/><block var="marker"/></list></block></block></script></block-definition><block-definition s="substring of %&apos;string&apos; after %&apos;marker&apos;" type="reporter" category="operators"><comment x="0" y="0" w="203.33333333333334" collapsed="false">Reports the portion of the first input string starting after the first occurrence of the second string.  If the second string isn&apos;t found in the first string, reports an empty string.</comment><header></header><code></code><translations>pt:o texto de _ depois de _&#xD;</translations><inputs><input type="%txt"></input><input type="%txt"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>string</l><l>marker</l><l>markerlength</l></list><l>var world=this.parentThatIsA(IDE_Morph);&#xD;if (!("stringLibCaseIndependentComparison" in world)) {&#xD;    world["stringLibCaseIndependentComparison"] = true;&#xD;};&#xD;if (world["stringLibCaseIndependentComparison"]) {&#xD;    var index=string.toLocaleLowerCase().indexOf(marker.toLocaleLowerCase());&#xD;    if (index&lt;0) {return ""};&#xD;    return string.slice(index+markerlength);&#xD;} else {&#xD;    var index=string.indexOf(marker);&#xD;    if (index&lt;0) {return ""};&#xD;    return string.slice(index+markerlength);&#xD;}</l></block><list><block var="string"/><block var="marker"/><block s="reportStringSize"><block var="marker"/></block></list></block></block></script></block-definition><block-definition s="position of %&apos;small&apos; in %&apos;large&apos;" type="reporter" category="operators"><comment x="0" y="0" w="294" collapsed="false">Reports the character position (starting from 1) of the beginning of the first input string inside the second input string.&#xD;If it&apos;s not found, reports 0.</comment><header></header><code></code><translations>pt:a posição de _ em _&#xD;</translations><inputs><input type="%s"></input><input type="%txt"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>sub</l><l>sup</l></list><l>var world=this.parentThatIsA(IDE_Morph);&#xD;if (!("stringLibCaseIndependentComparison" in world)) {&#xD;    world["stringLibCaseIndependentComparison"] = true;&#xD;};&#xD;if (world["stringLibCaseIndependentComparison"]) {&#xD;    return 1+sup.toLocaleLowerCase().indexOf(sub.toLocaleLowerCase());&#xD;} else {&#xD;    return 1+sup.indexOf(sub);&#xD;}</l></block><list><block var="small"/><block var="large"/></list></block></block></script></block-definition><block-definition s="use case-independent comparisons %&apos;tf&apos;" type="command" category="operators"><comment x="0" y="0" w="225.33333333333334" collapsed="false">If input is TRUE, comparisons made by functions in the string library will be case-independent (so &quot;FOO&quot; = &quot;foo&quot;).  This is the default.&#xD;If input is FALSE, comparisons will be exact.</comment><header></header><code></code><translations>pt:altera comparações ignorando distinção minúsculas/maiúsculas para _&#xD;</translations><inputs><input type="%b"></input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>flag</l></list><l>var world=this.parentThatIsA(IDE_Morph);&#xD;world[&apos;stringLibCaseIndependentComparison&apos;] = flag;</l></block><list><block var="tf"/></list></block></script></block-definition><block-definition s="substring of %&apos;str&apos; from position %&apos;start&apos; to position %&apos;end&apos; inclusive" type="reporter" category="operators"><comment x="0" y="0" w="297.3333333333333" collapsed="false">Reports the portion of the first input (string) starting at the position given by the second input (counting from 1, like LETTER n OF) and ending at the position given by the third input (also counting from 1).  If the third input is empty, reports the portion from the first position to the end of the string.&#xD;If a position number is negative, counts from the end backward, so -1 is the last character, -2 is the next to last, etc.</comment><header></header><code></code><translations>pt:o texto de _ entre as posições _ e _ , inclusive&#xD;</translations><inputs><input type="%txt"></input><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>str</l><l>start</l><l>end</l></list><l>if (end != "") {&#xD;    return str.slice(start-1,end);&#xD;} else {&#xD;    return str.slice(start-1);&#xD;}</l></block><list><block var="str"/><block var="start"/><block var="end"/></list></block></block></script></block-definition><block-definition s="text %&apos;string&apos; contains %&apos;marker&apos;" type="predicate" category="operators"><comment x="0" y="0" w="218" collapsed="false">Reports True if the first input string contains the second input string, otherwise false.&#xD;&#xD;Comparison is case-independent by default; use USE CASE-INDEPENDENT COMPARISONS to change that.</comment><header></header><code></code><translations>pt:o texto de _ antes de _&#xD;</translations><inputs><input type="%txt"></input><input type="%txt"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>string</l><l>marker</l></list><l>var world=this.parentThatIsA(IDE_Morph);&#xD;if (!("stringLibCaseIndependentComparison" in world)) {&#xD;    world["stringLibCaseIndependentComparison"] = true;&#xD;};&#xD;if (world["stringLibCaseIndependentComparison"]) {&#xD;    var index=string.toLocaleLowerCase().indexOf(marker.toLocaleLowerCase());&#xD;    return !(index&lt;0);&#xD;} else {&#xD;    var index=string.indexOf(marker);&#xD;    return !(index&lt;0);&#xD;}</l></block><list><block var="string"/><block var="marker"/></list></block></block></script></block-definition><block-definition s="to lower case %&apos;text&apos;" type="reporter" category="operators"><comment x="0" y="0" w="275.3333333333333" collapsed="false">Reports the input text with lower case letters instead of capital letters in the input.  Uses the user&apos;s locale&apos;s rules for case conversion.</comment><header></header><code></code><translations>pt:em minúsculas _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>text</l></list><l>return text.toLocaleLowerCase();</l></block><list><block var="text"/></list></block></block></script></block-definition><block-definition s="get all user inputs" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportListItem"><l>1</l><l/></block></autolambda><list></list></block><block var="input and responses"/></block></block></script></block-definition><block-definition s="get all responses" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportListItem"><l>2</l><l/></block></autolambda><list></list></block><block var="input and responses"/></block></block></script></block-definition><block-definition s="add response: $nl when user says %&apos;userInput&apos; $nl respond with %&apos;botResponse&apos;" type="command" category="lists"><header></header><code></code><translations></translations><inputs><input type="%txt"></input><input type="%txt"></input></inputs><script><block s="doIfElse"><block s="reportGreaterThan"><custom-block s="index of %s in %l"><block var="userInput"/><custom-block s="get all user inputs"></custom-block></custom-block><l>0</l></block><script><block s="doIf"><block s="reportNot"><block s="reportListContainsItem"><block s="reportListItem"><l>2</l><block s="reportListItem"><custom-block s="index of %s in %l"><block var="userInput"/><custom-block s="get all user inputs"></custom-block></custom-block><block var="input and responses"/></block></block><block var="botResponse"/></block></block><script><block s="doAddToList"><block var="botResponse"/><block s="reportListItem"><l>2</l><block s="reportListItem"><custom-block s="index of %s in %l"><block var="userInput"/><custom-block s="get all user inputs"></custom-block></custom-block><block var="input and responses"/></block></block></block></script></block></script><script><block s="doAddToList"><block s="reportNewList"><list><block var="userInput"/><block s="reportNewList"><list><block var="botResponse"/></list></block></list></block><block var="input and responses"/></block></script></block></script></block-definition><block-definition s="index of %&apos;thing&apos; in %&apos;list&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%s">thing</input><input type="%l"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>item</l><l>list</l></list><l>return list.asArray().indexOf(item)+1;</l></block><list><block var="thing"/><block var="list"/></list></block></block></script></block-definition><block-definition s="find response %&apos;userInput&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doIfElse"><block s="reportGreaterThan"><custom-block s="index of %s in %l"><block var="userInput"/><custom-block s="get all user inputs"></custom-block></custom-block><l>0</l></block><script><block s="doReport"><block s="reportListItem"><l><option>any</option></l><block s="reportListItem"><l>2</l><block s="reportListItem"><custom-block s="index of %s in %l"><block var="userInput"/><custom-block s="get all user inputs"></custom-block></custom-block><block var="input and responses"/></block></block></block></block></script><script><block s="doReport"><l></l></block></script></block></script></block-definition><block-definition s="append %&apos;lists&apos;" type="reporter" category="lists"><comment x="0" y="0" w="287" collapsed="false">Take any number of input lists, and create a new list containing the items of the input lists.  So              APPEND [A B] [C D]where the [,,,] are lists reports the list              [A B C D]not [[A B] [C D]].</comment><header></header><code></code><translations></translations><inputs><input type="%mult%l"></input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="reportEquals"><block var="lists"/><block s="reportNewList"><list></list></block></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doIf"><block s="reportEquals"><block s="reportListLength"><block var="lists"/></block><l>1</l></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="lists"/></block></block></script></block><block s="doIf"><block s="reportEquals"><block s="reportListItem"><l>1</l><block var="lists"/></block><block s="reportNewList"><list></list></block></block><script><block s="doReport"><custom-block s="append %mult%l"><block s="reportCDR"><block var="lists"/></block></custom-block></block></script></block><block s="doReport"><block s="reportCONS"><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="lists"/></block></block><custom-block s="append %mult%l"><block s="reportCONS"><block s="reportCDR"><block s="reportListItem"><l>1</l><block var="lists"/></block></block><block s="reportCDR"><block var="lists"/></block></block></custom-block></block></block></script></block></script></block-definition><block-definition s="reverse %&apos;data&apos;" type="reporter" category="lists"><comment x="0" y="0" w="223.00000000000003" collapsed="false">Reports a new list containing the items of the input list, but in the opposite order.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>helper</l></list></block><block s="doSetVar"><l>helper</l><block s="reifyScript"><script><block s="doIf"><block s="reportEquals"><block var="input"/><block s="reportNewList"><list></list></block></block><script><block s="doReport"><block var="result"/></block></script></block><block s="doReport"><block s="evaluate"><block var="helper"/><list><block s="reportCDR"><block var="input"/></block><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="input"/></block><block var="result"/></block></list></block></block></script><list><l>input</l><l>result</l></list></block></block><block s="doWarp"><script><block s="doReport"><block s="evaluate"><block var="helper"/><list><block var="data"/><block s="reportNewList"><list></list></block></list></block></block></script></block></script></block-definition><block-definition s="remove duplicates from %&apos;data&apos;" type="reporter" category="lists"><comment x="0" y="0" w="208.99999999999994" collapsed="false">Reports a new list whose items are the same as in the input list, except that if two or more equal items appear in the input list, only the last one is kept in the result.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="reportEquals"><block var="data"/><block s="reportNewList"><list></list></block></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doIfElse"><block s="reportListContainsItem"><block s="reportCDR"><block var="data"/></block><block s="reportListItem"><l>1</l><block var="data"/></block></block><script><block s="doReport"><custom-block s="remove duplicates from %l"><block s="reportCDR"><block var="data"/></block></custom-block></block></script><script><block s="doReport"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="data"/></block><custom-block s="remove duplicates from %l"><block s="reportCDR"><block var="data"/></block></custom-block></block></block></script></block></script></block></script></block-definition><block-definition s="sort %&apos;data&apos; ordering with %&apos;function&apos;" type="reporter" category="lists"><comment x="0" y="0" w="204" collapsed="false">Reports a sorted version of the list in its first input slot, using the comparison function in the second input slot.  For a list of numbers, using &lt; as the comparison function will sort from low to high; using &gt; will sort from high to low.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%predRing"></input></inputs><script><block s="doDeclareVariables"><list><l>even items</l><l>odd items</l><l>merge</l></list></block><block s="doSetVar"><l>odd items</l><block s="reifyScript"><script><block s="doIf"><block s="reportEquals"><l></l><block s="reportNewList"><list></list></block></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doReport"><block s="reportCONS"><block s="reportListItem"><l>1</l><l/></block><block s="evaluate"><block var="even items"/><list><block s="reportCDR"><l/></block></list></block></block></block></script><list></list></block></block><block s="doSetVar"><l>even items</l><block s="reifyScript"><script><block s="doIf"><block s="reportEquals"><l></l><block s="reportNewList"><list></list></block></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doReport"><block s="evaluate"><block var="odd items"/><list><block s="reportCDR"><l/></block></list></block></block></script><list></list></block></block><block s="doSetVar"><l>merge</l><block s="reifyScript"><script><block s="doIf"><block s="reportEquals"><block var="#1"/><block s="reportNewList"><list></list></block></block><script><block s="doReport"><block var="#2"/></block></script></block><block s="doIf"><block s="reportEquals"><block var="#2"/><block s="reportNewList"><list></list></block></block><script><block s="doReport"><block var="#1"/></block></script></block><block s="doIfElse"><block s="evaluate"><block var="function"/><list><block s="reportListItem"><l>1</l><block var="#1"/></block><block s="reportListItem"><l>1</l><block var="#2"/></block></list></block><script><block s="doReport"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="#1"/></block><block s="evaluate"><block var="merge"/><list><block s="reportCDR"><block var="#1"/></block><block var="#2"/></list></block></block></block></script><script><block s="doReport"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="#2"/></block><block s="evaluate"><block var="merge"/><list><block var="#1"/><block s="reportCDR"><block var="#2"/></block></list></block></block></block></script></block></script><list><l>#1</l><l>#2</l></list></block></block><block s="doIf"><block s="reportEquals"><block var="data"/><block s="reportNewList"><list></list></block></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doIf"><block s="reportEquals"><block s="reportCDR"><block var="data"/></block><block s="reportNewList"><list></list></block></block><script><block s="doReport"><block var="data"/></block></script></block><block s="doReport"><block s="evaluate"><block var="merge"/><list><custom-block s="sort %l ordering with %predRing"><block s="evaluate"><block var="odd items"/><list><block var="data"/></list></block><block var="function"/></custom-block><custom-block s="sort %l ordering with %predRing"><block s="evaluate"><block var="even items"/><list><block var="data"/></list></block><block var="function"/></custom-block></list></block></block></script></block-definition><block-definition s="assoc %&apos;key&apos; %&apos;a-list&apos;" type="reporter" category="lists"><comment x="0" y="0" w="289.3333333333333" collapsed="false">The second input is an &quot;association list,&quot; a list of two-item lists.  Each of those smaller lists has a &quot;key&quot; as its first item and a &quot;value&quot; as its second.  ASSOC reports the first key-value pair in the association list whose key matches the first input.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%l"></input></inputs><script><block s="doIf"><block s="reportEquals"><block var="a-list"/><block s="reportNewList"><list></list></block></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doIf"><block s="reportEquals"><block var="key"/><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="a-list"/></block></block></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="a-list"/></block></block></script></block><block s="doReport"><custom-block s="assoc %s %l"><block var="key"/><block s="reportCDR"><block var="a-list"/></block></custom-block></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="flatten %&apos;list&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doIf"><block s="reportNot"><custom-block s="is %l a 2d list?"><block var="list"/></custom-block></block><script><block s="doReport"><block var="list"/></block></script></block><block s="doReport"><block s="reportCombine"><block var="list"/><block s="reifyReporter"><autolambda><custom-block s="append %mult%l"><list><l/><l/></list></custom-block></autolambda><list></list></block></block></block></script></block-definition><block-definition s="is %&apos;list&apos; a 2d list?" type="predicate" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="reportListIsEmpty"><block var="list"/></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block><block s="doForEach"><l>item</l><block var="list"/><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="item"/><l><option>list</option></l></block></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script></block-definition><block-definition s="substr %&apos;s&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>answer</l></list><l> return answer.substring(0, answer.length - 1);</l></block><list><block var="s"/></list></block></block></script></block-definition><block-definition s="set cloud var %&apos;cloud&apos; to %&apos;value&apos;" type="command" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><custom-block s="ignore %s"><block s="reportURL"><block s="reportJoinWords"><list><l>snapextensions.uni-goettingen.de/handleTextfile.php?type=write&amp;content=</l><block var="value"/><l>&amp;filename=./textfiles/</l><block s="reportJoinWords"><list><block var="cloud"/><l>_id_</l><custom-block s="cloud ID"></custom-block></list></block><l>.txt</l></list></block></block></custom-block></script></block-definition><block-definition s="ignore %&apos;s&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs></block-definition><block-definition s="cloud var %&apos;s&apos;" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><custom-block s="substr %s"><block s="reportURL"><block s="reportJoinWords"><list><l>snapextensions.uni-goettingen.de/handleTextfile.php?type=read&amp;filename=./textfiles/</l><block s="reportJoinWords"><list><block var="s"/><l>_id_</l><custom-block s="cloud ID"></custom-block></list></block><l>.txt</l></list></block></block></custom-block></block></script></block-definition><block-definition s="cloud ID %&apos;s&apos;" type="command" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>a</l></list><l>cloudid = a</l></block><list><block var="s"/></list></block></script></block-definition><block-definition s="cloud ID" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l></l></list><l>return cloudid;</l></block><list></list></block></block></script></block-definition><block-definition s="listify %&apos;jsonString&apos;" type="reporter" category="operators"><header></header><code></code><translations>pt:os dados JSON _ em formato de lista&#xD;</translations><inputs><input type="%mlt"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>jsonString</l></list><l>return listify(JSON.parse(jsonString));function listify(jsonObject) {  if (jsonObject instanceof Array) {    return new List(jsonObject.map(function(eachElement) { return listify(eachElement)}));  } else if (jsonObject instanceof Object) {    return new List(Object.keys(jsonObject).map(function(eachKey) { return new List([eachKey,listify(jsonObject[eachKey])])} ))  } else {    return jsonObject  }}</l></block><list><block var="jsonString"/></list></block></block></script></block-definition><block-definition s="value at key %&apos;key&apos; of %&apos;lst&apos;" type="reporter" category="operators"><header></header><code></code><translations>pt:o valor com chave _ em _&#xD;</translations><inputs><input type="%s"></input><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doForEach"><l>each item</l><block var="lst"/><script><block s="doIf"><block s="reportEquals"><block s="reportListItem"><l>1</l><block var="each item"/></block><block var="key"/></block><script><block s="doReport"><block s="reportListItem"><l>2</l><block var="each item"/></block></block></script></block></script></block></script></block><block s="doReport"><l></l></block></script></block-definition><block-definition s="stringify %&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="doDeclareVariables"><list><l>a</l></list></block><block s="doSetVar"><l>a</l><l>[</l></block><block s="doIf"><block s="reportGreaterThan"><block s="reportListLength"><block var="list"/></block><l>0</l></block><script><block s="doIf"><block s="reportGreaterThan"><block s="reportListLength"><block var="list"/></block><l>1</l></block><script><block s="doFor"><l>i</l><l>1</l><block s="reportDifference"><block s="reportListLength"><block var="list"/></block><l>1</l></block><script><block s="doIfElse"><block s="reportIsA"><block s="reportListItem"><block var="i"/><block var="list"/></block><l><option>list</option></l></block><script><block s="doSetVar"><l>a</l><block s="reportJoinWords"><list><block var="a"/><custom-block s="stringify %l"><block s="reportListItem"><block var="i"/><block var="list"/></block></custom-block><l>, </l></list></block></block></script><script><block s="doSetVar"><l>a</l><block s="reportJoinWords"><list><block var="a"/><l>"</l><block s="reportListItem"><block var="i"/><block var="list"/></block><l>", </l></list></block></block></script></block></script></block></script></block><block s="doIfElse"><block s="reportIsA"><block s="reportListItem"><l><option>last</option></l><block var="list"/></block><l><option>list</option></l></block><script><block s="doSetVar"><l>a</l><block s="reportJoinWords"><list><block var="a"/><custom-block s="stringify %l"><block s="reportListItem"><l><option>last</option></l><block var="list"/></block></custom-block></list></block></block></script><script><block s="doSetVar"><l>a</l><block s="reportJoinWords"><list><block var="a"/><l>"</l><block s="reportListItem"><l><option>last</option></l><block var="list"/></block><l>"</l></list></block></block></script></block></script></block><block s="doSetVar"><l>a</l><block s="reportJoinWords"><list><block var="a"/><l>]</l></list></block></block><block s="doReport"><block var="a"/></block></script></block></script></block-definition><block-definition s="# of things learned" type="reporter" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportCombine"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportSum"><l>1</l><block s="reportListLength"><block s="reportListItem"><l>2</l><l/></block></block></block></autolambda><list></list></block><block var="input and responses"/></block><block s="reifyReporter"><autolambda><block s="reportSum"><l></l><l></l></block></autolambda><list></list></block></block></block></script></block-definition><block-definition s="get list of typable characters" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>a</l></list></block><block s="doSetVar"><l>a</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>i</l><l>33</l><l>126</l><script><block s="doAddToList"><block s="reportUnicodeAsLetter"><block var="i"/></block><block var="a"/></block></script></block><block s="doReport"><block var="a"/></block></script></block></script></block-definition><block-definition s="cookie value %&apos;cookie name&apos;" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l></l></list><block s="reportJoinWords"><list><block s="reportJoinWords"><list><l>function getCookie(cname) {&#xD;  var name = cname + "=";&#xD;  var decodedCookie = decodeURIComponent(document.cookie);&#xD;  var ca = decodedCookie.split(&apos;;&apos;);&#xD;  for(var i = 0; i &lt;ca.length; i++) {&#xD;    var c = ca[i];&#xD;    while (c.charAt(0) == &apos; &apos;) {&#xD;      c = c.substring(1);&#xD;    }&#xD;    if (c.indexOf(name) == 0) {&#xD;      return c.substring(name.length, c.length);&#xD;    }&#xD;  }&#xD;  return "";&#xD;}&#xD;	&#xD;	return getCookie("</l><block var="cookie name"/></list></block><l>")</l></list></block></block><list></list></block></block></script></block-definition><block-definition s="set cookie name: %&apos;name&apos; value: %&apos;value&apos; expires: %&apos;expiration&apos;" type="command" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input><input type="%s"></input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l></l></list><block s="reportJoinWords"><list><l>document.cookie = "</l><block s="reportJoinWords"><list><block var="name"/><block s="reportJoinWords"><list><l>=</l><block s="reportJoinWords"><list><block var="value"/><block s="reportJoinWords"><list><l>; expires=</l><block s="reportJoinWords"><list><block var="expiration"/><l>"</l></list></block></list></block></list></block></list></block></list></block></list></block></block><list></list></block></script></block-definition><block-definition s="encode list %&apos;list&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>prev</l><l>result</l><l>i</l></list></block><block s="doSetVar"><l>result</l><l></l></block><block s="doSetVar"><l>prev</l><l></l></block><block s="doSetVar"><l>prev</l><block var="result"/></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doSetVar"><l>result</l><block s="reportListItem"><l>1</l><block var="list"/></block></block><block s="doChangeVar"><l>i</l><l>1</l></block><block s="doRepeat"><block s="reportDifference"><block s="reportListLength"><block var="list"/></block><l>1</l></block><script><block s="doSetVar"><l>prev</l><block var="result"/></block><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="prev"/><l>, </l><block s="reportListItem"><block var="i"/><block var="list"/></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-definition><block-definition s="decode list %&apos;list&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportTextSplit"><block var="list"/><l>, </l></block></block></script></block-definition><block-definition s="sign up %&apos;usernamesignup&apos; %&apos;passwordsignup&apos;" type="command" category="other"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><custom-block s="set cloud var %s to %s"><block s="reportJoinWords"><list><l>user-</l><block var="usernamesignup"/></list></block><custom-block s="encode list %l"><block s="reportNewList"><list><block s="reportJoinWords"><list><l>inbox-</l><block var="usernamesignup"/></list></block><block var="usernamesignup"/><block var="passwordsignup"/></list></block></custom-block></custom-block></script></block-definition><block-definition s="get inbox for: %&apos;user&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>inboxlist</l><l>inboxdata</l><l>i</l></list></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doSetVar"><l>inboxdata</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>inboxlist</l><custom-block s="decode list %s"><custom-block s="cloud var %s"><block s="reportJoinWords"><list><l>inbox-</l><block var="user"/></list></block></custom-block></custom-block></block><block s="doRepeat"><block s="reportListLength"><block var="inboxlist"/></block><script><block s="doAddToList"><custom-block s="cloud var %s"><block s="reportListItem"><block var="i"/><block var="inboxlist"/></block></custom-block><block var="inboxdata"/></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doReport"><block var="inboxdata"/></block></script></block-definition><block-definition s="send %&apos;message&apos; to %&apos;user&apos;" type="command" category="other"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>resendserverinbox</l><l>resendservermsgcount</l><l>downloadserverinbox</l><l>prev</l></list></block><block s="doHideVar"><l>resendserverinbox</l></block><block s="doHideVar"><l>resendservermsgcount</l></block><block s="doHideVar"><l>downloadserverinbox</l></block><block s="doSetVar"><l>prev</l><custom-block s="cloud var %s"><block s="reportJoinWords"><list><l>inbox-</l><block var="user"/></list></block></custom-block></block><block s="doSetVar"><l>downloadserverinbox</l><custom-block s="decode list %s"><block s="reportJoinWords"><list><l>inbox-</l><block var="user"/></list></block></custom-block></block><block s="doSetVar"><l>resendservermsgcount</l><block s="reportSum"><custom-block s="cloud var %s"><block s="reportJoinWords"><list><l>msgcount-</l><block var="user"/></list></block></custom-block><l>1</l></block></block><custom-block s="set cloud var %s to %s"><block s="reportJoinWords"><list><l>msgcount-</l><block var="user"/></list></block><block var="resendservermsgcount"/></custom-block><custom-block s="set cloud var %s to %s"><block s="reportJoinWords"><list><l>message-</l><block var="user"/><l>-</l><custom-block s="cloud var %s"><block s="reportJoinWords"><list><l>msgcount-</l><block var="user"/></list></block></custom-block></list></block><block var="message"/></custom-block><block s="doAddToList"><block s="reportJoinWords"><list><l>message-</l><block var="user"/><l>-</l><custom-block s="cloud var %s"><block s="reportJoinWords"><list><l>msgcount-</l><block var="user"/></list></block></custom-block></list></block><block var="downloadserverinbox"/></block><block s="doDeleteFromList"><block s="reportDifference"><block s="reportListLength"><block var="downloadserverinbox"/></block><l>1</l></block><block var="downloadserverinbox"/></block><block s="doIf"><block s="reportEquals"><custom-block s="get inbox for: %s"><block var="user"/></custom-block><block s="reportNewList"><list><l>ERROR: file does not exist</l></list></block></block><script><block s="doDeleteFromList"><l>1</l><block var="downloadserverinbox"/></block></script></block><block s="doSetVar"><l>resendserverinbox</l><custom-block s="encode list %l"><block var="downloadserverinbox"/></custom-block></block><custom-block s="set cloud var %s to %s"><block s="reportJoinWords"><list><l>inbox-</l><block var="user"/></list></block><block s="reportJoinWords"><list><block var="prev"/><l>, </l><block var="resendserverinbox"/></list></block></custom-block></script><scripts><script x="304.8876953125" y="516.8333333333336"><block var="resendservermsgcount"/></script></scripts></block-definition><block-definition s="clear %&apos;name&apos; s inbox" type="command" category="other"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><custom-block s="set cloud var %s to %s"><block s="reportJoinWords"><list><l>inbox-</l><block var="name"/></list></block><l>wtem</l></custom-block></script></block-definition><block-definition s="setting %&apos;which&apos;" type="reporter" category="sensing"><comment x="0" y="0" w="254.66666666666666" collapsed="false">Allows reading global settings programmatically.&#xD;&#xD;Eisenberg&apos;s Law:  Anything you can do from the user interface you should be able to do in your program, and vice versa.  This library is just a beginning; there are many UI controls outside of the Settings menu.</comment><header></header><code></code><translations>pt:o valor da configuração _&#xD;</translations><inputs><input type="%s" readonly="true"><options>Project notes&#xD;Project name&#xD;User&#xD;Presentation mode&#xD;Language&#xD;Zoom blocks&#xD;Stage size&#xD;Stage scale&#xD;Retina display support&#xD;Long form input dialog&#xD;Plain prototype labels&#xD;Input sliders&#xD;Execute on slider change&#xD;Clicking sound&#xD;Turbo mode&#xD;Flat design&#xD;Keyboard editing&#xD;Visible stepping&#xD;Thread safe scripts&#xD;Prefer smooth animations&#xD;Flat line ends&#xD;Codification support&#xD;Inheritance support&#xD;Hyper blocks support&#xD;Visible palette</options></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>which</l></list><l>var stage = this.parentThatIsA(StageMorph),&#xD;    ide = stage.parentThatIsA(IDE_Morph),&#xD;    world = stage.parentThatIsA(WorldMorph);&#xD;&#xD;switch (which) {&#xD;    case &apos;Project notes&apos;:&#xD;        return ide.projectNotes;&#xD;    case &apos;Project name&apos;:&#xD;        return ide.projectName;&#xD;    case &apos;User&apos;:&#xD;        return ide.cloud.username;&#xD;    case &apos;Presentation mode&apos;:&#xD;        return ide.isAppMode;&#xD;    case &apos;Language&apos;:&#xD;        return SnapTranslator.language;&#xD;    case &apos;Zoom blocks&apos;:&#xD;        return SyntaxElementMorph.prototype.scale;&#xD;    case &apos;Stage size&apos;:&#xD;        return new List([StageMorph.prototype.dimensions.x,&#xD;                                   StageMorph.prototype.dimensions.y]);&#xD;    case &apos;Stage scale&apos;:&#xD;       return stage.scale;&#xD;    case &apos;Retina display support&apos;:&#xD;        return isRetinaEnabled();&#xD;    case &apos;Long form input dialog&apos;:&#xD;        return InputSlotDialogMorph.prototype.isLaunchingExpanded;&#xD;    case &apos;Plain prototype labels&apos;:&#xD;        return BlockLabelPlaceHolderMorph.prototype.plainLabel;&#xD;    case &apos;Input sliders&apos;:&#xD;        return MorphicPreferences.useSliderForInput;&#xD;    case &apos;Execute on slider change&apos;:&#xD;        return ArgMorph.prototype.executeOnSliderEdit;&#xD;    case &apos;Clicking sound&apos;:&#xD;        return !!BlockMorph.prototype.snapSound;&#xD;    case &apos;Turbo mode&apos;:&#xD;        return stage.isFastTracked;&#xD;    case &apos;Flat design&apos;:&#xD;        return MorphicPreferences.isFlat;&#xD;    case &apos;Keyboard editing&apos;:&#xD;        return !!this.scripts.focus;&#xD;    case &apos;Visible stepping&apos;:&#xD;        return Process.prototype.enableSingleStepping;&#xD;    case &apos;Thread safe scripts&apos;:&#xD;        return stage.isThreadSafe;&#xD;    case &apos;Prefer smooth animations&apos;:&#xD;        return StageMorph.prototype.frameRate &gt; 0;&#xD;    case &apos;Flat line ends&apos;:&#xD;        return SpriteMorph.prototype.useFlatLineEnds;&#xD;    case &apos;Codification support&apos;:&#xD;        return StageMorph.prototype.enableCodeMapping;&#xD;    case &apos;Inheritance support&apos;:&#xD;        return StageMorph.prototype.enableInheritance;&#xD;    case &apos;Hyper blocks support&apos;:&#xD;        return Process.prototype.enableHyperOps;&#xD;    default: return which;&#xD;    case &apos;Visible palette&apos;:&#xD;        return ide.currentCategory;&#xD;}</l></block><list><block var="which"/></list></block></block></script></block-definition><block-definition s="set flag %&apos;which&apos; to %&apos;tf&apos;" type="command" category="sensing"><comment x="0" y="0" w="254.66666666666666" collapsed="false">Allows changing global settings programmatically.&#xD;This block is for Boolean (checkbox) settings; use&#xD;SET VALUE for numeric or text values.&#xD;&#xD;Eisenberg&apos;s Law:  Anything you can do from the user interface you should be able to do in your program, and vice versa.  This library is just a beginning; there are many UI controls outside of the Settings menu.</comment><header></header><code></code><translations>pt:altera o valor da configuração _ para _&#xD;</translations><inputs><input type="%s" readonly="true"><options>Presentation mode&#xD;Retina display support&#xD;Long form input dialog&#xD;Plain prototype labels&#xD;Input sliders&#xD;Execute on slider change&#xD;Clicking sound&#xD;Turbo mode&#xD;Flat design&#xD;Keyboard editing&#xD;Visible stepping&#xD;Thread safe scripts&#xD;Prefer smooth animations&#xD;Flat line ends&#xD;Codification support&#xD;Inheritance support&#xD;Hyper blocks support</options></input><input type="%b"></input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>which</l><l>tf</l></list><l>var   stage = this.parentThatIsA(StageMorph),&#xD;        ide = stage.parentThatIsA(IDE_Morph),&#xD;        world = stage.parentThatIsA(WorldMorph),&#xD;        thisObj = this;&#xD;&#xD;if (tf != !!tf) return;&#xD;&#xD;try{&#xD;ide.savingPreferences = false;&#xD;&#xD;switch (which) {&#xD;    case &apos;Presentation mode&apos;:&#xD;        if (tf != ide.isAppMode) ide.toggleAppMode();&#xD;        break;&#xD;    case &apos;Retina display support&apos;:&#xD;        if (tf != isRetinaEnabled()) ide.toggleRetina();&#xD;        break;&#xD;    case &apos;Long form input dialog&apos;:&#xD;        if (tf != InputSlotDialogMorph.prototype.isLaunchingExpanded)&#xD;            ide.toggleLongFormInputDialog();&#xD;        break;&#xD;    case &apos;Plain prototype labels&apos;:&#xD;        if (tf != BlockLabelPlaceHolderMorph.prototype.plainLabel)&#xD;            ide.togglePlainPrototypeLabels();&#xD;        break;&#xD;    case &apos;Input sliders&apos;:&#xD;        MorphicPreferences.useSliderForInput = tf;&#xD;        break;&#xD;    case &apos;Execute on slider change&apos;:&#xD;        ArgMorph.prototype.executeOnSliderEdit = tf;&#xD;        break;&#xD;    case &apos;Clicking sound&apos;:&#xD;        if (tf != !!BlockMorph.prototype.snapSound)&#xD;            BlockMorph.prototype.toggleSnapSound();&#xD;        break;&#xD;    case &apos;Turbo mode&apos;:&#xD;        if (tf != stage.isFastTracked)&#xD;            ide.toggleFastTracking();&#xD;        break;&#xD;    case &apos;Flat design&apos;:&#xD;        if (tf == MorphicPreferences.isFlat) break;&#xD;        if (tf)&#xD;            ide.flatDesign();&#xD;        else&#xD;            ide.defaultDesign();&#xD;        break;&#xD;    case &apos;Keyboard editing&apos;:&#xD;        if (thisObj.scripts.focus &amp;&amp; !tf) {&#xD;            thisObj.scripts.focus.stopEditing();&#xD;        } else if (tf &amp;&amp; !thisObj.scripts.focus) {&#xD;            thisObj.scripts.toggleKeyboardEntry();&#xD;        };&#xD;        break;&#xD;    case &apos;Visible stepping&apos;:&#xD;        if (tf != Process.prototype.enableSingleStepping)&#xD;            ide.toggleSingleStepping();&#xD;        break;&#xD;    case &apos;Thread safe scripts&apos;:&#xD;        stage.isThreadSafe = tf;&#xD;        break;&#xD;    case &apos;Prefer smooth animations&apos;:&#xD;        if (tf != (StageMorph.prototype.frameRate &gt; 0))&#xD;            ide.toggleVariableFrameRate();&#xD;        break;&#xD;    case &apos;Flat line ends&apos;:&#xD;        SpriteMorph.prototype.useFlatLineEnds = tf;&#xD;        break;&#xD;    case &apos;Codification support&apos;:&#xD;        if (tf != StageMorph.prototype.enableCodeMapping) {&#xD;            StageMorph.prototype.enableCodeMapping = tf;&#xD;            ide.currentSprite.blocksCache.variables = null;&#xD;            ide.currentSprite.paletteCache.variables = null;&#xD;            ide.refreshPalette();&#xD;        }&#xD;        break;&#xD;    case &apos;Inheritance support&apos;:&#xD;        if (tf != StageMorph.prototype.enableInheritance) {&#xD;            StageMorph.prototype.enableInheritance = tf;&#xD;            ide.currentSprite.blocksCache.variables = null;&#xD;            ide.currentSprite.paletteCache.variables = null;&#xD;            ide.refreshPalette();&#xD;        }&#xD;        break;&#xD;    case &apos;Hyper blocks support&apos;:&#xD;        Process.prototype.enableHyperOps = tf;&#xD;        break;&#xD;};&#xD;}&#xD;finally {&#xD;ide.savingPreferences = false;&#xD;};&#xD;</l></block><list><block var="which"/><block var="tf"/></list></block></script></block-definition><block-definition s="set value %&apos;which&apos; to %&apos;value&apos;" type="command" category="sensing"><comment x="0" y="0" w="254.66666666666666" collapsed="false">Allows changing global settings programmatically.&#xD;This block is for numeric or text settings; use&#xD;SET FLAG for Boolean (checkbox) values.&#xD;&#xD;Eisenberg&apos;s Law:  Anything you can do from the user interface you should be able to do in your program, and vice versa.  This library is just a beginning; there are many UI controls outside of the Settings menu.</comment><header></header><code></code><translations>pt:altera o valor da configuração _ para _&#xD;</translations><inputs><input type="%s" readonly="true"><options>Project notes&#xD;Project name&#xD;Language&#xD;Zoom blocks&#xD;Stage size&#xD;Stage scale&#xD;Visible palette</options></input><input type="%s"></input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>which</l><l>value</l></list><l>var   stage = this.parentThatIsA(StageMorph),&#xD;        ide = stage.parentThatIsA(IDE_Morph),&#xD;        world = stage.parentThatIsA(WorldMorph);&#xD;&#xD;try {&#xD;ide.savingPreferences = false;&#xD;&#xD;switch (which) {&#xD;    case &apos;Project notes&apos;:&#xD;        ide.projectNotes = value;&#xD;        break;&#xD;    case &apos;Project name&apos;:&#xD;        ide.setProjectName(value);&#xD;        break;&#xD;    case &apos;Language&apos;:&#xD;        ide.setLanguage(value);&#xD;        break;&#xD;    case &apos;Zoom blocks&apos;:&#xD;        if (!isNaN(value)) ide.setBlocksScale(Math.min(value, 12));&#xD;        break;&#xD;    case &apos;Stage size&apos;:&#xD;        if ((value instanceof List) &amp;&amp; value.length()==2&#xD;                       &amp;&amp; !isNaN(value.at(1)) &amp;&amp; !isNaN(value.at(2)))&#xD;            ide.setStageExtent(new Point(value.at(1), value.at(2)));&#xD;        break;&#xD;    case &apos;Stage scale&apos;:&#xD;        ide.toggleStageSize(value != 1, Math.max(0.1, value));&#xD;        break;&#xD;    case &apos;Visible palette&apos;:&#xD;        ide.currentCategory = value.toLowerCase();&#xD;        ide.categories.children.forEach(function (each) {&#xD;                each.refresh();&#xD;        });&#xD;        ide.refreshPalette(true);&#xD;        break;&#xD;};&#xD;}&#xD;finally {ide.savingPreferences = true;&#xD;};</l></block><list><block var="which"/><block var="value"/></list></block></script></block-definition><block-definition s="signing up" type="command" category="looks"><header></header><code></code><translations></translations><inputs></inputs><script><block s="hide"></block><block s="clear"></block><block s="gotoXY"><l>-80</l><l>10</l></block><block s="setColor"><color>17,195,255,1</color></block><block s="write"><l>Loading...</l><l>32</l></block></script></block-definition><block-definition s="Success" type="command" category="looks"><header></header><code></code><translations></translations><inputs></inputs><script><block s="hide"></block><block s="clear"></block><block s="gotoXY"><l>-80</l><l>10</l></block><block s="setColor"><color>4,181,0,1</color></block><block s="write"><l>Success</l><l>32</l></block></script></block-definition><block-definition s="error" type="command" category="looks"><header></header><code></code><translations></translations><inputs></inputs><script><block s="hide"></block><block s="clear"></block><block s="gotoXY"><l>-80</l><l>10</l></block><block s="setColor"><color>255,28,28,1</color></block><block s="write"><l>Error</l><l>32</l></block></script></block-definition><block-definition s="Open website %&apos;website&apos;" type="command" category="other"><comment x="0" y="0" w="90" collapsed="false">Opens a website in a new tab or window. Make sure it starts with https:// or http://</comment><header></header><code></code><translations></translations><inputs><input type="%s">https://www.google.com</input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>openWebAddress</l></list><l>window.open(openWebAddress);</l></block><list><block var="website"/></list></block></script></block-definition><block-definition s="Alert %&apos;alert text&apos;" type="command" category="other"><comment x="0" y="0" w="90" collapsed="false">Popup with text.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>alertNameText</l></list><l>alert(alertNameText);</l></block><list><block var="alert text"/></list></block></script></block-definition><block-definition s="Notification title %&apos;title&apos; text %&apos;text&apos; icon link %&apos;icon&apos; image link %&apos;image&apos;" type="command" category="other"><comment x="0" y="0" w="90" collapsed="false">Creates a desktop notification. Any or all of the inputs can be filled.&#xD;NB: Will ask user for permission first.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%txt"></input><input type="%s"></input><input type="%s"></input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>notificationTitle</l><l>notificationText</l><l>iconLink</l><l>imageLink</l></list><l>// Check if the browser supports notifications&#xD;  if (!("Notification" in window)) {}&#xD;  else if (Notification.permission === "granted") {&#xD;    var notification = new Notification(notificationTitle, {body:notificationText, icon:iconLink, image:imageLink});&#xD;  }&#xD;  else if (Notification.permission !== "denied") {&#xD;    Notification.requestPermission().then(function (permission) {&#xD;    if (permission === "granted") {&#xD;        var notification = new Notification(notificationText);&#xD;      }&#xD;    });&#xD;  }</l></block><list><block var="title"/><block var="text"/><block var="icon"/><block var="image"/></list></block></script></block-definition><block-definition s="Confirm popup %&apos;text&apos;" type="predicate" category="other"><comment x="0" y="0" w="90" collapsed="false">Popup with &apos;Ok&apos; or &apos;Cancel&apos;</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>confirmText</l></list><l>return(confirm(confirmText));</l></block><list><block var="text"/></list></block></block></script></block-definition><block-definition s="Prompt %&apos;text&apos; default %&apos;default text&apos;" type="reporter" category="other"><comment x="0" y="0" w="90" collapsed="false">Popup with an input.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>promptText</l><l>promptDefault</l></list><l>return(prompt(promptText, promptDefault));</l></block><list><block var="text"/><block var="default text"/></list></block></block></script></block-definition><block-definition s="popup %&apos;text&apos;" type="command" category="other"><comment x="0" y="0" w="90" collapsed="false">Creates a new window with text in.</comment><header></header><code></code><translations></translations><inputs><input type="%s">Text</input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>javaText</l></list><l>let newWindow = window.open("about:blank", "", "_blank"); let textBlock = javaTextif (newWindow) {	newWindow.document.write(textBlock);}</l></block><list><block var="text"/></list></block></script></block-definition><block-definition s="set cookie var %&apos;cname&apos; to %&apos;cvalue&apos; will expire in %&apos;exdays&apos; days" type="command" category="other"><comment x="0" y="0" w="90" collapsed="false">Creates a browser cookie with the value, title, and expire date.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input><input type="%n"></input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>cname</l><l>exdays</l><l>cvalue</l></list><l>var d = new Date();  d.setTime(d.getTime() + (exdays*24*60*60*1000));  var expires = "expires="+ d.toUTCString();  document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";</l></block><list><block var="cname"/><block var="exdays"/><block var="cvalue"/></list></block></script></block-definition><block-definition s="get cookie var %&apos;cname&apos;" type="reporter" category="other"><comment x="0" y="0" w="90" collapsed="false">Returns the value of the specified cookie.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>cname</l></list><l>var name = cname + "=";  var decodedCookie = decodeURIComponent(document.cookie);  var ca = decodedCookie.split(&apos;;&apos;);  for(var i = 0; i &lt;ca.length; i++) {    var c = ca[i];    while (c.charAt(0) == &apos; &apos;) {      c = c.substring(1);    }    if (c.indexOf(name) == 0) {      return c.substring(name.length, c.length);    }  }return ca;</l></block><list><block var="cname"/></list></block></block></script></block-definition><block-definition s="File save prompt . name: %&apos;file name&apos; text %&apos;file text&apos; extension: %&apos;file extension&apos; (plain, html, png, sb2, xml, rtf)" type="command" category="other"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input><input type="%s"></input></inputs><script><block s="doIf"><block s="reportOr"><block s="reportOr"><block s="reportEquals"><block var="file extension"/><l>xml</l></block><block s="reportEquals"><block var="file extension"/><l>rtf</l></block></block><block s="reportOr"><block s="reportOr"><block s="reportEquals"><block var="file extension"/><l>png</l></block><block s="reportEquals"><block var="file extension"/><l>sb2</l></block></block><block s="reportOr"><block s="reportEquals"><block var="file extension"/><l>plain</l></block><block s="reportEquals"><block var="file extension"/><l>html</l></block></block></block></block><script><block s="doIf"><block s="reportEquals"><block var="file extension"/><l>plain</l></block><script><block s="doRun"><block s="reportJSFunction"><list><l>textContents</l><l>textName</l></list><l>var ide=this.parentThatIsA(IDE_Morph);ide.saveFileAs(textContents,&apos;text/plain;charset=utf-8&apos;, textName);</l></block><list><block var="file text"/><block var="file name"/></list></block></script></block><block s="doIf"><block s="reportEquals"><block var="file extension"/><l>png</l></block><script><block s="doRun"><block s="reportJSFunction"><list><l>textContents</l><l>textName</l></list><l>var ide=this.parentThatIsA(IDE_Morph);ide.saveFileAs(textContents,&apos;text/png;charset=utf-8&apos;, textName);</l></block><list><block var="file text"/><block var="file name"/></list></block></script></block><block s="doIf"><block s="reportEquals"><block var="file extension"/><l>sb2</l></block><script><block s="doRun"><block s="reportJSFunction"><list><l>textContents</l><l>textName</l></list><l>var ide=this.parentThatIsA(IDE_Morph);ide.saveFileAs(textContents,&apos;text/sb2;charset=utf-8&apos;, textName);</l></block><list><block var="file text"/><block var="file name"/></list></block></script></block><block s="doIf"><block s="reportEquals"><block var="file extension"/><l>xml</l></block><script><block s="doRun"><block s="reportJSFunction"><list><l>textContents</l><l>textName</l></list><l>var ide=this.parentThatIsA(IDE_Morph);ide.saveFileAs(textContents,&apos;text/xml;charset=utf-8&apos;, textName);</l></block><list><block var="file text"/><block var="file name"/></list></block></script></block><block s="doIf"><block s="reportEquals"><block var="file extension"/><l>rtf</l></block><script><block s="doRun"><block s="reportJSFunction"><list><l>textContents</l><l>textName</l></list><l>var ide=this.parentThatIsA(IDE_Morph);ide.saveFileAs(textContents,&apos;text/rtf;charset=utf-8&apos;, textName);</l></block><list><block var="file text"/><block var="file name"/></list></block></script></block><block s="doIf"><block s="reportEquals"><block var="file extension"/><l>html</l></block><script><block s="doRun"><block s="reportJSFunction"><list><l>textContents</l><l>textName</l></list><l>var ide=this.parentThatIsA(IDE_Morph);ide.saveFileAs(textContents,&apos;text/html;charset=utf-8&apos;, textName);</l></block><list><block var="file text"/><block var="file name"/></list></block></script></block></script></block></script></block-definition><block-definition s="set cursor %&apos;cursor name&apos;" type="command" category="other"><comment x="0" y="0" w="261" collapsed="false">Sets cursor to a specific image. See https://www.w3schools.com/CSSref/playit.asp?filename=playcss_cursor&amp;preval=alias for a list of keywords</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>cursorName</l></list><l>document.body.style.cursor = cursorName;</l></block><list><block var="cursor name"/></list></block></script></block-definition><block-definition s="return cursor" type="command" category="other"><comment x="0" y="0" w="90" collapsed="false">&quot;Help! I don&apos;t know how to change the cursor back!&quot;</comment><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="set cursor %txt"><l>default</l></custom-block></script></block-definition><block-definition s="website popup %&apos;website&apos;" type="command" category="other"><comment x="0" y="0" w="114" collapsed="false">Opens a new window with a website.</comment><header></header><code></code><translations></translations><inputs><input type="%s">https://www.google.com</input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>javaWebsite</l></list><l>let newWindow = window.open(javaWebsite, "", "_blank");</l></block><list><block var="website"/></list></block></script></block-definition><block-definition s="anywhere url %&apos;url&apos;" type="reporter" category="other"><comment x="0" y="0" w="90" collapsed="false">Get html contents from anywhere on the internet.</comment><header></header><code></code><translations></translations><inputs><input type="%s">https://en.wikipedia.org/wiki/Main_page</input></inputs><script><block s="doReport"><block s="reportURL"><block s="reportJoinWords"><list><l>https://cors-anywhere.herokuapp.com/</l><block var="url"/></list></block></block></block></script></block-definition></blocks><variables><variable name="From"><l>0</l></variable><variable name="Body"><l>World&lt;br&gt;&lt;input type="color"&gt;&lt;button onclick="window.close()"&gt;Close This&lt;/button&gt;</l></variable><variable name="Subject"><l>0</l></variable><variable name="Title"><l>Hello</l></variable><variable name="downloadtemp"><l>0</l></variable><variable name="debug"><list struct="atomic" id="2111">Message 1,Message 2,&quot;message-admin-0001, message-admin-0002, inbox-admin, message-admin-0&quot;,Message 3</list></variable><variable name="current"><l>2</l></variable><variable name="User"><l>cwkelliott47732</l></variable></variables></project><media name="EJD Mail" app="Snap! 6, https://snap.berkeley.edu" version="1"></media></snapdata>