{"url":"https://api.github.com/gists/2962888","forks_url":"https://api.github.com/gists/2962888/forks","commits_url":"https://api.github.com/gists/2962888/commits","id":"2962888","node_id":"MDQ6R2lzdDI5NjI4ODg=","git_pull_url":"https://gist.github.com/2962888.git","git_push_url":"https://gist.github.com/2962888.git","html_url":"https://gist.github.com/mbostock/2962888","files":{".block":{"filename":".block","type":"text/plain","language":null,"raw_url":"https://gist.githubusercontent.com/mbostock/2962888/raw/703d310b399098a243a76a50bc209167e924cfd2/.block","size":17,"truncated":false,"content":"license: gpl-3.0\n","encoding":"utf-8"},"README.md":{"filename":"README.md","type":"text/markdown","language":"Markdown","raw_url":"https://gist.githubusercontent.com/mbostock/2962888/raw/d0d9e913c4460761e57495b738de8a4bd30bee8e/README.md","size":255,"truncated":false,"content":"The above grid shows the effect of rectilinear distortion. Move the mouse to change the focal point. I wouldn't recommend this technique; see my post on [fisheye distortion](http://bost.ocks.org/mike/fisheye/) for a better example of Cartesian distortion.","encoding":"utf-8"},"fisheye.js":{"filename":"fisheye.js","type":"text/javascript","language":"JavaScript","raw_url":"https://gist.githubusercontent.com/mbostock/2962888/raw/5e152e5ceec2b591a02d85edec596c190c9fc7ac/fisheye.js","size":1077,"truncated":false,"content":"(function() {\n  d3.fisheye = function() {\n    var radius = 200,\n        power = 2,\n        k0,\n        k1,\n        center = [0, 0];\n\n    function fisheye(d) {\n      var x = d[0] - center[0],\n          y = d[1] - center[1],\n          dx = Math.abs(x),\n          dy = Math.abs(y),\n          kx = !x || dx >= radius ? 1 : k0 * (1 - Math.exp(-dx * k1)) / dx * .75 + .25,\n          ky = !y || dy >= radius ? 1 : k0 * (1 - Math.exp(-dy * k1)) / dy * .75 + .25;\n      return [center[0] + x * kx, center[1] + y * ky];\n    }\n\n    function rescale() {\n      k0 = Math.exp(power);\n      k0 = k0 / (k0 - 1) * radius;\n      k1 = power / radius;\n      return fisheye;\n    }\n\n    fisheye.radius = function(_) {\n      if (!arguments.length) return radius;\n      radius = +_;\n      return rescale();\n    };\n\n    fisheye.power = function(_) {\n      if (!arguments.length) return power;\n      power = +_;\n      return rescale();\n    };\n\n    fisheye.center = function(_) {\n      if (!arguments.length) return center;\n      center = _;\n      return fisheye;\n    };\n\n    return rescale();\n  };\n})();","encoding":"utf-8"},"index.html":{"filename":"index.html","type":"text/html","language":"HTML","raw_url":"https://gist.githubusercontent.com/mbostock/2962888/raw/79e33d6c9d7bd919ddd2eeb048d9608fccf3f310/index.html","size":1348,"truncated":false,"content":"<!DOCTYPE html>\n<meta charset=\"utf-8\">\n<style>\n\n.background {\n  fill: none;\n  pointer-events: all;\n}\n\npath {\n  fill: none;\n  stroke: #333;\n}\n\n</style>\n<body>\n<script src=\"//d3js.org/d3.v3.min.js\"></script>\n<script src=\"fisheye.js\"></script>\n<script>\n\nvar width = 960,\n    height = 500,\n    xStepsBig = d3.range(10, width, 20),\n    yStepsBig = d3.range(10, height, 20),\n    xStepsSmall = d3.range(0, width + 6, 6),\n    yStepsSmall = d3.range(0, height + 6, 6);\n\nvar fisheye = d3.fisheye().power(3);\n\nvar line = d3.svg.line();\n\nvar svg = d3.select(\"body\").append(\"svg\")\n    .attr(\"width\", width)\n    .attr(\"height\", height)\n  .append(\"g\")\n    .attr(\"transform\", \"translate(-.5,-.5)\");\n\nsvg.append(\"rect\")\n    .attr(\"class\", \"background\")\n    .attr(\"width\", width)\n    .attr(\"height\", height);\n\nsvg.selectAll(\".x\")\n    .data(xStepsBig)\n  .enter().append(\"path\")\n    .attr(\"class\", \"x\")\n    .datum(function(x) { return yStepsSmall.map(function(y) { return [x, y]; }); });\n\nsvg.selectAll(\".y\")\n    .data(yStepsBig)\n  .enter().append(\"path\")\n    .attr(\"class\", \"y\")\n    .datum(function(y) { return xStepsSmall.map(function(x) { return [x, y]; }); });\n\nvar path = svg.selectAll(\"path\")\n    .attr(\"d\", line);\n\nsvg.on(\"mousemove\", function() {\n  fisheye.center(d3.mouse(this));\n  path.attr(\"d\", function(d) { return line(d.map(fisheye)); });\n});\n\n</script>\n","encoding":"utf-8"},"thumbnail.png":{"filename":"thumbnail.png","type":"image/png","language":null,"raw_url":"https://gist.githubusercontent.com/mbostock/2962888/raw/5fbd3876ce05fc4fb10b5f6349280a684269f0c3/thumbnail.png","size":13233,"truncated":false,"content":"iVBORw0KGgoAAAANSUhEUgAAAOYAAAB4CAYAAADmBo6IAAAAGXRFWHRTb2Z0\nd2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAM1NJREFUeNrsnQeTbDfVRYdH\nm5xMTsYEAwbn//8fsKnCgHMmg8nJhO+t/lhd+x1Luuq+t9+8gb5VUz2tlraO\njqQr6eho6z3//ve/X/z73//+2Wefffadp5566srnF7/4xdVvf/vbq29961uH\nsOeff/7qE5/4xNVnP/vZYdjTTz999cgjj1y9733v23+/jX91G//qFPyKdW78\nFta58VtYPfxPf/rTV//4xz+u/vSnP+3zefXVV/f43//+9/eff/nLX65ee+21\nq0cffXSf5qc//ek+3nvf+9799+9973tXjz322NV99913wCXsiSeeOMTxee65\n564++clPXn3mM5+5aj0vvfTS/vf777//avTcbmNXzzzzzD6PW7duXS09L7/8\n8tUHPvCBqy9+8YvdOOB9+9vfvvrgBz/4rt8oz+OPP3612+0OYeiJ71/+8pf3\n39HtT37yk6vvfve77yqrdYYu0R9p3nrrrasvfOEL+8/vfOc7m9Rlp63cd7ut\n/GL3zjvv3H/776P/+te/rvij0qkgPv/5z38eBKBh8d1w/qhcw0xL4fn/NubV\ne97znn16/u/hU2n8PoNF3GPxlT/xlX8Gi/AaRrqR/Mfgt7Ba+kn9+0e4ZQSP\nchLGb6QzPuFg0imUxw7DQ7zE4mmVJx/lNj9wR49x1UPvIV/Lp47qQ97KzP+W\ng4cy8htlJpw/MfkfTHVqmDowL3VkHHWTdWL42rrstJV3dvR4fuCNQgISo7xf\n//rXV3/4wx8OYCR85ZVXrj760Y/ufwOEMNJ9+MMfvvrNb36zx0EQ3nh2IhRF\neuK9//3vP3Qc4vPWz84kfmIRZmXwEAYW+MoLPvEsMHHefvvtvfwWlsohXcqP\nbMrK75SbClVWGyPyiU868H/1q19d/fGPf7xDsYxU6AJ8w8CywZFPxRcrdYFc\nyP/73//+EEZ6Riji8vz5z3/e6+lnP/vZHgtMy/rzn//8oAvi//KXv9yXDVz1\n6YiJTITZcW3YpCc/3uqkz44p1ptvvrnX58c+9rFDA7f9ZGfhMQ/+7DB2JDs1\n6fj9jTfe2JeJUYZ8axzLQVkZWcEizE90wWe2GWTlEz0T73e/+91eN3Zy6o6y\n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\n18NfK2tP/io3+eQ5UOQyjL9aX6lP9V6NP636bnWiNLL01oNZt0tPqx204tRy\njOQizDrM9E4fW7p0dDNtpslOv6YuU7eZx8Xz54bh99aWI6eCc60xT10Xn9O5\n4Jh1X2/92DvFM7vG3OR0iWtIOTKdajqHdvpFTzeelI0ZltyahiWXagufv+Rl\n9eBpD8uR6xj8kfwzWDpItORyiqv8p+BnHGXtye8a0jWOvKeug9Wfes21kFPZ\nxHUqm3LnCJP5taayYs/wyhp3hldWeUe8ssrc4pXNunFUUyfJK2uclC91mfr0\nd3HklV1Tl6O2cuCV1dsijT+sWxT6GF7Z5IJVUS7oj+WVBd9pmQt5j/xUXtnk\n95zllU2e1eSVRdY0/sgfmryy4o94ZQnLqU/FP5aLVA6fyitLOSwrYSNeWeWx\nc7Z4ZcGUVxaMnvHHUxlb8srqJXROXlmw0aW0KR5fxG6QvLLUA2msb3WZvLKn\n1mXllbWt3MEr2+JlRUgoFnyorEqH0ApDyGrwqFytLXwKuITVw6ewp8iPslpY\nlVf2VP20ZOX/JV20wkiXxp/klaWRavwhrMcrq7HiGF7ZHrUIDWvWweBu8spq\nqBvxyqLbNP6A4wY/ukzjD2n4xPhDGvS9RV2O2uLFweAG0le2HAySYuRYapHR\nRv11ORjMUEme28Gghl2Lg8HluRnPiFJkxhB0rPHnnE4na+Kfw8GgpePW/3fj\nOfDKMtS6ttMjvvK+ylWavLLSN+Ymq5u3uW5L/Dz9Ib7cnyMs1wtgJa8s6YmX\n6d3UTV7ZKn9P1sRyjV3x1Y9cuaRP+kyNAd6RkQ4GLazKRZryJ2+tb2/WMcjr\nWtpNcPbC5PAlnmlcP0qpsQWvLNium5ZGOfM4hsHAdXKLwWDEK2te6cROWfic\n4ZVVl0xliYcsfPpb8squqctcP9uu38UrS0VXXlk5NCsvK/9r/NFAVLlaSVd5\nZeXflDuUsOzYfCd+Xj4kx+cpvLJVfvFd8KeseewreVkzrPLKZp4tXYx4ZTNd\nYvW4SJVfKyTGH8OSVxb8Fq+sDXqWV1bOWuJ5tK0af2wP2dF6xp/MY5ZXlk7X\nM/4kj+4Mr6z8THbE1DnYtg3yRLctXlk6aItX9tS6TKMg8ay3O3hlKWDlZQWo\ncmHWi1BaYS3eV/Arryz4lZe1hVV5ZV1IV97aU+SfkbWlHwwUVf4WPrJWXtkW\nR22VtSc/xok0/njnIy84eWUJMx1W4jT+tHhlCRvxyvYuFdJbZsb4Iw/sjPFn\nhldWmU/llUW3yRErryxlTV5ZjT/yyvKZvLJr6nLU1i8OBjcQf3SSZOZEyFbU\nIucy/szGH52KmTEWnSL/DPvD5VKh/1GrbMtQsaaTbHlyZivjzzny3+JkyMxL\nbZNLhZJXlv2vyiurl4Ib9Oy9VF7ZpAORxiF9SeWVJW3yykq3YJj0DpVXljVn\n5ZXVB9QpRXLBVvxK51BpUFpYlcEg9SO1iIdv05kg8aUbSfkTX33JUZt0FF5a\npPzIh34I8+6S5JWVlkJeWaawyOA14xp/1GeuMZP2I+8uYROfqWqLWuQUXlmm\njrO8suTP9HfEKzuiFrE8rjGJP+KVrdQi6FJeWdLgiM539FmpRU6tyxavLNh3\nUIswN25RiySvrLcHJ7WIYUkHkrycWjrFH1GLtLAqD2rip1W2UoYkfvLKVn5Y\n0/U4cO2YVT8tapHET7qRSi1iWAtrREehXC1qETFb1CLyufJnvFxjWrZqlSW/\n1GvtmFneGV7ZWWoRb/vipdC77WvEK2sZl6hF5IglXXIOt6hFeBG2qEXW1KW6\n82WfbeUoapEW9ceFWuT+o/HPSS1CwyDsJlOLkC8dM3VUn3NSiyRNi9Qi1Nu5\nqUWyrVzoK+8R/GOpRXphrYtvTq3D/1VqkZGOTjVKHU1fyRvBP73m3SDPqZx7\nf54k8M1Qw7yzwfm12yCn4FcsT5cYb2v8FpYOy8Q/B34La4TviQRx0tHe0yaG\nGc8TEMhgunxS7pxS1vLc0XD+UzblWXoZiDVzukRcdfSuRhttQF3mtoh6Mm8x\n88VV9SCe/+fpHf/yBM5svzm1rex+8IMfHLzrXQehPKk/PLHgSRI94tP4gzdF\n3jYN3UIeLvZ0SToOMOcHXwFd9DPPTizCrAzXmJ6kyNMlxEsnhzTC1NMlyu8p\nBSvPNaay1tMlOlZoXNJIVU+XeBrDMBuca8zET5qVfOGk/K5X0SvTHx4NExgl\nNCZYV4RZ+ciCQcLbqvI0jQ2VMNegNmwvFSI/pvHpNyuWXLut0yV1HSl1zYzx\nRyPI6HQJeJRVO0OeLvEETet0CXr24lp0Yyf3Qij0zv/e6YkMrC81hnoaJC8V\nOrUuaevgWq48NbWnFqGAAPC/GVC5COLJBU9xy4viiFnDPH9GOitffE41jPC9\nbGWE1cMn/Fj5fZu1sJQ15T8FvyUr8Ua66OETzjoEmVlHsh7hpUgc1pactuCT\nME4p0Jix0HpxrSMmeef6CzkoW67/zI91EWu51oiJ4UVOoJkRk1MYMyMm60b+\ncJwYjZg4AbSoRUhD+dP4o0UYahFd8tCNp3BcF+JEgMEHndIxOZ2Dg4HUInRe\n+8zauuy1xX3H/OEPf3h4YzgioDy3QFojTp7H7I2Y/u5U0BG5nsd0xMkRM/0I\nHdHy7efokI3dES1HzCq/Z+6U3zd5xVLWY0ZMt17qeUzSpfy+ZZVVP87RW1b5\nvSrOt3mOmPxGXE37Nl4JpPIco41VS2aOmPUaPkfMlkveaMRsncfccsT0PGae\nIRbPMmrM4vOtt946uHiC5ejngew6YmrRzvOYpsnzmGvqkrYoIZjnSN2q2j3x\nxBOHyHmuzL0XXIR8PG+Y5/NaYWTE2cBs7PzPm2aE73nMEZaL+4pfz8XNys/T\nwkpZZ/XTkr8lK3IsYfXkZ8T0qvc8j+nbtp7HpJPmVe88dcTk4TxmtZj29JXb\nLMeex5zZ1Pc85sglDxxGzN55zFpGdIIO8jwmIyZ1w8OIalnRJeGOmBB0eR6T\nT2YmW9TlqK3vnn766cOI4P6Op0vo+UyZ3Dx1RJMVLcM040tfSaHSwcCRwzeg\nI3LiJ/1j0lfq/+nbjzDw6xoz5U/8HPFTfqkOU1bfgsqaI6b4OWL29OMbVPld\nY1Zd5LpErJF+csSkQ9Dx+I7OLSthGmSQs9JXMlXLRivFZnVi55S9zOQzI+bI\n0qgjy9Lpkrzs13K0TpcgM/qpI6Y0kNJ61BETXecaUyOTs0Gm7daZ9JXOOvxD\nfxqD1tSl21y2ReSmXnnZ7J566qnDCX1GTx89Rnw72Mtdc4zCXLNUBgPemMfi\nV6wePg3/FPlRSgsrZV2jn56sS7ro4acTO/nwEpFCk1GCiqWj+BavDAY0In6r\nDAbI02Iw8LqAntPA7P2YdBj0N8tgwAi2xGDADKE3YjIDqCOmDv86seM15cxC\nhwbKii6pMzqS9JXElcHAUXZtXY7a4o43rbd9oRDXXo4IGjBco3m2LK2Onk3M\ntZZUfOmSB36OmMy7Xayn1TexvI2rkvdKMZhubuLneU/lT/dB8XXfqlgpqyNm\nhiXnT8pf8VP+HDGrrOparJZ+HPE9pkQHdDrGGt/brHib0xlpaMSTqDhd8lKf\nPLoltm77Qg6P5tURk3TI7ijeGwV1yaMxjkbMetuX67LWiOmsprrk8ZnlcRS2\nntGbI6Zner3tyzZj+2LEJIxPb3fzLKvGnzV16akTZ2F5i90Oq5AHgbUQWYkI\nTY+2Y1IY3jy8VZzKsiA2zM7KFIR0ecZRfI0/cnEa5qFiKpm0homVVtmK70Hs\nxJfUKOVPWZ0+oPAeVj0oTTyVKH7KP9JF+sqmrBph0LVh6l985fcGZ9eYjJ50\nROLwJidfvhvm3ivLDDEtb26XEEZ8jT+65NEhPZrUssrqnqZb2eihQZvHaMqL\nXJSNDmcZWtNdy9GyyvqbZ1fBRFbqDUzLB7Yjlm6M/M7LjnA7setO9WD7XFuX\ncv7YpmgrfN8bfxi+vU6MRpXTNxLQq3OK4VXYozCwwM3GPoOvv2LG85qznMqe\nir9GVv0nfWj8s/gpfwu/hTXSjy9F766kcbq25e3O29l0fKd8jh7ky/ecyhpW\np7KWJctTf7djLk1lXavOTGX1ge3lq8yUtzWVtTw5K9B3Vr27TldP+mhTNxq1\nwNbX2DW9LpBb1WWvLe5+9KMfHaaynkhI44+mYaeahEsp4fSN4TuZCJxW1Ytr\nE98FccWvWE4rWvdQpPGHMGkjKn5OxVN+PfpTVqeyyppTWfFzypLyJ35eXOu0\nPmUVPw0GYuX0p+rHuzdoIPzvtNWLXL27xK0d5OTPN3elduQhTGcQR6d0aEia\nlZxOVvrK0UjItDiZ0EfGH0/AuCRoTWWRmd9yKpvbDslw3qKvTAeDNP4QTrm8\naoG68cJaXoLSo2j8WVOX5G9bTBn3IyYLbDIgU/6345BYCsGkQ6hT2QzLW3VZ\nKOdUVnynmomvsAhfp7Ji5VS24tMYSYtZu4Xfk98jOS0sdVHlV4n8VflHusip\nrPimq1g9/ZOuTmX5jTh0RjfHDbNR51S2ykOjRAfErx2TMo+mso4mM1NZGqx5\nLE1lGZ1onFkHNW/rrTWV9becyqIX9Axmrk01MFF33pvDlJL0yIE+XMI4Dbae\n1tZlncpaN/uO6bEob7itQzLhOVXzDbkUVqdvM/ia3lvTw5zKnop/qqyGZToa\n5Sx+yt/Cb2H19JNHjPifzkOlO/0CizDT2XlyKusxt5z6ZZw6lc3y1CnjaKqb\nU1mnlzP7mMSlw/XyzelqayrrUbWWVVa9O+tQT5aFWZHp6SDeyE1cPnkhmmZt\nXY7a4s69HJnVKgscf5XZS6+SZMkzTK8e2b4ccdK6l2xiI3yxZMx2xKz4KKiF\nr/yex+zhj7BG8lf9pC58g1b5l2RNZjUMBFU/mtVpILnkAI9yuPfmNFDfTkdM\n4ifroKOZ0900/uQ1eK0RUw+nJSd288Aoo+dPTot75zH1rW5Nd4lDI67nMbOM\nLZY8pp3JkufBc+J7BZ66ZMT02nk+rQPrZG1dmsYRExzS7zsmERCIoTXXXgDR\ncQhLq6bKS6us5vW0TpJJZcmT6lGqPvM0zNPc6bpHHLHsmGLV6WcWFvyR/MYT\nv2LVjpn6kW2NsHS/U/500VLW7JjqR32JpS56+qdMrtHomE7/dfnik7dz6qKy\n5BkvXfIMqy55ps27QnNbQ33WI1Ot7RLzWHLJ0zrPC8arB1oueeJpOU2XvMzL\njmlZ0IsMBupXHUgCltjEYRQlzC0c62ltXeqq6Qsl2+KOTU8vOEmXIYZYEicL\nXN63OAojAxjMsrGDn2xiLXyUX7FkPMupbAsfJZwiP/gtrJS1pR8NBRmvp4vK\nwlfxxUpZe/LrYeUaE1zukSQu5aBBE2Y6sNMlT7a6HDFpgC2WPJnjei55x7Dk\nIRcOAbM3eS2x5Clzayorg15OZbU7pEseo6d6kmGAsqpLrbbYLpSHTmqatXU5\nausXJvYb+LQO9ebnEoveMQeltzz8vOVh6RHeDEveSE9LB9HvxrNj6uO11h7U\nlLvEhaxrNKcXHhjlrVvDtNbJGeSbpeLzO2F63IvPdKGH5dDvJvoMvvKfKqtb\nEPpH9vSzpS5G+jFMXP40MGSYaz/DdeowjucrKZ9huceY+dUr+pweiu0+3egR\na+ZGaeK5tdA79mU5q5XXW7PTP1mrrCc+CEs9pXz+5nfjpX7FWVuXo7ayY+8N\nUBbm/O+cXpczhnvnxXhEME2wQXq1NUOwAuvBgIUp9wYrvu5PTA3y+nTvr08s\nb2pKzx/kyn1MwsRPljzi+WJRfmVFjpasieU+JuVMfAwjVX7iiJ+saeCPZK1Y\n6kf51T/ePa6pmJLqfse+H5ikdx/TLQzyJ67GH+JpofRRnkrGhb5Ia6Oqa0zk\nka1vaUQkD+Sc2ccE1ysbe/uYXj/Y2sfkt2wzYvrda/jQuxZl0uhkjs7Qu/uY\nekf5G/XpPuaauqSt25dkXgR7v13iGpO/XEMh8AxTejJYL60xW/h1jdbCmllj\nttbIM/K31pgVq6Uf8Wfkn5U1sXr6z2v4dCX8yle+cnCS9qSMWFR0ZWKva0zC\nSFvXmC191bXgrBM7cpHHMUzsIyd2Ze6tMfmtMrFT5mRip/OoJ8qqEzvrQXWJ\n/kijPJlmbV2O2sqQif3U55gbpbbCuun4x+K16DtOWftttYa8m1inro1PkWFp\njX6ufnPrblXCljT8/434WzeYY+PdK53tbmDP5j0yFp1bn5cR84aNmL2Rc/Z+\nzNZUcnTP5EjWmWnpKWWeuYvyHPdj5l5oDfP/La5ZmNHRDidcF7EsSDWK6LTL\nItrzjC6QtcKlwUPrEusUF99JpyF+vSLBhbTGn4ql8ace+9KgIj55JvNB4rvg\nrvKnoaAlazoYEMYp+HpFQsqf+HnsK/E1zuh/KhbrC7E0viW+xjeNBWn8odzq\nhDD+16cWbK2h/IGR8mj4kK09fWU1/qT1shppqC/ZFEcPeXi6ZOT5k8YfqR1r\nHNsY676W8YfyVyZ2jT/GY81HPNfHlpX81CV6k8WOMOTReKZVdk1dojvbYrb1\nvfFHJnYS878dx46no7SuUm6Kul1imJ3C40gt9vGKz6cnxmew3C5x0VzxdX5f\nwk8n8yVZtdRWfNOvxW9h9eQnHcYf0iUTO5/mQ2OSD0izfrLkaeBIw4j6rCx5\n0pL0nNhlYp9hyVO+me0ScOlw6ru1XcJLEryWE7ttKLdL9PxJp3HqQuNLltX0\nGH/QPTrn5cTLjk/rbm1djtrKDgV4kNOT9jyeRcsjV5qn00I6E7YGn/+XwraU\nv4W1pfweQF/C6uF7IRANQX9SD23TSI1nOuJI3Zjy5Iip3NUq2ypP63c+l9ZO\nxEGOmemvuKmjXpyWVda88uWjTlLnhiWedW2HzzJmGo+wranLUVu5rDFvuFX2\nWMzrvjrvbjxrr9frrdvPZS8YWmXrVKV30edMWOsM3an4M1g3Hf9YXef9JMZJ\npvSRS17vXo/Wk5i9kXDWKrm1+97o96X1bgsjy+r/LavsUv1u1W8uI+YNtMpW\na+HSaLom763axb04UvdmHTNW4bNbZbUMsdDV74+1BkYFLXIuWPnuhZ4af2qY\nTGRaVzV4nIJfsTT+nAu/haXx51z4LawRPlhg+79uZGDq4pWWVP6X7ZA1kek0\njFA+Zay+ssRlLZSMgWmA8XeZ5kYjk/nOXJEgW7o6ahl/lLmO6pRBXaTxx2Ny\n+sOqO32NLYu8PqQHJ/XMJ2G6XK6ty1Fb2cHFoi+o1wWkr6w+i5qcCQNUq61h\nZoAgmIJZPOcWBPjS+OcB38TH0ob1rGLhBpW+sprKE594Kb++uDoK65+Y8rt9\n0MJSVp6qn/SJTPlJJ77K7skqflJhilXlT/3IWUMe6AksGpPcP5rwvf1a2sXc\nLsFnMw0jhNH56kFp87M8+WYnLr8jo2cLR9NLt2lmtkvApZO47dTylQXPe07q\ndkktYxI+25Glr6TcfNd3VV9p6kxfWWQgLnXHp36wa+uStp5t0bayNzBB/uvt\ny5Lf8rRIaklcSWpbYRSokhzzQEx8LD5YyJXWqx7+KfLzFluStaUfTOiz8p+i\ni578lfCZRoIvMRUs4TNhkhLXS2nJH3nS2kkDox1UqyyNfUT4LElyXt7bGzFp\nkOQxa5Vd8pX1sqaWVZYykle+fLTSJuEz2xXqibJbVnQp4bOXChGX85i88JLw\neU1djtri5TzmDXxGxp0lI8l1nsc8tYzHGohOMUgtYd3t85iXjvk/2Fm37CDn\nLst15Hvsoe5Lx7w8d/25qXuZN72st0am4zVhM6bprbBuOv6xup7ZDF/aEphp\nkGscyc+9XbLFltBIZ7M6OVe/OXTMau5es1HaMp2fij+DddPxT3EwGE2/tuT8\nuS4HgzVxTl1jzkxll+p3q35zcTC4oQ4GrRGzHlvaYsRcGpnONWJufexrRo8t\nXY6O152z3+zYT3F/BtNwHvvy9i33AT1CJMGvnDaG5bUA4OaxLPHdiPVYGfh5\ns5fHmvKKBPaY6hUJiY/ZeoTfk99y9rDy2Bdh7FnlsS/1k/w+LV2k/FVW06Uu\n8thdyo9+PBKX/DSY3C0H+XuLtEeYyDNv+yJebpcYVvcxrQ+5d/Jxj1aHhiU3\nuMxjaR/TPVme3rEveXl6t32Rl5ytYupELq8s5WPbi8ey8qhLtp74n/y9IBhs\ntlV0MFhTl9kWs13v9zFl+PKIkB0zw2sYf1ZEjZdhvrkTX5ayxNK7I79XrKTS\nyPvta7qKZdxkXVP+LJNYKWfKYPm82m5W/sx/qYwpS42XYZ5TrGVMOev/dswq\nT8qYHdP8Eqs+me9Sx8w8Rh2T77U8NY76T9a7lNvwiqmua/pWvdTvNaz+nVqX\n6s52fXipP/jgg/uez4a1m688vLEku/XBC6QSCHlHYobh/QBujkItfDZdJUca\n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\nWmXRcc8qi8xYpltWWfKqbYajWXxiZU2rrGty6o62gaM55aaetMpqjcXSz6db\nRGvrEr3RVpTbdr0/9oX1SuJa/reTULkIJCE0YJLiIjyFMYwzbZwEULgeiTJY\n4tOoUE7iI1wLS0uVWzAtfC1xpkP+iq/8WNeMh/JbWMpqZ039ePayp5/ET/nF\n5xG/hdXTD49WWUz4vMBomFgJ+a5VljDKRDw6pYTP6DcJn+1EEj7nG1t9Y3W1\nvuteIg2I333RjZ5WHr19TPKmDA888EB3HxM8rNFYU+s+pnWaVyT854zj1YMP\nPrgPo7OkVZZ0lAULLLrUKkvdcNKEwYd65dO6W1uXtHUwfYlnW9wpvB3DRHz6\nVjWM7/zlmUMV2Uqbb+UaJ3/PsCWstfj8HSvrsfo5Fn+E1dKPI3DG8Tcr2X08\nwvizvlr6zHqtnaTWd6sTtW40q2unrNulp9UO6tMqR/5W5SKeM7gsm6N7T5ep\nZ/MkzSn9plWXqdss04W+8r+cvvIced+N524Yf5bS3xP0lRer7M2xyt5Lnee/\nifPnlLzO1W92t9dib99ecN53e3H6jjcaafxhEcun82ddpDQpt8K8dox5dfLo\nsPh14ZwueRXfNYVykC6xSFvDwCdP5Nf4o0se+Bo7qqzgj2RNzh/ClvTD2sI0\nec1fS9Y0bKSseUNUhqkfZfd0PXlioACTdTVrGP7XLRAc88ny5jTPtEktgrzg\npt9ttTKqz/RL7T2ZxxK1CPlSPg1wLWoR8VqcP/6Wxh/WlK6Lve2LPw1A6f5n\nnbHm81o8freOrZO1dVnb4n/yve/2lPbt/xNgACBtIahImEuTAAAAAElFTkSu\nQmCC\n","encoding":"base64"}},"public":true,"created_at":"2012-06-20T23:24:50Z","updated_at":"2016-02-09T01:22:46Z","description":"Rectilinear Grid","comments":0,"user":null,"comments_enabled":true,"comments_url":"https://api.github.com/gists/2962888/comments","owner":{"login":"mbostock","id":230541,"node_id":"MDQ6VXNlcjIzMDU0MQ==","avatar_url":"https://avatars.githubusercontent.com/u/230541?v=4","gravatar_id":"","url":"https://api.github.com/users/mbostock","html_url":"https://github.com/mbostock","followers_url":"https://api.github.com/users/mbostock/followers","following_url":"https://api.github.com/users/mbostock/following{/other_user}","gists_url":"https://api.github.com/users/mbostock/gists{/gist_id}","starred_url":"https://api.github.com/users/mbostock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbostock/subscriptions","organizations_url":"https://api.github.com/users/mbostock/orgs","repos_url":"https://api.github.com/users/mbostock/repos","events_url":"https://api.github.com/users/mbostock/events{/privacy}","received_events_url":"https://api.github.com/users/mbostock/received_events","type":"User","user_view_type":"public","site_admin":false},"fork_of":{"url":"https://api.github.com/gists/2962761","forks_url":"https://api.github.com/gists/2962761/forks","commits_url":"https://api.github.com/gists/2962761/commits","id":"2962761","node_id":"MDQ6R2lzdDI5NjI3NjE=","git_pull_url":"https://gist.github.com/2962761.git","git_push_url":"https://gist.github.com/2962761.git","html_url":"https://gist.github.com/mbostock/2962761","files":{},"public":true,"created_at":"2012-06-20T22:56:16Z","updated_at":"2024-10-20T07:36:28Z","description":"Fisheye Grid","comments":0,"user":null,"comments_enabled":true,"comments_url":"https://api.github.com/gists/2962761/comments","owner":{"login":"mbostock","id":230541,"node_id":"MDQ6VXNlcjIzMDU0MQ==","avatar_url":"https://avatars.githubusercontent.com/u/230541?v=4","gravatar_id":"","url":"https://api.github.com/users/mbostock","html_url":"https://github.com/mbostock","followers_url":"https://api.github.com/users/mbostock/followers","following_url":"https://api.github.com/users/mbostock/following{/other_user}","gists_url":"https://api.github.com/users/mbostock/gists{/gist_id}","starred_url":"https://api.github.com/users/mbostock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbostock/subscriptions","organizations_url":"https://api.github.com/users/mbostock/orgs","repos_url":"https://api.github.com/users/mbostock/repos","events_url":"https://api.github.com/users/mbostock/events{/privacy}","received_events_url":"https://api.github.com/users/mbostock/received_events","type":"User","user_view_type":"public","site_admin":false}},"forks":[{"url":"https://api.github.com/gists/a67267e01096ce0f93e1","user":{"login":"getmorepc","id":6417,"node_id":"MDQ6VXNlcjY0MTc=","avatar_url":"https://avatars.githubusercontent.com/u/6417?v=4","gravatar_id":"","url":"https://api.github.com/users/getmorepc","html_url":"https://github.com/getmorepc","followers_url":"https://api.github.com/users/getmorepc/followers","following_url":"https://api.github.com/users/getmorepc/following{/other_user}","gists_url":"https://api.github.com/users/getmorepc/gists{/gist_id}","starred_url":"https://api.github.com/users/getmorepc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/getmorepc/subscriptions","organizations_url":"https://api.github.com/users/getmorepc/orgs","repos_url":"https://api.github.com/users/getmorepc/repos","events_url":"https://api.github.com/users/getmorepc/events{/privacy}","received_events_url":"https://api.github.com/users/getmorepc/received_events","type":"User","user_view_type":"public","site_admin":false,"name":"Daniel Buchanan","company":"Stringfellow Technology Group","blog":"https://www.Stringfellow.com","location":"Knoxville, TN","email":null,"hireable":null,"bio":null,"twitter_username":null,"public_repos":34,"public_gists":1,"followers":39,"following":21,"created_at":"2008-04-11T02:24:08Z","updated_at":"2025-04-14T18:41:57Z"},"id":"a67267e01096ce0f93e1","created_at":"2015-06-26T00:44:04Z","updated_at":"2015-08-29T14:23:44Z"}],"history":[{"user":{"login":"mbostock","id":230541,"node_id":"MDQ6VXNlcjIzMDU0MQ==","avatar_url":"https://avatars.githubusercontent.com/u/230541?v=4","gravatar_id":"","url":"https://api.github.com/users/mbostock","html_url":"https://github.com/mbostock","followers_url":"https://api.github.com/users/mbostock/followers","following_url":"https://api.github.com/users/mbostock/following{/other_user}","gists_url":"https://api.github.com/users/mbostock/gists{/gist_id}","starred_url":"https://api.github.com/users/mbostock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbostock/subscriptions","organizations_url":"https://api.github.com/users/mbostock/orgs","repos_url":"https://api.github.com/users/mbostock/repos","events_url":"https://api.github.com/users/mbostock/events{/privacy}","received_events_url":"https://api.github.com/users/mbostock/received_events","type":"User","user_view_type":"public","site_admin":false},"version":"e28f4a04aaa23d9e6e58457ee32ac44fca0d6cdf","committed_at":"2016-02-09T01:22:45Z","change_status":{"total":1,"additions":1,"deletions":0},"url":"https://api.github.com/gists/2962888/e28f4a04aaa23d9e6e58457ee32ac44fca0d6cdf"},{"user":{"login":"mbostock","id":230541,"node_id":"MDQ6VXNlcjIzMDU0MQ==","avatar_url":"https://avatars.githubusercontent.com/u/230541?v=4","gravatar_id":"","url":"https://api.github.com/users/mbostock","html_url":"https://github.com/mbostock","followers_url":"https://api.github.com/users/mbostock/followers","following_url":"https://api.github.com/users/mbostock/following{/other_user}","gists_url":"https://api.github.com/users/mbostock/gists{/gist_id}","starred_url":"https://api.github.com/users/mbostock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbostock/subscriptions","organizations_url":"https://api.github.com/users/mbostock/orgs","repos_url":"https://api.github.com/users/mbostock/repos","events_url":"https://api.github.com/users/mbostock/events{/privacy}","received_events_url":"https://api.github.com/users/mbostock/received_events","type":"User","user_view_type":"public","site_admin":false},"version":"5da760ace364e0d045e7ff46127ef13e1f407a4f","committed_at":"2015-10-31T00:47:47Z","change_status":{"total":2,"additions":1,"deletions":1},"url":"https://api.github.com/gists/2962888/5da760ace364e0d045e7ff46127ef13e1f407a4f"},{"user":{"login":"mbostock","id":230541,"node_id":"MDQ6VXNlcjIzMDU0MQ==","avatar_url":"https://avatars.githubusercontent.com/u/230541?v=4","gravatar_id":"","url":"https://api.github.com/users/mbostock","html_url":"https://github.com/mbostock","followers_url":"https://api.github.com/users/mbostock/followers","following_url":"https://api.github.com/users/mbostock/following{/other_user}","gists_url":"https://api.github.com/users/mbostock/gists{/gist_id}","starred_url":"https://api.github.com/users/mbostock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbostock/subscriptions","organizations_url":"https://api.github.com/users/mbostock/orgs","repos_url":"https://api.github.com/users/mbostock/repos","events_url":"https://api.github.com/users/mbostock/events{/privacy}","received_events_url":"https://api.github.com/users/mbostock/received_events","type":"User","user_view_type":"public","site_admin":false},"version":"5e0f579986cf785f70b23931fa3db719bb464295","committed_at":"2015-06-11T16:19:18Z","change_status":{"total":4,"additions":2,"deletions":2},"url":"https://api.github.com/gists/2962888/5e0f579986cf785f70b23931fa3db719bb464295"},{"user":{"login":"mbostock","id":230541,"node_id":"MDQ6VXNlcjIzMDU0MQ==","avatar_url":"https://avatars.githubusercontent.com/u/230541?v=4","gravatar_id":"","url":"https://api.github.com/users/mbostock","html_url":"https://github.com/mbostock","followers_url":"https://api.github.com/users/mbostock/followers","following_url":"https://api.github.com/users/mbostock/following{/other_user}","gists_url":"https://api.github.com/users/mbostock/gists{/gist_id}","starred_url":"https://api.github.com/users/mbostock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbostock/subscriptions","organizations_url":"https://api.github.com/users/mbostock/orgs","repos_url":"https://api.github.com/users/mbostock/repos","events_url":"https://api.github.com/users/mbostock/events{/privacy}","received_events_url":"https://api.github.com/users/mbostock/received_events","type":"User","user_view_type":"public","site_admin":false},"version":"d8eb903b0648788c9604aec8bac912c86c504683","committed_at":"2012-10-12T03:53:16Z","change_status":{"total":0,"additions":0,"deletions":0},"url":"https://api.github.com/gists/2962888/d8eb903b0648788c9604aec8bac912c86c504683"},{"user":{"login":"mbostock","id":230541,"node_id":"MDQ6VXNlcjIzMDU0MQ==","avatar_url":"https://avatars.githubusercontent.com/u/230541?v=4","gravatar_id":"","url":"https://api.github.com/users/mbostock","html_url":"https://github.com/mbostock","followers_url":"https://api.github.com/users/mbostock/followers","following_url":"https://api.github.com/users/mbostock/following{/other_user}","gists_url":"https://api.github.com/users/mbostock/gists{/gist_id}","starred_url":"https://api.github.com/users/mbostock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbostock/subscriptions","organizations_url":"https://api.github.com/users/mbostock/orgs","repos_url":"https://api.github.com/users/mbostock/repos","events_url":"https://api.github.com/users/mbostock/events{/privacy}","received_events_url":"https://api.github.com/users/mbostock/received_events","type":"User","user_view_type":"public","site_admin":false},"version":"f6ea268867e6733e0f9c1110142ba5ec503ca300","committed_at":"2012-07-04T05:08:30Z","change_status":{"total":2,"additions":1,"deletions":1},"url":"https://api.github.com/gists/2962888/f6ea268867e6733e0f9c1110142ba5ec503ca300"},{"user":{"login":"mbostock","id":230541,"node_id":"MDQ6VXNlcjIzMDU0MQ==","avatar_url":"https://avatars.githubusercontent.com/u/230541?v=4","gravatar_id":"","url":"https://api.github.com/users/mbostock","html_url":"https://github.com/mbostock","followers_url":"https://api.github.com/users/mbostock/followers","following_url":"https://api.github.com/users/mbostock/following{/other_user}","gists_url":"https://api.github.com/users/mbostock/gists{/gist_id}","starred_url":"https://api.github.com/users/mbostock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbostock/subscriptions","organizations_url":"https://api.github.com/users/mbostock/orgs","repos_url":"https://api.github.com/users/mbostock/repos","events_url":"https://api.github.com/users/mbostock/events{/privacy}","received_events_url":"https://api.github.com/users/mbostock/received_events","type":"User","user_view_type":"public","site_admin":false},"version":"31f4d8b2fab23e44b5464b1bb3c199fccb8ecfa9","committed_at":"2012-06-21T02:11:46Z","change_status":{"total":2,"additions":1,"deletions":1},"url":"https://api.github.com/gists/2962888/31f4d8b2fab23e44b5464b1bb3c199fccb8ecfa9"},{"user":{"login":"mbostock","id":230541,"node_id":"MDQ6VXNlcjIzMDU0MQ==","avatar_url":"https://avatars.githubusercontent.com/u/230541?v=4","gravatar_id":"","url":"https://api.github.com/users/mbostock","html_url":"https://github.com/mbostock","followers_url":"https://api.github.com/users/mbostock/followers","following_url":"https://api.github.com/users/mbostock/following{/other_user}","gists_url":"https://api.github.com/users/mbostock/gists{/gist_id}","starred_url":"https://api.github.com/users/mbostock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbostock/subscriptions","organizations_url":"https://api.github.com/users/mbostock/orgs","repos_url":"https://api.github.com/users/mbostock/repos","events_url":"https://api.github.com/users/mbostock/events{/privacy}","received_events_url":"https://api.github.com/users/mbostock/received_events","type":"User","user_view_type":"public","site_admin":false},"version":"e5abf80c7323be96aee3c65a3ee7e3fc4eb2d4f1","committed_at":"2012-06-20T23:36:06Z","change_status":{"total":2,"additions":1,"deletions":1},"url":"https://api.github.com/gists/2962888/e5abf80c7323be96aee3c65a3ee7e3fc4eb2d4f1"},{"user":{"login":"mbostock","id":230541,"node_id":"MDQ6VXNlcjIzMDU0MQ==","avatar_url":"https://avatars.githubusercontent.com/u/230541?v=4","gravatar_id":"","url":"https://api.github.com/users/mbostock","html_url":"https://github.com/mbostock","followers_url":"https://api.github.com/users/mbostock/followers","following_url":"https://api.github.com/users/mbostock/following{/other_user}","gists_url":"https://api.github.com/users/mbostock/gists{/gist_id}","starred_url":"https://api.github.com/users/mbostock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbostock/subscriptions","organizations_url":"https://api.github.com/users/mbostock/orgs","repos_url":"https://api.github.com/users/mbostock/repos","events_url":"https://api.github.com/users/mbostock/events{/privacy}","received_events_url":"https://api.github.com/users/mbostock/received_events","type":"User","user_view_type":"public","site_admin":false},"version":"ff0c313c4c2341b50a8bc9d2869ea4770e9f9e20","committed_at":"2012-06-20T23:35:22Z","change_status":{"total":15,"additions":8,"deletions":7},"url":"https://api.github.com/gists/2962888/ff0c313c4c2341b50a8bc9d2869ea4770e9f9e20"},{"user":{"login":"mbostock","id":230541,"node_id":"MDQ6VXNlcjIzMDU0MQ==","avatar_url":"https://avatars.githubusercontent.com/u/230541?v=4","gravatar_id":"","url":"https://api.github.com/users/mbostock","html_url":"https://github.com/mbostock","followers_url":"https://api.github.com/users/mbostock/followers","following_url":"https://api.github.com/users/mbostock/following{/other_user}","gists_url":"https://api.github.com/users/mbostock/gists{/gist_id}","starred_url":"https://api.github.com/users/mbostock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbostock/subscriptions","organizations_url":"https://api.github.com/users/mbostock/orgs","repos_url":"https://api.github.com/users/mbostock/repos","events_url":"https://api.github.com/users/mbostock/events{/privacy}","received_events_url":"https://api.github.com/users/mbostock/received_events","type":"User","user_view_type":"public","site_admin":false},"version":"f7393f88f442b095c712d6e6285acb27e08a9695","committed_at":"2012-06-20T23:24:21Z","change_status":{"total":55,"additions":49,"deletions":6},"url":"https://api.github.com/gists/2962888/f7393f88f442b095c712d6e6285acb27e08a9695"},{"user":{"login":"mbostock","id":230541,"node_id":"MDQ6VXNlcjIzMDU0MQ==","avatar_url":"https://avatars.githubusercontent.com/u/230541?v=4","gravatar_id":"","url":"https://api.github.com/users/mbostock","html_url":"https://github.com/mbostock","followers_url":"https://api.github.com/users/mbostock/followers","following_url":"https://api.github.com/users/mbostock/following{/other_user}","gists_url":"https://api.github.com/users/mbostock/gists{/gist_id}","starred_url":"https://api.github.com/users/mbostock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbostock/subscriptions","organizations_url":"https://api.github.com/users/mbostock/orgs","repos_url":"https://api.github.com/users/mbostock/repos","events_url":"https://api.github.com/users/mbostock/events{/privacy}","received_events_url":"https://api.github.com/users/mbostock/received_events","type":"User","user_view_type":"public","site_admin":false},"version":"f5a4b93a65bbb5e19f1f11f4f3bbc03f9dacaf77","committed_at":"2012-06-20T22:59:59Z","change_status":{"total":2,"additions":1,"deletions":1},"url":"https://api.github.com/gists/2962888/f5a4b93a65bbb5e19f1f11f4f3bbc03f9dacaf77"},{"user":{"login":"mbostock","id":230541,"node_id":"MDQ6VXNlcjIzMDU0MQ==","avatar_url":"https://avatars.githubusercontent.com/u/230541?v=4","gravatar_id":"","url":"https://api.github.com/users/mbostock","html_url":"https://github.com/mbostock","followers_url":"https://api.github.com/users/mbostock/followers","following_url":"https://api.github.com/users/mbostock/following{/other_user}","gists_url":"https://api.github.com/users/mbostock/gists{/gist_id}","starred_url":"https://api.github.com/users/mbostock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbostock/subscriptions","organizations_url":"https://api.github.com/users/mbostock/orgs","repos_url":"https://api.github.com/users/mbostock/repos","events_url":"https://api.github.com/users/mbostock/events{/privacy}","received_events_url":"https://api.github.com/users/mbostock/received_events","type":"User","user_view_type":"public","site_admin":false},"version":"9fa6642667d24d4c5937b439631a3351cdd5215c","committed_at":"2012-06-20T22:59:18Z","change_status":{},"url":"https://api.github.com/gists/2962888/9fa6642667d24d4c5937b439631a3351cdd5215c"},{"user":{"login":"mbostock","id":230541,"node_id":"MDQ6VXNlcjIzMDU0MQ==","avatar_url":"https://avatars.githubusercontent.com/u/230541?v=4","gravatar_id":"","url":"https://api.github.com/users/mbostock","html_url":"https://github.com/mbostock","followers_url":"https://api.github.com/users/mbostock/followers","following_url":"https://api.github.com/users/mbostock/following{/other_user}","gists_url":"https://api.github.com/users/mbostock/gists{/gist_id}","starred_url":"https://api.github.com/users/mbostock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbostock/subscriptions","organizations_url":"https://api.github.com/users/mbostock/orgs","repos_url":"https://api.github.com/users/mbostock/repos","events_url":"https://api.github.com/users/mbostock/events{/privacy}","received_events_url":"https://api.github.com/users/mbostock/received_events","type":"User","user_view_type":"public","site_admin":false},"version":"f9b58e4ed7ef49730dabc4ab9695ca2f4f8d4ce2","committed_at":"2012-06-20T22:59:03Z","change_status":{},"url":"https://api.github.com/gists/2962888/f9b58e4ed7ef49730dabc4ab9695ca2f4f8d4ce2"},{"user":{"login":"mbostock","id":230541,"node_id":"MDQ6VXNlcjIzMDU0MQ==","avatar_url":"https://avatars.githubusercontent.com/u/230541?v=4","gravatar_id":"","url":"https://api.github.com/users/mbostock","html_url":"https://github.com/mbostock","followers_url":"https://api.github.com/users/mbostock/followers","following_url":"https://api.github.com/users/mbostock/following{/other_user}","gists_url":"https://api.github.com/users/mbostock/gists{/gist_id}","starred_url":"https://api.github.com/users/mbostock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbostock/subscriptions","organizations_url":"https://api.github.com/users/mbostock/orgs","repos_url":"https://api.github.com/users/mbostock/repos","events_url":"https://api.github.com/users/mbostock/events{/privacy}","received_events_url":"https://api.github.com/users/mbostock/received_events","type":"User","user_view_type":"public","site_admin":false},"version":"d271459dbcfae8276860e09f4fdd9c0597fbdce0","committed_at":"2012-06-20T22:58:14Z","change_status":{},"url":"https://api.github.com/gists/2962888/d271459dbcfae8276860e09f4fdd9c0597fbdce0"},{"user":{"login":"mbostock","id":230541,"node_id":"MDQ6VXNlcjIzMDU0MQ==","avatar_url":"https://avatars.githubusercontent.com/u/230541?v=4","gravatar_id":"","url":"https://api.github.com/users/mbostock","html_url":"https://github.com/mbostock","followers_url":"https://api.github.com/users/mbostock/followers","following_url":"https://api.github.com/users/mbostock/following{/other_user}","gists_url":"https://api.github.com/users/mbostock/gists{/gist_id}","starred_url":"https://api.github.com/users/mbostock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbostock/subscriptions","organizations_url":"https://api.github.com/users/mbostock/orgs","repos_url":"https://api.github.com/users/mbostock/repos","events_url":"https://api.github.com/users/mbostock/events{/privacy}","received_events_url":"https://api.github.com/users/mbostock/received_events","type":"User","user_view_type":"public","site_admin":false},"version":"94c1632c8160846c4bbae612dc87b3c29c51fae7","committed_at":"2012-06-20T22:57:58Z","change_status":{},"url":"https://api.github.com/gists/2962888/94c1632c8160846c4bbae612dc87b3c29c51fae7"},{"user":{"login":"mbostock","id":230541,"node_id":"MDQ6VXNlcjIzMDU0MQ==","avatar_url":"https://avatars.githubusercontent.com/u/230541?v=4","gravatar_id":"","url":"https://api.github.com/users/mbostock","html_url":"https://github.com/mbostock","followers_url":"https://api.github.com/users/mbostock/followers","following_url":"https://api.github.com/users/mbostock/following{/other_user}","gists_url":"https://api.github.com/users/mbostock/gists{/gist_id}","starred_url":"https://api.github.com/users/mbostock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbostock/subscriptions","organizations_url":"https://api.github.com/users/mbostock/orgs","repos_url":"https://api.github.com/users/mbostock/repos","events_url":"https://api.github.com/users/mbostock/events{/privacy}","received_events_url":"https://api.github.com/users/mbostock/received_events","type":"User","user_view_type":"public","site_admin":false},"version":"0dfd0ebb20c92d14f282e0156f701b3ad26f1132","committed_at":"2012-06-20T22:57:31Z","change_status":{},"url":"https://api.github.com/gists/2962888/0dfd0ebb20c92d14f282e0156f701b3ad26f1132"},{"user":{"login":"mbostock","id":230541,"node_id":"MDQ6VXNlcjIzMDU0MQ==","avatar_url":"https://avatars.githubusercontent.com/u/230541?v=4","gravatar_id":"","url":"https://api.github.com/users/mbostock","html_url":"https://github.com/mbostock","followers_url":"https://api.github.com/users/mbostock/followers","following_url":"https://api.github.com/users/mbostock/following{/other_user}","gists_url":"https://api.github.com/users/mbostock/gists{/gist_id}","starred_url":"https://api.github.com/users/mbostock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbostock/subscriptions","organizations_url":"https://api.github.com/users/mbostock/orgs","repos_url":"https://api.github.com/users/mbostock/repos","events_url":"https://api.github.com/users/mbostock/events{/privacy}","received_events_url":"https://api.github.com/users/mbostock/received_events","type":"User","user_view_type":"public","site_admin":false},"version":"9025faa5b795e4483823959077fb1ffc238979b8","committed_at":"2012-06-20T22:56:58Z","change_status":{},"url":"https://api.github.com/gists/2962888/9025faa5b795e4483823959077fb1ffc238979b8"},{"user":{"login":"mbostock","id":230541,"node_id":"MDQ6VXNlcjIzMDU0MQ==","avatar_url":"https://avatars.githubusercontent.com/u/230541?v=4","gravatar_id":"","url":"https://api.github.com/users/mbostock","html_url":"https://github.com/mbostock","followers_url":"https://api.github.com/users/mbostock/followers","following_url":"https://api.github.com/users/mbostock/following{/other_user}","gists_url":"https://api.github.com/users/mbostock/gists{/gist_id}","starred_url":"https://api.github.com/users/mbostock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbostock/subscriptions","organizations_url":"https://api.github.com/users/mbostock/orgs","repos_url":"https://api.github.com/users/mbostock/repos","events_url":"https://api.github.com/users/mbostock/events{/privacy}","received_events_url":"https://api.github.com/users/mbostock/received_events","type":"User","user_view_type":"public","site_admin":false},"version":"33e8570ac66468d22189ffb8c98276b3d4b615e4","committed_at":"2012-06-20T22:56:16Z","change_status":{},"url":"https://api.github.com/gists/2962888/33e8570ac66468d22189ffb8c98276b3d4b615e4"}],"truncated":false}