<snapdata remixID="15146609"><project name="outstretched arm" app="Snap! 11.0.8, https://snap.berkeley.edu" version="2"><notes></notes><thumbnail>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAAFcUlEQVR4Aeyc3YtNURjGH6MoX6FQlDsXlBpccOtCSvkIQ/gD/GMiRvKR3MiFOzVRI7kakgtu5EQUphmzznEu1Jy99zl7r7Xftd/f1HHqrLXf93mf59feZ5vdTC3zgwMtOjAlfnCgRQcAsEXzaS0BIBS06gAAtmo/zQEQBlp1wC+ArdpO86EDADh0gvdWHADAVmyn6dABABw6wXsrDgBgK7bTdOgAAA6d4L0VBwCwFdtbbWqqOQCaisOfGAD0l7mpiQHQVBz+xACgv8xNTQyApuLwJwYA/WVuauKkAJqaHDEmHABAEzH4FQGAfrM3MTkAmojBrwgA9Ju9ickB0EQMfkUAYJLsaTLKAQAc5QyfJ3EAAJPYTJNRDgDgKGf4PIkDAJjEZpqMcgAARznD50kcAMAkNvttUjY5AJY5xHpUBwAwqr0UL3MAAMscYj2qAwAY1d7miv/40VwtS5UA0FIaBVqePi1YzHgJADMJb926TISOKbO7AI5phPXtvZ51hZPpA8DJfEt+1Nat0qdPydtGbwiA0S1upsGRI9LcXDO1LFUBQEtpFGjZuVPq4p0wABaEbm1p2zZriurrAcD6Hiar8OtXslbJGgFgMqvrNwqX4MXF0jpZbQDAjOLat096+zYjwRWkAmAFk6xsOXgQAK1k4VLH+vVSeHVpeM6AmaW5cWNmgkvkAmCJQdaWv32zpqieHgCs51/yo9eulboEYaMAJk/DYcNDh6RXr7ozOABmluXevdLnz5mJLpALgAXmWF3q0q/kANAqZU50AWCGQfd60vJyhsJXkQyAq5hi/aPdu6UPH6yrrKYPAKv5VLIr7fL0tDQ/n7ZnrG4AGMvZiHU3bYpYPHFpAKxjeHhA7+vXOhUmPnbLlokPNXUgANaN49kz6cED6fZt6flzKdEDez9/1hVu43gArJNDeDTlwgXp7Fnp8mVpxw7pzh3p0SPp5k3p3bs61QuPDSff8CrclMEiADYZ0v790tWr0unTUgBzYUGanZXu3RucJb9/b6zbgQPSmzeNlWutEADGsj6cHU+ckGZmpPPnpWPHpCdPBiCGs+OLF9LS0sTdw9PR799PfHhjB9YtBIB1Hax6/K5d0qVLg8v1lStS+Fsbt25JDx9K4f3jx6qV+vumVpLrwo3Iyhj9efgnpQNr1kjhsZZr16QzZ9T/Dvn6tXT37uD1+LFU4S4jMJxSdoxeABjD1XFrbtggnTolXbw4eE1PDy7V4e76xg3p5Uut9ru3Xm/cRvb2A6C9TKQ9e6RwmQ531+Gm5s8f9e+q799X/797/j2PFR7P//LF4gDVNQFgda/a2Rm+7B09KoXL9blzgzNluIFZuVwfXpjV/NzvdnQ11BUAGzIyWZnNmwffGVcu19uvz+j4ybz/cGC+ACZLnEYxHQDAmO5Su9QBACy1iA0xHQDAmO5Su9QBACy1iA0xHQDAmO5Su9QBACy1yNyGTgkCwE7Fmd8wAJhfZp1SDICdijO/YQAwv8w6pRgAOxVnfsMAYH6ZdUrxWAB2anKGMeEAAJqIwa8IAPSbvYnJAdBEDH5FAKDf7E1MDoAmYvArAgArZc+mWA4AYCxnqVvJAQCsZBObYjkAgLGcpW4lBwCwkk1siuUAAMZylrqVHADASjb53RR7cgCM7TD1Cx0AwEJ7WIztAADGdpj6hQ4AYKE9LMZ2AABjO0z9QgcAsNAeFmM7YBfA2JNT34QDAGgiBr8iANBv9iYmB0ATMfgVAYB+szcxOQCaiMGvCAC0l70rRQDoKm57wwKgvUxcKQJAV3HbGxYA7WXiShEAuorb3rAAaC8TV4r+A9DV5AxrwgEANBGDXxEA6Dd7E5MDoIkY/IoAQL/Zm5j8LwAAAP//r65KJAAAAAZJREFUAwDbeAue6ZYLlgAAAABJRU5ErkJggg==</thumbnail><scenes select="1"><scene name="outstretched arm"><notes></notes><palette><category name="other tools" color="0,116,143,1"/></palette><hidden></hidden><headers></headers><code></code><blocks><block-definition s="outstretched arm $nl center x: %&apos;center x&apos; center y: %&apos;center y&apos; $nl target x: %&apos;target x&apos; target y: %&apos;target y&apos; $nl length1: %&apos;length1&apos; length2: %&apos;length2&apos; $nl initial theta1: %&apos;initial theta1&apos; initial theta2: %&apos;initial theta2&apos; $nl negative direction: %&apos;negative&apos;" type="reporter" category="other tools"><header></header><code></code><translations></translations><inputs><input type="%n" initial="1"></input><input type="%n" initial="1"></input><input type="%n" initial="1"></input><input type="%n" initial="1"></input><input type="%n" initial="1"></input><input type="%n" initial="1"></input><input type="%n" initial="1"></input><input type="%n" initial="1"></input><input type="%b" initial="1"></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>initial values</l><l>function vector</l><l>jacobian</l><l>matrix part</l><l>distance</l><l>temp</l></list></block><block s="doSetVar"><l>distance</l><block s="reportMonadic"><l><option>sqrt</option></l><block s="reportVariadicSum"><list><block s="reportPower"><block s="reportDifference"><block var="target x"/><block var="center x"/></block><l>2</l></block><block s="reportPower"><block s="reportDifference"><block var="target y"/><block var="center y"/></block><l>2</l></block></list></block></block></block><block s="doIf"><block s="reportVariadicGreaterThanOrEquals"><list><block var="distance"/><block s="reportMonadic"><l><option>abs</option></l><block s="reportVariadicSum"><list><block var="length1"/><block var="length2"/></list></block></block></list></block><script><block s="doSetVar"><l>temp</l><block s="reportAtan2"><block s="reportDifference"><block var="target y"/><block var="center y"/></block><block s="reportDifference"><block var="target x"/><block var="center x"/></block></block></block><block s="doReport"><block s="reportNewList"><list><block var="temp"/><block var="temp"/></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="distance"/><block s="reportMonadic"><l><option>abs</option></l><block s="reportDifference"><block var="length1"/><block var="length2"/></block></block></list></block><script><block s="doReport"><block s="reportNewList"><list><block var="temp"/><block s="reportDifference"><block s="reportModulus"><block var="temp"/><l>360</l></block><l>180</l></block></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="initial theta1"/><block var="initial theta2"/></list></block><script><block s="doSetVar"><l>initial theta2</l><block s="reportVariadicSum"><list><block var="initial theta2"/><block s="reportVariadicProduct"><list><block s="reportIfElse"><block var="negative"/><l>-1</l><l>1</l></block><l>0.1</l></list></block></list></block></block></script><list></list></block><block s="doSetVar"><l>initial values</l><block s="reportNewList"><list><block var="initial theta1"/><block var="initial theta2"/></list></block></block><block s="doRepeat"><l>50</l><script><block s="doSetVar"><l>function vector</l><custom-block s="outstretched arm (matrix) %br center x: %n center y: %n %br target x: %n target y: %n %br length1: %n length2: %n %br initial theta1: %n initial theta2: %n"><block var="center x"/><block var="center y"/><block var="target x"/><block var="target y"/><block var="length1"/><block var="length2"/><block s="reportListItem"><l>1</l><block var="initial values"/></block><block s="reportListItem"><l>2</l><block var="initial values"/></block></custom-block></block><block s="doSetVar"><l>jacobian</l><custom-block s="outstretched arm (jacobian matrix) %br center x: %n center y: %n %br target x: %n target y: %n %br length1: %n length2: %n %br initial theta1: %n initial theta2: %n"><block var="center x"/><block var="center y"/><block var="target x"/><block var="target y"/><block var="length1"/><block var="length2"/><block s="reportListItem"><l>1</l><block var="initial values"/></block><block s="reportListItem"><l>2</l><block var="initial values"/></block></custom-block></block><block s="doSetVar"><l>matrix part</l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportDifference"><block s="reportModulus"><block s="reportVariadicSum"><list><block var="value"/><l>180</l></list></block><l>360</l></block><l>180</l></block></autolambda><list><l>value</l></list></block><custom-block s="two unknowns equation %br { %n x1 + %n x2 = %n %br { %n x1 + %n x2 = %n"><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="jacobian"/></block></block><block s="reportListItem"><l>2</l><block s="reportListItem"><l>1</l><block var="jacobian"/></block></block><block s="reportListItem"><l>1</l><block var="function vector"/></block><block s="reportListItem"><l>1</l><block s="reportListItem"><l>2</l><block var="jacobian"/></block></block><block s="reportListItem"><l>2</l><block s="reportListItem"><l>2</l><block var="jacobian"/></block></block><block s="reportListItem"><l>2</l><block var="function vector"/></block></custom-block></block></block><block s="doSetVar"><l>initial values</l><block s="reportDifference"><block var="initial values"/><block var="matrix part"/></block></block></script></block><block s="doReport"><block var="initial values"/></block></script></block></script></block-definition><block-definition s="outstretched arm (matrix) $nl center x: %&apos;center x&apos; center y: %&apos;center y&apos; $nl target x: %&apos;target x&apos; target y: %&apos;target y&apos; $nl length1: %&apos;length1&apos; length2: %&apos;length2&apos; $nl initial theta1: %&apos;initial theta1&apos; initial theta2: %&apos;initial theta2&apos;" type="reporter" category="other tools"><header></header><code></code><translations></translations><inputs><input type="%n" initial="1"></input><input type="%n" initial="1"></input><input type="%n" initial="1"></input><input type="%n" initial="1"></input><input type="%n" initial="1"></input><input type="%n" initial="1"></input><input type="%n" initial="1"></input><input type="%n" initial="1"></input></inputs><script><block s="doReport"><block s="reportNewList"><list><block s="reportDifference"><block s="reportVariadicSum"><list><block var="center x"/><block s="reportVariadicProduct"><list><block var="length1"/><block s="reportMonadic"><l><option>cos</option></l><block var="initial theta1"/></block></list></block><block s="reportVariadicProduct"><list><block var="length2"/><block s="reportMonadic"><l><option>cos</option></l><block var="initial theta2"/></block></list></block></list></block><block var="target x"/></block><block s="reportDifference"><block s="reportVariadicSum"><list><block var="center y"/><block s="reportVariadicProduct"><list><block var="length1"/><block s="reportMonadic"><l><option>sin</option></l><block var="initial theta1"/></block></list></block><block s="reportVariadicProduct"><list><block var="length2"/><block s="reportMonadic"><l><option>sin</option></l><block var="initial theta2"/></block></list></block></list></block><block var="target y"/></block></list></block></block></script></block-definition><block-definition s="outstretched arm (jacobian matrix) $nl center x: %&apos;center x&apos; center y: %&apos;center y&apos; $nl target x: %&apos;target x&apos; target y: %&apos;target y&apos; $nl length1: %&apos;length1&apos; length2: %&apos;length2&apos; $nl initial theta1: %&apos;initial theta1&apos; initial theta2: %&apos;initial theta2&apos;" type="reporter" category="other tools"><header></header><code></code><translations></translations><inputs><input type="%n" initial="1"></input><input type="%n" initial="1"></input><input type="%n" initial="1"></input><input type="%n" initial="1"></input><input type="%n" initial="1"></input><input type="%n" initial="1"></input><input type="%n" initial="1"></input><input type="%n" initial="1"></input></inputs><script><block s="doReport"><block s="reportNewList"><list><block s="reportNewList"><list><block s="reportMonadic"><l><option>neg</option></l><block s="reportVariadicProduct"><list><block var="length1"/><block s="reportMonadic"><l><option>sin</option></l><block var="initial theta1"/></block></list></block></block><block s="reportMonadic"><l><option>neg</option></l><block s="reportVariadicProduct"><list><block var="length2"/><block s="reportMonadic"><l><option>sin</option></l><block var="initial theta2"/></block></list></block></block></list></block><block s="reportNewList"><list><block s="reportVariadicProduct"><list><block var="length1"/><block s="reportMonadic"><l><option>cos</option></l><block var="initial theta1"/></block></list></block><block s="reportVariadicProduct"><list><block var="length2"/><block s="reportMonadic"><l><option>cos</option></l><block var="initial theta2"/></block></list></block></list></block></list></block></block></script></block-definition><block-definition s="two unknowns equation $nl { %&apos;x11&apos; x1 + %&apos;x12&apos; x2 = %&apos;a1&apos; $nl { %&apos;x21&apos; x1 + %&apos;x22&apos; x2 = %&apos;a2&apos;" type="reporter" category="other tools"><header></header><code></code><translations></translations><inputs><input type="%n" initial="1"></input><input type="%n" initial="1"></input><input type="%n" initial="1"></input><input type="%n" initial="1"></input><input type="%n" initial="1"></input><input type="%n" initial="1"></input></inputs><script><block s="doReport"><block s="reportNewList"><list><block s="reportQuotient"><block s="reportDifference"><block s="reportVariadicProduct"><list><block var="x12"/><block var="a2"/></list></block><block s="reportVariadicProduct"><list><block var="a1"/><block var="x22"/></list></block></block><block s="reportDifference"><block s="reportVariadicProduct"><list><block var="x12"/><block var="x21"/></list></block><block s="reportVariadicProduct"><list><block var="x11"/><block var="x22"/></list></block></block></block><block s="reportQuotient"><block s="reportDifference"><block s="reportVariadicProduct"><list><block var="a1"/><block var="x21"/></list></block><block s="reportVariadicProduct"><list><block var="x11"/><block var="a2"/></list></block></block><block s="reportDifference"><block s="reportVariadicProduct"><list><block var="x12"/><block var="x21"/></list></block><block s="reportVariadicProduct"><list><block var="x11"/><block var="x22"/></list></block></block></block></list></block></block></script></block-definition><block-definition s="--outstretched arm--" type="command" category="other tools"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNewList"><list><custom-block s="outstretched arm %br center x: %n center y: %n %br target x: %n target y: %n %br length1: %n length2: %n %br initial theta1: %n initial theta2: %n %br negative direction: %b"><l></l><l></l><l></l><l></l><l></l><l></l><l></l><l></l><l/></custom-block><custom-block s="outstretched arm (matrix) %br center x: %n center y: %n %br target x: %n target y: %n %br length1: %n length2: %n %br initial theta1: %n initial theta2: %n"><l></l><l></l><l></l><l></l><l></l><l></l><l></l><l></l></custom-block><custom-block s="outstretched arm (jacobian matrix) %br center x: %n center y: %n %br target x: %n target y: %n %br length1: %n length2: %n %br initial theta1: %n initial theta2: %n"><l></l><l></l><l></l><l></l><l></l><l></l><l></l><l></l></custom-block><custom-block s="two unknowns equation %br { %n x1 + %n x2 = %n %br { %n x1 + %n x2 = %n"><l></l><l></l><l></l><l></l><l></l><l></l></custom-block></list></block></block></script></block-definition></blocks><primitives></primitives><stage name="Stage" width="480" height="360" costume="0" color="255,255,255,1" tempo="60" threadsafe="false" penlog="false" volume="100" pan="0" lines="round" ternary="false" hyperops="true" codify="false" inheritance="true" sublistIDs="false" id="484"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAQAElEQVR4Aezde6xsd1UH8H0kUEEeRlSoD5RSQksL9AFExIghUYNiDAS1GGN91Eh8GzES4Q+akKoxJIpRkhrUhhhFgxrwrWmQSBoVjdZiK0WtYJVC6yugtYUe1w9yb+/tPY85M3vv32N9yF6dc+fM3r/f+qwTvpm5c+d8yuR/BAgQIECAwOoCAnh1cgsSIECAAIFpyh3AfgIIECBAgEAlAQFcCd6yBAgQIJBbQADnnb/OCRAgQKCigACuiG9pAgQIEMgrIIDzzj5357onQIBAZQEBXHkAlidAgACBnAICOOfcdZ1bQPcECDQgIIAbGIItECBAgEA+AQGcb+Y6JpBbQPcEGhEQwI0MwjYIECBAIJeAAM41b90SIJBbQPcNCQjghoZhKwQIECCQR0AA55m1TgkQIJBboLHuBXBjA7EdAgQIEMghIIBzzFmXBAgQINCYwMoB3Fj3tkOAAAECBCoJCOBK8JYlQIAAgdwCAnjF+VuKAAECBAicEhDApyTcEiBAgACBFQUE8IrYuZfSPQECBAicKSCAz9TwNQECBAgQWElAAK8EbZncAronQIDAQwUE8ENF/JkAAQIECKwgIIBXQLYEgdwCuidA4CABAXyQivsIECBAgMDCAgJ4YWCXJ0Agt4DuCRwmIIAPk3E/AQIECBBYUEAAL4jr0gQIEMgtoPujBATwUTq+R4AAAQIEFhIQwAvBuiwBAgQI5BY4rnsBfJyQ7xMgQIAAgQUEBPACqC5JgAABAgSOExg7gI/r3vcJECBAgEAlAQFcCd6yBAgQIJBbQACPO3+dESBAgEDDAgK44eHYGgECBAiMKyCAx51t7s50T4AAgcYFBHDjA7I9AgQIEBhTQACPOVdd5RbQPQECHQgI4A6GZIsECBAgMJ6AAB5vpjoikFtA9wQ6ERDAnQzKNgkQIEBgLAEBPNY8dUOAQG4B3XckIIA7GpatEiBAgMA4AgJ4nFnqhAABArkFOuteAHc2MNslQIAAgTEEBPAYc9QFAQIECHQmMHMAd9a97RIgQIAAgUoCArgSvGUJECBAILeAAJ5x/i5FgAABAgQ2FRDAm0p5HAECBAgQmFFAAM+ImftSuidAgACBkwgI4JNoeSwBAgQIEJhJQADPBOkyuQV0T4AAgZMKCOCTink8AQIECBCYQUAAz4DoEgRyC+ieAIFtBATwNmrOIUCAAAECOwoI4B0BnU6AQG4B3RPYVkAAbyvnPAIECBAgsIOAAN4Bz6kECBDILaD7XQQE8C56ziVAgAABAlsKCOAt4ZxGgAABArkFdu1eAO8q6HwCBAgQILCFgADeAs0pBAgQIEBgV4G+A3jX7p1PgAABAgQqCQjgSvCWJUCAAIHcAgK43/nbOQECBAh0LCCAOx6erRMgQIBAvwICuN/Z5d657gkQINC5gADufIC2T4AAAQJ9CgjgPudm17kFdE+AwAACAniAIWqBAAECBPoTEMD9zcyOCeQW0D2BQQQE8CCD1AYBAgQI9CUggPual90SIJBbQPcDCQjggYapFQIECBDoR0AA9zMrOyVAgEBugcG6F8CDDVQ7BAgQINCHgADuY052SYAAAQKDCZwwgAfrXjsECBAgQKCSgACuBG9ZAgQIEMgtIIBPMH8PJUCAAAECcwkI4LkkXYcAAQIECJxAQACfACv3Q3VPgAABAnMKCOA5NV2LAAECBAhsKCCAN4TysNwCuidAgMDcAgJ4blHXI0CAAAECGwgI4A2QPIRAbgHdEyCwhIAAXkLVNQkQIECAwDECAvgYIN8mQCC3gO4JLCUggJeSdV0CBAgQIHCEgAA+Ase3CBAgkFtA90sKCOAldV2bAAECBAgcIiCAD4FxNwECBAjkFli6ewG8tLDrEyBAgACBAwQE8AEo7iJAgAABAksLtB3AS3fv+gQIECBAoJKAAK4Eb1kCBAgQyC0ggNudv50RIECAwMACAnjg4WqNAAECBNoVEMDtzib3znRPgACBwQUE8OAD1h4BAgQItCkggNuci13lFtA9AQIJBARwgiFrkQABAgTaExDA7c3EjgjkFtA9gSQCAjjJoLVJgMCZAvvPmab9C8+8x9cE1hYQwGuLW48AgRYEXh6buCqqtcN+EgkI4ETD1ioBAqcFbo6vnhXlIFBNQABXo7cwAQIVBf421n56lKMlgWR7EcDJBq5dAgQ+IfCe+O+T4++BHxW3DgJVBARwFXaLEiBQV2Dv3lj/jqiLoxwEqgg8JICr7MGiBAgQqCHgZega6tY8LSCAT1P4ggCBZALljVhXJOtZuw0JCOAzhuFLAgRSCZQAvjRVx5ptSkAANzUOmyFAYEWB8hK0vwNeEdxSZwsI4LM9Ev9J6wSyCeyVN2E9Zpr2z8/WuX7bEBDAbczBLggQqCNQXob274Hr2KdfVQCn/xEAUARUWoHyMrQATjv+uo0L4Lr+VidAoK5AeQb87LpbsHpWAQGcdfL6JnBaIPUXJYA9A079I1CveQFcz97KBAjUFygBfPE07T+8/lbsIJuAAM42cf0SIHCGwN5H4g8firowykFgVQEBvCq3xQgQaFCgPAv2MnSDgxl9SwJ49AnrjwCB4wRKACf93cDH0fj+kgICeEld1yZAoAeB8k+RBHAPkxpsjwJ4sIFqhwCBEwuUZ8AXn/gsJ3QvULsBAVx7AtYnQKC2wO2xgfOnaf+xcesgsJqAAF6N2kIECLQpsPdA7Ou2qEuiHARWE6gbwKu1aSECBAgcKVBehvZO6COJfHNuAQE8t6jrESDQo0AJ4Ct73Lg99ysggOvNzsoECLQjUN4J7RlwO/NIsRMBnGLMmiRA4BiB8gxYAB+D5NvzCgjgeT1dbVMBjyPQlMDe3bGd+6dp/0lx6yCwioAAXoXZIgQIdCBQXob2TugOBjXKFgXwKJPUR08C9tqmQHkZ+tI2t2ZXIwoI4BGnqicCBLYRKAF8+TYnOofANgICeBs15xAgsL1Au2eWAPZGrHbnM9zOBPBwI9UQAQJbCpRPw7pgmvbP2/J8pxE4kYAAPhGXBxMgMK7A3n3R2x1RF0UtdbgugdMCAvg0hS8IECAweRnaD8FqAgJ4NWoLESDQgUD5p0jP7GCffW7Rrs8SEMBncfgDAQLJBcoz4GclN9D+SgICeCVoyxAg0IVACWDvhO5iVN1t8pwNC+BzSNxBgEBegb07o/fHTNP+4+PWQWBRAQG8KK+LEyDQoUB5FuwTsTocXG9bThXAvQ3HfgkQqCJQAvjiKitbNJWAAE41bs0SILCBQHkn9BUbPM5DCOwkIIB34uvpZHslQGBDgfIM2EvQG2J52PYCAnh7O2cSIDCmwC3R1kXTtL8Xtw4CiwkI4MVoXbglAXshsLnA3v/EY++OuiDKQWAxAQG8GK0LEyDQsUB5GfqSjvdv6x0ICOAOhmSLBHYTcPYWAiWAn7HFeU4hsLGAAN6YygMJEEgkUN4JfVmifrVaQUAAV0C3JAEC6wlsuVJ5Buwl6C3xnLaZgADezMmjCBBIJbD3D9Hu+dO0/8i4dRBYREAAL8LqogQIDCBwa/TQ+bPg6MDRrIAAbnY0NkaAQGWB8vfAfjNS5SGMvLwAHnm6eiNAYBeB8vfAfjfwLoKVz219eQHc+oTsjwCBWgIlgJ9Za3Hrji8ggMefsQ4JENhOoLwE7e+At7Nz1gYCywbwBhvwEAIECLQpsPefsa/7p2n/CXHrIDC7gACendQFCRAYSKC8DO0TsQYaaEutCODlpuHKBAj0L1BehvZO6P7n2GQHArjJsdgUAQKNCJRnwJc3shfbGExAAA820GbasRECYwiUAL50jFZ00ZqAAG5tIvZDgEBLAu+NzTxlmvYfFrcOArMKCOBZOV2MwCcE/GcYgb2PRSt3RF0Y5SAwq4AAnpXTxQgQGFCgvAztndADDrZ2SwK49gSsT2A0gfH6Ke+E9vfA4821ekcCuPoIbIAAgcYFyjNgnwnd+JB63J4A7nFq9kyAwJoCJYA3fQa85r6s1bmAAO58gLZPgMDSAnt3xQqfNk37UfGVg8BMAgJ4JkiXIUBgaIH3RHfeiBUIRx6+eSIBAXwiLg8mQCCpgJehkw5+ybYF8JK6rk2AwCgCJYD9buBRprlMHye+qgA+MZkTCBBIKFD+KZIATjj4JVsWwEvqujYBAqMI/F00clGUg8BsAkMF8GwqLkSgA4H9aboy6juivqCD7Xa+xb17o4F7pmn/c+PWQWAWAQE8C6OLEKgi8PFY9UVR744Qvi3qDVEvjvLPZQJlgaO8DO2d0AvAZr2kAB5m8hrJJrA3TX8d9dJpmsqzsm+N23iGNr0qbj8YIXxj1Kuirog/O+YRKG/E8oEc81i6SggI4EBwEOhZIEL4vqiboq6N+pLopbwk/Ya4fWrUWyKEPxz1y1FXR50f9zm2EygB7CMpt7Nz1gECAvgAFHf1J2DHDwpECP971G9FfXtUCeEvje++K+rrospL1X8TQfyTUV8e9ci4z7GZgJegN3PyqA0FBPCGUB5GoFeBCOFbo34u6sXRwxOjvj/qvqjroj4UIfz7UT8U5eXVADn82Pvn+F68grD/8Lh1ENhZQADvTOgCBGoLbL5+hPD/Rr0j6tVRz4kzyzPkX4zby6N+J0L4zqhfiroq6jPjPsfZAn8ff3xalIPAzgICeGdCFyDQr0CE8Aej3hL1TVHl746/OropL7V+W9zeESH8F1HXRb0g6ry4L/tRbLwTOvtPwUz9C+CZIF2GwAgCEcLlndWvj9uviH6eEPXqqEdElTd13R0h/Lao741q5llg7G3No7wRy0v1a4oPvJYAHni4WiOwi0CE8Eej/jDqlVHl3b+XxPV+Paq80/pPIoT/Mer6qJdGfXrcn+EoAewjKTNMeoUeBfAKyJYgMIJAhPD7o94c9Q3Rz+dEXRV1R1R5U9e/RAi/K+raqOdFjfpGpRLADb0EHfqObgUEcLejs3EC9QQihB+I+vOo66JeEDspgfzjcVveuFXe1FXeXf3WCOLyUZkXxP2DHHsfjUY+Pk37j4tbB4GdBATwTnxOJkCgCEQI/3fU26O+O6r80oLyDuvfje99VdSpj8p8YwRy+ajMx8Z9PR+eBTcyvd63IYB7n6D9E2hQIEL4fVFvinpJbO+zo66JuiuqvKnrXyOI3xH1mqhnRz0s7u/pEMA9TavhvQrghodjawRGEIgQ/ljUn0a9Nup50dPnR/1M1BdG/VpU+ezq8pGZ5aMynxR/bv0o/xTJG7Fan1IH+9stgDto0BYJEGhLIEL4P6LeGnVNVPn74fJRme+MXX591C3xjPjmqJ+K+sqoR8d9rR2eAbc2kU73I4A7HZxtExhFIEK4fFTmz8Zt+RCQz4q+fiCqvNmpfFRmeXb8RxHEPxJ1WVQ8LL5b93hfLP+UKAeBnQQE8PZ8ziRAYGaBSNf/i7oxqnxU5pVx+SdH/ULU06N+O6r8c6fym52+McK4/BrGuGvtY++BWPED07RfPjksvnQQ2E5Ay/kXuQAACiVJREFUAG/n5iwCBFYQiCD+cNSvRF0d9Xmx5Iui/irqW6LeGyH8l1E/EfXCqEfFfWsdXoZeS3rgdQTwwMNdtDUXJ1BBIEL45qhTH5VZ/s3xj8Y2yv+P/XTc3hUh/HtRPxi19IdllAD2RqxAd2wvUH5wtz/bmQQIEKgkEEFcfrPTH8TtD0eVwC3//vhXYzvPjboxQrj8Mokb4vZlUeVzrePu2Y7yTuiy5mwXdKF8AgI438x1vLuAKzQoECF8Z9QNUS+PKm/mells87ao74n6pwjhP4t6XVT5zU6fGvftcpRnwAJ4F0HnTgLYDwEBAkMKRAi/O+rHor4sGiwfBvK6uC2fwnV93JZ3V789wvi7oi6OP5/w2LsnTnj0NO37FY0B4dhOQABv5+YsAnkFOuw8QvgjUeWjMr8vbp8WLVwW9baoF0bdFCF8e9Sbol4S9fi4b5Pj1njQFuEdZzkIhIAADgQHAQK5BCKE74j6+ajyMvVnRPffHPX+qFdGfSBCuPxmp9fG7fOjHhH3HXR4GfogFfdtLCCAN6byQAIERhSIEC6/2emmuL026vnR4/lRr496YtSbo/4tQvg3o67Zn6anxp9PHQL4lITbrQQE8FZsTiJAYFSBCOH/ivqNqFdElY/K/KLo9Y+jviaq/LvjWyOM33j99IryzmpvxAoUx3YCAng7N2cRIJBEIEL49qjyUZlfGy2Xvx/+zri95+rphqsunW754vg6z6HTWQUE8KycLkaAwMgCEcT3R70z6jXnTfc+95bpGY8buV+9LSsggJf1dXUCBAgQGENg9i4E8OykLkiAAAECBI4XEMDHG3kEAQIECBCYXaCrAJ69exckQIAAAQKVBARwJXjLEiBAgEBuAQHczfxtlAABAgRGEhDAI01TLwQIECDQjYAA7mZUuTeqewIECIwmIIBHm6h+CBAgQKALAQHcxZhsMreA7gkQGFFAAI84VT0RIECAQPMCArj5EdkggdwCuicwqoAAHnWy+iJAgACBpgUEcNPjsTkCBHIL6H5kAQE88nT1RoAAAQLNCgjgZkdjYwQIEMgtMHr3Anj0CeuPAAECBJoUEMBNjsWmCBAgQGB0gaMDePTu9UeAAAECBCoJCOBK8JYlQIAAgdwCAvjw+fsOAQIECBBYTEAAL0brwgQIECBA4HABAXy4Te7v6J4AAQIEFhUQwIvyujgBAgQIEDhYQAAf7OLe3AK6J0CAwOICAnhxYgsQIECAAIFzBQTwuSbuIZBbQPcECKwiIIBXYbYIAQIECBA4W0AAn+3hTwQI5BbQPYHVBATwatQWIkCAAAECDwoI4ActfEWAAIHcArpfVUAAr8ptMQIECBAg8EkBAfxJB/8lQIAAgdwCq3cvgFcntyABAgQIEJgmAeyngAABAgQIVBBoKoAr9G9JAgQIECBQRUAAV2G3KAECBAhkFxDAzfwE2AgBAgQIZBIQwJmmrVcCBAgQaEZAADczitwb0T0BAgSyCQjgbBPXLwECBAg0ISCAmxiDTeQW0D0BAhkFBHDGqeuZAAECBKoLCODqI7ABArkFdE8gq4AAzjp5fRMgQIBAVQEBXJXf4gQI5BbQfWYBAZx5+nonQIAAgWoCArgavYUJECCQWyB79wI4+0+A/gkQIECgioAArsJuUQIECBDILTBNAjj7T4D+CRAgQKCKgACuwm5RAgQIEMgukDmAs89e/wQIECBQUUAAV8S3NAECBAjkFRDAWWevbwIECBCoKiCAq/JbnAABAgSyCgjgrJPP3bfuCRAgUF1AAFcfgQ0QIECAQEYBAZxx6nrOLaB7AgSaEBDATYzBJggQIEAgm4AAzjZx/RLILaB7As0ICOBmRmEjBAgQIJBJQABnmrZeCRDILaD7pgQEcFPjsBkCBAgQyCIggLNMWp8ECBDILdBc9wK4uZHYEAECBAhkEBDAGaasRwIECBBoTmDVAG6uexsiQIAAAQKVBARwJXjLEiBAgEBuAQG82vwtRIAAAQIEHhQQwA9a+IoAAQIECKwmIIBXo869kO4JECBA4GwBAXy2hz8RIECAAIFVBATwKswWyS2gewIECJwrIIDPNXEPAQIECBBYXEAAL05sAQK5BXRPgMDBAgL4YBf3EiBAgACBRQUE8KK8Lk6AQG4B3RM4XEAAH27jOwQIECBAYDEBAbwYrQsTIEAgt4DujxYQwEf7+C4BAgQIEFhEQAAvwuqiBAgQIJBb4PjuBfDxRh5BgAABAgRmFxDAs5O6IAECBAgQOF5g5AA+vnuPIECAAAEClQQEcCV4yxIgQIBAbgEBPOr89UWAAAECTQsI4KbHY3MECBAgMKqAAB51srn70j0BAgSaFxDAzY/IBgkQIEBgRAEBPOJU9ZRbQPcECHQhIIC7GJNNEiBAgMBoAgJ4tInqh0BuAd0T6EZAAHczKhslQIAAgZEEBPBI09QLAQK5BXTflYAA7mpcNkuAAAECowgI4FEmqQ8CBAjkFuiuewHc3chsmAABAgRGEBDAI0xRDwQIECDQncCsAdxd9zZMgAABAgQqCQjgSvCWJUCAAIHcAgJ4tvm7EAECBAgQ2FxAAG9u5ZEECBAgQGA2AQE8G2XuC+meAAECBE4mIIBP5uXRBAgQIEBgFgEBPAuji+QW0D0BAgROLiCAT27mDAIECBAgsLOAAN6Z0AUI5BbQPQEC2wkI4O3cnEWAAAECBHYSEMA78TmZAIHcAronsL2AAN7ezpkECBAgQGBrAQG8NZ0TCRAgkFtA97sJCODd/JxNgAABAgS2EhDAW7E5iQABAgRyC+zevQDe3dAVCBAgQIDAiQUE8InJnECAAAECBHYX6DmAd+/eFQgQIECAQCUBAVwJ3rIECBAgkFtAAPc6f/smQIAAga4FBHDX47N5AgQIEOhVQAD3Ornc+9Y9AQIEuhcQwN2PUAMECBAg0KOAAO5xavacW0D3BAgMISCAhxijJggQIECgNwEB3NvE7JdAbgHdExhGQAAPM0qNECBAgEBPAgK4p2nZKwECuQV0P5SAAB5qnJohQIAAgV4EBHAvk7JPAgQI5BYYrnsBPNxINUSAAAECPQgI4B6mZI8ECBAgMJzAiQJ4uO41RIAAAQIEKgkI4ErwliVAgACB3AICeOP5eyABAgQIEJhPQADPZ+lKBAgQIEBgYwEBvDFV7gfqngABAgTmFRDA83q6GgECBAgQ2EhAAG/E5EG5BXRPgACB+QUE8PymrkiAAAECBI4VEMDHEnkAgdwCuidAYBkBAbyMq6sSIECAAIEjBQTwkTy+SYBAbgHdE1hOQAAvZ+vKBAgQIEDgUAEBfCiNbxAgQCC3gO6XFRDAy/q6OgECBAgQOFBAAB/I4k4CBAgQyC2wfPcCeHljKxAgQIAAgXMEBPA5JO4gQIAAAQLLC7QcwMt3bwUCBAgQIFBJQABXgrcsAQIECOQWEMCtzt++CBAgQGBoAQE89Hg1R4AAAQKtCvw/AAAA//9Q0175AAAABklEQVQDAPMkg+CtURXrAAAAAElFTkSuQmCC</pentrails><costumes><list struct="atomic" id="485"></list></costumes><sounds><list struct="atomic" id="486"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="2"><sprite name="test sprite" idx="1" x="79" y="71.99999999999943" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="0" color="2.2648549702353193e-13,0,255,1" pen="tip" id="491"><costumes><list struct="atomic" id="492"></list></costumes><sounds><list struct="atomic" id="493"></list></sounds><blocks></blocks><variables></variables><scripts><script x="69" y="34.49999999999994"><block s="receiveGo"></block><block s="doDeclareVariables"><list><l>angles</l><l>colors</l><l>pos</l><l>props</l></list></block><block s="doSetVar"><l>angles</l><block s="reportNewList"><list><l>0</l><l>0</l></list></block></block><block s="doSetVar"><l>colors</l><block s="reportNewList"><list><block s="reportNewColor"><list><l>0</l></list></block><block s="reportNewColor"><list><block s="reportQuotient"><l>200</l><l>3</l></block></list></block></list></block></block><block s="doSetVar"><l>props</l><block s="reportNewList"><list><l>0</l><l>0</l><l>100</l><l>100</l></list></block></block><block s="doForever"><script><block s="doWarp"><script><block s="clear"></block><block s="doGotoObject"><l><option>mouse-pointer</option></l></block><block s="doSetVar"><l>pos</l><block s="getPosition"></block></block><block s="doSetVar"><l>angles</l><custom-block s="outstretched arm %br center x: %n center y: %n %br target x: %n target y: %n %br length1: %n length2: %n %br initial theta1: %n initial theta2: %n %br negative direction: %b"><block s="reportListItem"><l>1</l><block var="props"/></block><block s="reportListItem"><l>2</l><block var="props"/></block><block s="xPosition"></block><block s="yPosition"></block><block s="reportListItem"><l>3</l><block var="props"/></block><block s="reportListItem"><l>4</l><block var="props"/></block><block s="reportListItem"><l>1</l><block var="angles"/></block><block s="reportListItem"><l>2</l><block var="angles"/></block><l><bool>false</bool></l></custom-block></block><block s="setColor"><block s="reportListItem"><l>1</l><block var="colors"/></block></block><block s="gotoXY"><l>0</l><l>0</l></block><block s="down"></block><block s="gotoXY"><block s="reportVariadicSum"><list><block s="reportListItem"><l>1</l><block var="props"/></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>3</l><block var="props"/></block><block s="reportMonadic"><l><option>cos</option></l><block s="reportListItem"><l>1</l><block var="angles"/></block></block></list></block></list></block><block s="reportVariadicSum"><list><block s="reportListItem"><l>2</l><block var="props"/></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>3</l><block var="props"/></block><block s="reportMonadic"><l><option>sin</option></l><block s="reportListItem"><l>1</l><block var="angles"/></block></block></list></block></list></block></block><block s="up"></block><block s="setColor"><block s="reportListItem"><l>2</l><block var="colors"/></block></block><block s="down"></block><block s="gotoXY"><block s="reportVariadicSum"><list><block s="reportListItem"><l>1</l><block var="props"/></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>3</l><block var="props"/></block><block s="reportMonadic"><l><option>cos</option></l><block s="reportListItem"><l>1</l><block var="angles"/></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>4</l><block var="props"/></block><block s="reportMonadic"><l><option>cos</option></l><block s="reportListItem"><l>2</l><block var="angles"/></block></block></list></block></list></block><block s="reportVariadicSum"><list><block s="reportListItem"><l>1</l><block var="props"/></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>3</l><block var="props"/></block><block s="reportMonadic"><l><option>sin</option></l><block s="reportListItem"><l>1</l><block var="angles"/></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>4</l><block var="props"/></block><block s="reportMonadic"><l><option>sin</option></l><block s="reportListItem"><l>2</l><block var="angles"/></block></block></list></block></list></block></block><block s="up"></block><block s="doGotoObject"><block var="pos"/></block></script></block></script></block></script></scripts></sprite><sprite name="outstretched arm" idx="2" x="0" y="-2.8421709430404007e-13" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="0" color="0,0,0,1" pen="tip" id="731"><costumes><list struct="atomic" id="732"></list></costumes><sounds><list struct="atomic" id="733"></list></sounds><blocks></blocks><variables></variables><scripts><script x="200" y="435.33333333333337"><custom-block s="--outstretched arm--"></custom-block></script></scripts></sprite></sprites></stage><variables></variables></scene></scenes></project><media name="outstretched arm" app="Snap! 11.0.8, https://snap.berkeley.edu" version="2"></media></snapdata>