D3
OG
Old school D3 from simpler times
All examples
By author
By category
About
davestaab
Full window
Github gist
D3 coc layout editor test
<!DOCTYPE html> <meta charset="utf-8"> <style> body { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; width: 960px; height: 500px; position: relative; /*background-color: salmon;*/ } svg { /*background-color: lightgreen;*/ } .tile { fill:green; } .tile.odd { fill: limegreen; } .tile.odd.center { fill:black; } .tile.even.center { fill:red; } .th9 { background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGYAAABmCAYAAAA53+RiAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA7EAAAOxAGVKw4bAAA9k0lEQVR42u29ebTl11Xf+Tnn/OY7vHvfPNRcqlKpqlSlwRrwJOORwUAbMHbTwQmZuptOAivQ3QnN6u6kAyFAAjQEEkyYAgQzxMSA8ey2ZVmyJUsqVamkUs315vveu/O9v/Gc03/8XinpZGE7sssyq7XXeqtWrfWGc8/3t8/Z+7u/e//gFXvFXrFX7BV7xV6xV+wVe8Vesb/AxMu9gP8a++xH3oc1RgghJ6wx81jdSrOs/Y3f8f0I8Zfqo3xJ+0vzaR7/2B/hB6EYD/pvxZgfkthj2ugnrOWn/Vr98SJJ7APf/O6Xe5lfNZMv9wK+HHvfr/48rzp+jPW1jYdMXvyCJ+w3eUIc8KX6bleI39HD4T+QUh34jf/+x3jq03/0ci/3q2Lq5V7Al2MP3H2aD33qs2GSZj9eDcLXO1LRG40pDHhKTrqu+sYkTRe9pfDDWZxkv/UHf/JyL/krNuflXsCXso//7q/zo7/ym3zXN772+LPPXz7V2ergOYK1rS2ak1OcOHKQhamqXFlbWyoK7bnu1/1H+rLs6/pTfPbP/h2Viq9+6gf/+puvrbb+j/Fg6tj62ipJljEuLCvbPVrb29y+Z4rQV/7hw4cCrfXLveyvit3Sy/+Pvutb8MOa2LhxpToYx97YkcPxcJT++LnLf+HPnP/sn3L81W/nkQ/89pwU3CasfY219u/kmdmbm4I0HXN1eZ0bm322uz3iYZ/77tjLvaeOx9WJqV/OUvMvfMdZ9WdrHL/vm1/u/X3J9hUDc8+dp0itwqV4Y+Q46Y80oydjz5NZnjYdIU/ESfzmwWB4YmOc1MeevDjRrP+r2/YffKLT7eof/uD/81/8vj/+t+/FWLtUDb1fnKlXXm+zpJYkset7PlJZpDAMxpprmz26/RFa5xzeN8ee2SnGcVYU2j5Wn2w8IRznfb//wUce+5vvfBMHX/WWl3ufv/bAHFicpyi07wfee09F0b2viYLLkZTSopektvtyrZsja8VKXox2siSvBP5GLYr+9XRj4vf/t//1Z9d+/w/ey7t+5b0APP7hP+ZVb32b+pf/7Gf+Rp6lP3fb3rlQFGNqlZB6rYoSEqEk7cGY1Y022giiqEoYBvi+w3g0olGvM78wy2A8eDRJkvdYay81mjOceO1fLu/5ioFZmp2l0Kbie877HojCb73TVYSAECBdB+u6O0Xo/1FPqvdfam2NdJafbITeN01OTPjHjh3/9Kve+Y5zpuqbcb+3U/HC9cD3v3u9tf1DT515ZimLe+ydn+HE7bfjuYqiMFxeafHRzz3J5WstFuZmuPfkHeyZmyQtcq6vbTA3M8nhPXPkWaKr1YmPOI7/j2cnw8+t9Npo4UrpN7Q1hlc/9PUN1FcOzMwchTWVwHF/794oePtJDyqAdTwjK+GjKgp+Dpw/K/Is3khT3KpLNkpnHale/dZ3v/uNe+658/vavbbnSgbC0KlG0V5HisowHlJkKYHv40mHcZrw5HPX+PCjZ9noxQjhYkzBnuk69586wsxUg+12lzgZcXBhhoN7lnBdDyPEc4Wxv60LnSDNXtd13ieD6PNWF+b+N3/Xy73/tw6YI/sPUFgT2ax4312R9/aTkYfve+eV7/+JdN1/89inHrv41u/4Zn7gP/w5AMsXHudj738/dz5w/2wRpz9u0/yvK6Gloyw7Ozs0mpPUqlWs0Qgs1hq2OwM+9cR5Hjt3mVEqkMLFSgHCUBSaetXlvhO3cWhpDs9VRIFLo1YlCn20saxvtnWtVqUeuRJhL2shf8zi/YEQxjzwTe98uTG4NcD8wx/5+8zOzjTf9/t/+AevOXLgDSfrtV++/My5fzVz8tj5wfKq/bEPffLF7/2Fn/y/uOPoAbq9wQPTjdo/CYR+vSusV+iC9fUNtrc2OX333TSak5giI09TLlxb5+OfP8/F5R0KJEoqFuemCQOP5bVNCmvxfQedDLlt7yInjh5iplnFcxRSObT7Yy5dvsrs3BRHD+yhWfExljUrnV8VUvxKPBitTs7PcvJ13/pyY/H/sZecx7zz27+N3/8PH+AXf/anmJqafsPbv+Wt995z9ED2wN2nP5pr/ez8qdf8Fz+T5mM+9+gTZEa/687bb3vzocUp0njA9RvLbLa22btnkUoQIKwmjlMee+oCH3viebaGOQKH0HU4vG+eMBAM+zHHjxxku9Ph2o1l8jTjmfF1NtsDHjx1hIXZKXb6Xba6AzZ6I9baHcZxwvHD+1mYbCwi+VFt9YPNyfpP3D4RfvrKZz5gD732219uPF60l0TJ3Hn6QXb6sfNLv/ze15w5e+F/bHd2vvfIoQNHKo5Uv/a+P174uV/7w4U9S3tb3/SO1+2opMLa5goA3/32t3Hi+NHgQx/71Ds77c5dwhZcvX6ZQX/IiRPH2Ls4C0az3e7z8c+d4yOff4FBUiCFpFEJOX54D1ky5NnnLrO8uU2RJ+xdnCfPCvLCYIViOBqzsd3GCIXreaR5gXB8kqygtbXDYBTjuB5B4Ml6FBy2Jj91cX39Y6N43Pm1933g5cbjpQNz170PIhW1ojA/YJH/LMmKt6+sbezdaG1x6doNce7S6kFd2DdpW9y7em17zdjs+sL8kvnjX/8F9u/Zs9Dt9v7+OEm/98rVq1E67rMwM8k9p09y58ljuJ7HhWubfPDTz/CFC6vkWqKkYWl2kqMH97K2scGl5U209BiNh1y9eo0iTzl29BCVqMJolGCFIsktm1s7YC2NWhXPcfCCEItka6dDa6dDXBTMTNRpt1v17fb2J3Y6O5f+/YcefrnxeNG+7Dvm9LG7kNUIo80k2P+lMPzdNDNRmuVYo/EcSS3yMFbgSIkVBlOYDdD/PIzCf/17//c/qQ9G/Z9Jk/i7e6Ox095u41vN0vwUldClUq/ymaee54OfPstGJ8EicZTk8IEFGlHIc5ev0R0mWKtp72wx7A/QAmphyMxkkzvuOEYlqvHCtWV64xgloBa5NCoh+xYX8AOfrCgYJyndbpsizzg422Bu0s8P7d/3fx45cuJftLY2kvvueRNiceHlxuXLA+auux8ArNJWvEkg/47RvCXJi6DQRflLBDhKEXoOSklcx8FayPMCI8ygWYs+9YPv+a7o9B0HHlIYleQ5xmYoYygKw/L6Fp/5wgWefOEG48wilUe9EnLs4F66vQ7X1zbJCkizhK2tFhaYqDexyqG3vUUlcqlEAfuWFtmzZx+d3oBWp8toNKYoCurViCMH97JnfhqBodAF7XYXj5wHTt3OzGSzK93g94JK/XelI/YVOu9KKR/Gmv6J133b1ycwd955HxgTCEe9WyP+sbHOXp0bcpOjlERKiRACz3VRwuAphe97GGNIM41UEs+R7Jtt8p3f9BoeOHUbRmuyPCVOE567dIMPPXyGF1b6KEfgCLC4TDWrHD+8j+cuXmazM2Q0GtDtdYgqder1CRCWdqfNztY2k80mtSiiUQ25/55TdHojzl26iuNHCKXQRYGD4bZ989x1x2GaE1W0SQmlZK7ZJAg8rHSKQZy2lxbn65YitfDvJM5P/a7/9NX3ZHdz8ME3f/0Ac/zUa1D5AK2C7wf+hUY2LBJrDUiJFAIhQElJGARIDAoQGCyAFSAlfhAhJTQrLt/7ba/jzsN76A/6PPLUc3zq8y/QGiRI5eBgAYtVLtYYphtVDu1Z4MbaBl945izVep16vUGWJrS3NtHWovyIPCs4un+R+04fZ2V9nSsbHaTjI4UALFiB0RaTJ8xPTXDvqaMszk4QOhB5IX6lyna/z+bmFqeOH2NxegJXSq2t+IyR/M9T0xNPjIeJ3XP3G75mwHzRy39mbg9zB/bR7Q7/ioE3SgRKKTzfR0iJ1hqBREqFUgohQFjAlsAoJXFdFyFBKpck0zQrEYHv8OFPP8Gnn7hMPzE4rosjFVY6IBVSSMLQp9A5KysbLC0tcOjgPnRR0Om2aW3t4HkhMzOL1KoRJ48c5Oih/bxw5Rpb3RjHDcsHQwBCIBAIIRBSkuQ5nW6PvDDUaxFWwGZnTKs94NzFS7TabSZrNaYnqtJz1QFrzau3WtuXj7z6my9/56tP8K9++w++JsB80TxGYxl7HlICSJRQOI6LVAppBdYYrBUo5eI6HkIYhC6wWmOtRTkK31MgJYU1CGG5ttbi4vVlrqxsgxOivHIDLaX3SSmJAo8sHdPrDfD8Chevr7F3YYaTx47Rf+wxGvU69eY01cDj2OF92DzjzLkLZMJFOUH5gMCLXmutwHMVlahKUWRs7HTodEf0h0PuuP0gUng4bsDC/CLJoI3rSBxXoZQkTsYntrdaf/ODv/Hzn3ZdFX9NUPlSwCihYKsHQqKkg+N4u2oUg5QC3/PQ2pZ3jRAYa8Fa8iJnYmICISDPc7wgwFMKXWguXt9AG4NVNwEXgMTaAt91cF3FYNAjy3LCSh0hJBrL9fUtRnHG/fd9A+NRjzSJmZuZZGO7w/W1LVBe+b1Gl2sUpZcYo3GVIopChqMB43GM4/poFC9c22SnN+TQ/n1M1iscXJjm2GvuYu/cFEIIOu0dzpx9hhvrm5F0XPm1FOJ80aNsfs9BdJwhlbxfKvWNUiphASHt7uMokVIQeC6+5+A4DoHvY4zGGoOSEms0UoASEmMsGhCOB1IhrChhEZYocrG2oNPpIoSD50claFIipAApGMUxvV6P+dkZmvUq51+4zHZvhHADEHL3+Co9r/wPBL5L4Lv0+n2KXBP4IUJILAIjFMNxQqvVYu/cJPefPsbBxWmwBcsryzzxhce5cOUKO8M0vLbWOXN1+dKlN73uIT7/1NmXF5iFg3soshQhaBud3Sml2CukEgIBpvzwQkgCz8VxHaQQOEoR+B7xeIxSCuUopIQsyxiOYxzfR7pOGWMDriOpVH1GoyHDYYzv13Ac7z/uLBZZ7jdCWFzPod3tcWV5HS1DPD9Aif8YxVhhb14tVMIArQv6/QGeF+C5PlIopFRYYbE370OTM9moMj/dJPIUZ889w6NPfJ7VzS1So1jdGda32v21t77+oY9fvrHKM+cvvLzAbC4vs2fvQQ4emW0VefGkseYNxooZIV2wdvdpFyglytwFWx5xvovrKqQqg4IsHeE5AiE9pBdgEUhhqVRcosin2+2RpgVBWEFwM4LYXaCUSFHmRpUwJEtTBqMYPygzeoRESGf3TrFYwHUUtWpEHMcMRmNcP0QIgbUlW62NxaJBF0SeZP/eOXKtWVm+werqDS5fuUynP2CQGlZbPVrtAbkRn85k5RMr6xtcvXb1lgPzJUnMp554hDtPfR+Txxorne5gZ3Vti3g8QkkPJAhHYCzkRYFUklKqJnH9gCJPKEZD9kyF3HXsMJdXe6y2Y4wQOL6HNZrNjRZC+fhBVP7B3UffcjOoEgS+j+s6DEdD4jjHcwOstRgM4uazJSUYCFyXIHDp9/rkuSEKqxgM2hiEEWAKQl9x7NBe9i9M4TkwMzPNdrfP9evXWG+1SJKErV7OdncAQuK5/jWk/NzDH/kTe+D2E7cclC8LmL/6V7+XdDxGK3Uq9J2DtchFmIS8SNFGoVSAkAptDGo3AEjzAp2PEWmPk4fmObp/nplaldv37aWQikEKH/nMEyy3elQrkxRW85+rWwQWIQRh6GOtpd3ZQUoH3/cx1mKsxhiJlGYXS0MUlZ6x024jpcJxvdKHhMRiEbZgYarKW15zigfvOclMY4KNtTXSPOPQ4hQTnuZzT7a4tN6mOzI4SlINfPYvLV2dm5556u7jd/DPf+mXvybAfEkS88TJO9jZ3MQLg++UUn53mmREYYWlpQXiJGY8GpFlCbpIyfKUJB2Txx0m3Iz7ThzgyN4ZfCkZjTXSCziwbw8HFubYNz/LKI7Z6Y/QuyeX2I2khADPdahUIuLxmOFwhOt5OMrFws30tcwdrQEMvu+jtaHX66OUQkoHKSWOUCgUSmiOHZjh29/0DRw/tJfAU3R7O5x79hxCSW6s3OCps+d55tIanX4GCGqVOkcPHGRyorYvy/P9g/5Q3n7o0OrpEyeSZ5577uUF5vSdJ5mannbTrPgrQjqvcl0fJRUTjQbN5gSWnMAVeC4oqfFlzmIz5OShRfbMNjHGEI9zLq9v8dyNdVA+U80685M19u9bpLWzzdpWByHUbhIItUpIGHpsb22TFxrX9cuLusQCa3nxznCdMhQejcbEcYJSCpBlUrmbrApr2DPb4Fvf9AAH55tIm7OyuszDjzzCteUb9AZDnjp/lfNX1hmnhjzNaVZrLM3PU69UcKSReV4c7/b6r83z7OPG6JVnX3jhlgLzJY+yOE0ZJbFnDHtD5VKJQqyx9Hs9rDDMTNex1pIlCUUSU/MVU9UIaSHLDZtbW3hCMc4S1rb7jL/wJHGWcNfth1G24La5KteWJe1Riuf7NOpVijxnc6NdJrLSAWNBgDE3Xav8igIfpRx6vT7aWKSjsGW2CgiM1hgKAlcQepLNzS2qDrTb65w7f47hOMNYxZPnl9nujTGFIR4PcRyXZrOO4yhyq9FpwdraJoDrOMqx2C+1bbcemO1OF4A0TZmemsFojZICKSSFNhgrUULgSUU1DKm64MqSisnzgloY4noew60evUGMG1Z48vxzbG+3mI48phs13v6603z26Uv0tKbb3SYZF3hBhBCl5r2MpixClP86ShEEPgjDYNAHFMrZTV4EYCQYAxQ06xF7ZqYwJuXxc+e5dFkhiiGgGaeWG5sdxlmK0QWjUZ+KJ8mKjOvLN/A9n0q1ikCQJQmNiVquDdnXAJcvDczm5g5KCjMYjkZ5Lti/Zx7pSbI0xfEDlHSRtiB0HULHoRY4eEqR5TmekjiOR6uXcvaF62z2xmihkPPTbO50OLLvTm47uBdXCvbMTPGJz5/lqZ0BblABeTMzEWX0h0BgiSIPz/MY9EcURiNlSZuWYbbYpWEKItdy/PA+Ttx2gMmJKuvb21xbXWXQ3cJ3JTvdhOXNDlYoxnGK1THTzSquhI2dPllhyHPNKE6JwpBaJUIptWytuXHrYfkygGlv73BgYzXeXtr7zNr6xvekScyepTmiMKTIc1zPwRqDsZq80AzjHFeUp89gFBNnBS8st1httUk1rLU6aCsJ9y6A9HA8H1cJZmYn+dY3vIqF2et85swltkcp0vGQQiJ32YNqtYaxmm6nh90lT8vjzSBLTQ1gWJqu8eCpI5w8vIdmrQJCMNWMqEWKZ871uXhtne1+ihaGOO7jSQgDF1OkGMfBCgm73moAhCAMA5RSiS1syteAm/mSl3/UaJD+4i9gLLPamtcNhqNarzcEoFoN0UW2S4FYHFXWZlwlidOcVm/E5fUdrq1tkaYJnuthEKSFJk5SttsdCmOYmmwQhg6+5zE/Nclss8po0Kc7GINyqUUBE7WI/mBArz9GKgchJSAQwoLRGKORNueuY/v4b7/tjdx38jC1KEAqQZwkXLt+g6fOneeZF27QG2eYQhPHfRoVRaAcdtodlBDMTU8y3WwihGQ0TgBJ4PnUKyFKyhsC3ieEiM9euLWX/5cEpjI1gc3BSi5ZwyVrzJEszRdK7qnAD3yUElijcZXEUw5FYVhrdbi6tkM/zpBKMDlRpdmoUWhDmhWkhWaU5Gx2evSHA2Ymm0RhRJrmTE9OcOL2Q2RJTGEALJsb62S5xvGi3afZ7uYvAqzBV5bbDy3xrW98NUcPLBAP+1xfXmGYZnzhmWf43NPP8dzVdVINaZJishELzQoz9SpLs00O7lngjtsO8c1vfD3333WC2w/txXUd1ls7BEFArRIipFxByPeBGJ+9cGtpmS8JzLjbZzjo4arI3Ha8+ny3FX/O8/3TWtu9g1FMkuZIIcmznHicMUpz1rZ6LLfaaG2YqFcIQkngK6RQKMelMAVZmpEXhiQt6PRH7HR7GCHZ6faoTUxQ8V2mKh6RZ3n+8lUSrXC9oOQVdo8Si0RazVQt4PQdB2nUQrY7HdJ4yHPnn2GjtcX5F65w5vkbrGx10VozHo3xpGZuKmKiWsERkqOH9/Pa++7mgbtPUq9WCDyXfYvzVKoRFy5dpz/OcJQkKwg7o3hspHshqlXjH/t7P8oHP/7nLw8wN+3UXQ+QMs3SzHwtDKI3OJ5/JMtyxuOYJM0YjRPavSEbO12G45jQE5y+bQ975hq0ewO0leTakhcpWIPRFq0NeVYQZ5p2P2a11abd7zEc9fEdwXSjxsLMJPsX5kjGY3qDEWU6KcBqfKm5bXGSNz94mgdOH2NpdoqiKNjZ3mQwGnJpZYtzV9YZJTFpmjGKh0xUHSQGKSXVKGB2ssED95xm/95FsmRcymqt4JnnLvDoE+e4eH2VTm9Itz/GWFsJgvChKIoO7FlcPIsX7sxOT/Lcha9+svllAXPXg2/EA9D5g4U2v2KtfMjzPOH7JeUhhKUwBYXOkcoy3ajyqpO3ceLIXjq9Pt2RJqxM4PoejhJkaUaRFyglUY4kyzKyvLx30iynKAyLM7MsTE/j+gHNeoV9c1PoImettYVCc3hpiofuO84DJ2/jrmMHmZ+eZKJexZWaK1ev8OSFFW60+lgrGI8T0DHzjSrpOKbT7VOPKtx76hhvfuhB5poTJHGMG9bo9gY8fuY8Dz/xLOM4oVarsb7TBwH79+7B8z3V7Q1OdLu9+6/duNIdjIZX9+09UCwvX/+qAvMlw4tTd78RQYJF7hFC/GshnW8RQmBNQV5kFDolijyqFR9rNdYa6lHIfLOOlJJLNzaJ6g3qtRp5llEUBePRiI2NTZI0oVKrkhWa4TBDSZcoCpls1Ni/MM0b7jvNydv2ETgKYw07vQEbO31cpViYnqQxESKsZqJWxfF9zjz7LF848yxnL63Q7sdIIRkN+/iOZW6yRr0SMtloIJVg/8IcD77qFFKAzi1+ELK6vs7nz17g3IWrTDcb3HX8MO3+iN/5008wTi31iSZKBUjHRQiwtmhbY38a5C9bdE/g8OijH//aeMzU9DS60HUhxc8I6XynFVJYm1PkOVmWkiQxo0EZpblKYazFIkgKwTgVjDPNTqeDoxwa9TpB4BNFEbVaHWMMAkulEpblgSwnzwuywjJMcjZ32hS6YGZqijgrSLKMY7cdYGl2imrgMxwOuHLlMuutTc5duMjDjz3N+WvrDBNNkefEox7VUDE3VSP0PaLA5Z6TR3n13ac4dtsB0rzA9XyEEDx36SoPP3GOC5dXOHJwL6ePHSDwPZLccvXGOoNY43ghSjm4TvklpQyx8tVgDwgpzioh2otL+1lZuXZrgTl84j6s1hTwGmPMjxorK9ZajM7JsxIcrTV5XhAPx2A0nXaPPDNMNidxXIcoCnEch512myTPqFYrRFEF1/Wo1aogoCgyXLes58RJTJ5nJHFOnBe02l22B312+mPWWm18PyAMXbrdLc49e54LVy9zcWWDpy8ss7zVJzOQxjFFlhBEiiIvqIYhUag4tHeRV508Qb1aI80KQt9nOBjz+NkLPHbmOfr9EXfcdpDQdxkkOVdWtnj0qefY6ae4QYjr+jiOg6MUUoqyVqSUKwR3WrjbWr1sTLG6d+9+vbLyleWhXxSY+tQcasIXRaJ/wFjebIwpXVgbtM6xu2VMiWWiXgch6fZG9PojtDW4rgILUSUkDCMGwyE7Ozv4fkAUVfA8l0olQipJmibE8Zh4PMZxFIU2jMYZcarp9IZ0Bn22Om22d3YY9rusXL/M5laLztDwwo0u2/0YIyAdD4i8gmbNo98ZkCYpe+ameMP9d/HqV92LVBIhwPcDriyv86knzvKFs5eoVKsszM1wfX2LZ15Y5uzFZS6v7jBIBcqL8H0f13VL5vpFFtyiHInjuEJrvT9L47dmWXZBCnlhotlka2vz1gBTqUyTj7KaNeZ/0EYflVIgpSxr+ZSUuzWGWrWK53p0egM0EiMkw+GIfn9AnmdMNhr4no/vB1ig1WphjaVSqZQ6AS/A83yKoqDI8xeroNZa8jQjTTPiNEW5LlmeMh50QWvag4TLK116owStE8jGTNZcZhsRe2YnOX38GCeOHuY1r7qTO48cpihy/KBCYQXPPH+Jj3z2HE88twxSMh6Pefr561zf6DIqLNYNcNwQx/XxPBfXdXEdF8dxAIEUu7U5oxmNBgwGPeIkrhZF0dGF/rA11mxtv3RgviglUxQFgCeEnUAAukABjh/iSImwUAkjXNdhZ3sbY8GRpZdoDYNhwng8pjHRYGlpEUeVf85zPTZbLcZxzOLSApHvU63UObg/IgwiNtZXUY6iXqvQ7g0ZpzHjdkqcFSzONQhUyDhOWN/sMc41eTEmkIbpRkCzWq5tslbnvlNHmJ+awnNd0iIjqNTodId87swFPnf2KuudEUL69BMYJzHaSFzfQ6qy9qOkLAlbpRC72jkpAGUoipThcMhoNCTPU4wxJW+K9E2mhRVfGdP5JbiynDLD3t3s3JDaBCEVjudSq9eYqNVZXlnBSFmGeNqgpMJagRUCa3KuXL2OUoqpqUmKPKdaifA9h9Z2mxcuXmb/3iUmJuo40mFhfh7fc2m32yBhqlljMBjRH8SMRiM2W5CNEhypwUIWj6n5AiUV/VFCoxpSjQIOH9jHwuwcRms0Ej+ocvHaKp/5wnOcvbJBnBmk44IVCCsIghA8jyLPSxCkQsmyPiSEQCmJIyVaZ4xGA/r9PkkaAyXjnRfFbiHvZsn7KwPmix9l9QnAhkLYd1tr91vACIG2GgtMNpvESUqcZkipSv5KlEUqa8yu+khSi0LG4xHtTg9jDWEYEAQ+1UqIMYbN1jaFLqhUQxzHJQiiXZK0QBc5nqtwlSDPcvJc4yiJLyWVsEq14uApQ7vdAyk4eeQAb3vtN3D7wf1oLFGlwjjNeOzpC3z0M2d4frlDjoNynFIHJ0p+TzkOynFxPBcwSGFwnDLPUkpgirIs0O1uMxj0yPNSuy2wdDpdCm3wfA/gKaz8UwSm09m6RR4jAOxQID5qrDllkRPlMaXJ0oTxeMRolKAcFxeHwigKWZCTIXUBBibqdXxXsb2zQ2Esre1tRuOYpcV56rUqszNTBGHAZmubeJyyd+8Soe8TVSsoR9HtdBj0u2QIJusRyq1SCSMOLk7RmJhgNNimEUgeuPN2ms0K95w4QT2qoC3UJ+osr23wuWeu8MjZq/TGOY7roURJgPqOxHUdfD+gPxhiMQghaNSaCKA/GJJnBUkSkyQJ2W6XgiOhGob4nsPK2grDYZ/aRBOBbVtrv2Ctr4XIb53HjPpd9u87qI3l8enJRpRn2Wt0kQuBQQqL60hGcQwWHClRqqyzWwxG67JE7JdBAcrD8QIc12M0imm3OxRFwUS9RhgGZdQ2GLK9vYPneYShj6M8/KD0oiRJmZmcZmlhkdtvv53pRh1lC6TRHFhs8sCp2zlx5DCOlDiOg3A8nr10lU8/cZ7Hz99gVChc18NR/2mV01IUOUWRcurOo7zxoft41aljTDVrjMYjrl6/Tq/XJc1SClPgYIl8l0olJMtSjNHUqlF/MBqvgbji+f7/Lqz5HSGL4sqVr4zk/KIe873v+r4yPMbutda++sbKDXljeYVMW4zWjMcxRVGgrSklrn6IchwCfCq+TyUM2NjcRDoenh/sbopFF5oiS1lZ3WQ8jjly+BDVMEDOTtFu97l29QYzc1PMz83hui4TE02U9EjTuAy1wwiSPlbneK7D0YN7mZpskGuo1ht0Oz3OvnCBJ5+/ziNPXUAFNSYnp1GyVIMKBNIBrQ26MNx11wne89+9g6lahcBTFFrz6Oe/wPXrV7k+6BH4Ab7vlgyE0fQGQ8bjjEYtZGaqeTkIop/3/cDcdfKOj7e6vfRbvuEevucHfvjWeMw73/E9WGExRh/C8vOe477Z6lw4jiAIQ8ZxCYopuxww1mCwSCnxPJelxSV2djpkWuP5Pn4Q4N3MBRwHJcs/bYwlzzOMNVQqEZUoolKt0Gq1icdjKpUI11MIKdja2kZraNTrpPGQ6zduELiWb7jnBMr1aEw2WVtv8eiT53js7HNcWdvi6somw1GC2O1SkKoUIhpbFvNc1+H03Sc5tH8PUeASuJJK4HFw/x6SPOPq1etUwwhXKeI0pdMfkOSlmL4SuvieM4GQ9x3ct+8djpIHpDGfvrG+FX/+qadvDTB3njyJwNZA/oTnqHcqKUU8jlES6o0aQRCQpSlZloGVIFQZneQ5vucipaTb6+N6Pq7r4+3+q9wyFHWUw/TUFLVajZW1Vba3d4iiiMDzCAKPxkSdbm9Aa2sboRRBEDAaDmm3O2xsrNNqbdDp9ZifqvGaB+4CoTj77AUefvwsF66uIl2fnUGCxkUbGAwG5FmG6/sopbDWMFGLaE5OEFUrGK2pRgG10EcIy/KNq4wGXdI45eq1VW6srhOnOYUxWCGQlOy36yrXD6JGLYwCYe3tRaFJ8+Kz9546VTx59qVrnL8IMHeCEAcdKX/Mc5ymFIJxPKYoSjqmVqkx2Wiii5w4TtmNK7FG4ziCeDwm1xbHdVHKRcpS8SJEmTnPTZeX9+rqGtpAnms6nTYWCHwH15P4fkCSZGxvdSiKHKwlSXPCqIqUAluk3H7bfvbNT/H4k8/w2FPn2dzpMT83w7X1Hp1RQaVSo1qrYa1lMBox3pU4Lc3Pcv+9Jwl8iXQUKIj8gK2tFhcuPo+Sgn0Lswjh8NTZ51nd2CxbUG4m2UqwMDOJFJJqrUHguXhKOLmxxw3qWuE1zt178jhPPXPmqwvMieMnsNbaNI3f7LjOISklo/EInRdI6RIGFWYmp6hEEUWek2ZZSdAYg++5JHFCoc2LR8fNGjrWEoU+k80G128sU1izK85TFIVmMBwgpNxt8ShwlKQShnS6XYajMb4X4Xg+nuuCKZis+rTbPc5cuMZks8nS4hzPXlllfScmCCu4rovnekRRhOM4jMZlPuQ5igP7FwlDn+EoplqrUKQjrl66wMbmNsrxmZ5q0G732Wh1qVdr9PvDMiWQCmssEk0lrBAEFQLfo5RSO5FFVqUt/kQKkT555qUdaX8hMHfccZx9e/foCxcvnxqMRg8GQcBg0Gc4HBEEFRoTDcIooMgSQs9FObK8d3SZlOq8QBtb5gqwCw54StCoRqxvbJJri7srPJdKoXbpjn5vQJpmhEGI6zh4nke1UsVoCKM6cdzfFWc0iMcDRuOYo7ftZ2lumqfPX+HKxgDXD/FcD6VcUGXEGIUh9WqFOB6yurbK9RsruK6PVA5ZnnH38cPcc+Iw8/NzJfPsSr5w5jyr6x1CP2SzvY215aUqhKASllOhwiDC81yULDvucl18UuP+sVLSfOHpJ18SMH9hVGYRrG5s7q1Uqw/dWF6m2+uh84wiK/CDKmFUko9Yg+tIqpGPJw3Kd0jzHFPyE+giJ7UGaw1hENGYnizJyjhGeQFIiRIOQjk4bslJZYlLlhk6nT66yFlcnMfzAxrNJkVu0XnCKE9pTkziKcHRAzNUA5eL15a5vNrB8Splt4EjsGI3c5cSx5G4rgQMhdFsbnf45MOPsrS0gOsqirTPWx66j9DxiDyXsBowSkdsb7VoNKdAgtU3i1iWTr9fat2EQxB6DMYpra2WLoy++OFPPlz8re//qy8JlC8OjC7IrTGR7wWBHzAYDXEkaKtJiwypJKYoEBKUq9CDHFfB/j17GIwSllfWMaZAWInWljSJEUaTp3V2ut2yPKxzhCgZW6UcHAeUdGg2Jgk8h8uXX2A8GoAULC4toZTDsN9BFzmFhUF3h5Onb6NW9bm+ts2TF1cpHB/Pc8qezt0DQUnwXIUuMjY21hh0O/iOQilIk4Rr15dxXI9xmpAXllros7G2Rs3NGHa2UCJnMO5T6tcoGQ2lKHRKp9cjTjM2tzZJ05giz9WepcXb/+a73hn2W62X3Br4FwIjdA6aTSXks7VqdMdwPHzRk8ZxwrUb11DWkOUx2lqGwzEWSRCUIXG322U4HO9GMexGbIZet8NonJQNtgK0lmXv5q7ypdmYYGZ6mucvPI9yA4IKbLd7pHnBRK1JMuqjjQEL3d4OUh5ie5Dz2HMrxKZkpcvWw1LDbKXFcRRGF2xurNHvdamGHlHgAwLluOSFJc4N25sdzjx9kWrV49Klcxybg7uO7mdlxyfWJf9lrC77gqRCF6VWtyg0g3xAVuRMVGuEfnBgOB77xtqvPjBGa8K5uXG6vf1ENQq/S4IojyeBEJLtnW1MlmJsgbYWa8peSnYVk6Hn4jYmGKc5/eEYaw1KKIajAWlmMNYS+j4IB21yhFD4bskoX7t+DWMMQRiVVH+W0OsP6XdHuE55LBorCFzFSmuHG+sdYiPxvQB3N5BQsowShRIoIdjc3qTbaeN5Lr5SCArqtTqVSgWLZDRO2emPWF1dRqCZiHwqgWZlfQdt6ljrlN0F2iAdeVM+/aJ81+w2clWrVYSU54s87Vvx0qcnf5GjTBNvbyPgjMAOHKXqcVKGrDcVmIW1CFsWyrSwYER5MaLwPZ9GFOH6Pq2dDhubW2hTkGQpRkOBZWwMgRVlNVA5zEw2WFtbI8k0jlu2M5dHnFPSMvEQbXXZy1lohDWcubiKckOCKCrDclF2G4sXKSLLdmuDXnsH31VUQw+Tj8oM30j6cUo99HGlZbLikxQlO6Bshithenqaa+0MoWTZMyolQpRRmbEWacCYHG3A9zxqUZiDPW9dz4g8e8nA/IWTyv/4wx8ua/JSnFnb2Hx4FCfkRYEAHCXYbWCE3WzfWvsiE1CfmGBmdpYwigh8l8X5afYtzlP1A3Sh0UajTTk6ZByPSJIxYeiRpCnD0Qi7m5UjZEmQej6+FxB4QRll7WrHleNjpUcQVHAdD2dXdSN3gfRdSbe9zVZrE6Ukk40GtWqNqBohHIdRkjIZKQKhSZIEazS6yLnZlR0PE0a9Po4sH8Dd3sayHG40ruviqLKTTQBhECGk6IA9Y4zmDz/0sZcMzBcvLVdrLG+0hr7vt+MkvVcXxcyexXmqlQppnqN1/mI7njYQVWtMTE7heT71eg3lqFLSZKASVliaXyhZ215/N1oqy7xFkVONgrKz2OxOx9g9Mm/WQlwlmGo2WFhYJE0yKpUKExNNwqiC7we4jlvWUJxyFoEjBTvbm2xurII1TDUnuP3IEaJKhBAuVkvGcZe7DjXxlMNmO0ZrQ6YLlKPwhOXInpDZuRmubxZkCAajYXlkibJ9PoqCsgRiLbnWZEWGseaPZ6anf0MXOn3u4qVbA8zaxjr33H0X8/Oz1/M8vxgFwUMzzeaEIyXjNEEXBXL3YrdI3CCiMTlNFFbB2jIQcFx0Zgm8kJmZaXxHUBQZSZpgS7coZ9EoQXc4xFhQu336Skk81yXyfRZmpjhx/Birq+sgFH4Q7gYaHo7rvVhldJWLErCztUFrax3QTE3UWJqbZaJaKb1CF5gipRolrG20uLLSRTrl0VkYjaMcBAalexS6YLOn0KLsAbXGIIUqW0E8jyzLEMIOLXalMdk8u7hn8UdTzPLtYpZHLry0rP+LHmU37aMf/ShG2/zwocMfP7R/30d838fzPHzPA0pQjDE4joPVmiwrsNIhrE1QaFDSw3V9qtXarl5AsDA3zexkE2E1VhdYY4jjMXmakCQxcZpgTAm6UpIo9JmZmeLy5SskSY7nB3heiOP4u6NSbgKpcJRgZ2udrdY6GM3kxAQzU1NMNxtYU2oK4jih3d6m6sRMVR2S9OZdYF/sxhZS4rgRGoEUGkyBsHa3U63sLHBdlTcbEw8XRf4x13Heo7X+2+9//5+eO7DvAP/sP/zmSwYFvszRiwf272O50s/V81lHKReJYM5xCBxJnhfcTLnGSUKajOmN+lhRx/NCxsMBjutQqYbootQ5+45D4ClcCWEUMhonJGmKKTRISHeP88Bx0bqkU5ZXVml3hyXFsztPQEhZtvNJUWbdEra31tna3kBIy8xEk2ZjgslmEynLKRmFLlU3uSmoRg6Ddk5RlHofYW82q1mEgDBwWJpvcm1rSDoaE3gerufS6Q3wo3C0uLRw3XXlT61vrD09isfro/FQf7XeY/NlvaZEKMUf/PivgZJip9tlnGYEYcjU5FT5NE5OMlGrUatEFPGYbDyk3+/S7Q/RSDKtyYucPM9AgFIOYPFcwZ6lWSabVYzVFNZgjcbqnDRLGAwH6Dwjy3I2tzvk2qB1WYSz1iIFuzqv8vja2lpnfXMNIcoOZqSgVq+VOYstu5vH4zFJMiRLhwihqTcraCwagRY3g2CJMIpWO2Z9ZYXIKUPuShgyWa8SBe4m2F8Owuj7hFCfue+++1fWNrb1jZWNrwooX7bH7Nu3D4B77r2388lPfmp85caNaGqyiSMF7I4nKYpdGsZakkEHYQw2EKTGMOp32GqtI6yhyFPyPGecJgglkY4gCj3i1EOblCLXSGExRpAkMWkyYmNznXGSIqWDqyT4LlI5KJySalGCrdYmW601BBbfc+n2emRhyCHXLWcQWFuCPehTJCNEWpAPCgoGoGzZX4PAmFKShZR4vseRg1PEVwybI41SikoUsmdh7vNhVPnx3/2993VPnz7NmTMv/S75ioCp1Wr85E/+BLOzc786HA6qcRz/T5tbuiaxOFKgBGhjEVLgSHA9t9SNSRekQuuCZDTCFCm6KHZ7+gWSMtQ01lCNPCabk3T7Y7q9HsZowJKlI9I8Ick1vhtgXQeERbk+gVRgLTvbm7R3tsoinSMZ9gdkhcEiuHr9OlXPw/ccsjwt15llmHjIbHMS4XuoK5ugCxDixYJfLiyD2LCz3aXiBUgrEKKcPNWYqD9jHa/7rm/7Zt73Jy9jG8YHPvABPv7xT3DmzLOjLMs/n+VZXwk5D8IzxmwjeCHPi0BrPTZWBwJh87wQeZ4hhSmFfEWB1eXlatkNsXVBc3ISISVhEFKrVZhoTKAch/E4LuehCUuhy8HXpc6tpFGkcnGUIokHtNstwKKEYDwaUexuspSylDhlBaNxTK7L79GDPno0wg8N1ljWt3OscBCIcnyXEijpoiRUnZRmLaITu9QnZ0jTJKtUKr+p8+zM73/gz24JKF+2x9y069cvc/i2OwagfjEK/Y/lhd5b5MXIOvIGUhwr8uyUkM48Uj4QBOE3FEWOIyiTM9gNem7mKSXv5rg+S9MzJPGYLMtRUrIwO4XvuGxubJa5AQUWB4MlSRKkVPh+SDweMR60S4+Mx+gifzFCu2lCyN2hPrs9aMZQUx6Tgc9EEFANfaqmRz8dkljFME2oVQNUVZBJi+M67FuoMvQnOfXgm3of++jH/0gq9Wk/DG8ZKPASxvt22tv0ujtmY3OjtbW1eXFnZ+u6Uqr7qrvvvNTvDx+vVisfm5ube9ZRzng4Gp2aajYdKO8Lq2+OhS+Pskq9QWNqBt8tjzHf9ynyHKMtlSBicW4erGE4GmJ0WUYQiN2GWIsuEoo8xuicnfZOGS5L+WJziZQOgeeVQxl2NW7KGI75kvvqAeGk4sDCJI1OyrwnCEROs2KoVgxpoUlyH2s0U9WCEyfuoDF/tNeYnP+Xh06efuTA/v184AO3bk7zV+WNS+vr6/zh+z8AkAG8+Rvf/AhwbX525oEw8O/Tu0GB3Z1XZS27AjsPpEuqLXowZKJaZXLSpbPTwZMezUYDJSwIw3prmywvsAiskaRpjJUGRUFe5IAoPWN3lFrpNLa8M2xR3me2DKuFNkgMw+0E7AZ3NutkiSGZNsiax/OZ5jNrKblxGWkHvz6Fa7Z4+MN/ONfP6n+7PtH8mNb5zi1DhVv08ri3ve2tTEzUda1a/WaBOOp6LrkuSNN8VxtQCu0QkqBSR6hSFZmlOZhSUFiv1fFdSZIMcFyJ47qMR+NyOiCALOssCoPWlizLcV0XKW/OpClJTM8tIzkBOE7ZoSxGfXR/iKjC0vFp1tcHXFvtkeeQJDnaOKBDMidEBFV8VbBUzVGOw9rWuDkcJp8fDwYXn3nu/C0D5pa8o0y5DsKRKhmnThBWmPA8mo1pmtNL+F7IcDxiZfkSV69eJE9THEeBcsh0GU4HTjnHrMgzhFT4jkfVc2nWIwok3cEYrS1WGVzHAg5ClmAg2c3eFdhykl+ZlJYSWGM0i1HE6cCl5SRstfpUqy6eo9jpJyRdTSJ6TE81EcqyPLacv2qpyT53nKhy/9R+94Ur/ci5xe9DvCXALCzM4/tedWOjNX3+2eeZnVngyJHj3H7sbgQO4/GIRq3GaNhnEI/Rhbs7LkaQ52U3WC3LyZIEIRSu45PnBY4j2LO0SLcfs7XZphHBsYOLXLiyypYpi20CC8LuDpXTQKnCFwKMthS6IBAw4StQHqNxyt6pCrclIWksGOQpm0nKSj9hIizo4TEoAvq2TmHGvOmN+/vf8Z23XdN5xk//0ldGu3zNgbFWIKXb1tr8ebfXP7i2sTWVacN2u1uGr2lCv99mHA8xeUqRSLyoirGSwhi6vQ69bhsF6CLDGkN3MMSQgy2Ym2rSqNSYb1aZa1Z4/tIymc6o3BxCZ8sJGVrvJou2HMl4c2LkQBTEDgRWMxt4VBeqeP0xldzQ8CIWKyG3Vw07NmVO51wtBlx4aoDLDItHzs9U+52/teBPqOVP/eSzFgb7HvoHX/U9vCUO+cADb6LTWddHj97+6OOPP85g2L+ntbXuX3zhOXHlygVWblxkc3OV4XhEHqcYnWG0wfPc3WE7A+LRiGQ8KjvNdr+0zajVGljtUa3UmJpqYArNMNGstlqEQbjLdu96CQLfUbiq/JiOo7A6x7cpvsyouoI4y9gUMQuzTWhnSF1yZaGUTPoeCxWfxqTE9y3ra32kY6UrxqePLgbvELYICiUe++G//rriZ3/tU1//wHzmM5/g0Ucf49z588VoPFr2XOc5x1FruiiWdFFcd5RYVo66nmVFrIu8j9UTRaGF4zgYUzDod3fLtgZti5JHKzRFAfWJaaIwotmo4SowRUYU1dlo7aB1OZ1Da7urUQalSoWM2J3daYxmiGazX+CgqNZdGnMB9UkfOSowg5KOUQoCqYiUwvcEQcVSDxRylFALrMTmlc+90Dvxbz9w5vnltnhuz6TizPPrX9/A3LRet8OeA/u6juee01n+cJqll43Rf2iM+ZCQ8tcLXfyZxawIITpZrg9Xw4oX+h66yMkLjTE5Quz2eQrQRjAzM8fsVJNK4IHRCJPhuw5KubS7XYS1u9VPAMNEtVJ+0F32Ock0nXHB0Anp5OBkOYqCsBkyVQtJt2N8FIFyCRwXV0mUK6g3I2bqLguE9Fvw5y+kfOgLO0F7yDP/5ree/cz+g00uXFr+ywEMwNbGJq31Dbu9vZ12u91nu93utXanfWNmaabrB84GqDNSqofzvFj0Pe+uZr2Otpo4Hu9GV+VGi91xJ3v37qNRqyCtwegCYTSuI4mqFbbb7RebqAqdEfrl6JHRaFzqjYUgSVMm6k16icb4dXZyxXhYENUsflPgIZCxwPVcXGVwhUUogRs6KCNY3lZ8dEPzyHJvkBfOb3le8At75qN+t6ixduOlVyy/5sD8xYBtsbneYqvV0kduOzKqV2ujKAzfUq1EtbwoGI3HLw7d1sbsZu8Kz/OIwgDPdcsSgTVYDGsbm2y0tjG7MzXTJGF2qsl0o0GW5zZOsp6Qwp2cnJKvf+gNtDa32NxuM3YUW5khqLrML4Y0DjbotntYZdCBwQ8UKnDopILPreV8cD3lqpYveH7wj4PA+ZlsPN5+7InPfVVBeVmB+U/tO7/jv2FxcSFzlPwO5aj5qFrFGMgyXb4lY7d1I80Lev0+nU6XMKqglCTPc9bWV7l0/TppAUKW5CgCFmdnqYYBSjk6TtNfXVxaGrz9O759otPrR8poHB/a7S6FdbmxNSaXsPfoDM6Ey2DUJww9pOdytQ0f2dR8qmfMepZ+Qrrih5946ol//7rXvDH70Mde5iE/t9LuvututDbBYDT6Lj+I9jYaUywu7OXe+17DkdtPcejw7URRhcGgS5KMGY4StjtttrZabGxustPZIc6y3Wm0AmMKu7g4Hwee57iOGivlPO973i+ePH3nL1vhNJavXnswT2OW9szbgwf3J1utlh6mhbPdGTI1oZidjVgMfdK1lOe2BX+6nvFkfzTKXOe9URj9w82tnWfe9qZv5Pf+8Pdu2Z58XbydfHJ2moX5ueHTTz2zc/HSVQ7sO8z9959m38GjjEYJo2E5P2Z97Srdzg5WCNIsIx4XCKvxXIvveQzH2S7Vb9q1auUns3H86r4xQa0S/WgY+BfPPn12NDU7/1GdF28zgpk8TR8/fc/pX19dW/WHly7/jVzL15rCqorn0heaJzY1j+4YdpRzTXjePw18598lyXhwY/kKN5av3NI9+foAptnkLW95c/r88y+cHQ4Hbzn77Bk/TmMqT32eLM0wOqfb3WF9fR1tNMaAUh7T0zPEox5GD5menmZwbZlqJbwahpM/fePG8m/NTU29N82yppRyWYCenp4lG48+rFzvMogpAZf+7t/7kU2A++459fBsXf7EXMN7p5Wu8+cXezzZFUV7NP5YY7L5T48cvfuR7Z2WfuSxP/2a7MnXBTDNZpMf/MEf0YcPH/y5RmNiud1u/59nzz1Z17kWUgjfURJjDYXOsywvklxTn2zM4Po+lWiWna3czM7OPrnZ2nrSdZ3feetb3/pIq9XS733vewF6/9mfK4Dn//M13HNQXKvWGz/05LOt4Z99euN7Nkau5/mV32g2/H+kfG/z7FOP8/Tzt/4tGDfta/hGlC9t3/M97wKYaLfb79reac+MBsOatea7pZAXLcUBKeXFwTi+jHR/YO/SQW+ztcHs9DS1yOsHgftX7rr3xAfnZqf0+9//cT75yf86FaRtf5L7Xvdujh6Yrz+/mr4ON6xOz09/ZDQadP7BP/p1vu11d3xN9+LrCpjv//53Uak0OHbspPjNf/vbYbfdcYs8P2mt3UEYvxJV1jT4Srr/sijst/cHQ6qRz913n/7zo4ePvmc0Hm7/7M//7Mv9Mf7/Z3/tr72H17/+tbzjHd/xPXfdfffm3n37xydOHP/sG97w+vcA/ODf/aGXe4lfNfu68pgvx9797ncihKi1trbu7fV6d/qe+8Farb5mtI4/8tFPvNzL+6rZXzpgbtrf+oG/dnP99r2/9Bsv93JesVfsFXvFXrFX7C+N/b/VhiHgIH5TSwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxNS0wMy0xN1QwNToyMzowNyswMDowMIMqks8AAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTUtMDMtMTdUMDU6MjM6MDcrMDA6MDDydypzAAAATXRFWHRzb2Z0d2FyZQBJbWFnZU1hZ2ljayA2LjguOS04IFExNiB4ODZfNjQgMjAxNC0xMC0xNyBodHRwOi8vd3d3LmltYWdlbWFnaWNrLm9yZ6AInPYAAAAYdEVYdFRodW1iOjpEb2N1bWVudDo6UGFnZXMAMaf/uy8AAAAYdEVYdFRodW1iOjpJbWFnZTo6SGVpZ2h0ADM0N4YdL/kAAAAXdEVYdFRodW1iOjpJbWFnZTo6V2lkdGgAMzQ3Fex/pAAAABl0RVh0VGh1bWI6Ok1pbWV0eXBlAGltYWdlL3BuZz+yVk4AAAAXdEVYdFRodW1iOjpNVGltZQAxNDI2NTY5Nzg3/HtHFQAAAA90RVh0VGh1bWI6OlNpemUAMEJClKI+7AAAAF50RVh0VGh1bWI6OlVSSQBmaWxlOi8vL3RtcC92aWduZXR0ZS9jbGFzaG9mY2xhbnNfb3JpZ2luYWxfNjk1MTlhNGYtZWQ1Yy00N2E4LWJhN2UtOWFmMjJjMjgyZTA2LnBuZxMaeEoAAAAASUVORK5CYII='); } </style> <h1>Clash Of Clans level editor</h1> <script src="https://d3js.org/d3.v3.min.js"></script> <script> var width = 500, height = 500, padding = 70; radius = 80, scaleVal = .7, gridSize = 40; var scale = d3.scale.linear() .domain([0, gridSize]) .range([0,width - (padding * 2)]) ; var row = d3.range(0,gridSize); var data = []; row.forEach(function(x) { var col = d3.range(0,gridSize).map(function(y) { return { x: x, y: y, isOdd: (x+y)%2===0, center: ((x===19 || x===20) && (y === 19 || y === 20)) }; }); data = data.concat(col); }) var axis = d3.svg.axis().scale(scale).orient('bottom'); var svg = d3.select("body").append("svg") .attr("width", width) .attr("height", height) .append("g") .attr("transform", "translate(250,0)scale(" + scaleVal + ")rotate(45)"); // svg.append("g") // .attr('class', 'x-axis') // .attr('transform', "translate(0," + (height - padding) + ")") // .call(axis) // ; var th = { image: "data:image/png;base64,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" }; var grid = svg.append("g").attr("class", "grid") // .attr("transform", "translate(250,0) rotate(45) "); grid.append("g") .attr("class", "tiles") .selectAll('.tile') .data(data) .enter() .append("rect") .attr("class", function(d){ var rClass = "tile " rClass += d.isOdd ? 'odd' : 'even'; rClass += d.center ? " center" : ''; return rClass; }) .attr("x", function(d){ return scale(d.x);}) .attr("y", function(d){ return scale(d.y);}) .attr("width", function(d) {return scale(1); }) .attr("height", function(d) {return scale(1); }); grid.selectAll(".th") .data([th]) .enter() .append("image") .attr("class", "th") .attr('width', scale(4)) .attr('height', scale(4)) .attr("transform", "rotate(-45, " + scale(20) + ", " + scale(20) + ") translate(-"+scale(2) + ", -" + scale(2)+")") .attr("x", scale(20) + "px") .attr("y", scale(20) + "px") .attr('xlink:href', function(d){return d.image;}) ; // var frame = svg.append("g") // .datum({radius: Infinity}); // frame.append("g") // .attr("class", "annulus") // .datum({teeth: 80, radius: -radius * 5, annulus: true}) // .append("path") // .attr("d", gear); // frame.append("g") // .attr("class", "sun") // .datum({teeth: 16, radius: radius}) // .append("path") // .attr("d", gear); // frame.append("g") // .attr("class", "planet") // .attr("transform", "translate(0,-" + radius * 3 + ")") // .datum({teeth: 32, radius: -radius * 2}) // .append("path") // .attr("d", gear); // frame.append("g") // .attr("class", "planet") // .attr("transform", "translate(" + -radius * 3 * x + "," + -radius * 3 * y + ")") // .datum({teeth: 32, radius: -radius * 2}) // .append("path") // .attr("d", gear); // frame.append("g") // .attr("class", "planet") // .attr("transform", "translate(" + radius * 3 * x + "," + -radius * 3 * y + ")") // .datum({teeth: 32, radius: -radius * 2}) // .append("path") // .attr("d", gear); // d3.selectAll("input[name=reference]") // .data([radius * 5, Infinity, -radius]) // .on("change", function(radius1) { // var radius0 = frame.datum().radius, angle = (Date.now() - start) * speed; // frame.datum({radius: radius1}); // svg.attr("transform", "rotate(" + (offset += angle / radius0 - angle / radius1) + ")"); // }); // d3.selectAll("input[name=speed]") // .on("change", function() { speed = +this.value; }); // function gear(d) { // var n = d.teeth, // r2 = Math.abs(d.radius), // r0 = r2 - 8, // r1 = r2 + 8, // r3 = d.annulus ? (r3 = r0, r0 = r1, r1 = r3, r2 + 20) : 20, // da = Math.PI / n, // a0 = -Math.PI / 2 + (d.annulus ? Math.PI / n : 0), // i = -1, // path = ["M", r0 * Math.cos(a0), ",", r0 * Math.sin(a0)]; // while (++i < n) path.push( // "A", r0, ",", r0, " 0 0,1 ", r0 * Math.cos(a0 += da), ",", r0 * Math.sin(a0), // "L", r2 * Math.cos(a0), ",", r2 * Math.sin(a0), // "L", r1 * Math.cos(a0 += da / 3), ",", r1 * Math.sin(a0), // "A", r1, ",", r1, " 0 0,1 ", r1 * Math.cos(a0 += da / 3), ",", r1 * Math.sin(a0), // "L", r2 * Math.cos(a0 += da / 3), ",", r2 * Math.sin(a0), // "L", r0 * Math.cos(a0), ",", r0 * Math.sin(a0)); // path.push("M0,", -r3, "A", r3, ",", r3, " 0 0,0 0,", r3, "A", r3, ",", r3, " 0 0,0 0,", -r3, "Z"); // return path.join(""); // } // d3.timer(function() { // var angle = (Date.now() - start) * speed, // transform = function(d) { return "rotate(" + angle / d.radius + ")"; }; // frame.selectAll("path").attr("transform", transform); // frame.attr("transform", transform); // frame of reference // }); </script>
Modified
http://d3js.org/d3.v3.min.js
to a secure url
https://d3js.org/d3.v3.min.js